
青海大学试卷(A 卷)
系别: 班级: 学号: 姓名:
考试课程: 程序设计基础(C) 考试日期:2009 年 12 月 17 日
注:所有答案均写在答题卡上,答在试卷上不得分,考试结束后试卷和答题卡
一并交回
一.填空题(每空 1 分,共 16 分)
1.整型静态数组没有初始化,也没有赋值,此时数组元素的值均为 。
2.数组在内存中占 的存储区,用 代表其首地址。
3. 在函数内部定义的只在本函数内有效的变量叫 ,在函数以外定义的变量叫 。
4.调用一个函数时,实参变量和形参变量之间的数据传递是 ;若用数组名作为实参,
则实际上传递给形参的是 。
5. 有这样的定义:static int a[5]={2,4,6,8,10};int *p; p=&a[0];则与 p=&a[0]等价的
语句 ,*(p+1)的值是 ,*(a+3)的值是 。
6.有说明 char s1[40],s2[20]= "you are a teacher.";如果想从键盘上把字符串"I am a
student."输入到数组 s1 中,函数调用的语句是 。 能把 s2 中的
字符串接到 s1 中的字符串后面的函数调用的语句是 。
7.C 语言中逻辑运算符 的优先级高于算术运算符。
8.在 C 语言中,声明枚举类型用关键字 开头。
9.在 C 语言中,文件的存取是以 为单位的,这种文件被称作 文件。
二.选择题(每小题 2 分,共 40 分)
1.可以在 C 语言中用做用户标识符的是( )。
A.else B.a_b1 C.for D.2cd
2.若已定义 x 和 y 为 double 类型,则表达式:x=1,y=x+3/2 的值是( )。
A.1 B.2 C.2.0 D.2.5
3.以下程序的输出结果是( )。
main( )
{ int m=10; printf("%d,%d,%d",--m,++m,++m); }
A.9,10,11 B.10,10,11 C.9,12,11
D.11,12,11
4.C 语言中,逻辑"真"等价于( )。
A.大于零的数 B.非零的数 C.小于零的数 D.非零的整数
5.C 语言程序的执行总是从( )开始。
A.编译预处理命令 B.main 函数的入口
C.源程序的第一个函数 D.源程序的第一行语句
6.在 C 语言中,字符型数据在内存中以( )形式存放。
A.ASCII 码 B.补码 C.反码 D.原码
7.a 为 5,执行下列语句后,b 不为 2 的是( )。
A.b=a/2 B.b=6-(--a) C. b=a%2
D. b=a>3?2:1
8.若有 float x;则 sizeof(x)和 sizeof(float)两种描述( )。
A.都正确 B.都不正确 C.前者正确 D.后者正确
9.若有定义 char s=‘ 92’;则该语句( )。
A.使 s 的值包含 1 个字符 B.定义不合法,s 的值不确定
C.使 s 的值包含 4 个字符 D.使 s 的值包含 3 个字符
10.以下概念正确的是( )。
A.形参是虚设的,所以它始终不占用存储单位
B.实参与它所对应的形参同名时可占用一个存储单元
C.实参与它所对应的形参占用一个存储单元
D.实参与它所对应的形参占用不同的存储单元
11.以下程序的输出结果是( )。
void increment(void)
{ static int x=0; x++;printf("%d,",x) ;}
main( )
{ increment( );
increment( );
increment( );
}
A.1,1,1, B.3,2,1, C.1,2,3, D.x 的值不确定
12.以下程序的输出结果是( )。
main( )