1.以下运算符中优先级最低的是(C)。
A、&&B、|C、||D、&2.不合法的if语句是:(D)A、if(表达式) 语句1 else 语句2B、if(表达式) 语句C、if(表达式1)语句1 else if(表达式2)语句2 else 语句3。
D、if 关系表达式语句1 else 语句23.以下不是无限循环的语句为(D)。
A、while(1){x++;}B、for(;;x++=i);C、for(i=10;;i--) sum+=i;D、for(y=0,x=1;x>++y;x=i++) i=x;4.调用函数时,基本类型变量做函数参数, 实参和对应的形参(B).A、不占用存储单元B、各自占用独立的存储单元C、同名时才能共用存储单元D、共占用一个存储单元5.已知有宏定义#define F(a) a*(a+2),则F(4+3)的值为(D).A、24B、15C、63D、31a[10]; 给数组a的所有元素分别赋值为1、2、3、……的语句是(D)A、for(i=1;i<11;i++)a[i]=i;B、for(i=1;i<11;i++)a[0]=1;C、for(i=1;i<11;i++)a[i+1]=i;D、for(i=1;i<11;i++)a[i-1]=i;7.若有说明:int a[3][4];则数组a中各元素(A)。
A 、不能得到确定的初值 B、可在程序的编译阶段得到初值0C、可在程序的运行阶段得到初值0D、可在程序的编译或运行阶段得到初值08. 已定义float a; int i;选择正确的输入语句(C).A、scanf("%6.2f%3d", &a,&i);B、scanf("%f%s", &a,&i);C、scanf("%6f%3d",&a,&i);D、scanf("%f%d", a,i);9 执行下面程序段后,k的值是:(B)int k=2;switch(k+1){ case 3:k+=1;case 4:k--;break;case 5:k*=3;case 6:++k;} A、10 B、2 C、28 b D、2711.以下程序段中,能够正确地执行循环的是(B)。
A、int s=6; m:if(s<100) exit(0); else s-=2; goto m:B、int s=6; do s-=2; while(s);C、for(i=1;i>10;i++)D、static int a; while(a)12.运行结果是" 11 12"的程序段是:请在A处填写正确内容(B)。
for(i=1;i<=2;i++)___A___A、for(j=1;j<=2;j++)printf("%3d",10*i+j);break;B、{for(j=1;j<=2;j++) printf("%3d",10*i+j);break;}C、for(j=1;j<=2;j++)printf("%3d",10*i+j);continue;D、{for(j=1;j<=2;j++)printf("%3d",10*i+j);continue;}13.设有以下定义:int a[10]={1,2,3,4,5,6,7,8,9,10};int *p=a;则数值为6的表达式是(D).A、p+5B、*p+6C、*(p+6)D、*p+=514. 语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是(B)(说明:'\b'是退格符)。
A、a\bre\'hi\'y\\\bouB、re'hi'youC、a\bre\'hi\'y\bouD、abre'hi'y\bou14.执行下面程序段后,i的值是(A).int i=10;switch(i){ case 9: i+=1;case 10: i--;case 11: i*=3;case 12: ++i; } A、28 B、10 C、9 D、2715.从键盘输入的整数中找出最小值min,输入0时结束.请在A处填写正确语句(D)。
#include ""main(){ int min=0,a;do{ scanf("%d",&a);if(min>a) min=a;}while(___A___);printf("%d",min);} A、a=0 B、a==0 C、a>0&&a<0 D、a!=0 16.下面程序的运行结果是:(B)。
#include ""void main(){ int x,i;for(i=1;i<=100;i++){ x=i;I f(++x%2==0)if(++x%3==0)if(++x%7==0)printf("%d",x); } } A、4284 B、2870 C、3981 D、2668 17. 以下函数的类型是(C)。
fff(float x){return 5;} A void B、与参数x的类型相同C、int类型 D、无法确定18设有以下宏定义:#define M 4#define T(t) ((M+1)*t)则执行语句:y=2*(M+T(4+1));后,y的值为(B).A、28B、50C、出错D、5819.下面判断正确的是(D)。
A、char c[4]="abc",d[4]="abc";等价于 char c[4]=d[4]="abc";B、char str[10]={"china"};等价于char str[10];str[]={"china"};C、char *a="china";等价于 char *a;*a="china";D、char *s="china";等价于 char *s;s="china";20.以下不正确的叙述是(B)。
A、在C程序中所用的变量必须先定义后使用B、当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值C、程序中,APH和aph是两个不同的变量D、若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变21.设:long w=65535,t=7654321;根据下面的输出结果,正确的程序段是(C).w=65535,t=7654321endA、printf("w=%5d,t=%7d\n",w,t);printf("%s","end');B、printf("w=%5ld,t=%7ld",w,t);printf("%c","end");C、printf("w=%5ld,t=%7ld\n",w,t);printf("%s","end");D、printf("w=%5u,t=%7u\n",w,t);printf( "end");23.在C语言中,if语句后的一对圆括号中,用以决定分支的流程的表达式(C)。
A、只能用逻辑表达式或关系表达式B、只能用关系表达式C、可用任意表达式D、只能用逻辑表达25.以下语句中,循环次数不为10次的语句是(A)。
A、for(i=1;i<10;i++);B、i=1;do{i++;}while(i<=10);C、i=10;do{i- -;}while(i>0);D、i=10;while(i>0){--i;}26下面程序的运行结果是(A).#include ""void main(){ int a=1,b=10;Do{ a++;b-=a;}while(b-->0);printf("a=%d,b=%d",a,b);}A、a=4,b=-2B、a=4,b=-1C、a=2,b=-1D、a=2,b=-227.设j和k都是int类型,则下面的for循环语句( D)。
for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k);A、最多执行9次B、是无限循环C、循环体一次也不执行D、最多执行10次28.若有说明: int a[][4]={0,0};则下面不正确的叙述是(A)。
A、有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0B、数组a的每个元素都可得到初值0C、二维数组a的第一维大小为1D、因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为129.以下错误的描述是:函数调用可以(D)。
A、出现在执行语句B、做为一个函数的实参C、出现在一个表达式中D、做为一个函数的形参30.下列说法中正确的是(C ).A、函数调用不占运行时间,只占编译时间.B、宏替换不占运行时间,只占编译时间.C、有参数的宏定义,就是函数.D、在定义宏时,宏名与带参数的括弧之间可以加空格.31.与实际参数为实型数组名相对应的形式参数不可以定义为(C)。
A、float *a;B、float (*a)[3];C、float a;D、float a[];32.若变量均已正确定义并赋值,以下合法的C语言赋值语句是(C)。
A、x+n=I;B、x==5;C、x=n/;D、5=x=4+1;33.用scanf函数输入数据,使得x=,y=选择正确的输入语句(D).A、scanf("x=%3f",x); scanf("y=%5f",&y);B、scanf("x=%f",&x); scanf("y=%f",y);C、scanf("x=%3.1f",&x); scanf("y=%f",&y);D、scanf("x=%f",&x); scanf("y=%f",&y);34.下面叙述中错误的是( B)。