C语言编程新思路2023章节测试答案
C、(p+1)[2]
D、p[1]+2
我的答案:A
17、对于语句int *p[5]; 的正确描述是( )。
A、p是一个指向数组的指针,所指向的数组含有5个int型元素。
B、p是一个指向数组中第5个元素的指针,该元素是int型。
C、定义不合法
D、p是一个具有5个元素的指针数组,每个元素都是一个指向int型对象的指针变量。
我的答案:D
18、若有int a[10],*p=a;,下列不能表示a数组首元素地址的是( )。
A、a
B、*p
C、p
D、&a[0]
我的答案:B
19、下列程序的运行结果是( )。 #include <stdio.h> int main() { int a[5]={1,2,3,4,5},*p,**pp; p=a; pp=&p; printf("%d ",*(p+3)); printf("%d",**pp); return 0; }
A、4 1
B、3 1
C、4 4
D、3 4
我的答案:A
20、若有int a[10],*p;,则下列语句中正确的是( )。
A、for(p=a; a<p+10 ; a++)
B、for(p=a; p<a+10 ; p++)
C、for(p=a; p<p+10 ; p++)
D、for(p=a; p<a+10 ; a++)
我的答案:B
第八章测试
1、函数strcmp("ABCDDCBA","ABCDE")的返回值是( )。
A、0
B、正数
C、负数
D、随机值
我的答案:C
2、以下程序运行后的输出结果是( )。 int main( ) { int i,j; char a[ ]={‘a’,‘b’,‘c’,‘d’, ‘e’, ‘f’, ‘g’,‘h’,‘\0’}; i=sizeof(a); // sizeof返回数组a在内存分配字节数 j=strlen(a); printf(“%d,%d\n”,i,j); }
A、9,9
B、8,9
C、1,8
D、9,8
我的答案:D
3、下列选项中,不正确的赋值方式是( )。
A、char str[ ]={'s','t','r','i','n','g','\0'};
B、char str[7]={'s','t','r','i','n','g'};
C、char str1[10]; str1="string";
D、char str1[ ]="string",str2[ ]="12345678";
我的答案:C
4、若有以下的说明和语句, 则它与( )中的说明是等价的。 char s[3][5]={"aaaa","bbbb","cccc"};
A、char s1[ ][ ] ={"aaaa","bbbb","cccc"};
B、char s2[3][] ={"aaaa","bbbb","cccc"};
C、char s3[ ][5]={"aaaa","bbbb","cccc"};
D、char s4[ ][4]={"aaaa","bbbb","cccc"};
我的答案:C
5、有以下程序: #include "stdio.h" #include "string.h" int main() { int i,j; char t[10],p[5][10]={"abc","aabdfg","abbd","dcdbe","cd"}; for(i=0;i<4;i++) for(j=i+1;j<5;j++) if(strcmp(p[i],p[j])>0) { strcpy(t,p[i]); strcpy(p[i],p[j]); strcpy(p[j],t); } printf("%d\n",strlen(p[0])); } 程序运行后的输出结果是( )。
★《布宫号》提醒您:民俗信仰仅供参考,请勿过度迷信!