字符串的非法引用是(A).
char
str[4][2]={"aaa","bbb","ccc","ddd"},*strp[4]; int j;
for (j=0;j<4;j++)
strp[j]=str[j];
(A).strp
(B).str[k]
(C).strp[k]
(D).*strp
31. 9以下语句中,循环次数不为10次的语句是(A).
(A).for(i=1;i<10;i++);
(B).i=1;do{i++;}while(i<=10);
(C).i=10;while(i>0){--i;}
(D).i=1;m:if(i<=10){i++;goto m;}
32. 14以下不能正确进行字符串赋初值的语句是(A).
(A).char str[5]="good!";
(B).char str[]="good!";
(C).char *str="good!";
(D).char str[5]={'g','o','o','d'};
33. 18若有double *p,x[10];int i=5;使指针变量p指向元素x[5]的语句为(A).
(A).p=&x[i];
(B).p=x;
(C).p=x[i];
(D).p=&(x+i)
34. C语言的if语句嵌套时,if与else的配对关系是(A).
(A).每个else总是与它上面的最近的并且尚未与其他else匹配的if配对
(B).每个else总是与最外层的if配对
(C).每个else与if的配对是任意的
(D).每个else总是与它上面的if配对
35. 16以下正确的函数定义形式是(A).
(A).double fun(int x,int y)
(B).double fun(int x;int y)
(C).double fun(int x,int y);
(D).double fun(int x,y);
36. 18经过下列的语句int j,a[10],*p;定义后,下列语句中合法的是(A)
(A).p=a+2;
(B).p=a[5]; (C).p=a[2]+2;
(D).p=&(j+2);
37. 17enum a {sum=9,mon=-1,tue};2char a[]="This is a program.";输出前5个字符的语句是(A).
(A).printf("%.5s",a);
(B).puts(a);
(C).printf("%s",a);
(D).a[5*2]=0;puts(a);
选择题B篇
38. C语言源程序的基本单位是(B).
(A).过程
(B).函数
(C).子程序
(D).标识符
39. 下列程序的输出结果是(B).
main()
{char c1=97,c2=98;
printf("%d %c",c1,c2);
}
(A).97 98
(B).97 b
(C).a 98
(D).a b
40. 下列四个选项中,均是C语言关键字的选项是(B).
(A).auto enum include
(B).switch typedef continue
(C).signed union scanf
(D).if struct type
41. 以下能对二维数组a进行正确初始化的语句是(B).
(A).int a[2][]={{1,0,1},{5,2,3}};
(B).int a[][3]={{1,2,3},{4,5,6}};
(C).int a[2][4]={{1,2,3},{4,5},{6}};
(D).int a[][3]={{1,0,1}{},{1,1}};
42. 以下对枚举类型名的定义中正确的是
(B).
(A).enum a={sun,mon,tue};
(B).enum a {sun=9,mon=-1,tue};
(C).enum a={"sun","mon","tue"};