C语言程序设计期末考试试题及其答案.doc

上传人:豆**** 文档编号:23883373 上传时间:2022-07-02 格式:DOC 页数:206 大小:312.50KB
返回 下载 相关 举报
C语言程序设计期末考试试题及其答案.doc_第1页
第1页 / 共206页
C语言程序设计期末考试试题及其答案.doc_第2页
第2页 / 共206页
点击查看更多>>
资源描述

《C语言程序设计期末考试试题及其答案.doc》由会员分享,可在线阅读,更多相关《C语言程序设计期末考试试题及其答案.doc(206页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC语言程序设计期末考试试题及其答案C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是( )A、ABC B、abc C、a_bc D、ab.c3、一个C语言程序是由( )A、

2、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型 为( )A、int B、float C、double D、不确定6、在C语言中,char型数据在内存中的存储形式是( )A、补码 B、反码 C、源码 D、ASCII码7、有如下程序,输入数据:12345M678cR后(表示回车),x的值是( )。#includemain()intx;floaty

3、;scanf(%3d%f,&x,&y);A、12345 B、123 C、45 D、3458、若有以下定义inta,b;floatx,则不正确的赋值语句是( )A、a=1,b=2 B、b+; C、a=b=5 D、b=int(x);9、以下程序的执行结果是( )#includeinti=10,j=10;printf(%d,%dn,+i,j-);A、11,10 B、9,10 C、11,9 D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#includemain()charc1=A,c2=Y;printf(%d,%dn,c1,c2);A、A,Y B、65,65 C、65,9

4、0 D、65,8911、下列运算符中优先级最高的是( )A、 B、十 C、% D、!12、设x、y和z是int型变量,且x3,y4,z5,则下面表达式中值为0是( )。A、x&y B、xy C、xy+z&y-z D、!(xy)!z1)13、判断char型变量cl是否为小写字母的正确表达式为( )A、ac1fz B、(c1a)&(c1z)C、(a=c1)(zc1) D、(c1a)&(c1z)14、字符串a在内存中占据的字节个数为( )A、0 B、1 C、2 D、315、下面有关for循环的正确描述是( )A、for循环只能用于循环次数已经确定的情况B、for循环是先执行循环体语句,后判定表达式C

5、、在for循环中,不能用break语句跳出循环体D、for循环体语句中,可以包含多条语句,但要用花括号括起来16、下面程序的运行结果是( )#includemain()intnum=0;while(numb!=c的值是_4、下列程序运行后的输出结果是_#includemain()inti,j;for(i=4;i=1;i-)printf(*);for(j=1;j=4-i;j+)printf(*);printf(n);5、若有定义:inta34=1,2,0,4,6,8,10;则初始化后,a12得到的初值是_a21得到的初值是_6、在C语言中,二维数组元素的内存中的存放顺序是_三、程序分析题(本大题

6、共2题,每题4分,共8分,描述程序功能并写出程序执行结果)1、#includemain()inta,s,n,count;a=2;s=0;n=1;count=1;while(count=7)n=n*a;s=s+n;+count;printf(“s=%d”,s); 2、#includemain()inta=33=1,3,5,7,9,11,13,15,17,sum=0,i,j;for(i=0;i3;i+)for(j=0;j3;j+)if(i=j)sum=sum+aj;printf(“sum=%dn”,sum);四、编程题(本大题共4题,每题8分,共32分)1、编写摄氏温度、华氏温度转换程序。要求:从

7、键盘输入一个摄氏温度,屏幕就显示对应的华氏温度,输出取两位小数。转换公式:F=(C+32)9/5。2、试编程判断输入的正整数是否既是5又是7的正倍数。若是,则输出yes;否则输出no。3、判断数m是否为素数(只能被1和它本身整除的整数)?4、对15个数进行排序,按从小到大的顺序输出。C语言程序设计期末考试试卷(A卷)评分标准及标准答案一、单项选择题(本大题共20题,每题2分,共40分)1、B2、D3、B4、B5、C6、D7、B8、B9、A10、D11、C12、D13、D14、C15、D16、C17、C18、D19、C20B二、填空题(本大题共10空,每空2分,共20分)1、顺序结构分支结构循环

