ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:27.20KB ,
资源ID:4483328      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4483328.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言期末考试试题及详细答案.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言期末考试试题及详细答案.docx

1、C语言期末考试试题及详细答案选择练习题1、C语言中最简单的数据类型包括(B)。A、整型,实型,逻辑型 B、整型,实型,字符型C、整型,字符型,逻辑型 D、整型,实型,逻辑型,字符型2、C语言中,运算对象必须是整型数的运算符是(A)。A、% B、/ C、%和/ D、*3、为表示关系xyz,应使用C语言表达式(A)。A、(xy)&(yz)B、(xy)AND(yz)C、(xyz)D、(xy)&(yz)4、C语言程序的基本单位是(C)。A、程序行B、语句C、函数D、字符5、C语言的程序一行写不下时,可以(D)。A、用逗号换行B、用分号换行C、用回车符换行D、在任意一空格处换行标识符由字母,数字和下划线

2、组成且第一个字符必须为字母或下划线6、下述标识符中,(C)是合法的用户标识符。A、A&BB、voidC、_studentD、ab*7、在C语言中,字符型数据在内存中以(B)形式存放。A、补码B、ASCII码C、反码D、原码8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为(B)。auto自动变量register寄存器变量extern外部变量static静态变量A、autoB、externC、staticD、Register9、以下关于switch语句和break语句的描述中,只有(B)是正确的。A、在switch语句中必须使用break语句B、在switch语句中,可以根据需要

3、使用或不使用break语句C、break语句只能用于switch语句中D、break语句是switch语句的一部分10、C语言规定:调用一个函数时,实参变量和形参变量之间的数据传递是(B)。A、地址传递B、值传递C、由实参传给形参,并由形参传回给实参D、由用户指定传递方式11、下述C语言转义符中(D)是非法的。A、bB、037C、0xfD、12、为了要计算s=10!(10的阶乘),则以下对s的定义正确的是( D)。A、intsB、unsignedsC、shortsD、longs13、判断变量ch中的字符是否为大写字母,最简单的正确表达式是(A)。A、ch=A&ch=zB、A=ch=ZC、A=c

4、h=zD、ch=A&ch=z14、在C语言中,能表示无符号长整型常数的是(D)。A、OLB、4962710UC、912374uD、2UL15、能正确表示C语言的字符常量的是(C)。A、0x41B、AC、0D、016、C语言中逻辑表达式的值为(A)。A、0或1B、非零值或零值C、true或falseD、true或false17、C语言提供的基本数据类型关键字是(C)。A、integerB、FLOATC、unsignedD、Double18、若定义语句:intb=1,2,3,4,5,*P=b;则表达式*p+的值是(A)。A、1B、2C、b0的地址D、b1的地址19、在下列选项中,不正确的表达式是(

5、C)。A、abB、c-,+b,a+=1C、a=c+bn-m=kD、p+20、若有以下定义:inta=1,2,3,4,5,6,7;charcl=b,c2=2;则数值不为2的表达式是(D)。A、a1B、d-clC、a3-c2D、c2-025、下述对C语言字符数组的描述中错误的是(C)。A、字符数组可以存放字符串B、字符数组中的字符串可以整体输入、输出C、可以在赋值语句中通过赋值运算符=对字符数组整体赋值D、不可以用关系运算符对字符组中的字符串进行比较27、以下程序的输出结果是(A)。main()inti=010,j=10,k=ox10;printf(%d,%d,%dn,i,j,k);A、8,10,

6、16B、8,10,10C、10,10,10D、10,10,1628、以下程序的输出结果是(B)。#includestdio.hmain()printf(%dn,NULL);A、不确定的值(因变量无定义)B、0C、-1D、129、以下程序的输出结果是(B)。main()charc1=6,c2=0;printf(%d,%d,%dn,c1,c2,c1-c2);A、因输出格式不合法,输出出错信息B、54,48,6C、6.0,7D、6,0,632、下述对C语言字符数组的描述中错误的是(C)。A、字符数组可以存放字符串B、字符数组中的字符串可以整体输入、输出C、可以在赋值语句中通过赋值运算符=对字符数组整

