1、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、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等 5 个特性,对另外 4 个特性的描述中错误的是()A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量 a 是整型
2、,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()int x;float y;scanf(%3d%f,&x,&y);A、12345 B、123 C、45 D、3458、若有以下定义 int a,b;float x,则正确的赋值语句是()A、a=1,b=2B、b+;C、a=b=5D、b=int(x);9
3、、以下程序的执行结果是()#includeint i=10,j=10;printf(%d,%dn,+i,j-);A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母 A 的 ASCII 码是 65,以下程序的执行结果是()#includemain()char c1=A,c2=Y;printf(%d,%dn,c1,c2);A、A,Y B、65,65 C、65,90 D、65,8911、下列运算符中优先级最高的是()A、B、十 C、%D、!12、设 x、y 和 z 是 int 型变量,且 x3,y4,z5,则下面表达式中值为0 是()。A、x&yB、xyC、xy+z&y-zD、
4、!(xy)!z 1)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、在 for 循环中,不能用 break 语句跳出循环体D、for 循环体语句中,可以包含多条语句,但要用花括号括起来16、下面程序的运行结果是()#includemain()int num=0;while
5、(numb!=c 的值是 _4、下列程序运行后的输出结果是 _#includemain()int i,j;for(i=4;i=1;i-)printf(*);for(j=1;j=4-i;j+)printf(*);printf(n);5、若有定义:int a34=1,2,0,4,6,8,10;则初始化后,a12得到的初值是_ a21得到的初值是 _6、在 C 语言中,二维数组元素的内存中的存放顺序是_三、程序分析题(本大题共 2 题,每题 4 分,共 8 分,描述程序功能并写出程序执行结果)1、#includemain()int a,s,n,count;a=2;s=0;n=1;count=1;wh
6、ile(count=7)n=n*a;s=s+n;+count;printf(“s=%d”,s);2、#includemain()int a=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、编写摄氏温度、华氏温度转换程序。要求:从键盘输入一个摄氏温度,屏幕就显示对应的华氏温度,输出取两位小数。转换公式:F=(C+32)9/5。2、试编程判断输入的正整数是否既是 5 又是 7 的正
7、倍数。若是,则输出yes;否则输出 no。3、判断数 m 是否为素数(只能被 1 和它本身整除的整数)?4、对 15 个数进行排序,按从小到大的顺序输出。C 语言程序设计期末考试试卷(A 卷)评分标准及标准答案一、单项选择题(本大题共 20 题,每题 2 分,共 40 分)1、B 2、D 3、B 4、B 5、C6、D 7、B 8、B 9、A 10、D11、C 12、D 13、D 14、C 15、D16、C 17、C 18、D 19、C 20、B二、填空题(本大题共 10 空,每空 2 分,共 20 分)1、顺序结构 分支结构 循环结构2、单精度型(或:float 型)双精度型(或;double
8、 型3、14、*5、0 66、按行主顺序存放三、程序分析题(本大题共 2 题,每题 4 分,共 8 分)能正确表达出题目的含义、要求,即可得分,部分正确可按比例得分,否则不得分。1、功能:求 S=0+2+4+8+16+32+64+128 和。输出结果:s=2542、功能:出矩形阵 a 的主对角线上的元素之和。输出结果:27四、编程题(本大题共 4 题,每题 8 分,共 32 分)能正确表达出题目的含义、要求,且格式正确,即可得满分,不要求形式完全相同。部分正确可按比例得分,否则不得分。1、#includemain()float c,f;printf(input c:);.2 分scanf(%f
9、,&c);.2 分f=(c+32.0)*9.0/5.0;.2 分printf(F=%.2f n,f);.2 分2、#includemain()int x;scanf(%d,&x);.2 分if(x%5=0&x%7=0).2 分printf(yes);.2 分elseprintf(no);.2 分3、#include#includemain()int m,i,k;scanf(%dn,&m);k=sqrt(m);.2 分for(i=2;ik)printf(m is a prime number!n);.2 分4、#includemain()int i,j,a15,t;printf(input 15 numbers: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)