C语言试题库[完整版]

上传人:公**** 文档编号:507950041 上传时间:2023-08-19 格式:DOC 页数:28 大小:299KB
返回 下载 相关 举报
C语言试题库[完整版]_第1页
第1页 / 共28页
C语言试题库[完整版]_第2页
第2页 / 共28页
C语言试题库[完整版]_第3页
第3页 / 共28页
C语言试题库[完整版]_第4页
第4页 / 共28页
C语言试题库[完整版]_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《C语言试题库[完整版]》由会员分享,可在线阅读,更多相关《C语言试题库[完整版](28页珍藏版)》请在金锄头文库上搜索。

1、C语言试题库一、单项选择第一章C语言概述(1)一个C程序的执行是从_A、本程序的MAIN函数开始,到MAIN函数结束。B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。C、本程序的MAIN函数开始,到本程序的最后一个函数结束。D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。(2)以下叙述正确的是A、在C程序中,MAIN函数必须位于程序的最前面。B、C程序的每行中只能写一条语句。C、C语言本身没有输入输出语句。D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。(3)C语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面。B、必须在系统调用的库函

2、数的后面C、可以在任意位置。D、必须在最后面(4)一个C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(5)以下叙述不正确的是:A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1)若x,i,j,k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32)A、4E、16C、32D、52(2) 下列四组选项中,均不是C语言键字的选项是A、define,IF,typeB、getc,char,printf

3、C、inelude,seanf,caseE、if,struct,type(3) 下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doBfloat,1a0,_AC、b-a,goto,intD、_123,temp,INT(4) 若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5) 已知各变量的类型说明如下:intk,a,b;unsingedlongw=5;doublex=1.42;则以下不符合C语言语法的表达式是_A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a-=(b

4、=4)*(a=3)第三章简单C程序设计(1) putchar函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值scanf函数调用语句是(2) 若x,y均定义为int型,z定义为double型,以下合法的A、scanf(“d%lx,%le”,&x,&y,&z);B、scanf(“%2d*%d%ff,&x,&y,&z);C、scanf(“x%*d%o,&x,&y,&z);D、scanf(“%x%o%6.2f,&x,&y,&z);当输入数据的形式为:25,13,10时,以下程序的输出结果为main()intx,y,z;scanf(“%d%d%”,&x,&y,&z

5、);printf(“x+y+z=%d,x+y+z);A、x+y+z=48Bx+y+z=35C、x+z=35D、不确定值(4) 以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是A、inta=b=c=5;B、inta,b,c=5;C、a=5,b=5,c=5;D、a=b=c=5;若有以下定义,则正确的赋值语句是inta,b;floatx;A、a=1,b=2;B、b+;C、a=b=5;D、b=int(x);第四章选择结构程序设计(1) 能正确表示“当x的值在1,10和200,210的范围为真,否则为假”的表达式是A、(x=1)&(x=200)&(x=1)|(x=200)|(x=1)&(x

6、=200)&(x=1)|(x=200)|(x5)printf(rT%dm);elseprintf(r%d,);4A) 56B) 7(5) 为了避免在嵌套的条件语句中if-else中产生二义性,c语言规定:else子句总是与相配对。A)缩排位置相同的if其之前最近的ifB) 其之后最近的if同一行上的if第五章循环控制设有程序段intk=10while(k=0)k=k-1则下面描叙正确的是。A) while(k=0)k=k-1;循环是无限循环B) 循环体语句一次也不执行循环体语句执行一次(1) 下面程序段的运行结果是。intn=0;while(n+=2);printf(“%d”,n);A) 23

7、B) 4有语法错3)C语言中while和do-while循环的主要区别是。A) do-while的循环体至少无条件执行一次while的循环控制条件比do-while的循环控制条件严格B) do-while允许从外部转到循环体内do-while允许从外部转到循环体内以下能正确计算1*2*3*10的程序段是。A) doi=1;s=1;s=s*i;i+;while(l=10);B) doi=1;s=0;s=s*i;i+;while(I=10);C) i=1;s=1;dos=s*i;i+;while(I=10);i=1;s=0;dos=s*i;i+;while(I=10);第六章数组(1) 在c语言中

