《2007级C语言程序设计试卷_A(20086)》由会员分享,可在线阅读,更多相关《2007级C语言程序设计试卷_A(20086)(13页珍藏版)》请在人人文库网上搜索。
1、天津工业大学200 7 200 8 学年第 2 学期试卷(A)学院 班级 学号 姓名 注意事项:1、本试卷共 13 页,满分为 100 分,考试时间为 110 分钟。2、标准答题卡使用2B铅笔涂写;文字题答题时请使用蓝、黑钢笔或圆珠笔,不得使用红颜色墨水笔。题 目一二三四总 分分数核对得 分阅卷人二、阅读程序题答题处: (每空3分,共30分)1题【41】2题【42】3题【43】4题【44】5题【45】6题【46】7题【47】8题【48】9题【49】10题【50】三、程序改错题答题处:(每空2分,共12分)1题【51】【52】【53】2题【54】【55】【56】四、完善程序填空题答题处:(每空2。
2、分,共18分)1题【57】【58】【59】2题【60】【61】【62】3题【63】【64】【65】一、单项单选题:(每题 1 分,共 40 分)(说明:请将正确答案按照题干上【】内的序号涂写“标准答题卡”)1以下4组标识符中,能作为变量名使用的是 【1】 。A) age, struct, s1 B) 2A, b_3, main C) ELSE, a2, m123 D) _abc, INT, abcd2已知小写字母a的ASCII码值是97,大写字母A的ASCII码值是65,下列语句中不能输出大写字母B的是 【2】 。A) putchar(A+1); B) putchar(b-32); C) pu。
3、tchar(98-32); D) putchar(B);3能正确表示的C语言表达式是 【3】 。A) (-b+sqrt(b*b-4*a*c)/(2*a)B) -b+sqrt(b*b-4*a*c)/(2*a)C) (-b+sqrt(b*b-4*a*c)/2*a D) -b+sqrt(b*b-4*a*c)/2*a4下列程序段的输出结果是 【4】 。float x;x=1+1%3*5/2;printf(%f,x);A) 3. B) 3 C) 3. D) 85下列程序段的输出结果是 【5】 。int m=027;printf(%dn,m-);A) 27 B) 26 C) 23 D) 226已知变量a=。
4、4,b=5,c=6,则表达式 c & a | b的值是 【6】 。A) 7 B) 1 C) 0 D) 67设 int x=10; x+=x%= (-6)+4; 则x= 【7】 。A) 0 B) 16 C) 18 D) 108设int a=1,b=2,c=3,d=4,z;则表达式 (ab)? (z=c) : (z=d) 的值是 【8】 。A) 3 B) 0 C) 4 D) 19下列程序段的输出结果是 【9】 。int a=5;if( a+ 5 ) printf(%dn, a );else printf(%dn, a- );A) 7 B) 6C) 5 D) 410运行下列程序段,输入AaBbDd并。
5、以回车键结束输入,则输出结果是 【10】 。char ch; int s=0;while(ch=getchar()!=n)switch(ch) case A: s+;case B: s+; break;case D: s+;default: s+;printf(%dn,s);A) 6 B) 8C) 10 D) 1211下列程序段的输出结果是 【11】 。int i,s=0;for(i=1;i=0;i-=2)s=s*10+ai;printf(%dn,s);A) 4321 B) 42C) 1234 D) 1318设有如下数组定义:char str6;则下列程序段中,不能正确的为str数组赋值的是 。
6、【18】 。A) strcpy(str,ABCD) B) gets(str);C) for(i=0;imain() int c=5;printf(%dn,(c+=c+,c+8,+c);5下列程序的运行结果是_ 【45】 。main() char a36=Sun,Earth,Moon;int i,j,n3;for(i=0;imain() int a34=1,2,3,4,5,6,7,8,9,10,11,12;int *p=a0;printf(%d,%dn, *(p+4), *a1);7下列程序的运行结果是 【47】 。void f(int *a, int b) *a=*a+10;b=b+100;m。
7、ain() int x=5, y=8;f(&x, y);printf(main:x=%d y=%dn, x, y);8下列程序的运行结果是 【48】 。int fun(int n) if (n=0)return 0;elsereturn n+fun(n-1);main() printf(%dn, fun(5) );9下列程序的运行结果是 【49】 。#define MAX 3int aMAX;void fun1() int k,t=0;for (k=0; kstruct sample int a,b;char ch5;void f1(struct sample *);main() struct。
8、 sample arg;arg.a=1000; arg.b=100; strcpy(arg.ch , abcd);f1(&arg); printf(main: %d %sn, arg.a, arg.ch);void f1(struct sample *parm) parm-a = parm-a + parm-b;parm-ch2 = x; 三、程序改错题:(每题 6 分,共 12 分)(说明:请将”found error”行的错误更正, 并将正确答案按照题号填写在“程序改错题答题处”,不可增加语句)1下面程序的功能是:利用公式 ,从键盘输入x,求ex的近似值 ,直到最后一项的绝对值小于10-6。
9、为止。请填空完善程序#include main() float t, x, e;int i;scanf(%f,&x);t=1, i=1, e = x ; /* found error 【51】 */do t= x*x / i ; /* found error 【52】 */e += t;i+;while(abs(t) amid ) /* found error 【55】 */high= mid -1;elselow= mid +1;mid=(low+high)/2 ; if ( low high ) /* found error 【56】 */printf(%dn, mid);elseprin。
10、tf(%dn, -1);四、完善程序填空题:(每空2分,共18分)(说明:请将正确答案按照题号填写在“程序改错题答题处”)1下面程序的功能是:求给定四个字符串中最大的一个,并输出。请填空完善程序。#include #include main() char *s=East, West, South, North ;char *max;int i;【57】 ;for(i=1; imain() 【63】 *fp ;char ch;fp=fopen( E:t1.txt, 【64】 );while( (ch=getchar() != n ) if ( ch = a & ch = z )ch -= 32 ;【65】 ;fclose(fp。