《c语言经典选择填空题》由会员分享,可在线阅读,更多相关《c语言经典选择填空题(21页珍藏版)》请在人人文库网上搜索。
1、选择题(30分)(第一部分分10分,第二部分12分,第三部分8分)第一部分:简单类题目(50个题目,从中选择10,每题1分)1. 若num、a、b和c都是int型变量,则执行表达式 num=(a=4,b=16,c=32)后numt勺值为(C)A . 4 B . 16 C . 32 D . 5222. 以下程序的输出结果(b)。mai n() int x仁3, x2=0, x3=0;if (x1=x2+x3)prin tf(* * * *);else prin tf(# # # #);A. 输出:* * * * B.输出:# # # #C.存在语法错误D .无输出结果3. 下面四个选项中,均是合。
2、法转义字符的选项是(|A)oA. n B. 017 C. 018 f xab D. 0 101 xlf4. 若有说明:int a=1,b=2,c=3,d=4;则表达式 a-10& x-y10 D. (x-y)*(x-y)=1) & (x=200) & (x=1) | (x=200) | (x=1) & (x=200) & (x=1) | (x=200) | (xc&b=cB ) a|b+c&b-cC) !(ab)&!c|1D) !(a+b)+c-1 &b+c/235. 有以下程序:#in clude void main ()int a=1,b=2,m=0,n=0,k;k=(n=ba)|(m=a。
3、#in elude main ()char *s 仁AbDeG;char *s2=AbdEg;s1+=2;s2+=2;prin tf(%d,strcmp(s1,s2);A)正数 B) 负数C)零D)不确定的值(A )3 8若有定义:int a23, 则对a数组的第i行j列元素地址的正确引用为A) *(ai+j) B) (a+i) C) *(a+j) D) ai+j3 9以下能对二维数组y进行初始化的语句是(E)A static int y2 =1,0,1, 5,2,3;B static int y 3=1,2,3, 4,5,6;C static int y24=1,2,3, 4,5 , 6;D。
4、 static int y 3=1,0,1,0, , 1,1;40以下printf语句的输出结果是(E)prin tf(%dn, strle n( school);A、7 B 、6 C、存在语法错误D、不定值41不能把字符串:Hello!赋给数组b的语句是(B)。A. char b10=H,e,T,T,o,!;B. char b10; b=Hello!;C. char b10; strcpy(b,Hello!);D. char b10=Hello!;42 .设有定义:int a10,*p=a+6,*q=a;,则下列运算哪种是错误的(C )A p-q B p+3 C p+q D pq43.下列描。
5、述中不正确的是(C)A) 字符型数组中可以存放字符串B)可以对字符型数组进行整体输入、输出C)可以对整型数组进行整体输入、输出D) 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值 44以下对指针变量的操作中,不正确的是(A、int a, *p, *q; p=q=&a;B、int a=6, *p, *q=&a; p=q;C、int a=b=6, *p; p=&a; b=*p;D、int a, *p, *q; q=&a; p=*q;45. 给出以下定义char x =abcdefg;char y =a,b,c,d,e,f,g则正确的叙述为(C )。A)数组x和数组y等价B)数组x和数。
6、组y的长度相同C) 数组x的长度大于数组y的长度D) 数组x的长度小于数组y的长度46、设变量y为float类型,x为int类型,则以下能实现将y中的数值保留小数点后两位, 第三位进行四舍五入运算的表达式是(B )A y=(y*100+0.5)/100.0 B、x=y*100+0.5,y=x/100.0C y=y*100+0.5/100.0 D、y=(y/100+0.5)*100.047判断char型变量c1是否为大写字母的正确表达式是(C )A A=A)&(c1=A)&(c1=c1)48若a为已知整型变量,则对指针变量p的正确说明和初始化为A. int *p=a; B .int *p=&a;。
7、 C .int *p=*a; D . int & p=&a;49下列条件语句中,功能与其它语句不同的是(D )A. if(a) printf(“%d n” ,x);else printf( “%d n”,y);B. if(a= =0) printf(C. if(a!=0) printf(D. if(a=0) printf(“%d n” ,y);else printf( “%d n”,x); %d n” ,x);else printf( “%d n” ,y); %d n” ,x);else printf(“%d n” ,y);50.若有语句:char *line5;,以下叙述中正确的是(A )。。
8、A) 定义line是一个指针数组,每个数组元素是一个基类型为char的指针变量B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C) 定义line是一个指针数组,语句中的*号称为间址运算符D)定义line是一个指向字符型函数的指针第二部分:中等难度题目(24个题目,从中选择 8个,每题1.5分 共12分) 1设有声明语句:int a=1,b=0;则执行以下语句后输出:(B)switch (a)case 1:switch (b)case 0: prin tf(*0*);break;case 1: prin tf(*1*);break;case 2: prin tf(*2*)。
9、;break;A)*0*b)*0*2*C)*o*i*2* D)有语法错误2若有如下程序段,其中 s,a,b,c均已定义为整型变量,且a、c均已赋值s=a;for(b=1;b=0时什么也不输出D最多允许输出100个非负整数4.若有程序段如下:a=b=c=0;x=35;if(!a)x-;else if(b);if(c)x=3;else x=4;执行后,变量x的值是(B )A. 34 B . 4 C . 35 D . 35.有以下程序:#in clude void mai n()int i=0,s=0;for(;)if(i=3|i=5)c ontinue;if(i=6) break;i+;s+=i;。
10、prin tf(%dn,s);程序运行后的输出结果是(D )oA) 10B) 13 C)21 D)程序进入死循环6下面程序段是输出两个字符串中对应位置相等的字符,横线处应该是char x= ” program min g”;char y= ” Fortran ”;int i=0;while(xi!= O & yi!= O) if(xi=yi)printf( “%c ,);else i+;A) xi+B) y+iC) xiD) yi7阅读以下程序:#in clude void mai n()int x;scanf (%d, &x);if (x-#in elude void mai n()char。
11、 b30;strcpy (&b0,CH);strcpy (&b1,DEF);strcpy (&b2,ABC); printf (%sn,b);A) CHDEF B ) DEFABC C ) CDABC D ) CHABC11. 下面程序的输出结果为(A )o#in elude void mai n()int a3,i,j,k=2;for(i=0;ivoid mai n()int aa33=2,4,6, i,*p=&aa00;for(i=0;ivoid mai n()int i,j,k;char str5; for(i=0;ivoid mai n()int k=0,i,s =1,-9,7,2,-。
12、10,3;for (i=0;isk)k=i;prin tf(n %dn,k);(D) 1(A) 4(B) 2(C) 315. 以下程序的输出结果是(C )。#in elude void mai n()char a10=1,2,3,4,5,6,7,8,9,0,*p; int i;i=8;p=a+i;printf (%sn,p-3);A) 6 B )/ 6/C ) 6789 D ) 78916. 有以下程序#in cludevoid main()int a10=1,2,3,4,5,6,7,8,9,10, *p=&a3, *q=p+2;prin tf(%dn, *p + *q);(B )。B) 10。
13、程序运行后的输出结果是A) 1617有以下程序#in cludevoid main()int a33,*p,i;P=& a00;for(i=0;ivoid mai n()C) 234D) 345in t p8=11,12,13,14,15,16,17,18,i=0,j=0;while(i+=0;i-) sum(& aai);prin tf(%dn,aaO);执行后的输出结果是(A )A. 4B. 3C. 2 D. 120.以下程序运行后,输出结果是(A )#in clude int d=1;void fun (int p)int d=5; d+=p+;prin tf(%d,d);void ma。
14、i n()int a=3; fun( a); d+=a+;prin tf(%dn,d);A 84B)99C)95D)44第三部分:较难题目(5个题目,从中选择 4个,每题2分) 1.有以下程序#in elude void mai n()int i,test ,p17,head;for(i=0;ivoid mai n()char ch2 5=693,825,*p2;int i,k,j,s=O;for(i=0;i=0&pijvoid f (int *x,i nt *y)int t; t=*x;*x=*y;*y=t;void mai n()int a8=1,2,3,4,5,6,7,8,i,*p,*q。
15、; p=a;q=&a7;while(pvq)f (p,q); p+;q-;for (i=0;iint x=3;void in ere() static int x=1;x*=x+1;prin tf(%d ,x);void mai n()int i;for (i=1;i#inelude void f(char *s, char *t)char k; voidk=*s; *s=*t; *t=k; s+; t-;if (*s) f(s, t);mai n()char str10=abcdefg, *p; p=str+strlen(str)/ 2+1;f(p, p-2);prin tf(%sn,str。
16、);程序运行后的输出结果是B) gfedcbaC)gbcdefa每题2分,共10分)A) abcdefg第二部分:填空题(共 5题, A卷部分1、女口 float x=4.3; int a; a=4*x+(int)x;2、下面程序的输出结果为char b=CDEF;main () char *chp ;for (chp=b;*chp ;chp+=2) prin tf(%s,chp); prin tf(n); 3、程序 char *a=I Love Ch in a!; a+=7; prin tf(%s,a);。4、若有以下的说明和语句,则在执行 _t23__:D) abedcfgCDEFEFin。
17、t t33,*pt3,k ;for (k=0; k3; k+) ptk=&tkO5.女口 int *p3,a6=1,2,3,4,5,6,i;*(p1+1); 则i的值为则a的值为21的输出结果为for语句后,*(*(pt+2)+3)表示的数组元素是for (i=0;i3;i+)pi=&a2*i;Chi na!i=B卷部分1、如 float x=5.3; int a; a=5*x+(int)x;2、下面程序的输出结果为char b=EFDG;main () char *chp ;for (chp=b;*chp ;chp+=3) prin tf(%s,chp); prin tf(n);3、程序 char *a=I Love Ch in a!; a+=9; prin tf(%s,a);4 若有以下的说明和语句,则在执行__tl2:int t33, *pt3, k ;for (k=0; k3; k+) ptk=&tkOEFDGG则a的值为for语句后,5.如 int *p3, a6=1,2,3,4,5,6,i; for (i=0;i3;i+) pi=&a2*i;31的输出结果为ina!。*(*(pt+l)+2) 表示的数组元素是i=*(p1+1);则i的值为 4。