8、,引用数组元素时,其数组下标的数据类型允许是整型常量A) 整型表达式整型常量或整型表达式B) 任何类型的表达式(2) 以下能对二维数组a进行正确初始化的语句是。A) inta2=1,0,1,5,2,3,;inta3=1,2,3,4,5,6;B) inta24=1,2,3,4,5,6;inta3=1,0,1,1,1;)(3) 若有说明:inta34=0;则下面正确的叙述是。A) 只有元素a00可得到初值0B) 此说明语句不正确C) 数组a中各元素都可得到初值,但其值不一定为0D) 数组a中每个元素均可得到初值0(4) 下面程序(每行程序前面的数字表示行号)。1 main()2 floata10=

9、0;inti3 for(i=0;i3;i+)scanf(“d,&ai;for(i=1;i10;i+)a0=a0+ai;4 printf(n%f,a0);A) 没有错误B) 第3行有错误C) 第5行有错误D) 第7行有错误(5) 若二维数组a有m列,则计算机一元素aij在数组中位置的公式为。(假设a00位于数组的第一个位置上。)A) i*m+jB) j*m+iC) i*m+j-1D) i*m+j+1第七章函数(1) 以下正确的函数定义形式是。A) doublefun(intx,inty)doublefun(intx;inty)D) doublefun(intx,inty)doublefun(in

10、tx,y);(2) 以下正确的函数形式是。A) doublefun(intx,inty)z=x+y;returnz;fun(intx,y)int乙returnz;fun(x,y)intx,y;doublez;z=x+y;returnz;doublefun(intx,inty)doublez;z=x+y;returnz;C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是A) 地址传递单向值传递B) 由实参传给形参,再由形参传回给实参传递方式(3) C语言允许函数值型缺省定义,此时该函数值隐含的类型是Afloat型B) int型long型C) double型下面函数调用语句含有实参的个

11、数为。func(exp1,exp2),(exp3,exp4,exp5);1A) 24B) 5第八章编译预处理命令(1)请读程序:#defineADD(x)x+xmain()intm=1,n=2,k=3;intsum=ADD(m+n)*k;printf(“sum=%d,sum);上面程序的运行结果是。A) sum=9sum=10B) sum=12sum=18(2) 以下程序的运行结果是#defineMIN(x,y)(x)(y)?(x)+(y)main()intl=10,j=15,k;k=10*MIN(l,j);printf(n%d,k);10A) 15100B) 150PI代替一个PI代替一个(

12、3)在宏定义#definePI3.14159中,用宏名A)常量B)单精度数C)双精度数D)字符串若有宏定义如下:#defineX5#defineYX+1#defineZY*x/2则执行以下printf语句后,输出结果是inta;a=Y;printf(“i%d,Z);printf(“i%d-a);7B)12C)12D)76655若有以下宏定义:#defineN2#defineY(n)(N+1)*n)则执行语句z=2*(N+Y(5);后的结果是语句有错误A) z=34z=70B) z无定值第九章指针(1) 以下程有错误,错误原因是main()int*p,l;char*q,ch;p=&l;q=&ch

13、;*p=40;*p=*q;A) p和q的类型不一致,不能执行*P=*Q;语句P中存放的是地址值,因此不能执行*P=40;语句B) Q没有指向具体的存储单元,所以*Q没有实际意义*P=*Q;语F面不能正确执*P=*Q;语F面不能正确执C) Q虽然指向了具体的存储单元,但该单元中没有确定值,所以不能执行句(2) 已有定义intk=2;int*ptr1,*ptr2;且ptr1和ptr2均已指向变量K,行的赋值语句是.A) k=*ptr1+*ptr2;B)ptr2=K;C)ptr仁ptr2;D)k=*ptr1*(*ptr2);(3) 变量的指针,其含义是指该变量的.A) 值B)地址C)名D)一个标志(4) 若有语句int*point,a=4;和ponit=&a;下面均代表地址的一组选项是A) a,point,*&aB) &*a,&a,*pointC) *&point,*point,&aD) &a,&*point,pointF面能正确进行字符串赋值操作的是A)B)C)D)CI) *&point,*point,&aE) &a,&*poin

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号