1、浙江师范大学C语言程序设计考试卷考试形式笔试(闭卷) 使用学生 全校08级理科(非行知)专业 考试时间120分钟出卷时间 2009 年5月31日【说明】考生应将全部答案都写在答题纸上,否则作无效处理。试题17为程序选择填空题,为每个空格挑选出一个正确答案写在答题纸上。试题89为程序设计题。试题1 (每小题2分,共10分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,选择一个正确答案. 【程序说明】求多项式的值,直到最后一项的绝对值小于10-4. 【运行示例】sum=0.785448 【程序】#include #includevoidmain() inti=1, flag=1; doub
2、leitem, (2) ; do item = (3) ;sum = sum+ item ; flag = (4) ; while( (5) );printf(sum = %.2f n, sum); 【供选择的答案】 (1)A.math.hB.string.hC.ctype.hD.stdlib.h (2)A.sB.sumC.sum = 0D.sum = 1 (3)A.1 / 2*i-1B.1 / (2*i-1)C.flag / (2*i-1)D.(double)flag / (2*i-1)(4)A.0 B.1 C.-1D.- flag(5)A. item = 0.0001B. fabs(ite
3、m) = 0.0001C. item 0.0001D. fabs(item) 0.0001 试题2 (每小题2分,共10分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,选择一个正确答案. 【程序说明】输入一个正整数n,然后输入n个单精度实数,用冒泡法将这些实数从低到高排序后输出。【运行示例】Enter n: 5Enter 5 floats: 75.273 89.5 67.342 -98 5.41After sorted: -98.00 5.41 67.34 75.28 89.50【程序】#include voidmain() intn, i, j;float temp, a100;
4、printf(Enter n(n0): );while(scanf(%d, &n), (6) ); /输入正整数nprintf(Enter %d floats: , n);for(i=0; in; i+) scanf(%f, (7) );for(i=0; in-1; i+)for(_(8) ; (9) ; j-)if( (10) )temp = aj-1;aj-1 =aj;aj = temp; printf( Afer sorted: );for(i=0; i 0B.n = 0D.n i B.j 0C.j n-iD.j ajB. aj-1 aj C. aj aj+1D. aj-1 aj+1 试
5、题3 (每小题2分,共8分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,选择一个正确答案. 【程序说明】输入十六进制整数形式的字符串, 调用函数htod将它转换成十进制整数,然后输出该整数.【运行示例】Enter hexadecimal string: 4fDeciamal integer is: 79【程序】#include int ctoi(char c)if (c=0 & c= A & c= a & c= z)return (12) ;else return 0;int htod( char *h)int i, d=0;for (i=0; hi!= 0; i+)d = _(13
6、) ; return d;voidmain() int dec;char hex10;printf(Enter hexadecimal string: );_(14)_;dec = htod (hex);printf(Decimal integer is: %dn, dec);【供选择的答案】 (11)A.c - AB.c +10C.c - FD.c A +10(12)A.c aB.c + 10 C.c fD.c a +10(13)A. d + ctoi( hi )B. d*16 + ctoi( hi)C. d*10 + ctoi( hi)D. d + ctoi( hi)*16(14)A.he
7、x= getchar() B.scanf (%c, hex)C.scanf(%s, hex)D.scanf(%s, &hex) 试题4(每小题2分,共8分)【程序说明】数组x7的初值为1, 2, 3, 4, 5, 6, 7,经调用函数f后,数组x的元素被循环左移3位,输出移位后数组x的各元素,屏幕上的输出结果为:4 5 6 7 1 2 3【程序】#include void f(int a,int n,int k)int i,j,t;for(i=0;ik;i+)(15);for( (16) ) aj-1 = aj; (17) ;void main()int i, x7 = 1,2,3,4,5,6
8、,7; (18) ; for(i=0; i7; i+) printf(%4d,xi);printf(n);【供选择的答案】(15) A t = ai B t = ak C t = aj D t = a0(16) A j=i; jn; j+ B j=1; jn; j+ C j=1; jk; j+ D j=i+1; jn; j+(17) A an=t B an-1=ai C an-1=t D an=ai(18) A f(x,7,3) B f(x,7,5) C f(x,3,7) D f(x,5,7)试题5(每小题2分,共8分)阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【
9、程序】#includevoid f1( int x, int y);void f2( int *x, int y );void f3( int x, int *y );void f4( int *x, int *y);void main()int a=1, b=2;f1(a, b);printf(“a=%d, b=%d n”, a,b);a = 1, b = 2;f2(&a, b);printf(“a=%d, b=%d n”, a,b);a = 1, b = 2;f3(a, &b);printf(“a=%d, b=%d n”, a,b);a = 1, b = 2;f4(&a,&b);print
10、f(“a=%d, b=%d n”, a,b);void f1(int x, int y)int t;t = x;x = y; y = t;void f2(int *x, int y)int t;t = *x; *x = y; y = t;void f3(int x, int *y) int t;t = x; x = *y; *y = t;void f4( int *x, int *y)int t;t=*x; *x=*y; *y=t;(19) 程序运行时,第一行输出 。A. a=1, b=2 B. a=2, b=1C. a=1, b=1 D. a=2, b=2(20) 程序运行时,第二行输出 。
11、A. a=1, b=2 B. a=2, b=1C. a=1, b=1 D. a=2, b=2(21) 程序运行时,第三行输出 。A. a=1, b=2 B. a=2, b=1C. a=1, b=1 D. a=2, b=2(22) 程序运行时,第四行输出 。A. a=1, b=2 B. a=2, b=1C. a=1, b=1 D. a=2, b=2试题6(每小题2分,共8分)阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【程序】#include int a= 0; void fun()int a = 1; / 第4行 printf(%d, a+);void main()int i;for(i = 1; i =
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1