还剩15页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
2022年温州大学公共课《C语言》科目期末试卷A有答案
一、填空题
1、请读程序段unsigneda=16;printf%d%d%d\na2a=a2a;以上程序段的输出结果是o
2、在C语言源程序中,一个变量代表【】
3、在C语言中,输入操作是由库函数完成的,输出操作是由库函数完成的
4、若a是int型变量,则执行表达式a=25/3%3后a的值为
5、若a是int型变量,则表达式a=4*5a*2a+6的值为
6、下面程序段的运行结果是oChara□=”123456789”,*p;inti=O;p=a;while*p{ifi%2==0*p=*;p++;i++;putsa;
7、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只请填空forx=0;x=30;x++printfEnteravalueofswitch:11;scant”%cTflag;printfEnteravaluefornewstate:11;scanf%d,state;ifflag==lstate=;printfNowvalueofstateis:%d\nstate;return0;
30、下面程序的功能是用辗转相除法求两个正整数的最大公约数请填空#includestdio.hintmain{intrmn;scanf”%d%cTmn;ifmn{};r=m%n;whiler{m=n;n=r;r=;}printf%d\n“,n;return0;
31、以下程序的运行结果是o#includestdio.hintmaxintxinty;intmain{inta=lb=2c;c=maxab;printfmaxis%d\nHc;return0;}intmaxintxinty{intz;z=xyx:y;returnz;
32、下面程序中的数组a包括10个整型元素,从a中第二个元素起,分别将后项减前项之差存入数组b并按每行3个元素的形式输出数组b请填空#includestdio.hintmain{inta
[10]b
[10]i;fori=0;;i++scant吸、
8.a[i];fori=l;;i++fori=l;i10;i++{printf“%3d”,b[i];ifprintf“\n”;}return0;}
33、下面程序的运行结果是#includestdio.hintfuncharts{char*p=s;while*pp++;returnp-s;intmain{char*a=H123456789H;inti;i=funa+2;printf%cTi;return0;、编程题
34、编写程序实现功能对于给定的一个百分制成绩,改用相应的五级分成绩表示设90分以上为A80〜89分为B70〜79分为C60〜69分为D60分以下为E(要求用switch语句实现)
35、已有变量定义语句doublea=
5.0p;intn=5;和函数调用语句p=mypowan;用以求a的n次方请编写doublemypowdoublexinty函数doublemypowdoublexjnty参考答案
一、填空题
1、
14162、内存中的一个存储单元
3、
[1]scant
[2]printf
4、
25、
266、*2*4*6*8*
7、2*x+4*y==
908、structST
9、
[1]scanf%d%f%f%c%c〃,a.b
8.cl
8.c2;
[2]3口
6.5口
12.6aA<回车〉注答案中的口代表空格10^aabcd
二、选择题
11、B
12、B
13、C
14、D
16、B
17、C
18、A
19、C
20、C
21、A
22、B
23、D
24、B
25、B
三、读程序填空
26、a=+00325Dnnx=+
3.14159e+00(注答案中的口代表空格)27c:dec=120oct=170hex=78ASCII=x
28、
[1]1
[2]2
[3]229!state
30、
[1]r=mm=nn=r
[2]m%n
31、maxis
232、
[1]i10
[2]i10
[3]i%3==
033、7I、编程题
34、#includestdio.hintmain{intscoretemplog;chargrade;log=l;whilelog{printfenterscore:;scant”%d”
8.score;ifscore100|lscore0printfn\nerrortryagain!\nH;elselog=0;ifscore==100temp=9;elsetemp=score-score%10/10;switchtemp{case0case1case2case3case4case5grade=E;break;case6grade=D;break;case7grade=C;break;case8grade=B;break;case9grade=A;printfHscore=%dgrade=%c\nnscoregrade;return0;
35、doublemypowdoublexinty{inti;doublep;p=
1.0;fori=l;i=y;++ip=p*x;returnp;{y=30—x;ifprintf”%d%d\nHxy;
8、设有如下结构体说明structST{inta;floatb;structST*c;doublex
[3];}stl;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型
9、已有定义inta;floatbx;charclc2;为使a=
3、b=
6.5x=
12.6cl=a\c2=A正确的scanf函数调用语句是数据输入的形式应为O
10、下面程序段的运行结果是Ointi=5;charc
[6]=nabcdn;do{c[i]=c[i-l];}while—i0;putsc;
二、选择题
11、设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是oA.n=n*100+
0.5/
100.0B.m=n*100+
0.5n=m/
100.0C.n=n*100+
0.5/
100.0D.n=n/100+
0.5*
100.
012、以下表达式值为3的是A.16-13%10B.2+3/2C.14/3-2D.2+6/12-
913、有定义语句intab;若要通过语句scanf%d%daB.;使变量a得到数值6变量b得到数值5下面输入形式中错误的是注□代表空格A.65c回车〉B.6口口5〈回车〉C.65〈回车〉D.6〈回车〉5〈回车〉
14、有输入语句scanfHa=%db=%dc=%dHbC;为使变量a的值为1b的值为3c的值为2;从键盘输入数据的正确形式应当是注口表示空格A.132c回车〉B.132〈回车2刀=1口13=3口:=2<回车>D.a=lb=3c=2〈回车〉
15、有两个字符数组a、b则以下正确的输人格式是A.getsaB.;B.scanf1%s%saB.;Cscanf%s%sa/b;Dgetsnagetsbn;
16、一个C语言程序由oA.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成
17、下面的程序段ox=3;do{尸if!y{printfx;continue;}printf;}whilel=x=2;A.将输出##B.将输出并##*C.是死循环D.含有不合法的控制表达式
18、若用数组名作为函数调用的实参,则传递给形参的是A.数组的首地址B.数组第一个元素的值C.数组中全部元素的值D.数组元素的个数
19、下面程序段的运行结果是char*s=abcden;s+=2;printf%cTs;A.cdeB.字符cC.字符c的地址D.无确定的输出结果
20、若有说明char*language[]={FORTRANH11BASICHnPASCALJAVAC;则表达式*language[l]*language⑶比较的是A.字符F和字符PB.字符串BASIC和字符串JAVAC.字符B和字符JD.字符串FORTRAN和字符串PASCAL
21、以下程序的运行结果是#includestdio.hintfintxinty{returny-x*x;}intmain{inta=3b=4c=5d;d=ffaC.,faB.+fcB.;printfKdrTD.;return0;A.-48B.58C.-58D.
4722、下面程序的运行结果是#includestdio.hintmain{charstr[]=nSSSWLIAnc;intk;fork=2;c=str[k]!=\o;k++{switchC.{caseT++k;break;caseL1continue;default:putcharC.;continue;putchar*;return0;A.SSW*BSW*C.SW*A
23、当运行以下程序时,从键盘输入:ab<回车>C<回车>def<回车则下面程序的运行结果是#include<stdio.h>#defineN6intmain{charc[N];inti=0;for;i<N;c[i]=getcharfori=0;i<N;i++putcharc[i];return0;A.abcdefB.aC.bbce
24、当a=Lb=
3、c=
5、d=4时,执行以下程序段后x的值是()ifaB.ifcD.x=l;elseifaC.ifbD.x=2;elsex=3;elsex=6;elsex=7;A.1B.2C3D.
625、下面程序的功能是计算正整数2345的各位数字的平方和,请选择填空#includestdio.hintmain{intn=2345sum=O;do{sum=sum+
[1];n=n/10;}whilen;printfnsum=%dnsum;return0;A.n%10B.n%10*n%10C.n/10
三、读程序填空
26、以下程序的输出结果是o#includestdio.hintmain{inta=325;doublex=
3.1415926;printfna=%+06dx=%+e\nax;return0;
27、以下程序的输出结果为o#includestdio.hintmain{charc=x;printfc:dec=%doct=%ohex=%xASCII=%c\n11cccc;return0;
28、将以下含有switch语句的程序段改写成对应的含有非嵌套if语句的程序段请填空含有switch语句的程序段Intxym;y=intx/10;switchy{caselO m=5;break;case9m=4;break;case8m=3;break;case7m=2;break;case6;m=l;break;default:m=O;}含有非嵌套if语句的程序段intxm;ifm=5;ifx100x=90m=4;ifx90x=80m=3;ifx80x=70m=2;ifx70x=60m=l;if;
29、以下程序可用来实现电路学中状态图的功能若开关为开用1表示的状态则应该将现有的状态取非0-
1、1-0;若开关为关的状态,则现有的状态保持不变状态值由用户输入请填空#includestdio.hintmain{intflagstate;。