8、结构2、单精度型(或:float型)双精度型(或;double型3、14、* *5、066、按行主顺序存放三、程序分析题(本大题共2题,每题4分,共8分)能正确表达出题目的含义、要求,即可得分,部分正确可按比例得分,否则不得分。1、功能:求S=0+2+4+8+16+32+64+128和。输出结果:s=2542、功能:出矩形阵a的主对角线上的元素之和。输出结果:27四、编程题(本大题共4题,每题8分,共32分)能正确表达出题目的含义、要求,且格式正确,即可得满分,不要求形式完全相同。部分正确可按比例得分,否则不得分。1、#includemain()floatc,f;printf(inputc:)

9、;.2分scanf(%f,&c);.2分f=(c+32.0)*9.0/5.0;.2分printf(F=%.2fn,f);.2分2、#includemain()intx;scanf(%d,&x);.2分if(x%5=0&x%7=0).2分printf(yes);.2分elseprintf(no);.2分3、#include#includemain()intm,i,k;scanf(%dn,&m);k=sqrt(m);.2分for(i=2;ik)printf(misaprimenumber!n);.2分4、#includemain()inti,j,a15,t;printf(input15number

10、s:n);for(i=0;i15;i+)scanf(%d,&a);.2分for(j=0;j15;j+).2分for(i=0;iai+1)t=ai;ai=ai+1;ai+1=t;.2分for(i=0;i15;i+)printf(%6d,a)一 选择题1以下关于运算符优先顺序的描述中正确的是( C )。 A关系运算符 算术运算符 赋值运算符 逻辑与运算符 B逻辑 运算符 关系运算符 算术运算符 赋值运算符 C赋值运算符 逻辑与运算符 关系运算符 算术运算符 D算术运算符 关系运算符 赋值运算符 逻辑与运算符2下列选项中合法的变量名是_C_ A #define B int C a594_3 D ab

11、s(x)3以下正确的描述是( A )。 A break语句的作用是结束整个循环的执行 B在C程序中,注释说明只能位于一条语句的后面C 在循环体内使用break语句或continue语句的作用相同 D 从多层循环嵌套中退出时, 只能使用goto语句4以下说法正确的是(C ) A#define 和 printf 都是 C 语句。 B#define 是C语句,而printf不是。 C若程序中要调用数学函数,必须在文件开头输入语句 #include “math.h” D #define 和 printf 都不是 C 语句。5下面的函数定义正确的是_D_A) float fun (float x ; f

12、loat y) return x*y; B) float fun (float x,y) return x*y;C) float fun (x,y) int x,y;return x*y; D) int fun (int x, int y) return x*y;6执行下面语句后的输出为( D ) int i=-1; if (i=0|b=0)&(a0|b=0&b=0)|(a0&b0)&(a+b0)&(a-b = y & cha&!y) 的值是 ( C ) A) 0 B) 语法错 C) 1 D) 假 17 下列关于单目运算符+、-的叙述中正确的是( D )A) 它们的运算对象可以是任何变量和常量

13、B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量D) 它们的运算对象可以是char型变量、int型变量和float型变量18下面的程序( B ) void main() int x=3; do printf(“%dn”,x-=2); while(!(-x); A). 输出的是1 B). 输出的是1和-2 C). 输出的是3和0 D). 是死循环19如下程序:void main( ) int a=6; printf(“%dn”,(a+=3,2*a); 执行后,输出结果是( D )A

14、) 9 B) 6 C) 2 D) 1820若有以下说明和语句,请选出哪个是对C数组元素的正确引用( D ) int c45, (*cp)5; cp=c; A). cp+1 B). *(cp+3) C). *(cp+1)+3 D). *(*cp+2)21下面程序的输出是(B ) main() int x=023;printf(%dn, -x); A). 17 B). 18 C). 23 D). 2422执行下列程序的结果是( B ) main() float x=1,y; y=+x*+x; printf(“%fn”,y); A). 9.000000 B). 6.000000 C). 1.0000

