C语言几道多项选择题,请大家帮忙解答一下。
1、若有定义floatw=1;inta=1,b=0;,则不合法的switch语句是:A、switch(w){case1.0:printf("*\n");case2.0:p...
1、若有定义float w=1; int a=1, b=0; ,则不合法的switch语句是:
A、switch(w) { case 1.0: printf("*\n"); case 2.0: printf("**\n"); }
B、switch(a); { case 1 printf("*\n"); case 2 printf("**\n"); }
C、switch(b) { case 1: printf("*\n"); default: printf("\n");}
D、switch(a+b); { case 1: printf("*\n"); default: printf("\n"); }
2、在定义int a[2][3];之后,对数组a的引用错误的是( )。
A、a(1,2)
B、a[1,3]
C、a[2][0]
D、a[1>2][!1]
3、以读写方式打开一个二进制文件fil2,fopen函数的正确的调用方式是:
A、FILE *FP; FP=fopen("fil2","r");
B、FILE *FP; FP=fopen("fil2","rb");
C、FILE *FP; FP=fopen("fil2","wb+");
D、FILE *FP; FP=fopen("fil2","rb+");
4、下列选项中关于外部变量的作用域,正确的是( )。
A、外部变量的作用域是所在的源文件
B、外部变量的作用域是整个源程序
C、可以通过extern,将一些外部变量的作用域扩展到多个源文件
D、外部变量若定义为静态的,其他源文件不能使用该外部变量 展开
A、switch(w) { case 1.0: printf("*\n"); case 2.0: printf("**\n"); }
B、switch(a); { case 1 printf("*\n"); case 2 printf("**\n"); }
C、switch(b) { case 1: printf("*\n"); default: printf("\n");}
D、switch(a+b); { case 1: printf("*\n"); default: printf("\n"); }
2、在定义int a[2][3];之后,对数组a的引用错误的是( )。
A、a(1,2)
B、a[1,3]
C、a[2][0]
D、a[1>2][!1]
3、以读写方式打开一个二进制文件fil2,fopen函数的正确的调用方式是:
A、FILE *FP; FP=fopen("fil2","r");
B、FILE *FP; FP=fopen("fil2","rb");
C、FILE *FP; FP=fopen("fil2","wb+");
D、FILE *FP; FP=fopen("fil2","rb+");
4、下列选项中关于外部变量的作用域,正确的是( )。
A、外部变量的作用域是所在的源文件
B、外部变量的作用域是整个源程序
C、可以通过extern,将一些外部变量的作用域扩展到多个源文件
D、外部变量若定义为静态的,其他源文件不能使用该外部变量 展开
展开全部
1.BD
B switch(a); { case 1 printf("*\n"); case 2 printf("**\n"); }//注意,这里在 switch(a)后没有分号,凡是带分号就会单独构成一条语句;另外,case1后必须有冒号。
D switch(a+b); { case 1: printf("*\n"); default: printf("\n"); }// switch(a+b)后不加分号
2.ABC
A a(1,2)数组的引用根本没有()
B a[1,3]即a[3],不符合二维数组
C a[2][0]数组的行越界,行的取值是0,1,取不到2 //注意:此题的D选项是绝对正确的,相当于a【0】【0】
3.CD
打开文件的方式是:FILE *fp;
fp=fopen(文件名,使用文件方式);
AB的使用方式不对,题目要求是读写方式打开,AB是只读方式打开。
4.CD
外部变量的作用域是定义处到文件结束,所以AB错误
B switch(a); { case 1 printf("*\n"); case 2 printf("**\n"); }//注意,这里在 switch(a)后没有分号,凡是带分号就会单独构成一条语句;另外,case1后必须有冒号。
D switch(a+b); { case 1: printf("*\n"); default: printf("\n"); }// switch(a+b)后不加分号
2.ABC
A a(1,2)数组的引用根本没有()
B a[1,3]即a[3],不符合二维数组
C a[2][0]数组的行越界,行的取值是0,1,取不到2 //注意:此题的D选项是绝对正确的,相当于a【0】【0】
3.CD
打开文件的方式是:FILE *fp;
fp=fopen(文件名,使用文件方式);
AB的使用方式不对,题目要求是读写方式打开,AB是只读方式打开。
4.CD
外部变量的作用域是定义处到文件结束,所以AB错误
展开全部
1.B,case 1 后面缺少 冒号;
2.ABC,数组a[2][3]的一级下标范围是0~1;二级下标范围为0~2;A中对数组的 使用采用了小括弧(),不规范;而B选项a[1,3]中使用了逗号表达式,逗号的最后一个式子(也就是3)作为最后结果,即B等效于a[3],一级下标超出范围;C选项的一级下标超出范围;均错;而D选项中1>2为假,即=0;!1为假,也=0;即D选项等效于a[0][0],正确;
3.不知道;
4.AC,B跟A冲突,错误;D没试过;
2.ABC,数组a[2][3]的一级下标范围是0~1;二级下标范围为0~2;A中对数组的 使用采用了小括弧(),不规范;而B选项a[1,3]中使用了逗号表达式,逗号的最后一个式子(也就是3)作为最后结果,即B等效于a[3],一级下标超出范围;C选项的一级下标超出范围;均错;而D选项中1>2为假,即=0;!1为假,也=0;即D选项等效于a[0][0],正确;
3.不知道;
4.AC,B跟A冲突,错误;D没试过;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1. A case 中必须是整形
2.A 用()就变成函数了
3。 B
4。 C
2.A 用()就变成函数了
3。 B
4。 C
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1. A case 中必须是整形
2.A 用()就变成函数了
3.D (只读)“r”是为输入打开一个文本文件(十进制),
(只读)“rd”是为输入打开一个二进制文件,
(读写)“wb+”是为读/写建立一个新的二进制文件,
(读写)“rb+”是为读/写打开一个二进制文件。
4.c
2.A 用()就变成函数了
3.D (只读)“r”是为输入打开一个文本文件(十进制),
(只读)“rd”是为输入打开一个二进制文件,
(读写)“wb+”是为读/写建立一个新的二进制文件,
(读写)“rb+”是为读/写打开一个二进制文件。
4.c
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询