2021年C语言程序设计期末考试.pdf

上传人:文*** 文档编号:93802047 上传时间:2023-07-13 格式:PDF 页数:28 大小:2.49MB
返回 下载 相关 举报
2021年C语言程序设计期末考试.pdf_第1页
第1页 / 共28页
2021年C语言程序设计期末考试.pdf_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《2021年C语言程序设计期末考试.pdf》由会员分享,可在线阅读,更多相关《2021年C语言程序设计期末考试.pdf(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2021年 C 语言程序设计期末考试共 85题,全部为选择题,考试时间9()分钟,答完提交一、选择题您的姓名:填空题*L判断两个字符串是否相等,应 用()单选题*A)if(a=b)B)if(a=b)C)if!strcmp(a,b)(正确答案)D)if(strcmp(a,b)2.有以下程序(strcat()函数用来连接两个字符串),程序运行后的输出结果是(B)#include main()char a 20=nABCD0EFG0,bf =nIJKH;strcat(a,b);printf(sn”,a);单选题*A)ABCDE()FG()IJKB)ABCDIJK 答案)C)IJKD)EFGIJK3.

2、若有定义 inta 4=0,1,2,3,4,5,6,7,8,9,10,1 1);,则数组的第一维的大小为()单选题*A)3(正确答案)B)2C)4D)不确定4.阅读下述程序:()#include main()char str10,temp10;int i;gets(temp);for(i=0;i0)strcpy(temp,str);)print(%s,temp);若输入为ChinaU.S.AKorea CanadaJapano则输出是单选题*A)Canada(正确考B)JapanC)KoreaD)China5.以下语句(字符串内没有空格字符):printf(%dn,strlen(atsn012

3、l);的输出结果是()单选题1*A)12B)10C)9(正确答案)D)116.下列程序的输出结果是()#include main()char str12=s,t,r,i,n,g;prinf(%dn,strlen(str),sizeof(str);1单选题*A)12,12B)6,12(正确答案)C)7,12D)12,67.若有定义int a48;)则以下选项中对数组元素aij(0=j4,0=j8)的错误弓|用 是()单选题*A)*(&a00+8*i+j)B)*(a+i)j确答案)C)*(*(a+i)+j)D)*(ai+j)8.若定义in ta 5;,则对数组元素地址的正确引用是()单选题*A)&

4、a51B)a+2(正确答案)C)a+D)&a9.以下程序段的输出结果是()main()char a24;strcpy(a0,are);strcpy(al,you);a03=&;printf(%s n,a);单选题*A)are&youB)youC)areD)&10.以下程序段的输出结果是()main()char ch35=AAAA,BBB,CC);printf(%sn,chl);单选题*A)AAAAB)BBB(正确答案)C)CCD)BBBCC11.下列描述中不正确的是:()单选题*A)字符型数组可以存放字符串B)可以对字符型数组进行整体输入、输出C)可以对整形数组进行整体输入、输出D)不能在赋值

5、语句中通过赋值运算符“=”对字符型数组进行整体赋值。12.若要定义一个具有5 个元素的整型数组,以下语句中错误的是:()单选题*A)int a5=();B)int b=0,0,0,0,0);C)int c2+31;D)int n=5;dn;(正确答案)13.以下叙述中不正确的是()单选题*A)建立函数的目的之是为了提高程序的效率正确答案)B)建立函数的目的之一是为了提高程序的可读性C)建立函数的目的之是为了提高程序员的生产效率D)函数的递归调用不能提高程序的执行效率14以下函数的类型是()fun c(doublex)printf(%fn,X*X);单选题*A)与参数x 的类型相同B)void类

6、型C)int类型(正确答案)D)无法确定15.阅读以下程序:()f(int b,intn)int i,r;r=1for(i=0;ib)c=I;else if(a=b)c=0;else c=l;returm Cmain()int i=2,p;p=f(i,i+l);printf(n%d,p);单选题*A)-1(正确答案)B)0C)1D)221.以下程序的输出结果是()main()double f();int i,m=3;float a=().0;for(i=0;i m;i+)a+=f(i);printf(H%fnM,a);)double f(int n)int i;double s=1.0;for

