.
试 题 四
参考答案与评分标准
一、判断对错(6分,每题1分,对:√,错:×) 1.在C语言中,可以用typedef定义一种新的类型。( ) 2.C语言中基本数据类型包括整型、实型、字符型。( ) 3.不同的函数中可以使用相同的变量名。() 4.形式参数是局部变量。( )
5.若有定义int *p[4];则标识符p是一个指向有四个整型元素的一维数组的指针变量。( )
6. 共用体所占的内存空间大小取决于占空间最多的那个成员变量。( ) 二、单项选择题:(10分,每题2分)
1.判断字符串s1与字符串s2相等,应当使用: 。
A) if (s1 = s2) B) if (strcmp(s1, s2))
√C) if (!strcmp(s1, s2)) D) if (strcmp(s1, s2) = 0)
2.二维数组a有m行n列,则在a[i][j]之前的元素个数为( )。
A. j*n+i √B. i*n+j C. i*n+j-1 D. i*n+j+1 3.
#include
#include
printf(\}
则程序运行后的输出结果是 。
√A) 10 B) 11 C) 16 D) 12 4.有如下程序片段:
int i = 0; while(i++ <= 2); printf(\
则正确的执行结果是:
A) 2 B) 3 √C) 4 D) 程序陷入死循环 5. 下面哪个定义是合法的 。
A) char a[8] = \B) int a[5] = {0,1,2,3,4,5};
.
班级: 学号: 姓名: √C) char *a = \
D) int a[2][] = {0,1,2,3,4,5,6}; 三、
1.
#include
则程序运行结果是: a=6, x=10 b=3, y=6
2.
#include
x=20; }
void fun2(int b[4]) {
int j;
for(j=0; j<4; j++) {
b[j]=j; } }
main() {
int x = 10;
int a[4] = {1,2,3,4}, k;
fun1(x);
printf(\ fun2(a);
for(k=0; k<4; k++) {
printf(\ } }
运行结果是:
2 班级: 学号: 姓名: x = 10 0 1 2 3
3.
#include
程序运行时输入:123456789↙ 则程序运行结果是:66
4.
#include
int year; int month; int day; };
void func(struct date p) {
p.year = 2000; p.month = 5; p.day = 22; }
main() {
struct date d; d.year = 1999; d.month = 4; d.day = 23;
printf(\ func(d);
printf(\}
程序运行结果为: 1999,4,23 1999,4,23
5.
#include
3