C语言考试试题.doc
《C语言考试试题.doc》由会员分享,可在线阅读,更多相关《C语言考试试题.doc(91页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、试卷描述=C语言期末考试试卷A=0=0题目描述 考试说明: 一、本试卷由两大部分组成:选择题(70分)和编程题(30分) 二、选择题为单项选择,即只有一个选项是正确的,直接利用本软件答题。答题方法和要求是:将你认为正确的答案填入对应的答题区域内(按对应的字母键);要结束选择题的考试请按ESC键,然后在对话框中选“是”按钮 三、编程题请在结束选择题考试后作答,答题方法和要求是:按以上方法结束选择题的考试后,打开考试盘(网络盘K:)“考生文件夹”中文件名为“编程题”的文件(双击即可),然后按此文件内容提供的信息和要求答题 一、选择题(每题2分,35题,共70分)1、一个C语言程序是由( 1 ) A
2、、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成=b题目描述2、下面不属于结构化程序设计的三种基本结构的是( 2 ) A、顺序 B、跳转 C、循环 D、选择=b题目描述3、下面四个选项中,均是不合法的用户标识符的选项是 ( 3 ) 。 A、b-a B、Float C、a2 D、_123 goto P_0 int temp int char 2b double =a题目描述4、若有代数式(3ae)/bc,则不正确的C语言表达式是( 4 )。 A、a/b/c*e*3 B、3*a*e/b/c C、a*e/c/b*3 D、a*e/c/b*3=b题目描述5、表达式21/4
3、*sqrt(9.0)/4值的数据类型是( 5 )。 A、float B、int C、不确定 D、double=d题目描述6、若希望当字符变量a中为数字字符时,表达式的值为真,为 非数字字符时,表达式的值为假。则以下不能满足要求的表 达式是( 6 )。 A、a=0 & a=0 & a=48+0 & a=0 & a-0=9 =a题目描述7、以下程序的输出结果是( 7 )。 main() int a=8; printf(%dn, (a+=a-=a*a); A、0 B、-112 C、-180 D、-48=b题目描述8、一个C语言的语句至少应包一个( 8 )。 A、 B、逗号 C、分号 D、什么不要=c
4、题目描述9、程序中定义以下宏#define S(a,b) a*b 若定义 int area;且令area=S(3+4,5+1),则变量area的 值为( 9 ) 。 A、42 ? B、24 C、25 D、23=b题目描述10、在C语言中,函数的隐含存储类别是( 10 )。A、auto B、static C、extern D、无存储类别=c题目描述11、有如下程序main()int i,sum;for(i=1;i=3;sum+) sum+=i;printf(%dn,sum);i无变化该程序的执行结果是( 11 ) A、6 B、3 C、死循环 D、0=c题目描述12、为了避免嵌套的if-else语
5、句的二义性,C语言规定 else总是与( 12 )组成配对关系。 A、缩排位置相同的if B、在其之前未配对的if C、在其之前未配对的最近的if D、同一行上的if =c题目描述13、有以下程序,程序运行后的输出结果是( 13 )。 main() int a=15, b=21, m=0; switch (a%3) case 0: m+; break; case 1: m+; switch (b%2) default: m+; case 0: m+; break; printf(”%dn”,m); A、1 B、2 C、3 D、4=a题目描述14、有以下程序 main( ) int i,n=0;
6、 for(i=2;i5;i+) do if(i%3) continue; n+; while(!i); n+; printf(n=%dn,n); 程序执行后的输出结果是( 14 ) A、n=5 B、n=2 C、n=3 D、n=4 =d题目描述15、假定有以下变量定义 int k=7, x=12; 则能使值为7的表达式是( 15 )。 A、x%k B、k%x C、k/x D、3%k=b题目描述16、以下对C语言函数的有关描述中,正确的是( 16 )。 A、调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B、C函数既可以嵌套定义又可以递归调用 C、函数必须有返回值,否则不能使用函数
7、D、C程序中有调用关系的所有函数必须放在同一个源程 序文件中=a题目描述17、有如下函数调用语句 func(rec1,rec2+rec3,(rec4,rec5); 该函数调用语句中,含有的实参个数是( 17 )。记 A、4 B、3 C、5 D、有语法错=b题目描述18、合法的数组定义是 ( 18 )。 A、char a=O, K, !; B、char a3=O, K, !; C、char a4=O,K,!; D、char a3=OK!;=c题目描述19、 以下程序运行后,输出结果是( 19 )。 main() int a10, a1 =1,3,6,9,10; int a2 =2,4,7,8,1
8、5,i=0,j=0,k; for(k=0;k4;k+) if(a1ia2j) ak=a1i+; else ak=a2j+; for(k=0;k4;k+) printf(%d,ak); A、1234 B、1324 C、2413 D、4321=a描述?20、若有以下定义和语句: char *s1=12345,*s2=1234; printf(%dn,strlen(strcpy(s1,s2); 则输出结果是( 20 ) A、4 B、5 C、9 D、10=a题目描述21、若有以下数组定义,其中不正确的是( 21 ) 。 A、int a23; B、int b3=0,1,2,3; C、int c10010
9、0=0; X D、int d3=1,2,1,2,3,1,2,3,4;=d题目描述22、以下程序输出的结果是( 22 )。 main( ) char w10=ABCD,EFGH,IJKL,MNOP, k; for (k=0;k3;k+) printf(%sn,&wkk); A、ABCD B、ABCD FGH EFG KL IJ M C、EFG D、FGH JK KL O =a题目描述23、以下程序的输出结果是( 23 )。 main() int i; for (i=1;i=5;i+) if(i%2=0) printf(#); else continue; printf(*); printf($n
10、); A、*#*#*#$ B、#*#*#*$ C、*#*#$ D、#*#*$=d题目描述24、若有说明语句:int a, b, c, *d=&c;, 则能正确从键盘读入三个整数 分别赋给变量a、b、c的语句是( 24 )。 A、scanf(%d%d%d,&a,&b,&d); B、scanf(%d%d%d,&a,&b,d); C、scanf(%d%d%d,a,b,d); D、scanf(%d%d%d,a,b,*d);=b题目描述25、若定义:int a=511,*b=&a则printf(%dn,*b); 的输出结果为( 25)。 A、无确定值 B、a的地址 C、512 D、511=d题目描述26
11、、运行下面的程序,如果从键盘上输入:123456789, 输出结果是( 26 )。 A、123,456,789 B、1,456,789 C、1,23,456,789 D、1,23,456 main( ) char s100; int c, i; scanf(%c,&c); scanf(%d,&i); scanf(%s,s); printf(%c,%d,%sn,c,i,s); =d题目描述27、若有数组定义: char array =China; 则数组 还有一个”0” array所占的空间为( 27 )。 A、4个字节 B、5个字节 C、6个字节 D、7个字节=c题目描述28、若有以下的定义:
12、 int a =1,2,3,4,5,6,7,88,9,10, *p=a;p代表a的地址, 则值为3的表式是( 28 ) A) p+=2, *(p+) B) p+=2,*+p C) p+=3, *p+ D) p+=2,+*p=a题目描述29、以下程序运行后的输出结果是 ( 29 )。 func(int a) auto int b=0; auto int c=1; b+; c+; return (a+b+c); main( ) int x=2, i; for(i=0; i3; i+) printf(%dn,func(x); A、5 B、5 C、5 D、5 8 7 6 5 11 9 7 5=d题目描
13、述30、若已定义: int a=0,2,4,6,8,10,12,14,16,18,*p=a, i; (i在0至9的范围),以下对a数组元素的引用不正确 的是( 30 ) A、ap-a ? B、*(&ai) C、pi D、*(*(a+i) =d题目描述31、以下程序的输出结果是( 31 ) main() int *p; int a5=2, 6, 8, 7, 1; p=a; printf(%d %d %dn, ap-a, *p+, *+p); A、8 6 6 B、2 2 8 C、2 6 8 D、6 8 6=a题目描述32、下面程序的功能是计算正整数2345的各位数字平方和, 请选择填空。 填第一空
14、(32 ): #include main() int n, sum=0; n=2345; do sum=sum+( 32 ); n=( 33 ); while(n); printf(sum=%d,sum); A、n%10 B、(n%10)*(n%10) C、n/10 D、(n/10)*(n/10)=b题目描述33、下面程序的功能是计算正整数2345的各位数字平方和, 请选择填空。 填第二空( 33 ): #include main() int n, sum=0; n=2345; do sum=sum+( 32 ); n=( 33 ); while(n); printf(sum=%d,sum);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 考试 试题
限制150内