资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
计算机C语言笔试题目及答案 想考计算机C语言笔试的同学要注意了,接下来是为大家精心搜集的计算机C语言笔试题目及答案,供大家参考借鉴。 一、填空题(本大题共25小题,每小题2分,共50分) 1.以下C语言提供的合法的数据类型说明关键字为d。 A.FloatB.SignedC.intergerD.char 2.C语言中的标识符只能由字母、数字、下画线组成,且第一个字符c。 A必须为字母B必须为下画线C必须为字母或下画线D可以是字母、数字或下画线中任何一种。 3.设有以下语句: chara=3,b=6,c; c=abx)?w:x; m=(m m=(m 则程序运行后,m的值是d。 A4B3C1D2 5.若执行以下程序时从键盘上输入9,则输出结果是b。 main() intn; scanf(“%d”,&n); if(n+10) printf(“%d”n,n-) A11B10C9D8 6.以下程序段的输出结果是d。 intx=3; do printf(“%d”,x=2); while(!(-x); A1B30C1-2D死循环 7.C语言规定,简单变量做实参时,它和对应的形参之间的数据传递方式是b。 A.地址传递B.值传递C.由实参传递给形参,再由形参传递给实参D.由用户指定传递方式 8.已知一个函数的定义如下:d。 doublefun(intx,doubley) 则该函数正确的函数原型声明为: A.doublefun(intx,double)B.fun(intx,inty)C.doublefun(int,double);D.fun(x,y); 9.已知整型变量K的值为5,下面程序段执行的结果是c。 switch(k) case1:putchar(A); case2:putchar(B); case3:putchar(C); case4:putchar(D); default:putchar(E); ACDEBCCEDABCD 10.以下程序的执行次数是c。 main() inti,j; for(i=0,j=1;i=j+1;i+=2,j-) printf(“%dn”,i); A3B2C1D0 11.下列叙述中错误的是b。 A主函数中定义的变量在整个程序中都是有效的 B复合语句中定义的变量只在该复合语句中有效 C其他函数中定义的变量在主函数中不能使用 D形参是局部变量 12.若运行时输入100,写出以下程序的运行结果。 main() inta; scanf(%d,&a); printf(%s,(a%2!=0?No:Yes); _ Yes运行结果:ANoBYesCsDNo:Yes 运行结果:b 13.下面正确的二维数组定义是b。 Ainta2=1,2,2,4;Binta2=1,2,3,4,;Cinta22=1,2,3; Dinta2=1,2,3,4; 14.若有 chara=”china”; 则d不可输出该字符串。 Aputs(a);Bprintf(“%s”,a) Cinti;for(i=0;ib,则strcmp(a,b)为非负数 C可用strcpy函数进行字符串的复制完成字符数组的赋值 D字符串“aaaa”在内存中占用4个字节长度 16.已有定义intk=2;int*ptrl1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是b。 A.k=*ptrl+*ptr2Bptr2=kC.ptl1=ptr2Dk=*ptr1*(*ptr2) 17.若定义: inta9,*p=a; 并在以后的语句中未改变p的值,不能表示a1地址的表达式是b。 A.p+1Ba+1C+pDa+ 18.若有以下定义和语句: #include main(0 char*s1=”12345”,*s2=”1234”; printf(“%dn”,strlen(strcpy(s1,s2); 则输出的结果是c。 A.9B5C4D10 19.以下定义和语句: inta32=1,2,3,4,5,6,*p3; p0=a1; 则*(p0+1)所代表的数组元素是c。 A.a01Ba10Ca11Da12 20.以下程序的输出结果是b。 main() charstr10=“China”,“BEijing”,*p=str; printf(“%sn”,p+10); A.ChinaBBeijingCngDing 21.回答本题的运行结果为a。 已知intx=3,y,*p,*q; inta=1,2,3,4,5; p=&x;y=*p,q=a+2; printf(“%d%d%d%d”,x,y,*p,*q); A.3333B1234 C.1223D2222 22.在switch()语句中case后面可以是c。 A.关系表达式B逻辑表达式C常量表达式D算术表达式 23.表达式53&2|84-!1值是a。 A.1B2C3D0 24.下列运算符中,优先顺序的级别最低的是d。 A.!B&C+D| 25.已有定义intk=2;int*ptrl,*ptr2;且ptr1和prt2均已指向变量k,下面有能正确执行的赋值语句是b。 A.k=*ptr1+*ptr2B.ptr2=kC.ptr1=ptr2D.k=*ptrl*(*ptr2) 二、填空题:(本大题共5小题,每小题2分,共10分) 1.C语言中,唯一的三目运算符是表达式1?表达式2:表达式3,而&是双目运算符。 2.函数的递归可分直接递归和间接递归,它由递推和回归两部分组成。 3.假设所有变量均为整型,则表达式(a=2,b=5,a+,b+,a+b)的值为367。 4.C语言提供了两个与地址相关的运算符分别是&。 5.C语言数组的下标总是从0开始,不可以为负数;构成数组各元素具有相同的变量。 三、程序分析题(本大题共4小题,前三小题每题4分,最后一小题8分,共20分) 1.以下程序的输出结果为a。 main() charc=z; printf(“%c”,c-25); 2.分析下列程序的运行结果 main() intk=4,m=1,p;/*静态变量应用*/ p=fl1(k,m); printf(%-10d,p); p=fl1(k,m); printf(%-10d,p); fl1(a,b) inta,b; staticintm,i=2; i*=m+2; m=i+a+b; return(m); _ 运行结果为:949(9空格)。 3.通过指针变量给所指向的变量赋值。请将编号空白处补充完整。 voidmain() intint*p1,*p2,a,b; p1=&a; p2=&b; scanf(“%d%d”,p1,p2); printf(“%d%d”,a,b); 4.下列程序的作用是将一个数组中的数据逆序输出,请将编号空白处补充完整。 #include main() intn10; inti,j,tmp; printf(“please10numbers:n”) for(i=0;i=0;i-); printf(“%d”,ni); i=0;j=9; while; tmp=ni; ni=nj; nj=tmp; ; ; printf(“Reversingbumbers:n”); i=0; while(i10) printf(“%d”,ni); i+; 四、按要求编写程序(本大题共2小题,每小10题分,共20分) 1.利用冒泡法对60个学生的成绩进行排序。 2.编和求,公式如下: ,其中arctan(x)用如
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号