研2003c
中国地质大学研究生院研究生课程考试命题纸
课程名称: C语言程序设计 开课学期: 2003下学期
任课教师: 何兴恒 朱莉 顾保磊 所在院系: 计算机系
注:①考试时间为120分钟,必须在30分钟后方可交卷。
②答案写在答题纸上,答题完毕后,将答题纸交卷,试卷可自行带走。
③请在答题纸上写清楚班号、、
一、单项选择题 (每题3分,共30分)
1.假定 int a=2, b=5, 表达式: a+’1’+(float)(b/a) 的值是 (1) 。C)
A) 5.0 B) 5.5 C) 53.0 D) 53.5
2.假定 int a=2, b=3, c=0, 表达式: (a+1==b>c)+(a&&!c)+b/a*2.0 的值是 (2) . B)
A) 2.0 B) 3.0 C) 4.0 D) 5.0
3. 设char a[]=”xy\n0\1238\\0”;则数组a的长度是 (3) 。D)
A)13 B)7 C)8 D)9
4. 在以下表达式中,与 a!=0 || b==0不等价的是 (4) 。B)
A)a || !b B)!(a==0 || b!=0)
C)!(!a && b) D)!(a*b) && a
5.表达三个非零变量a、b、c0的正确表达式是 (5) 。 C)
A) a+b+c= =0 B) !(a+b+c) || (a*b*c)
C) !(a*b*c)&&(a+b+c) D) !(a+b+c)&&(a*b*c)
6.以下各循环语句中,不是无限循环的是 (6) 。A)
A) for ( i=5; i --<5; ) i=4; B) for( i=0; i>=0<10 ; i++ );
C) for ( i=1,j=10; i-j; i++,j--) ; D) for ( i=1; i=10; i++) s+=i;
7.在以下各循环语句中,不能正确计算自然数1-100中所有数之和的是 (7) 。A)
for(s=0, i=0; ; ) { s+=++i; if (i>100) break; }
B) for(s=100, n=100; --n; ) s+=n;
C) for(s=0,i=1, j=100; i<=j; i++, j-- ) s+=i+j;
D) for(s=0, i=1; ; ) { s+=i++; if (i>100) break; }
8.以下程序中有一个语法错误,这个错误的类型是 (8) 。D)
#define n 2
main()
{ int a[n]={2,3},b=3;
if ( a[0]+a[1]>b )
{ int b=1,x;
x=a[0]+a[1] -b;
printf("\n x= %d",x);
} else x=0; printf("\n x= %d",x);
}
A) 数组说明错 B) if结构错 C) 变量重定义 D) 使用了未定义的变量 9.假定有如下求最大值和最小值的程序:
main()
{ int i,a, max=-32768, min=32767;
for ( i=0; i<10; i++)
{ scanf (“%d”, &a );
if (a < min ) min=a;
else if ( a > max ) max=a;
}
printf (“\n max,min= %d,%d”, max, min);
}
则以下各结论中正确的是 (9) 。B)
程序完全正确 B) 当输入递增数据时结果不正确
C) 当输入递减数据时结果不正确 D) 输入任何数据结果都不正确
10.假定要使以下程序的输出结果第一行都是1,第二行都是2,第三行
都是3,则正确的数据输入格式是 (10) 。A)
main()
{ int i,j,a[3][3];
for ( j=0; j<3; j++)
for( i=0; i<3;