7、体赋值D、不可以用关系运算符对字符组中的字符串进行比较33、TurboC中,对于以下程序(A)。main()intx,y;y=creat(&x);printf(%dn,y);creat(inta)returna+;A、编译时会给出错信息B、顺利进行编译、连接、执行;不报任何错误C、顺利通过编译、连接、但不能执行D、顺利通过编译,但连接出错34、设有如下定义:intx=10,y=4,z;则语句:printf(%dn,z=(x%y,x/y);的输出结果是(C)。A、1B、0C、2D、335、下述程序段的输出结果是(D)。main()intx=10,y=10;printf(%d,%dn,x+,+y)

8、;A、10,10B、11,11C、11,10D、10,1136、定义如下变量和数组:intj;intx33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是(C)。for(i=0;i3;i+printf(%d,xi2-i);A、159B、147C、357D、36937、若要求在if后一对圆括号中表示a不等于0的关系,则不能正确表示这一关系的表达式为(C)。A、a0B、!aC、a=0D、a38、若m,y,z均为int型变量,则执行下面语句后m值是(A)。m=1;x=2;y=3;z=4;m=(mx)?m:x;m=(my)?m:y;m=(mz)?m:z;A、1B、2C、3D、439、若有定

9、义:inta=7;floatx=2.5,y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值是(A)。A、2.500000B、2.750000C、3.500000D、0.00000040、如下说法不正确的是(C)。A、ca+b等效于c(a+b)B、若a,b均为真,则a|b为真C、表达式c&d的值为0D、逻辑运算符!比逻辑运算符|的优先级高41、putchar()函数可以向终端输出一个(B)。A、整型变量表达式值B、字符C、字符串D、实型变量值42、表达式18/4*sqrt(4.0)/8值的数据类型为(C)。A、intB、floatC、doubleD、不确定43、若已定义a为整型变量

10、:a=-2L;printf(%dn,a);则以上语句(B)。A、赋值不合法B、输出值为-2C、输出为不确定值D、输出值为245、若int类型数据占两个字节,则以下语句的输出为(D)。intk=-1;printf(%d,%un,k,k);A、-1,-1B、-1,32767C、-1,32768D、-1,6553546、已知字母a的ASCII码十进制值为97,则执行以下语句后的输出为(C)。yhgchara=a;a-;printf(%d,%cn,a+2-0,a+3-0);A、b,cB、a运算不合法,故有语法错C、98,cD、格式描述和输出项不匹配,输出无定值47、下面语句中(B)是C语言的正确赋值语

11、句。A、a=1,b=2B、I+;C、a=b=5D、y=int(x);A中声明变量并初始化时:inta=1,b=5;但是,只赋值时是不能这样写的,应该写成a=1;b=2;C无分号,不是完整的语句,D中x没有定义,如果是intx=3;inty;y=int(x);这样是对的48、设有以下说明语句structstuinta;floatb;stutype;则下面的叙述不正确的是(C)。A、struct是结构体类型的关键字B、structstu是用户定义的结构体类型C、stutype是用户定义的结构体类型名D、a和b都是结构体成员名49、能正确表示:当x的取值范围在1,10或100,110内为真,否则为假

12、的表达式是(C)。A、(x1)&(x10)&(x100)&(x110)B、(x1)|(x10)|(x100)|(x110)C、(x1)&(x10)|(x100)&(x110)D、(x1)|(x10)&(x100)&(x110)50、设n为整型变量,则循环语句for(n=10;n0;n-)的循环次数为(A)。A、10B、9C、11D、1251、在对文件进行操作时,若要求文件的位置指针回到文件的开头,则应当调用的库函数是(D)。A、fopen()B、fseek()C、fclose()D、rewind()52、下列哪个数组定义是正确的(D)。A、inta5.5;B、INTa10;C、intan;D、

13、inta3+2;53、一个变量的指针就是(A)。A、变量的地址B、变量的值C、变量的名称D、变量的类型55、下列正确的说法是(C)。A、宏替换是在程序运行时进行的B、函数调用是在程序编译时进行的C、宏替换时,如果实参是表达式,应先求表达式的值,再替换D、函数调用时,如果实参是表达式,应先求表达式的值,再替换56、对于数学式/2a,下面正确的C语言表达式是(D)。A、sqr(x)/2aB、sqr(x)/2*aC、sqrt(x)/(2*a)D、sqrt(x)/2*a57、若int类型数据占2字节,则以下语句的输出为(D)。intk=32768;printf(%d,%un,k,k);A、-1,655

14、35B、-1,32767C、-1,-1,D、-32768,3276859、下面程序中(B)有错误。1)#includestdio.h2)main()3)4)inta3=0,0,0;5)inti;6)for(i=0;i3;i+scanf(%D,&ai);7)for(i=1;i3;i+a0=a0+ai;8)printf(%dn,a0;A、第4行B、第6行C、第7行D、第8行60、下面程序的运行结果(C)。main()unsigneda=3,b=10;5printf(%dna2|b1;A、3B、10C、13D、14%m.nd表示最大场宽m,小数位为n位,整数位则为m-n-1位,够m位右对齐。%-m.

15、nf可以控制输出左对齐61、已定义x为float型变量。x=213.82631;Printf(%-4.2fn,x);则以上程序(A)。A、输出格式描述符的域宽不够,不能输出B、输出为213.83C、输出为213.82D、输出为-213.8262、设已定义整型变量K,则下面的程序输出为(D)。k=017;s=111;printf(%d,+k);printf(%xn,s+);A、156fB、1670C、1571D、166f63、不能正确表示a*b/c*d的C语言表达式是(C)。A、a*b/c*dB、a/(c*d)*bC、a*b/c/dD、a*b/(c*d)64、下列(C)表达式不满足;当x的值为偶

16、数时值为“真”,为奇数时值为“假”。A、x%2=0B、!x%2!=0C、x/2*2-x=0D、!(x%2)65、设已定义k为int型变量,则下面while循环执行(C)次。k=10;while(k=0)k=-1;A、执行10次B、无限循环C、一次也不执行D、执行一次67、用高级语言编写的程序称之为(A)。A、源程序B、目标程序C、汇编程序D、命令程序69、有以下程序的输出结果为(B)。main()chara=0x95,b,c;b=(a&0xf)4;c=(a&0xf0)4;a=b|c;printf(%xn,a);A、24B、59C、34D、5670、下述程序段的输出结果是(A)。inta=3;b

17、=4;intc=ab3;printf(%d,c)A、3B、4C、5D、673、设int型变量在内存中占用两个字节存储单元,定义如下结构体:structstudentcharname10;charsex;intage;structintyear;intmonth;intday;birth;stul;则表达式sizeof(stul)的值是()。A、5B、8C、2D、2675、下述程序段的运行结果是(B)。#includemain()intm=7,n=4;floata=38.4,b=0.4,x;x=m/2+n*a/b+1/2;printf(%fn,x);A、22B、387.000000C、27D、2

18、676、下面程序的运行结果是(C)。main()intcl=2,c2=0;while(!c2-)printf(%d%d,cl-,c2);A、陷入死循环B、不输出任何内容C、输出2-1D、输出2077、下面程序的运行结果是(B)。intm=4,n=6;max(intx,inty)intmax;max=xy?x:y;return(max);main()intm=10;printf(%dn,max(m,n);A、4B、10C、6D、578、下面程序的运行结果是(B)。fun(intp)intk=1;statict=2;k=k+1;t=t+1;return(p*k*t);main()intx=4;fu

19、n(x);printf(%dn,fun(x);A、4B、32C、30D、1679、阅读下面的程序:main()charch;scanf(%c,&ch);if(ch=a&ch=z)ch=ch-32;printf(%c,ch);若输入字符为:e,则程序运行结果为(A)。A、EB、AC、eD、z80、下面程序的运行结果是(B)。main()staticinta33=3,2,1,(4,5,6),-2,9,1;inti,j,sum=0;for(i=0;i3;i+)for(j=0;j3;j+)if(i=j)sum=sum+aiJj;printf(sum=%d,sum);A、sum=10B、sum=9C、9

20、D、1084、下述程序的运行结果是(A)。#includevoidfun(intx)putchar(0+(x%10);fun(x/10);main()printf(n);fun(1234);A、4321B、321C、21D、186、设已定义i和k为int类型变量,则以下for循环语句(B)。for(i=0,k=-1;i+,k+)printf(*n);A、判断循环结束的条件不合法B、是无限循环C、循环一次也不执行D、循环只执行一次87、下列程序段选择项中,使i的运行结果为4的程序段是(D)。A、inti=0,j=0;B、inti=1,j=70;(i=3,(j+)+i);j=i=(i=3)*2);

21、C、inti=0,j=1;D、inti=1,j=1;(j=1)?(i=1):(i=3);i+=j+=2;89、阅读以下程序(最左边是附加的行号)。1)#include2)main()3)floats5;4)inti,k=0;5)for(i=0;i5;i+)6)scanf(%d,s+i);7)for(i=0;i5;i+)8)k=si;9)printf(n%f,(float)k);10)此段程序(A)。A、没有错误B、第4行错误C、第6行错误D、第9行错误90、下列程序中有三个是完全相同的功能,只有(B)所完成的功能与其他程序不同。A、s=0;B、s=0;i=0;i=1;while(i=100)w

22、hile(i+100)s+=i+;s+=i;C、s=0;D、s=0;i=0;i=0;while(i=100)while(+i=100)s+=+i;s+=i;92、执行下面的程序后,a的值为(D)。main()inta,b;for(a=1,b=1;a=20)break;if(b%3=1)b+3;continue;b-=5;A、7B、8C、D、1093、下面的程序中(C)有错误。1)#include2)main()3)4)floata3=0.0;5)inti;6)for(i=0;i3;i+)7)scanf(%D,&ai);8)for(i=1;i3;i+)a0=a0+ai;9)printf(%fn,

23、a0);A、第4行B、第6行C、第7行D、第8行94、以下程序的输出结果是(C)。#includemain()inti;for(i=1;i7)n-;printf(%d,n);A、1098B、987C、10987D、9876100、两次运行下面的程序,如果键盘上分别输入6和4,则输出结果是(A)。main()intx;scanf(%d,&x);int(x+5)printf(%dn,x-);A、7和5B、6和3C、7和4D、6和4101、运行下段程序的结果是(D)。#includemain()intx;for(x=1;x=100;x+)if(+x%=0)if(+x%3=0)if(+x%5=0)pr

