} main()
{ char *p[5]={\ f(p, 5);
printf(\(p[1])); }
程序运行后的输出结果是( ) A)2 B)3 C)6 D)4
[D] 教师批改:D 60、有以下程序 main() {
char s[]=\ p=s;
printf(\); printf(\); }
程序运行后的输出结果是( ) A)15 B)16 C)12 D)59
[A] 教师批改:A 61、有以下函数 fun(char *a,char *b) {
while((*a!=?\\0?)&&(*b!=?\\0?)&&(*a==*b)) { a++; b++;} return (*a-*b); }
该函数的功能是
A)计算a和b所指字符串的长度之差 B)将b所指字符串复制到a所指字符串中 C)将b所指字符串连接到a所指字符串后面 D)比较a和b所指字符串的大小 [A] 教师批改:D 62、有以下程序 point(char *p) { p+=3; } main()
{ char b[4]={?a?,?b?,?c?,?d?},*p=b; point(p); printf(\);
}
程序运行后的输出结果是 A)a B)b C)c D)d
[A] 教师批改:A 63、有以下程序 main()
{char str[][10]={\ printf(\); }
程序运行后的输出结果是 A) China B) Bejing C) ng D) ing
[B] 教师批改:B 64、有以下程序 main()
{char s[]=\
for(p=s+1;p
程序运行后的输出结果是_____。 A) ABCD BCD CD D B) A B C D C) B C D D) BCD CD D
[D] 教师批改:D 65、有以下程序 main( )
{ char *p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”}; printf(“%d\\n”,strlen(p[4])); }
执行后输出结果是 A) 2 B) 3
C) 4 D) 5
[C] 教师批改:A 66、已定义以下函数 fun(char *p2, char *p1)
{ while((*p2=*p1)!=?\\0?){p1++;p2++; } } 函数的功能是
A) 将p1所指字符串复制到p2所指内存空间 B) 将p1 所指字符串的地址赋给指针 p2 C) 对p1和p2两个指针所指字符串进行比较 D) 检查p1和p2两个指针所指字符串中是否有?\\0? [A] 教师批改:A 67、有以下程序 #include
{ char *p=“abcde\\Ofghjik\\0”; printf(“%d\\n”,strlen(p)); }
程序运行后的输出结果是 A) 12 B) 15 C) 6 D) 5
[A] 教师批改:D 68、以下程序的输出结果是 #include
{ char b1[8]=\ while (--pb>=b1) strcpy(b2,pb); printf(\(b2)); } A) 8 B) 3 C) 1 D) 7
[D] 教师批改:D 69、以下程序的输出结果是 main( )
{ char ch[3][4]={\ int i;
for(i=0;i<3;i++) p[i]=ch[i]; for(i=0;i<3;i++) printf(\ }
A) 123456780 B) 123 456 780 C) 12345678
D) 147
[C] 教师批改:C 70、以下程序的输出结果是 main( )
{ char *s=\; int v[4]={0,0,0,0},k,i; for(k=0;s[k];k++) { switch(s[k]) { case ?1?:i=0; case ?2?:i=1; case ?3?:i=2; case ?4?:i=3; } v[i]++; }
for(k=0;k<4;k++) printf(\,v[k]); } A)4 2 1 1 B) 0 0 0 8 C) 4 6 7 8 D) 8 8 8 8 [A] 教师批改:B
1671、以下程序运行后,输出结果是 main()
{ char ch[2][5]={?693\ int i,j,s=0;
for(i=0;i<2;i++) p[i]=ch[i]; for(i=0;i<2;i++)
for(j=0;p[i][j]=?0? && p[i][j]<=?9?;j+=2) s=10*s+p[i][j]-?0?; printf(\); } A) 6385 B) 22 C) 33 D) 693825 [D] 教师批改:A
72、以下程序运行后,输出结果是 #inchude } main() { char *p; p=\ fun(p,strlen(p)); puts(p); } A) 1234567 B) 7654321 C) 1711717 D) 7177171 [B] 教师批改:C 73、有以下程序 main() { char a[]=\ char *p1,*p2; int i; p1=a; p2=b; for(i=0;i<7;i++) if(*(p1+i)==*(p2+i)) printf(\%c\(p1+i)); } 输出结果是 A) gm B) rg C) or D) ga [C] 教师批改:D 74、若有以下定义和语句: char *s1=\ printf(\(strcpy(s1,s2))); 则输出结果是_____ A)4 B)5 C)9 D)10 [B] 教师批改:A 75、下面程序的输出是 #include { char*a=\ fun(a);puts(a); } fun (char * s) { int x=0,y;char c; for(y=strlen(s)-1;x D)hgfedcba [C] 教师批改:D 76、设有如下函数定义: int f(char *s) { char *p=s; while(*p!=?\\0?) p++; return(p-s); } 如果在主程序中用下面的语句调用上述函数,则输出结果为 printf(\(\)); A) 3 B) 6 C) 8 D) 0 [D] 教师批改:C 77、下面函数的功能是 int funl(char * x) { char * y=x; while(*y++); return(y-x-1);} A) 求字符串的长度 B) 比较两个字符串的大小 C) 将字符串x复制到字符串y D) 将字符串x连接到字符串y后面 [B] 教师批改:A 78、请读程序片段: char str[]=\ printf(\ 上面程序的输出结果是 A) 68 B) 0 C) 字符\的地址 D) 不确定的值 [A] 教师批改:B 79、设有如下的程序段: char str[ ]=\ char *ptr; ptr=str; 执行上面的程序段后,*(ptr+5)的值为 A) ?o? B) ?\\0? C) 不确定的值 D) ?o?的地址 [B] 教师批改:B 80、设有以下语句: char str[4][12]={\ int i; for(i=0;i<4;i + + )strp[i]=str[i]; ( )不是对字符串的正确引用,其中0≤k<4。 A) strp B) str[k] C) strp[k] D) *strp [A] 教师批改:A 81、若有定义: int x,*pb;则以下正确的赋值表达式是_____。 A.pb=&x B.pb=x C.*pb=&x D.*pb=*x [A] 教师批改:A 82、以下程序的输出结果是_____。 void sub(int x,int y,int *z) { *z=y-x;} main( ) { int a,b,c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf(“%d,%d,%d\\n”,a,b,c); } A.5,2,3 B.-5,-12,-7 C.-5,-12,-17 D.5,-2,-7 [C] 教师批改:B 83、下程序的输出是_____。 void sub(float x,float *y,float *z) { *y=*y-1.0; *z=*z+x;} main( ) { float a=2.5, b=9.0 *pa, *pb; pa=&a; pb=&b; sub(b-a,pa,pb); printf(“%f\\n”,a);} A. 9.000000 B. 1.500000 C. 8.000000 D. 10.500000 [B] 教师批改:B 1、C语言规定,在一个源程序中,main函数的位置( )。 A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后 [C] 教师批改:C 2、凡在函数中未指明存储类别的变量,其隐含的存储类别为 A.auto 型 B.static 型 C.extern 型 D.register 型 [C] 教师批改:A 3、函数调用语句func((exp1,exp2),(exp3,expD,exp5));中,实参的个数为: A.1 B.2 C.D D.5 [B] 教师批改:B 4、以下程序的输出结果是 fun(int x, int y, int z) { z=x*x+y*y; } main() { int a=31; fun(5,2,a); printf(\ } A.0 B.29 C.31 D.无定值 [C] 教师批改:C 5、以下对C语言函数的有关描述中,正确的是 A.在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B.C函数既可以嵌套定义又可以递归调用 C.函数必须有返回值,否则不能使用函数 D.C程序中有调用关系的所有函数必须放在同一个源程序文件中 [A] 教师批改:A 6、以下所列的各函数首部中,正确的是 A.void play(var :Integer,var b:Integer) B.void play(int a,b) C.void play(int a,int b) D.Sub play(a as integer,b as integer) [] 教师批改:C 7、以下叙述中不正确的是() A.在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值 B.在C中,在调用函数时,实参和对应形参在类型上只需赋值兼容 C.在C中,外部变量的隐含类别是自动存储类别 D.在C中,函数形参可以说明为register变量 [] 教师批改:C 8、用数组名作为函数调用时的实参,实际上传送给形参的是 A.数组首地址 B.数组的第一个元素值 C.数组中全部元素的值 D.数组元素的个数 [A] 教师批改:A 9、当调用函数时,实参是一个数组名,则向函数传送的是 A.数组的长度 B.数组的首地址 C.数组每一个元素的地址 D.数组每个元素中的值 [B] 教师批改:B 10、函数调用:strcat(strcpy(str1,str2),str3)的功能是 A.将串str1复制到串str2中后再连接到串str3之后 B.将串str1连接到串str2之后再复制到串str3之后 C.将串str2复制到串str1中后再将串str3连接到串str1之后 D.将串str2连接到串str1之后再将串str1复制到串str3中 [] 教师批改:C 11、一个C程序的执行是从( )。 A.本程序的main函数开始,到main函数的结束 B.本程序文件的第一个函数开始,到本程序文件的最后一个函数的结束 C.本程序文件的main开始,到本程序文件的最后一个函数的结束 D.本程序文件的第一个函数开始,到本程序文件的main函数的结束 [A] 教师批改:A 12、一个C语言程序是由( )。 A.一个主程序和若干子程序组成 B.函数组成 C.若干过程组成 D.若干子程序组成 [B] 教师批改:B 13、以下说法中正确的是 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main()函数中定义 C.C语言程序总是从main()函数开始执行 D.C语言程序中的main()函数必须放在程序的开始部分 [C] 教师批改:C 14、以下叙述不正确的是( )。 A.一个C源程序可由一个或多个函数组成 B.一个C源程序必须包含一个main函数 C.C程序的基本组成单位是函数 D.在C程序中,注释说明只能位于一条语句的后面 [D] 教师批改:D 15、当调用函数时,实参是一个数组名,则向函数传送的是_____。 A) 数组的长度 B) 数组的首地址 C) 数组每一个元素的地址 D) 数组每个元素中的值 [B] 教师批改:B 116、请读程序: #include for(i=0; i<=n; i++) r=r*b[i]; return r; } main() { int x, a[]={ 2,3,4,5,6,7,8,9}; x=f(a, 3); printf(\); } 上面程序的输出结果是_____。 A) 720 B) 120 C) 24 D) 6 [B] 教师批改:B 1、判断字符串s1是否大于字符串s2,应当使用_____。 A. if(s1>s2) B. if(strcmp(s1,s2)) C. if(strcmp(s2,s1)>O) D. if(strcmp(s1,s2)>O) [B] 教师批改:D 2、下面程序段运行结果_____。 char a[3],b[ ]=\ a=b; printf(”%s”,a); A. 运行后将输出China B. 运行后将输出Ch C. 运行后将输出Chi D. 编译出错 [C] 教师批改:D 3、在C语言中,引用数组元素时,其数组下标的数据类型允许是____。 A. 整型常量 B. 整型表达式 C. 整型常量或整型表达式 D. 任何类型的表达式