C语言试题库(含答案).doc

上传人:文库蛋蛋多 文档编号:2384794 上传时间:2023-02-17 格式:DOC 页数:177 大小:380KB
返回 下载 相关 举报
C语言试题库(含答案).doc_第1页
第1页 / 共177页
C语言试题库(含答案).doc_第2页
第2页 / 共177页
C语言试题库(含答案).doc_第3页
第3页 / 共177页
C语言试题库(含答案).doc_第4页
第4页 / 共177页
C语言试题库(含答案).doc_第5页
第5页 / 共177页
点击查看更多>>
资源描述

《C语言试题库(含答案).doc》由会员分享,可在线阅读,更多相关《C语言试题库(含答案).doc(177页珍藏版)》请在三一办公上搜索。

1、一、 单项选择题(每小题2分)【1】设字符型变量ch的值为A,整型变量m的值为1,假定执行putchar (m);putchar ();putchar (ch);后,则输出结果是。A、A1B、lAC、AlD、1A标准答案:D【2】有如下函数调用语句fuc(rec1,rec2+rec3,(rec4,rec5);该函数调用语句中,含有的实参个数是。A、3B、4C、5D、有语法错标准答案:A【3】有以下函数定义:void fun(int n,double x)若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是。A、fun(int y,double m);B、k=fun(10,12

2、.5);C、fun(x,n);D、void fun(n,x);标准答案:C【5】设有以下程序片段,请问执行后的输出结果是int i=010,j=10,k=0xl0;print f(d,d,d,k,j,i);A、16,10,8B、81016C、10,10,10D、8,10,16标准答案:A【9】有如下程序段:char str14=Iam;strcat(str,sad!);scanf(%s,str);print f(%s,str);当输入为happy!时,输出的结果是()。A、Iamsad!B、happy!C、Iamhappy!D、happy!ad!标准答案:B【11】以下if语句中格式正确的是A

3、、if(ab)b+else a+;B、if(ab)b+;print f(d,b);else a+;print f(d,a);C、if(ab)b+;print f(d,b)else a+;print f(d,a);D、if(ab)b+;print f(d,b);else print f(d,a);标准答案:B【1】设有整型变量m值为8,下列赋值语句中,正确的是。A、+m=6;B、m=m+;C、m+1=8;D、m+1+=8;标准答案:B【2】.有以下程序#includevoid fun(int *a,int i,int j)int t;if(ij)t=ai;ai=aj;aj=t;i+;j-;fun

4、(a,i,j);void main()int x=2,6,1,8,i;fun(x,0,3);for(i=0;i4;i+)print f(%2d,xi);程序运行后的输出结果是。A、1268B、8621C、8162D、8612标准答案:C【3】关于C语言以下说法正确的是()。A、只有当实参和与其对应的形参同名时才共占用存储单元B、形参是虚拟的,不占用存储单元C、实参和与其对应的形参各占用独立的存储单元D、实参和与其对应的形参共占用一个存储单元标准答案:C【4】根据下面的定义,能打印出字母“M”的语句是。struct personchar name9;int age;struct person c

5、lass10=John,17,Paul,19,Mary,18,adam,16;A、print f(cn,class3name);B、print f(cn,class3namel);C、Print f(cn,class2namel);D、print f(cn,class2name0);标准答案:D【5】设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。A、f+=gB、f-=g+5C、f*=g-5D、f/=g*5标准答案:A【6】下面程序的输出是main()int a=-1,b=4,k;k=(a+=0)&(!(b-=0);print f(dddn,k,a,b);A、00

6、3B、012C、103D、112标准答案:C【7】C语言中最基本的数据类型包括。A、整型,实型,逻辑型B、整型,实型,布尔型C、整型,实型,字符型D、整型,实型,指针型标准答案:C【8】假定int 类型变量占用两个字节,其有定义:int x10=0,2,4;,则数组x在内存中所占字节数是。A、3B、6C、10D、20标准答案:D【9】下面程序的输出结果是()。#includevoid main()int i,j,k;char str5;for(i=0;i5;i+)stri=A;k=4;for(i=0;ik;i+)for(j=0;jk;j+)strj=stri+32;print f(%cn,st

7、rk);A、aB、AC、BD、不确定的值标准答案:B【10】有以下程序片段:int a12=1,2,3,4,5,6,7,8,9,10,11,12,*p3,i;for(i=0;i3;i+)pi=&ai*4;printf(“%d”,*(p2+1);则输出结果为A、9B、5C、10D、6标准答案:C【11】设a,b,w为整型变量,ch为字符型变量,用if语句改写以下的程序段:switch(ch)case+:w=a+b;break;case-:w=a-b;break;case*:w=a*b;break;case/:w=a/b;break;在下列写法中,错误的是A、if(ch=+)w=a+b;if(ch

8、=-)w=a-b;if(ch=*)w=a*b;if(ch=/)w=a/b;B、B)if(ch=*)w=a*b;else if(ch=/)w=a/b;if(ch=+)w=a+b;else if(ch=-)w=a-b;C、if(ch=+)w=a+b;else if(ch=-)w=a-b;if(ch=*)w=a*b;else w=a/b;D、D)if(ch=+)w=a+b;else if(ch=-)w=a-b;if(ch=*)w=a*b;else if(ch=/)w=a/b;标准答案:C【12】有以下程序:#includemain()int al=0,a2=0,a3=0;char ch;while(

