C语言程序设计
期末考试试题及其答案
一、单项选择题(本大题共20题,每题2分,共40分)
1、 以下不是C语言的特点的是() A、 C语言简洁、紧凑
B、 能够编制出功能复杂的程序 C、 C语言可以直接对硬件进行操作 D、 C语言移植性好
2、 以下不正确的C语言标识符是()
A、ABC B、abc C、a_bc D ab.c 3、 一个C语言程序是由() A、
一个主程序和若干子程序组成 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、 有如下程序,输入数据:12345M678V#in cludemai n(){ int x;
float y;
sca nf(\}
A、12345 B、123 C、45 D、345
8、 若有以下定义int a,b; float x,则正确的赋值语句是 () A、 a=1,b=2 B、 b++; C、 a=b=5 D、 b=i nt(x);
9、 以下程序的执行结果是() #in clude
()
。只>后(表示回车),x的值 是()。
{
int i=10,j=10;
prin tf(\}
A 、
11,10 B 、
9,10 C 、
11,9 D 、
()
10,9
10、 巳知字母A的ASCII码是65,以下程序的执行结果是 #in cludemai n() {
char c1='A',c2='Y'; prin tf(\
A、A,Y B、65,65 C、65,90 D、65,89
11、 下列运算符中优先级最高的是 () A、 v B、十 C、% D、 !=
12、 设x、y和z是int型变量,且x = 3, y = 4, z= 5,则下面表达式中值为0 是()。 A、
' x' && ' y'
B、 x v = y C、 x || y+z&&y-z D、 !((x v y)&& !z | | 1)
13、 判断char型变量cl是否为小写字母的正确表达式为 A、 ' a' v = c1 v = f' z' B、 (c1 >= a)&&(c1 v = z)
C、 (‘a' > =c1) ( ‘z' v = c1) D、 (c1>=' a' )&&(c1 v= ' z') 14、 字符串\在内存中占据的字节个数为() A、 0 B、 1 C、
2 D、
3
()
15、 下面有关for循环的正确描述是()
A、 for循环只能用于循环次数已经确定的情况 B、 for循环是先执行循环体语句,后判定表达式 C、
在for循环中,不能用break语句跳出循环体
D、 for循环体语句中,可以包含多条语句,但要用花括号括起来 16、 下面程序的运行结果是() #in cludemai n() {int num=0; while( num v=2) {nu m++;
printf( “ %d ,num); } } A、 1
B、 1 2 C、 1 2 3 D、 1 2 3 4
17、 以下描述正确的是()
A、 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内 不能使
用复合语句。
B、 do-while循环由do开始,用while结束,在while (表达式)后面不能写 分号。 C、 在do-while循环体中,一定要有能使 while后面表达式的值变成零 (“假”)的操作。
D、 do-while循环中,根据情况可以省略 while。 18、 以下对一维整形数组a的正确说明是() A、 int a(10); B、 seanf(“%d”,&n); int a[n];
19、 以下对二维数组a的正确说明是() A、 inta[3][]; B、 float a(3,4); C、 double a[1][4]; D、 float a(3)⑷;
20、 若二维数组a有m列,则在a[j]前面的元素个数为() A、 j*m+i B、 i*m+j C、 i*m+j-1 D、 i*m+j+1
int n=10,a[n];
C、 int n; D、 int a[10];
二、 填空题(本大题共10空,每空2分,共20分) 1、 结构化设计中的三种基本结构是 ______________________ 2、 在C语言中的实型变量分为两种类型,它们是 ___________ 和 __________ 3、 当a=5,b=4,c=2时,表达式 a>b!= e的值是 ______________ 4、 下列程序运行后的输出结果是 _____________二
#in cludemai n() { int i,j;
for(i=4;i>=1;i--)
{pri ntf(\prin tf(\prin tf(\}
5、 若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的 初值是
__________________ a[2][1]得到的初值是 ___________________ &在C语言中,二维数组元素的内存中的存放顺序是 _____________________ 三、 程序分析题(本大题共2题,每题4分,共8分,描述程序功能并写出程 序执行结果)