7、(i=l;i=n;i+)s+=1.0/i;return S;单选题*A)5.500000(正确答案)B)3.000000C)4.()00000D)8.2522.以下程序的输出结果是()fun(int x,int y,int z)z=x*x+y*y;)main()(int a=31;fun(5,2,a);printf(n%d,a);单选题*A)0B)29C)31(正确答案)D)无定值23.以下函数的功能是()fun(char s,char t)int i=l;while(i+,si=ti&si!=0);return(si=,O,&ti=,O,);单选题*A)比较串s和t的长度B)比较串s和t的大

8、小C)比较串s和t是否相等D)将 串1赋给串s24.C语言程序中,当调用函数时,()单选题*A)实参和形参各占一个独立的存储单元B)实参和形参可以共用存储单元C)可以由用户指定是否共用存储单元D)由计算机系统自动确定是否共用存储单元25.下列程序执行后变量w中的值是()int fun 1(double a)return a*=a;int fun2(double x,double y)double a=0,b-0;A=funl(x);b-=funl(y);returm(int)(a+b);main()double w;w=fun2(l.l,2.0),.单选题*A)5B)5C)5.0(正确答案)D

9、)0.()26.执行下列程序时,给变量x输 入10,程序的输出结果是()int fun(int n)if(n=l)return 1;elsereturn(n+fun(n-l);main()int x;scanf(n%d,&x);x=fun(x);printf(%dn,x);单选题*A)5 5正确答案)B)54C)65D)4527.下列程序执行后的输出结果是()int fun(int x,int n)static int sum=O,i;for(i=O;ireturn sum;main()int a(5)=l,2,3,4,5,b4=6,7,8,9),s=0;s=fun(a,5)+fun(b,4)

10、;printf(dn”,s);单选题*A)45B)50C)60(正确答案)D)5528.以下程序运行后的输出结果是()Void fum(int p)int d-2;p=d+;pintf(d”,p)main()int a=l;fun(a);printf(%dn,a);单选题*A)3 2B)12C)21(正确答案)D)222 9.下叙述中不正确的是:()单选题*在函数中,通过return语句传回函数值在函数中,可以有多条return语句在C程序中,主函数main()后的一对园括号中也可以带有形参在C程序中,调用函数必须在一条独立的语句中完成。3().以下程序的输出结果是:()fun(int a,i

11、nt b,int c)c=a+b;)main()int c;fun(3,6,c);printf(“d”;c);单选题*A)()B)3C)9D)无定值3 1.以下叙述正确的是()o 单选题*A)在对一个C程序进行编译的过程中,可发现注释中的拼写错误B)在C程序中,m a i n函数必须位于程序的最前面C)c 语言本身没有输入输出语句D)C 程序的每行中只能写一条语句32.一 个C 程序的执行是从()。单选题*A)本程序的main函数开始,到 main函数结束 再答案)B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序文件的第一个函数开始,到本程序main函数结束D)本程序的

12、main函数开始,到本程序文件的最后一个函数结束33.以下叙述不正确的是()。单选题*A)一个C 源程序必须包含一个main函数B)一个C 源程序可由一个或多个函数组成C)C 程序的基本组成单位是函数D)在 C 程序中,注释说明只能位于一条语句的后面34.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确 的 是()0 单选题*A)C 语言程序仅可以编译执行B)C 语言程序仅可以解释执行C)C 语言程序既可以编译执行又可以解释执行D)以上说法都不对35.一个C 语言程序是由()。单选题*A)一个主程序和若干个子程序组成B)函数组成(正确答案)C)若干过程组成D)若干子程序组成

13、36.以下叙述中错误的是()。单选题*A)C 语言的可执行程序是由一系列机器指令构成的B)用 C 语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C 语言集成开发环境的机器上不能运行C 源程序生成的.exe文件确答案)37.若 x、i、j、k 都是int型变量,则计算下面表达式后,x 的值为()。x=(i=4,j=16,k=32)单选题*A)4B)16C)32(正确答案)D5238.以下叙述正确的是()。单选题*A)C 语言程序是由过程和函数组成的B)C 语言函数可以嵌套调用,例 如:fun(fun(x)C)C 语言函数不可以单独编译D)C

14、 语言中除了 main函数,其他函数不可作为单独文件形式存在39.下列四组选项中,均不是C 语言关键字的选项是()。单选题*A)de i2 tempB)getc char printfC)include case scanfD)while go pow40.下列四组选项中,均是不合法的用户标识符的选项是()。单选题*A)W P_0 doB)b-a goto intC)float la()_AD)-123 abc TEMP41.下面不正确的字符常量是()o 单选题*A)“c”(正确答案)B)C)1,D)K4 2 .下列四组选项中,均是合法转义字符的选项是()o 单选题*A)n(E确答案)B)、,