24、intf(%d,x);A、31,61,91B、30,60,90C、不输出任何内容D、29,59,89102、运行下述程序段后,i值为4的是(B)。A、inti=1,j=0;B、inti=1,j=1;i=j=(i=3)+);i+=i+=2;C、inti=0,j=0;D、inti=0,j=1;(i=2,i+(j=2);(j=1)?i+=3:i=2;104、以下程序的输出结果是(D)。main()inta=-1,b=4,k;k=(+a,0)&!(b-=0);printf(%d,%d,%dn,k,a,b);A、1,0,4B、1,0,3C、0,0,3D、0,0,4105、以下程序的输出结果是(A)。ma

25、in()intx=3,y=0,z=0;if(x=y+z)printf(*);elseprintf(#);A、#B、*C、1D、4106、以下程序的输出结果是(A)。intm=13;intfun2(intx,inty)intm=3;return(x*y-m);main()inta=7,b=5;printf(%dn,fun2(a,b)/m);A、2B、3C、7D、5112、阅读程序:#includemain()intm,n,w;scanf(%d,%d,&m,&n);while(n)w=m%n;m=n;n=w;printf(%d,m);如果输入10,6,则输出结果是(D)。A、60B、120C、2D

26、、10113、下列程序执行后输出的结果是(A)。#includef(inta)intb=0;staticc=2;a=c+,b+;return(a+b);main()inta=2,i,k;for(i=0;i2;i+);k=f(a+);printf(%dn,k);A、3B、0C、4D、5115、下列程序的运行结果是(B)。main()staticinta34=1,2,3,4,5,6,7,8,9,10,11,12;inti,j,sum=0;for(i=0;i3;i+)for(j=0;ji)sum+=aij;printf(sum=%dn,sum);A、40B、36C、24D、30120、阅读下列程序:main()intn3,i,j,k;for(i=0;i3;i+)ni=0;k=2;for(i=0;ik;i+)for(j=0;jk;j+)nj=ni+1;for(i=0;i3;i+)printf(%d,ni);printf(n);运行该程序,其输出结果是(B)。A、23

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1