15、00 D). 程序有错误23下面程序的输出是( A) main() int a10=1,2,3,4,5,6,7,8,9,10, *p=a;printf(%dn, *(p+2) ); A). 3 B). 4 C). 1 D). 224执行下面程序中的输出语句后,a的值是(B ) main() int a; printf(%dn, (a=3*5,a*4,a+5) ); A). 65 B). 20 C). 15 D). 1025下面程序的输出是( C ) main() int a=-1, b=4, k; k=(a+=0)&(!(b-=0); printf(%d %d %d n, k, a, b );

16、 A). 0 0 3 B). 0 1 2 C). 1 0 3 D). 1 1 226设有如下的程序段: char str=Hello; char *ptr; ptr=str; 执行完上面的程序段后,*(ptr+5)的值为(B ) A). 0 B). 0 C). 不确定的值 D). 0的地址27在宏定义# define PI 3.14159中,用宏名PI代替一个( C) A).单精度数 B).双精度数 C).常量 D).字符串28若i是整型变量,pb是基本型为整型的指针变量,则正确的赋值表达式是(A ) A). pb=&i B). pb=i C). *pb=&i D). *pb=*i29 有以下

17、程序段int m=0,n=0;char c=d;scanf(%d%c%d,&m,&c,&n);printf(%d,%c,%dn,m,c,n);若从键盘上输入:6D6,则输出结果是(C )A) 0,d,6B) 6,d,6C) 6,D,6D) 6,D,030printf()函数中用到格式符%-7s ,其中数字7表示输出的字符串占用7列。如果字符串长度小于7,则输出按方式 ( A )A) 从左起输出该字串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字串,左补空格 D) 输出错误信息31以下能正确地定义整型变量a,b和c 并为其赋初值3的语句是( A ) A) int a=3,b=

18、3, c= 3; B) int a,b, c= 3; C) a= 3,b=3,c=3; D) a= b= c=3; 32 以下程序的输出结果是( D ) void main( ) int x=6,y=6,i; for(i=2;x4;y=+i) printf(%d,%d ,x-,y); A) 5,5 5,3 B) 6,6 2,3 C) 6,5 5,2 D) 6,6 5,333以下程序的输出结果是( B ) void main( ) int w=4; int fun(int k); fun(w); printf(n); fun(int k) if(k0) fun(k-1); printf(%d ,

19、k); A) 4 3 2 1 B) 0 1 2 3 4 C) 1 2 3 4 D) 4 3 2 1 034下面程序的输出是( B) main() int x=023;printf(%dn, -x); A). 17 B). 18 C). 23 D). 2435以下程序的输出结果是(C ) main() char ch34= 123,456,78,*p3; int i; for(i=0;i3;i+) pi=chi; for(i=0;i3;i+) printf(%s,pi); A). 123456780 B). 123 456 780 C). 12345678 D). 14736下面程序的输出结果为

20、( B ) char *alpha6=ABCD,EFGH,IJKL, MNOP,QRST,UVWX; char *p; void main( ) int i; p=alpha; for(i=0;i4;i+) printf(%c,(*p)i); printf(n); A). EIMC B). ABCD C). EFGH D). AEIM37根据下面的定义,能打印出字母M的语句是(D ) struct person char name9; int age; struct person class10= John,17, Paul,19,Mary,18, Adam,16 A). printf(%cn

21、,class3.name); B). printf(%cn,class3.name1);C). printf(%cn,class2.name1); D). printf(%cn,class2.name0);38 有以下程序void main( )intp7=11,13,14,15,16,17,18,i=0,k=0;while(i7&pi%2) k=k+pi; i+;printf(%dn,k);执行后输出结果是( D )A) 58B) 56C) 45D) 2439 以下程序的输出结果是( A ) void main( ) int i,x33=9,8,7,6,5,4,3,2,1,*p; p=&x1

