1.s1和s1已正确定义并分别指向两个字符串,若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是() A)if(s1>s2)S; B)if(strcmp(s1,s2))S; C)if(strcmp(s2,s1)>0)S; D)if(strcmp(s1,s2)>0)S;2.设有定义语句intx[6]={2,4,6,8,5,7},*p=x,i;要求依次输出x数组6个元素中的值,不能完成此操作的语句是() A)for(i=0;i<6;i++)printf("%2d",*(p++)); B)for(i=0;i<6,i++)printf("%2d",*(p+i)); C)for(i=0;i<6;i++)printf("%2d",*p++); D)for(i=0;i<6;i++)printf("%2d",(*p)++); 3.以下程序的输出结果是() #include main() {int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL; *q=*(q+5); printf("%d%d\n",*p,*q); } A)运行后报错 B)66 C)611 D)510 4.设有以下定义和语句int a[3][2]={1,2,3,4,5,6},*p[3]; p[0]=a[1]; 则*(p[0]+1)所代表的数组元素是() A)a[0][1] B)a[1][0] C)a[1][1] D)a[1][2] 5.以下程序的输出结果是() main() {char str[][10]={"china","Beijing"},*p=str; printf("%s\n",p+10); } A)China B)Beijing C)ng D)ing 6.Examda提示: 以下程序的输出结果是() main() {char s[]="ABCD",*p; for(p=s+1;p} A)ABCD BCD CD D B)A B C D C)B C D D)BCD CD D 7.在函数调用过程中,如果函数funA调用了函数funB,函数funB Examda提示: 又调用了函数funA,则() A)称为函数的直接递归调用 B)称为函数的间接递归调用 C)称为函数的循环调用 D)C语言中不允许这样的递归调用 8.已有定义:int i,a[10],*p;,则合法的赋值语句是() A)p=10; B)p=a[5] C)p=a[2]+2; D)p=a+2; 9.以下叙述中正确的是() A)局部变量说明为static的存储类,其生存期将得到延长 B)全局变量说明为static存储类,其作用域将被扩大 C)任何存储类的变量在未赋初值时,其值都是不确定的 D)形参可以使用的存储类说明符与局部变量完全相同 10.设有定义语句:char c1=2,c2=2;,则以下表达式中值为零的是() A)c1^c2 B)c1&c2 C)~c2 D)c1|c2 答案:1.D 2.D 3.A 4.C 5.B 6.D 7.B 8.D 9.A 10.A
相关资料
|