9、ch=getchar ()!=n)switch(ch)caseA:a1+;caseB:a2+;default:a3+;print f(d,d,d,a1,a2,a3);现从键盘上输入AAAAABBBC,则程序执行后的输出结果是A、5,8,9B、5,3,1C、5,3,9D、5,8,1标准答案:A【13】下面程序的输出是main()int y=9;for(;y0;y-)if(y%3=0)printf(“%d”,-y);continue;A、741B、852C、963D、875421标准答案:B【14】下面程序的运行结果是#includemain()int i=1;doi-;while(i+);pri

10、nt f(%d,i-);A、-1B、0C、1D、陷入死循环标准答案:C【15】以下对C语言描述中正确的是()。A、C语言源程序中可以有重名的函数B、C语言源程序中要求每行只能书写一条语句C、C语言源程序中,注释可以出现在任何位置D、最小的C源程序中没有任何内容标准答案:C【2】返回值为void 的函数,其含义是()。A、调用函数之后,被调用的函数没有返回值B、调用函数之后,被调用的函数不返回C、调用函数之后,被调用的函数的返回值为任意的类型D、以上三种说法都是错误的标准答案:A【3】以下函数fff(float x)print f(“%dn”,x*x);的类型是A、与参数x的类型相同B、void

11、 类型C、int 类型D、无法确定标准答案:C【4】有如下定义:struct dateint year,month,day;struct worklistchar name20;char sex;struct date birthday;personone;对结构体变量personone的出生年份进行赋值时,下面正确的赋值语句是。A、year=1968B、birthday.year=1968C、personone.birthday.year=1968D、personone.year=1968标准答案:C【5】设a,b和c都是int 型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表

12、达式是A、a&bB、a=bC、a|b+c&b-cD、!(ab)&!c|1)标准答案:D【6】字符串“tn045”的长度为。A、4B、10C、5D、说明不合法标准答案:C【7】size of(float )是()。A、一种函数调用B、个单精度表达式C、个整型表达式D、个不合法的表达式标准答案:C【8】以下程序的输出结果是。#include#includevoid main()char st20=hello0t;print f(%d%dn,strlen(st),sizeof(st);A、99B、520C、1320D、2020标准答案:B【9】有以下程序#includevoid main()char

