武汉理工大学考试试卷(A、B 卷)
2010 ~2011学年2学期 C 语言程序设计课程 闭卷
一、单项选择题 (每题2分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将所选代码填写在下面表
格中的对应位置。错选、多选或未选均无分。
1.
以下叙述不正确的是。
在C程序中,注释说明只能位于一条语句的后面。
一个C源程序可由一个或多个函数组成。
一个C源程序必须包含一个 main函数。
C程序的基本组成单位是函数。
2.
以下选项中,是合法的C语言字符常量。
A. 〃A 〃B.'\x43 'C.'ab 'D.'\084 '
3.
以卜不是合法的 C语言赋值语句为。
A.++a;B.n=(m=(p=0));C.a=b==c;D.k=a+b=1;
4.
设在C语言中,一个int型数据在内存中占用 2个字节,则unsigned int型数据的
取值范围为。
A.0~255B.0~32767C.0~65535D.0~2147483647
5.
已知字符'b '的ASCII码为98,语句printf( 〃 %d, %c“, 'b :'b ' + 1);的输出结果为
。
A.98,bB.语句不合法C.98,99D.98, c
6.
执行语句for(i=1;i++<4;);后,变量i的值是。
A.3B.4C.5D.不定
7.
若有声明int a[3][4];,则对a数组兀素的非法引用是。
A. a[0][2*1]B. a[1][3]C. a[4-2][0]D. a[0][4]
8.
在C语言程序中,数组名做函数调用的实参时,传递给形参的是。
A ?数组第一个兀素的值B ?数组的首地址
C.数组全部元素的值D ?数组元素的个数
9.
设有数组定义:char array [ ]="China"; 则数组array 所占的存储空间为。
A. 4个字节B. 5个字节C. 6个字节D. 7个字节
10.
右有疋义int x, *p;,则以下正确的赋值表达式是。
A. p=&x;B. p=x;C.*p=&x;D.*p=*x;
二、判断题(每题1分,共10分)
请将答案填写在下面的表格中,正确填“V”,错误填“X
(
(
)1.在C语言程序中,程序的执行总是从mai n()函数开始,在 ma in ()函数中结束。
)2.利用scanf函数输入数据时,只有格式控制,没有输入项也能正确输入数据到
内存,如 scanf( " a=%d , b=%d ”);。
(
(
(
(
(
)3. break 语句只能用于 switch语句体中。
)4. do…while语句的循环体至少无条件执行一次。
)5.构成数组的各个元素可以有不冋的数据类型。
)6.可以利用变量对数组的下标进行动态定义,例如int n=10; int a[n];。
)7.函数 strlen("China\n")的值是 7。
()8.函数的定义一般由函数首部和函数体部分组成。
()9.用户自定义的函数必须有返回值。
()10.函数调用中的参数称为实际参数。
三、填空题(每空1分,共10分)
C语言程序的基本结构可以分为: 、
数组a[10]下标的范围是从到。
在C语言中,取地址运算符是 ,指针运算符是 _
已知n为三位整数,即n>=100且*=999,求n的百位数字、十位数字、 分别为、和。
三种。
个位数字的表达式
四、程序阅读题(每题5分,共15分)
1.#in elude
mai n()
{
int x;
scan f("%d", &x);
if(x>15) pri ntf("%d",x-5);
if(x>10) pri ntf("%d ",x); if(x>5) pri ntf("%d\n",x+5);
}
若程序运行时从键盘输入12后回车,则输出结果为:
2. mai n ()
{
int i , j, s=0;
for (i=1; i<=5; i++)
for( j=1; j<=i; j++)
s=s+2;
prin tf("s=%d\n",s);
}
程序运行后的输出结果为: 。
3.#in elude
mai n()
int a,b;
int *p1,*p2,*p;
scan f("%d%d", &a, &b);
p1= &a;p2=&b;
if(a
{
p=p1
}
prin tf("%dprin tf("%d
}
若程序运行时从键盘输入
p仁 p2;p2=p;
%d\n", a,b);
%d\n", *p1,*p2);
4和5后回车,则输出结果为
五、程序填空题。(每空3