22、1; for(i=0;i6;i+=3) printf(%d ,pi); A) 5 2 B) 5 1 C) 5 3 D) 9 740以下程序的输出结果是(A ) # include void main( ) char *a=”abcdefghi”; void fun( char *s );fun(a); puts(a);void fun(char *s ) int x,y; char c; for(x=0,y=strlen(s)-1;xy;x+,y-) c=sy;sy=sx;sx=c; A). ihgfedcba B). abcdefghiC). abcdedcba D).ihgfefghi41

23、void main( ) int i,a=5,6,9,11; for (i=0;i4;i+) if (ai%2=0) continue; printf(%d ,ai); 执行后输出结果是( C )A) 编译出错B 6C) 5 9 11D) 5 6 9 1142以下对数组的定义正确的是( D ) A) int x(10); B) int x5=0,1,2,3,4,5;C) int n=10; xn; D) int x = 0,1,2,3,4;43. 以下叙述中不正确的是( B )A)switch是多分支结构语句B) continue语句的作用是使程序的执行流程跳出包含它的所有循环C) break

24、 语句只能用在循环体内和switch语句体内D) 在循环体内使用break语句和continue语句的作用不相同44如下程序:void main( )inti=1,j=2,k=3;if(j+| k+)&i+) printf(%d,%d,%dn,i,j,k);执行后输出结果是( D )A) 1,2,3B) 2,2,4C) 2,3,4D) 2,3,345以下叙述中,不正确的是( C )A) 算法应该具有有穷性、确定性以及有效性等特点B) 算法可以用传统流程图、N-S流程图以及伪代码等形式来描述C) 基本结构只有顺序、选择、循环3种结构D) 结构化程序设计的思想是自顶向下、逐步细化、模块化设计以及结

25、构化编码46在C语言中,函数返回值的类型最终取决于( D )A) 函数定义时形参的类型 B)return语句中表达式值的类型C) 调用函数时主函数所传递的实参类型 D)函数定义时在函数首部所说明的函数类型47 以下程序的输出结果是( C ) void main() int i; for(i=a;iname49下面的程序输出是( B) int m=13; int fun2(int x,int y) int m=3; return(x*y-m); main() int a=7,b=5;printf(%dn,fun2(a,b)/m); A). 1 B). 2 C). 7 D). 1050下面的程序输

26、出是( A) main() int x=100,a=10,b=20,ok1=5,ok2=0;if(ab) if(b!=15) if(!ok1) x=1; else if(ok2) x=10;x=-1; printf(%d n, x ); A). -1 B). 0 C). 1 D). 不确定的值51若有以下定义: int a =1,2,3,4,5,6,7,8,9,10, *p=a; 则值为3的表达式是( A ) A). p+=2,*(p+) B). p+=2,*+p C). p+=3,*p+ D). p+=2, +*p52下面程序的输出是( A ) int aa33= 2,4,6 ;void m

27、ain() int i, *p=&aa00; for(i=0;i2;i+) if(i=0) aaii+1= *p+1; else +p; printf(%d, *p ); A). 23 B). 26 C). 33 D). 3653下面程序的输出是( D ) void prtv(int *x) printf(%dn, +*x ); void main() int a=25; prtv(&a); A. 23 B. 24 C. 25 D. 2654 以下程序的运行结果是( B ) void main( ) char a10=1,2,3,4,5,6,7,8,9,0; char *p; int i=8;

28、 p=a+i; printf(%sn,p-2); A) 6 B) 789 C) 6 D) 67855执行以下3条语句之后,则k的值是_C_ int x=4,y=7; x+;y+=2;k=y%x; A) 1 B) 2 C)4 D)356以下程序段 for ( k = 0, m = 4; m ; m - = 2 ) for( n = 1; n 4 ; n+) k+; 循环体语句” k +;” 执行的次数是_C_ A)16 B)12 C) 6 D) 857在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为( C )A) char=int1ong int=floatdouble B) char int 1ong int=float=doubleC) charint 1ong int=floatdouble D) char=int =1ong int=float=1) & (x =50) & (x=1) | (x=50) | (x=1) & (x= 50) & (x =1)| (x =10) & (x

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

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com