13、 p=a,b,c,q=abc;print f(%d%dn,sizeof(p),sizeof(q);程序运行后的输出结果是_。A、44B、33C、34D、43标准答案:C【10】若有以下定义,则对数组元素地址的正确引用是。int a5=1,2,3,4,5,*p,i;i=3;p=a;A、&pB、a+C、&(p+1)D、&pi标准答案:D【11】有以下程序:#includemain()int x,y;print f(Enteranint eger(x):);scanf(d,&x);if(x+0)y=-1;else if(x=0)y=0;else y=1;print f(d,y);现从键盘上输入-1,

14、则程序的输出是。A、-1B、0C、1D、不确定的值标准答案:A【12】已知a,b,c的值分别是1,2,3,则执行下列语句后a,b,c的值分别是if(a+b)c=a;a=b;b=c;else a=b=c=0;A、0,0,0B、1,2,3C、1,2,1D、2,2,2标准答案:D【13】请读程序:#includemain()int a,b;for(a=1,b=1;a=20)break;if(b%3=1)b+=3;continue;b=-5;print f(“%dn”,a);上面程序的输出结果是A、7B、8C、9D、10标准答案:B【14】有以下程序段:int i,j;for(i=0;i5;+i)fo

15、r(j=i;j5;+j)print f(“*”);则执行以上的程序片段后,输出*个数是A、15B、10C、25D、20标准答案:A【15】程序段的基本结构中,不包含()。A、函数结构B、循环结构C、顺序结构D、分支结构标准答案:A【1】执行语句scanf(d,d,&m,&n);使m和n的值分别为1和2,正确输入是。A、1B、2C、1,2D、12标准答案:c【3】若用数组名作为函数调用的实参,传递给形参的是()。A、数组的首地址B、数组第一个元素的值C、数组中全部元素的值D、数组元素的个数标准答案:A【4】设有以下结构体定义:struct emproyerchar name8;int age;c

16、har sex;staff;则下面的叙述不正确的是A、struct 是结构体类型的关键字B、struct emproyer是用户定义的结构体类型C、staff是用户定义的结构体类型名D、nameage和sex都是结构体成员名标准答案:C【6】表达式-l?(10?10:1):(0?0:-1)的值为A、10B、1C、0D、-1标准答案:A【8】下面正确的数组定义语句是。A、int y14=1,2,3,4,5;B、float x3=1,2,3;C、long s23=1,1,2,1,2,3;D、double t3=0;标准答案:D【10】下面程序的输出结果是void prtv(int *x)print

17、 f(dn,+*x);main()int a=25;prtv(&a);A、23B、24C、25D、26标准答案:D【11】设有如下程序:#includemain()char ch1,ch2;scanf(“%c%c”,&ch1,&ch2);if(ch1!=B)switch(ch2)caseB:switch(ch1)caseA:print f(AB)break;caseB:print f(BB)break;caseA:switch(ch1)caseA:print f(AA)break;caseB:print f(BA);break;若执行是从键盘上输入的数据时AB,则输出是A、ABB、ABAAC、

18、BBBAABBBAABAD、BBBA标准答案:B【12】请读程序:#includemain()int x=l,y=0,a=0,b=0;switch(x)casel:switch(y)case0:a+;break;case1:b+;break;case2:a+;b+;break;print f(a=d,b=dn,a,b);上面程序的输出结果是A、a=2,b=lB、a=l,b=lC、a=l,b=0D、a=2,b=2标准答案:A【13】有下面的程序:main()int i,n,k;n=15496;k=2;for(i=1;i=a&chB、+C、*D、=标准答案:D【7】属于实型常量的是A、E10B、1

19、0C、10LD、1E10标准答案:D【12】有以下程序:#includemain()int x,y;print f(Enter an int eger(x):);scanf(d,&x);if(x+0)y=-1;else if(x=0)y=0;else y=1;print f(d,y);现从键盘上输入-1,则程序的输出是。A、-1B、0C、1D、不确定的值标准答案:A【14】有下列程序段:char ch;int s=0;for(ch=A;ch48&ch0x3A;标准答案:A【4】若有以下定义和语句:struct studentint num;int age;struct studentstu3=

20、l001,20,1002,19,1003,2l;main()struct student*p;p=stu;.则下列引用中不正确的是。A、(p+)numB、p+C、(*p)numD、p=&stu.age标准答案:D【5】若a是float 型变量,则表达式a=l,a+,a+=a的值为。A、2B、4C、2.0D、4.0标准答案:D【6】若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是。A、A%2=1B、!(A%2=0)C、!(A%2)D、A%2标准答案:C【10】有以下程序,请问执行后的输出结果是。#includemain()int a=1

21、,2,3,4,5,6,*p;p=a;*(p+3)+=2;print f(d,d,*p,a3);A、1,4B、0,4C、1,6D、0,6标准答案:C【11】若要求表示a不等于0的关系,错误的表达式是A、)a0B、a!=0C、aD、a0标准答案:A【13】下面的程序,描述正确的是main()int x=3;doprint f(“%dn”,x-=2);while(!(-x);A、输出的是1B、输出的是1和-2C、输出的是3和0D、是死循环标准答案:B【15】C语言中主函数的个数是()A、2个B、1个C、任意个D、10个标准答案:B【2】以下关于函数的叙述中正确的是_。A、每个函数都可以被其它函数调用

22、(包括main函数)B、每个函数都可以被单独编译C、每个函数都可以单独运行D、在一个函数内部可以定义另一个函数标准答案:B【3】若函数的形参为一维数组,则下列说法中正确的是()。A、调用函数时的对应实参必为数组名B、形参数组可以不指定大小C、形参数组的元素个数必须等于实参数组的元素个数D、形参数组的元素个数必须多于实参数组的元素个数标准答案:B【7】C浯言中的构造类型包括。A、数组型,结构体型,联合体型B、结构体型,联合体型,指针型C、结构体型,联合体型,枚举类型D、数组型,结构体型,联合体型,指针型标准答案:A【10】请读程序:#include#includemain()char *s1=A

23、bCdEf,*s2=aBcDeF;s1+;s2+;print f(dn,strcmp(s1,s2);上面程序的输出结果是A、正数B、负数C、零D、不确定的数标准答案:A【12】若执行下面的程序时从键盘上输入10,则输出是main()int a;scanf(d,&a);if(a+10)print f(dn,+a);else print f(dn,a-);A、12B、11C、10D、9标准答案:B【13】下面的程序段不能实现求阶乘8!(8!=1*2*3*4*5*6*7*8,结果存放在p中)的是A、p=1;for(i=1;i9;i+)p=p*i;B、p=2;for(i=1;i9;i+)p=p*i;C

24、、p=1;i=1;while(i1);标准答案:B【14】下列循环中哪一个不是无限循环A、for(i=1;i+)print f(“%d”,i);B、i=1;while(i-)print f(“%d”,i+);C、i=1doprint f(“%d”,i);i+;while(-i);D、for(i=0;i;i+)print f(“%d”,i);标准答案:D【3】若函数的形参为一维数组,则下列说法中正确的是()。A、调用函数时的对应实参必为数组名B、形参数组可以不指定大小C、形参数组的元素个数必须等于实参数组的元素个数D、形参数组的元素个数必须多于实参数组的元素个数标准答案:B【5】060和060在

25、内存中占用的字节数分别为。A、22B、21C、12D、44标准答案:C【6】若a是float 型变量,则表达式a=l,a+,a+=a的值为。A、2B、4C、2.0D、4.0标准答案:D【7】设C语言中,一个int 型数据在内存中占用两个字节,则int 型数据的取值范围为:A、-128127B、-3276832767C、065536D、)02147483647标准答案:B【8】下面程序的输出结果为()。#includevoid main()int a3,i,j,k=2;for(i=0;i3;i+)ai=0;for(i=0;ik;i+)for(j=0;jk;j+)aj=i*j;print f(%d

26、n,a2);A、0B、1C、2D、3标准答案:A【11】下面程序的输出结果是。#includemain()int i=2,p;p=f(i,i+1);print f(d,p);int f(a,b)int a,b;int c;c=a;if(ab)c=1;else if(a=b)c=0;else c=-1;return(c);A、-1B、0C、1D、2标准答案:A【12】C语言中,逻辑真表示为A、TRUEB、y或YC、1D、非零值标准答案:C【15】以下说法正确的是()。A、在C语言中,要调用的函数必须在main()函数中定义B、C语言程序总是从第一个定义的函数开始执行C、C语言程序中,main()

