武汉光谷计算机学校 联系电话:027-62092619
}
程序运行后的输出结果是
A)3 B)5 C)-1 D)-2 17.有以下程序 main()
{ char a=\\'a\\',b; print(\ printf(\}
程序运行后的输出结果是
A)b,b B)b,c C)a,b D)a,c 18.有以下程序 main()
{ int m=0256,n=256; printf(\}
程序运行后的输出结果是
A)0256 0400 B)0256 256 C)256 400 D)400 400 19.有以下程序 main()
{ int a=666,b=888; printf(\}
程序运行后的输出结果是
A)错误信息 B)666 C)888 D)666,888 20.有以下程序 main() { int i;
for(i=0;i<3;i++) switch(i)
{
case 0:printf(\ case 2:printf(\ default:printf(\ } }
程序运行后的输出结果是
A)022111 B)021021 C)000122 D)012 21.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是 A)abs(x-y)<10 B)x-y>-10&& x-y<10
C)@(x-y)<-10||!(y-x)>10 D)(x-y)*(x-y)<100 22.有以下程序 main() {
int a=3,b=4,c=5,d=2; if(a>b)
16
武汉光谷计算机学校 联系电话:027-62092619
if(b>c)
printf(\ else
printf(\ printf(\}
程序运行后的输出结果是
A)2 B)3 C)43 D)44 23.下列条件语句中,功能与其他语句不同的是
A) if(a) printf(\B) if(a==0) printf(\C) if (a!=0) printf(\D) if(a==0) printf(\24.有以下程序 main()
{ int i=0,x=0; for (;;) {
if(i==3||i==5) continue; if (i==6) break; i++; s+=i; };
printf(\}
程序运行后的输出结果是
A)10 B)13 C)21 D)程序进入死循环 25.若变量已正确定义,要求程序段完成求5!的计算,不能完成此*作的程序段是 A)for(i=1,p=1;i<=5;i++) p*=i; B)for(i=1;i<=5;i++){ p=1; p*=i;} C)i=1;p=1;while(i<=5){p*=i; i++;}
D)i=1;p=1;do{p*=i; i++; }while(i<=5); 26.有以下程序 main()
{ char a,b,c,d;
scanf(\ printf(\}
若运行时从键盘上输入:6,5,65,66<回车>。则输出结果是
A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,6 27.以下能正确定义二维数组的是
A)int a[][3]; B)int a[][3]=2{2*3};
C)int a[][3]={}; D)int a[2][3]={{1},{2},{3,4}}; 28. 有以下程序 int f(int a) { return a%2; }
17
武汉光谷计算机学校 联系电话:027-62092619
main()
{ int s[8]={1,3,5,2,4,6},i,d=0; for (i=0;f(s);i++) d+=s; printf(\}
程序运行后的输出结果是
A)9 B)11 C)19 D)21 29.若有以下说明和语句 int c[4][5],(*p)[5]; p=c;
能够正确引用c数组元素的是
A) p+1 B) *(p+3) C) *(p+1)+3 D) *(p[0]+2) 30.有以下程序 main()
{ int a=7,b=8,*p,*q,*r; p=&a;q=&b; r=p; p=q;q=r;
printf(\}
程序运行后的输出结果是
A)8,7,8,7 B)7,8,7,8 C)8,7,7,8 D)7,8,8,7
31.s12和s2已正确定义并分别指向两个字符串。若要求:当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; 32.设有定义语句
int x[6]={2,4,6,8,5,7},*p=x,i;
要求依次输出x数组6个元素中的值,不能完成此*作的语句是 A)for(i=0;i<6;i++) printf(\B)for(i=0;i<6;i++) printf(\C)for(i=0;i<6;i++) printf(\D)for(i=0;i<6;i++) printf(\33.有以下程序 #include
{int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL; *q=*(p+5);
printf(\}
程序运行后的输出结果是
A)运行后报错 B)6 6 C)6 11 D)5 10 34.有以下定义和语句
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]
18
武汉光谷计算机学校 联系电话:027-62092619
35.有以下程序 main()
{char str[][10]={\ printf(\}
程序运行后的输出结果是
A) China B)Bejing C)ng D)ing 36. 有以下程序 main()
{char s[]=\
for(p=s+1;p
程序运行后的输出结果是
A) ABCD B)A C)B D)BCD BCD B C CD CD C D D D D
37.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 A)称为函数的直接递归调用 B)称为函数的间接递归调用 C)称为函数的循环调用 D)C语言中不允许这样的递归调用 38.已有定义:int i,a[10],*p;,则合法的赋值语句是
A)p=100; B)p=a[5]; C)p=a[2]+2; D)p=a+2; 39.以下叙述中正确的是
A)局部变量说明为static存储数,其生存期将得到延长 B)全局变量说明为static存储类,其作用域将被扩大 C)任何存储类的变量在未赋初值时,其值都是不确定的 D)形参可以使用的存储类说明符与局部变量完全相同
40.设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是
A)c1^c2 B)c1&c2 C)~c2 D)c1|c2 41.程序中对fun函数有如下说明 void *fun();
此说明的含义是: A)fun了数无返回值
B)fun函数的返回值可以是任意的数据类型 C)fun函数的返回值是无值型的指针类型 D)指针fun指向一个函数,该函数无返回值 42.有以下程序 main()
{ char s[]\ puts(ps+4); *(ps+4)=0; puts(s);
}
程序运行后的输出结果是(选项D中的第一行是空行) A)n/No B)/No C)n/NO D)
19
武汉光谷计算机学校 联系电话:027-62092619
Yes Yes Yes /No
/No /No 43.有以下程序 main()
{ unsigned int a; int b=-1; a=b;
printf(\}
程序运行后的输出结果是
A)-1 B)65535 C)32767 D)-32768 44.有以下程序
void fun(int *a,int i,int j) { int t; if(i { t=a;a=a[j];a[j]=t; i++; j--; fun(a,i,j); } } main() { int x[]={2,6,18},i; fun(x,0,3); for(i=0;i<4;i++) printf(\ printf(\} 程序运行后的输出结果是 A)1 2 6 8 B) 8 6 2 1 C) 8 1 6 2 D)8 6 1 2 45.有以下说明和定义语句 struct student { int age; char num[8];}; struct student stu[3]={{20,\struct student *p=stu; 以下选项中引用结构体变量成员的表达式错误的是 A) (p++)->num B)p->num C)(*p).num D)stu[3].age 46.有以下程序 mina() { int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for (j=2;j>=i;j--) if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;} for(i=0;i<3;i++) for(j=4;j<7-i;j++) if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;} for (i=0;i<3;i++) for(j=4;j<7-i;j++) 20