计算机等级考试二级C语言试题及答案30
11、以下语句的输出结果是( )。 int a=-1,b=4,k; k=(+ +a<0)&&!(b - -<=0); printf("%d,%d,%d ",k,a,b); A. 1,0,4 B. 1,0,3 C. 0,0,3 D. 0,0,4 12、下列程序的输出结果是( )。 char *p1="abcd", *p2="ABCD", str[50]="xyz"; strcpy(str+2,strcat(p1+2,p2+1)); printf("%s",str); A. xyabcAB B. abcABz C. ABabcz D. xycdBCD 13、执行下面的程序后,a的值是( )。 #define SQR(X) X*X main( ) { int a=10,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf("%d ",a); } A. 10 B. 1 C. 9 D. 0 14、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。 A.P+i*2 B. P+(i-1)*2 C. P+(i-1) D. P+i 15、下列程序执行后输出的结果是( )。 int d=1; fun (int p) { int d=5; d + =p + +; printf("%d,",d); } main( ) { int a=3; fun(a); d + = a + +; printf("%d ",d); } A. 8, 4 B. 9, 6 C. 9, 4 D. 8, 5 16、表达式:10!=9的值是( )。 A. true B. 非零值 C. 0 D. 1 17、若有说明: int i,j=7, *p=&i;, 则与i=j; 等价的语句是( )。 A. i= *p; B. *p=*&j; C. i=&j; D. i=* *p; 18、不能把字符串:Hello!赋给数组b的语句是( )。 A. char b[10]={’H’,’e’,’l’,’l’,’o’,’!’}; B. char b[10]; b="Hello!"; C. char b[10]; strcpy(b,"Hello!"); D.char b[10]="Hello!"; 19、在C程序中有如下语句:char *func(int x,int y); 它是( )。 A. 对函数func的定义。 B. 对函数func的调用。 C.对函数func的原型说明。 D. 不合法的。 20、以下程序的输出结果是( )。 char str[15]=”hello!”; printf(“%d ”,strlen(str)); A. 15 B. 14 C. 7 D. 6 参考答案:11、D 12、D 13、B 14、B 15、A 16、D 17、B 18、B 19、C 20、D 相关资料 |