27、函数必须放在程序的开始部分D、C语言程序总是从main()函数开始执行标准答案:D【2】下面程序中存在语法错误,关于错误的原因正确说法是()。#includevoid p_ch1();void main()int a=5,b;.b=p_ch1(A);A、语句void p_ch1();有错,它是函数调用语句,不能使用void 说明B、变量名不能使用大写字母C、函数说明和函数调用语句之间有矛盾D、函数名中不能使用下划线标准答案:C【9】执行下列程序时,输入123456789,输出结果是。#includevoid main()char s100;int c,i;scanf(%c,&c);scanf(

28、%d,&i);scanf(%s,s);print f(%c,%d,%sn,c,i,s);A、123,456,789B、1,456,789C、1,23,456,789D、1,23,456标准答案:D【10】下面程序的输出结果是void prtv(int *x)print f(dn,+*x);main()int a=25;prtv(&a);A、23B、24C、25D、26标准答案:D【12】实型变量a,b中放有两门课程的考试成绩,如果两门成绩都及格(成绩=60),则显示“pass”,如果a成绩不及格,则显示fail,如果a成绩及格而b成绩不及格则不做任何处理。下列程序段中可实现上述要求的是A、if

29、(a=60)if(b=60)print f(pass);else print f(fail);B、if(a=60)print f(pass);C、if(a=60)&(b=60)print f(pass);else if(b=60)if(a=60)print f(pass);else print f(fail);标准答案:B【13】以下程序的输出结果是#includemain()int i;for(i=1;i=5;+i)if(i%2)print f(“*”);else continue;print f(“#”);print f(“$”);A、*#*#*#$B、#*#*#*$C、*#*#$D、#*

