浙江师范大学《C语言程序设计》考试卷
考试形式 笔试(闭卷) 使用学生 全校08级理科(非行知)专业 考试时间 120 分钟 出卷时间 2009 年 5 月 31 日 【说明】
(1)考生应将全部答案都写在答题纸上,否则作无效处理。
(2) 试题1~7为程序选择填空题,为每个空格挑选出一个正确答案写在答题纸上。试题
8~9为程序设计题。
试题1 (每小题2分,共10分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,选择一个正确答案. 【程序说明】
求多项式1?1111????...的值,直到最后一项的绝对值小于10-4. 3579【运行示例】
sum = 0.785448
【程序】
#include
int i=1, flag=1;
double item, (2) ; do{
item = (3) ;
sum = sum+ item ; flag = (4) ; } while( (5) );
printf(\} 【供选择的答案】 (1) A. math.h
C. ctype.h (2) A. s
C. sum = 0
B. string.h D. stdlib.h B. sum
D. sum = 1
B. 1 / (2*i-1)
D. (double)flag / (2*i-1) B. 1 D. - flag
(3) A. 1 / 2*i-1
C. flag / (2*i-1) (4) A. 0
C. -1
(5) A. item >= 0.0001
C. item < 0.0001
B. fabs(item) >= 0.0001 D. fabs(item) < 0.0001
试题2 (每小题2分,共10分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,选择一个正确答案. 【程序说明】
输入一个正整数n,然后输入n个单精度实数,用冒泡法将这些实数从低到高排序后输出。
【运行示例】
Enter n: 5
Enter 5 floats: 75.273 89.5 67.342 -98 5.41 After sorted: -98.00 5.41 67.34 75.28 89.50 【程序】
#include
{ int n, i, j;
float temp, a[100];
printf(\
while(scanf(\输入正整数n
printf(\for(i=0; i scanf(\(7) ); for(i=0; i for(____(8) ; (9) ; j--) if( (10) ){ temp = a[j-1]; a[j-1] =a[j]; a[j] = temp; } printf(\for(i=0; i printf(\printf(\} 【供选择的答案】 (6) A. n > 0 B. n < 0 C. n >= 0 D. n <= 0 (7) A. a B. a[i] C. &a[i] (8) A. j = 0 C. j= n-1 D. &a B. j = i D. j = n-i B. j > 0 D. j < n-i-1 B. a[j-1] > a[j] D. a[j-1]> a[j+1] (9) A. j >i C. j< n-i (10)A. a[i]> a[j] C. a[j]> a[j+1] 试题3 (每小题2分,共8分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,选择一个正确答案. 【程序说明】 输入十六进制整数形式的字符串, 调用函数htod将它转换成十进制整数,然后输出该整数. 【运行示例】 Enter hexadecimal string: 4f Deciamal integer is: 79 【程序】 #include if (c>='0' && c<= '9') return c- ‘0’; else if (c>= 'A' && c<= 'Z') return ____(11) ; else if (c>= 'a' && c<= 'z') return (12) ; else return 0; } int htod( char *h) { int i, d=0; for (i=0; h[i]!= '\\0'; i++) d = ____(13) ; return d; } void main() { int dec; char hex[10]; printf(\