15、017C)018 f CabD)0 xir43.以下叙述不正确的是()o 单选题*A)在 C 程序中,逗号运算符的优先级最低B)在 C 程序中,MAX和 max是两个不同的变量C)若 a 和 b 类型相同,在计算了赋值表达式a=b后,b 中的值将放入a 中,而 b 中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值44.已知字母A 的 ASCII码为十进制数6 5,且 c2为字符型,则执行语句。2=2+6,-3 后,c2中 的 值 为()。单选题*A)D(正确答案)B)68C)不确定的值D)C45.以下叙述正确的是()o 单选题*A)在 C 程序中,每

16、行只能写一条语句B)若 a 是实型变量,C 程序中允许赋值a=l(),因此实型变量中允许存放整型数确答案)C)在 C 程序中,是只能用于整数运算的运算符(字符型也可以)D)在 C 程序中,无论是整数还是实数,都能被准确无误地表示46.sizeof(float)是()。单选题*A)一个双精度型表达式B)一个整型表达式C)一种函数表达式D)一个不合法的表达式47.设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为()o 单选题*A)floatB)charC)intD)double48.设 C 语言中,一个int型数据在内存中占2 个字节,则

17、unsigned int型数据的取值 范 围 为 0。单选题*A)0 255B)()-32767C)0 65535(正确答案)D)0-214748364749.设以下变量均为int类型,则值不等于7 的表达式是()。单选题*A)(x=y=6,x+y,x+l)B)(x=y=6,x+y,y+l)C)(x=6,x+l,y=6,x+y)D)(y=6,y+l,x=y,x+l)50.下列变量定义中合法的是()o 单选题1*A)short _a=015;立案,B)double b=e2.5;C)long do=()xfdaL;D)float 2_and=le-3;51.有以下程序#include main(

18、)int x=011;printf(M%dnM,+x);)程序运行后的输出结果是()o 单选题*A)12B)llC)10(正确答案)D)952.以下正确的描述是().单选题*A)continue语句的作用是结束整个循环的执行B)只能在循环体内和switch语句体内使用break语句C)在循环体内使用break语句或continue语句的作用相同D)从多层循环嵌套中退出时,只能使用goto语句53.putchar函数可以向终端输出一个()。单选题*A)整型变量表达式B)实型变量值C)字符串D)字符或字符型变量值(正确答案)54.根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为

19、()。main()char chl,ch2,ch3;输入语句printf(u%c%c9chl,ch2,ch3);输出形式:A BC输入形式:A B C 单选题*A)scanfV%c%c%c”,&ch I,&ch2,&ch3);B)scanf(c,%c,%c”,&ch 1 ,&ch2,&ch3);C)scanf(c%c%c,&chl,&ch2,&ch3);正确答案)D)scanfV%c%c”,&ch 1 ,&ch2,&ch3);55.阅读以下程序,当输入数据的形式为:25,13,10(注:表示回车),则正确的输出结果为()。main()int x,y,z;scanf(u%d%d%d,&x,&y,

20、&z);printf(x+y+z=%dn”,x+y+z);单选题*A)x+y+z=48B)x+y+z=35C)x+z=35D)不确定值56.已知ch是字符型变量,下面不正确的赋值语句是()o 单选题*A)ch=,a+b;(正确答案)B)ch=O;C)ch=7+9;D)ch=5+9;57.以下关于结构化程序设计的叙述中正确的是()o 单选题*A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto语句会很便捷。在 C 语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题58.有以下程序#include main()int al,a2;ch

21、ar cl,c2;scanfi%d%c%d%c,&a l,&c I,&a2,&c2);printffc%d,%c,%d,%c,a l,c I,a2,c2);)若想通过键盘输入,使得 a l 的值为12,a2的值为34,c l 的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b 则正确的输入格式是().(以下一代表空格,代表回车)单选题*A)12a34b(正 口B)12_a_34_bC)12,a,34,bD)12_a34_b59.逻辑运算符两侧运算对象的数据类型()o 单选题*A)只能是0 和 1B)只能是。或非()正数C)只能是整型或字符型数据D)可以是任何类型的数据60.判断