30、#*$标准答案:A【14】以下说法中正确的是A、continue语句的作用是结束整个循环的执行B、break语句应出现在switch语句和循环语句中C、利用goto语句可以使程序的执行从一个函数跳到另一个函数D、循环语句中break语句不能单独出现标准答案:B【1】运行下列程序的输出是。main()int k=1;int k=2;print f(d,k);print f(d,k);A、12B、21C、11D、22标准答案:B【5】若有代数式,则不正确的C语言表达式是。A、a/b/c*e*3B、3*a*e/b/cC、3*a*e/b*cD、a*e/c/b*3标准答案:C【6】以下程序的输出结果是。

31、main()int a=10,b=10;print f(d,d,a-,+b);A、10,11B、10,10C、9,9D、9,11标准答案:A【7】不属于整型常量的是A、10B、010C、0xl0D、4.0/2标准答案:D【8】以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。#defineN10void arrin(int xN)int i=0;while(i3?2:1标准答案:C【10】以下程序段的功能是给数组所有的元素输入数据,则应在程序横线填上的选项是。#includemain()int a10,i=0;while(i10)scanf(d,_);A、a+(i+)B、&ai+1C

32、、a+iD、&a+i标准答案:A【2】以下叙述中正确的是。A、全局变量的的作用域一定比局部变量的作用域范围大B、静态(static)类别变量的生存期贯穿于整个程序的运行期间C、函数的形参都属于全局变量D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值标准答案:B【4】再定义一个结构体变量时,系统分配给它的内存是A、结构体中第一个成员所需内存量B、结构体中最后一个成员所需内存量C、成员中占内存量最大者所需内存量D、各成员所需内存量的总和标准答案:D【11】若i是int 型变量,且有下面的程序片段i=0;if(i=0)print f(#)else print f(*);上面程

33、序片段的输出结果是A、#B、*C、#*D、有语法错误,无输出结果标准答案:D【9】有以下程序#include#includevoid main()char a7=a00a00;int i,j;i=sizeof(a);j=strlen(a);print f(%d%dn,i,j);程序运行后的输出结果是_。A、22B、76C、72D、62标准答案:C【15】下面属于C语言标识符的是()A、2abB、fC、?bD、_a12标准答案:D【8】有以下程序#include#includevoid main()char a7=a00a00;int i,j;i=sizeof(a);j=strlen(a);pr

34、int f(%d%dn,i,j);程序运行后的输出结果是_。A、22B、76C、72D、62标准答案:C【9】下面正确的数组定义语句是。A、int y14=1,2,3,4,5;B、float x3=1,2,3;C、long s23=1,1,2,1,2,3;D、double t3=0;标准答案:D【10】下面程序的输出结果是void prtv(int *x)print f(dn,+*x);main()int a=25;prtv(&a);A、23B、24C、25D、26标准答案:D【11】下面满足当(a=b)&(c=d)时u=w,否则x=y的if语句是A、if(ab)if(c=d)x=y;else x=y;else u=w;B、if(ab)x=y;else if(c=d)u=w;else x=y;C、if(a=b)if(c=d)x=y;else u=w;标准答案:B【14】执行下面程序片段的结果是int x=0;doprintf(“%2d”,x-);while(x);A、打印出321B、打印出23C、打印不确定结果D、陷入死循环标准答案:C【1】如果用scanf()来输入长整型数据,则正确的格式控制符是。A、xB、lxC、lDD、d标准答案:B【4】下面程序的运行结果是。main()struct cmpl

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号