C语言期末考试试卷及答案3.pdf
C语言期末考试试卷及答案3一、单 项 选 择 题(本大题共2 0 小题,每小题1 分,共 2 0 分)1 .下列说法正确的是()A.C程序可以从任何一个函数开始执行B.m ai n函数可以被其它函数调用C.个C程序只能有一个m ai n函数D.m ai n函数中不能有形参2 .下列属于正确的标示符是()A.?a B.a=2 C.a.3 D.a_33 .下列数据中属于“字符串常量”的是A.AB C B,“AB C C.ab c D.a4 .c har 型常量在内存中存放的是()A.A S C H 代 码 B.B C D 代 码 C,内 码 D.十进制代码5 .设字符型变量a=3,b=6,计算表达式c=(a.b)2 后 c的二进制值是()A.0 0 0 1 1 1 0 0 B.0 0 0 0 0 1 1 1 C.0 0 0 0 0 0 0 1 D.0 0 0 1 0 1 0 06 .若有以下定义:c har a;i nt b;f l o at c;d o u b l e d;则表达式a*b+d-c 的值的类型为()A.f l o at B.i nt C.c har D.d o u b l e7.以下程序的输出结果是a=5,b=4,则输入数据的形式应该是()t t i nc l u d e s t d i o.hm ai n()i nt a,b;s c anf b=%d ,&a,&b);p r i nt f C,a=%d,b=%d ,a,b);A 5 4 B 5,4 C 5 b=4 D 5,b=48.C语 言 中,whi l e 和 d o,whi l e 循环的主要区别是()A.whi l e 的循环控制条件比d o,whi l e 的循环控制条件严格B.d o whi l e 的循环体至少无条件执行一次C.d o whi l e 允许从外部转到循环体内D.d o,whi l e 的循环体不能是复合语句9.循环语句 f o r(x=0,y=0;(y!=1 2 3)|(x 4);x+);的循环执行()A.无 限 次 B.不确定次数C.4次 D.3次1 0 .在 C语言中,设有数组定义c har ab ay I J C hi na;则 ar r ay 所占的空间为()A.4个字节B.5 个字节C.6个字节D.7 个字节1 1.若变量已正确说明为i nt 类型,要通过语句s c anf (%d%d%d”,&a,&b,&c);给a,b,c 分别赋值3,5,8,不正确的输入形式是()A.3 B.3,5,85 8C.3 D.3 5 5 8 81 2.c har *p=hap p y ne w y e ar”;c har *q=p;i nt k;f o r(k=l;k d at a.a D.p.d at a,a1 7.有如下程序(提示:注意宏替换的规则)#def i n e N 2Sdef i n e M N+lSdef i n e NUM 2*M+1#m a i n()i n t i;f o r(i=l;i b)m a x=a;el s e m a x=b8.设有定义如下:#def i n e F(N)2*N,则表达式F(2+3)的值是9.在 C语言中,指针运算符为,取地址运算符O1 0 .在 C语言中,参数传递的两种形式是 和三、程序分析题(本大题共5 小题,每小题5 分,共 25分)1.若运行时输入:2 回车),则以下程序的运行结果是#i n cl u de m a i n()(ch a r cl a s s;p r i n t f(uEn t er 1 f o r 1 s t cl a s s p o s t o r 2 f o r 2n d p o s t:);s ca n f(c”,&cl a s s);i f (cl a s s 二二 1 )p r i n t f (“1 s t cl a s s p o s t a g e i s 1 9p);el s ep r i n t f(“2n d cl a s s p o s t a g e i s 1 4p);2.以下程序的执行结果是#i n cl u dev o i d m a i n O(i n t n u m=0;w h i l e(n u m =2)n u m+;p r i n t f (刎 ,n u m);3.以下程序的输出结果是#i n cl u de m a i n()i n t k=4,m=l,p;p=f u n c(k,m);p r i n t f(%d,p);f u n c(i n t a,i n t b)(i n t m=0,i=2;i =i+m+1;m=i+a+b;r et u r n m;4.以下程序的执行结果是()。#i n cl u de m a i n()(i n t a =5,6,7,8,i;f u n c(a);f o r (i=0;i 4;i+)printfai);f u n c(i n t *b)(i n t j;f o r (j=0;j 4;j+)b j =2*j;)5.设有程序m y a p p.c,代码如下:t t i n cl u de m a i n (i n t a r g c,ch a r *a r g v 3)(w h i l e(-a r g c 0)p r i n t f(,a r g v a r g c);p r i n t f(t );编译后形成m y a p p.ex e,如果输入如下的命令:m y a p p a a a 333 bbb 444则输出结果是:_ _ _ _ _ _ _ _四、程序填充题(本大题共5 小题,每小题4 分。共 20 分)1、根据以下嵌套i f 语句所给条件,填 写 s w i t ch 语句,使它完成相同的功能。(假设m a r k 的取值在1 T 0 0 之 间)i f 语句如下:i f (m a r k 60)k=l;el s e i f (m a r k 70)k=2;el s e i f (m a r k 80)k=3;el s e i f (m a r k 90)k=4;el s e i f (m a r k 1 0 0)k=5;请填写下面经转换后的s w i t ch 语句中的括号中的内容。s w i t ch ():k=l;br ea k;ca s e 6:k=2;br ea k;ca s e 7:k=3;br ea k;ca s e 8:k=4;br ea k;:k=5;br ea k;2.将八个数输入到数组中,找出其中最大数和最小数并输出。m a i n()(i n t I,m a x,m i n,a ;f o r(I=0;I 8;I+)s ca n f(“d”;m a x=a 0 ;m i n=a 0 ;f o r(I=l;I m a x)m a x=_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _i f (a I m i n)p r i n t f(m a x=%d,m i n 二%d n,);)3.下列程序的功能是输入三角形的三条边a,b,c。求三角形的面积,请填空:#i n cl u de m a i n ()(f l o a t a,b,c,s,a r ea;s ca n f (,&a,&b,&c);/*填空*/s=l.0/2*(a+b+c);a r ea=(s*(s-a)*(s-b)*(s-c);/*填空*/p r i n t f (a=%7.2f,b=%7.2f c或7.2f,s=7.2f n,a,b,c,s);p r i n t f (ua r ea=%7.2f n”,a r ea);)4.以下程序的功能是求n的近似值,请填空:(提示:f t i n cl u de m a i n Oi n t s;_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _;/*填空*/t=l;p i=O;n=l.0;s=1;w h i l e(f a bs(t)l e-6)1 1 1 1 )4357;/*填空*/n=n+2;s=-s;t=s/n;)p i=p i*4;p r i n t f(p i=%1 0.6f n,p i);5.下列程序的功能是从一个文件中读出三个结构体保存在一结构体数组中,请填空:#i n cl u de s t r u ct Tes t ch a r a 20 ;;m a i n ()_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _;/*填空*/s t r u ct Tes t x 3;i n t i;f p =f o p en (d:cw z a bc.ba t ,“r b);f o r (i=0;i 3;i+)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _;/*填空*/f cl o s e(f p);五、程序设计题(本大题共2小题,第一题7分,第二题8分,共15分)1.编写程序,输入华氏温度(F),按下列公式计算并输出对应的摄氏温度(C).0 5(F-3 2)/92.编写程序用结构体存放下表中的数据,然后计算并输出每人的姓名和实发工资,实发工资二基结构体定义如下:stru ct w o rke r(ch ar n am e 10;f l o at j bg z;f l o at f dg z;f l o at z h i ch u ;参考答案:一、单项选择题1.C 2.D 3.B 4.A 5.D6.D 7.D 8.B 9.A 10.C11.B 12.C 13.C 14.A 15.A16.B 17.B 18.C 19.B 20.D二、填空题1.变量初始化2.20 243.a=04.p=a;或 p=&a0;5.比较两个字符串的大小6.x=(-b+sqrt(b*b-4*a*c)/(2*a)7.m ax3 1(a b)?a:b 或 m ax=a b?a:b8.79.*&10.按值传递按地址传递三、程序分析题1.2n d cl ass po stag e i s 14 p2.1 2 33.84.024 65.4 4 4 bbb 3 3 3 aaa四、程序填充题1.de f au l tcase 92.8aI m i n=aI m ax,m i n3.Sqrt4.f l o at t,pi,npi=pi+t5.F I L E *f pf re ad(&x i,si z e o f(stru ct Te st),1 f p)五、程序设计题1.#i n cl u de m ai n ()f l o at C,F;pri n tf (ai n pu t F:);scan f(f”,&F);C=5*(F-3 2)/9;pri n tf (4 C=%.2fw,C);2.#i n cl u de stru ct w o rke r(ch ar n am e 10;f l o at j bg z;f l o at f dg z;f l o at z h i ch u;;m ai n O stru ct w o rke rw 3 =Zh ao ,24 0,4 00,7 5,Qi an ,3 6 0,120,5 0,Su n;5 6 0,0,8 0;i n t i;pri n tf (z,n am e sf g z n);f o r(i=0;i 3;i+)pri n tf(%4 s%12.2f n,w i.n am e,w i.j bg z+w i.f dg z-w i.z h i ch u);