22、char型变量ch是否为大写字母的正确表达式是()。单选题*A)A=ch=tA,)&(ch=A)&(ch=Z)D)(A=ch)61.若希望当A 的值为奇数时,表达式的值为“真”,A 的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是()o 单选题*A)A%2=1B)!(A%2=0)C)!(A%2)D)A%262.设 有:int a=l,b=2,c=3,d=4,m=2,n=2;执行(m=ab)&(n=cd)后 n 的 值 为()。单选题*A)1B)2(正确答案)C)3D)463.以下程序的运行结果是()。main()int a,b,d-241;a=d/100%9;b=(-l)&(l)

23、;printffc%d,%d,a,b);单选题*A)6,1B)2,1(正确答案)C)6,0D)2,064.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是()if(xy)z=x;x=y;y=z;单选题*A)x=10,y=20,z=30B)x=20,y=30,z=30(正确答案)C)x=20,y=30,z=10D)x=20,y=30,z=2065.以下程序的运行结果是()。main()int m=5;if(m+5)printf(%dn,m);else;printf(dn”,m);单选题*A)4B)5C)6(正确答案)D)766.if语句的基本形式是:if(表达式)语句,以

24、下关于“表达式”值的叙述中正确的是()o 单选题*A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值67.若运行时给变量x 输 入 1 2,则以下程序的运行结果是()。main()int x,y;scanfT%d”,&x);y=x12?x+10:x-12;printf(dn”,y);单选题*A)4B)3C)2D)0(正确答案)68.有以下程序#include main()int c=(),k;for(k=l;k3;k+)switch(k)default:c+=k;case 2:c+;break;case 4:c+=2;break;printf(dn”,c);程序运行后的输出

25、结果是()单选题*A)3(正确答案)B)5C)7D)969.设有程序段int k=10;while(k=O)k=k-l;这下面描述中正确的是().单选题*A)while循环执行1()次B)循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次70.有以下程序#include main()int a=l,b=0;if(!a)b+;else if(a=0)if(a)b+=2;else b+=3;printf(dn”,b);程序运行后的输出结果是()。单选题*A四正确答案)B)1C)2D)371.语句while(!E);中的表达式!E 等 价 于()A)E=OB)E!=1C)E!=O(正确答

26、案)D)E=172.下面程序的运行结果是().#includemain()int num=O;while(num=2)num+;printf(%dn,num);)单选题*A)1B)1 2C)1 23 E确答案)D)1 2 3 473.有以下程序main()单选题*char b,c;int i;b=a;c=A;for(i=0;i6;i+)if(i%2)putchar(i+b);else putchar(i+c);)printf(n);)程序运行后的输出结果是().单选题*A)ABCDEFB)AbCdEfC)aBcDeFD)abcdef74.若有如下语句int x=3;doprintf(M%dnH

27、,x-=2);while(!(x);则上面程序段()单选题*A)输出的是1B)输出的是1和-2(正确答案)C)输出的是3 和 0D)是死循环75.以下程序段().x=-l;dox=x*x;while(!x);单选题*A)是死循环B)循环执行二次C)循环执行一次D)有语法错误76.下面程序的运行结果是().#includemain()int y=l();doy;while(y);printf(%dn,y);单选题*A)-lB)1C)8D)0(正确答案)77.执行语句for(i=l;i+4;);后变量i 的 值 是().单选题A)3B)4C)5(正确答案)D)不定78.若 i 为整型变量,则以下循

28、环执行次数是().for(i=2;i=0;)printf(%d,i-);单选题*A)无限次B)。次C)1次D)2次79.printf函数中用到格式符5 s,其中数字5 表示输出的字符串占用5 列。如果字符串长度大于5,则输出按方式();如果字符串长度小于5,则输出按方式(C)。*A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出(正确答案)C)右对齐输出该字符串,左补空格D)输出错误信息80.下面程序段的运行结果是(A)循环次数为().int n=0;while(n+=y)&(y=z)(正确答案)B.(x=y)AND(y=z)C.(x=y=z)D.(x=y)&(y=z)84.己知:intal();则对a 数组元素的正确引用是()。单选题*A.a101B.a3.5C.a(5)(正确答案)D.a085.有如下程序,int x=l,a=O,b=();switch(x)(case():b+;break;case l:a+;break;)printf(a=%d,b=%dn,a,b);该程序的输出结果是(”单选题*A)a=2,b=lB)a=l,b=l;C)a=l,b=0正确答案)D)a=2,b=2a=0,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