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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、C语言期末考试试题及详细答案 选择练习题 1、C语言中最简单的数据类型包括( B )。 A、整型,实型,逻辑型 B、整型,实型,字符型 D、整型,实型,逻辑型,字符型 C、整型,字符型,逻辑型 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、

2、用回车符换行 D、在任意一空格处换行 )是合法的用户标识符。C 6、下述标识符中,( 标识符由字母,数字和下划线组成且第一个字符必须为字母或下划线 ab* 、 D_studentB、void C、 、 AA&B 7、在C语言中,字符型数据在内存中以( B )形式存放。 A、补码 B、ASCII码 C、反码 D、原码 8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为( B )。 A、auto B、extern C、static D、Register auto自动变量 9、以下关于switch语句和break语句的描述中,只有(B )是正确的。 register寄存器变量 ext

3、ern 外部变量 A、在switch语句中必须使用break语句 static静态变量 B、在switch语句中,可以根据需要使用或不使用break语句 C、break语句只能用于switch语句中 D、break语句是switch语句的一部分 10、C语言规定:调用一个函数时,实参变量和形参变量之间的数据传递是(B )。 A、地址传递 B、值传递 C、由实参传给形参,并由形参传回给实参 D、由用户指定传递方式 11、下述C语言转义符中( D )是非法的。 A、b B、037 C、0xf D、 1 12、为了要计算s=10!(10的阶乘),则以下对s的定义正确的是( D )。 A、int s

4、B、unsigned s C、short s D、long s 13、判断变量ch中的字符是否为大写字母,最简单的正确表达式是( A )。 A、ch=A&ch=z B、A=ch=Z C、A=ch=z D、ch=A&ch=z 14、在C语言中,能表示无符号长整型常数的是(D )。 A、OL B、4962710U C、912374u D、2UL 15、能正确表示C语言的字符常量的是( C )。 A、0x41 B、A C、0 D、0 16、C语言中逻辑表达式的值为( A )。 A、0或1 B、非零值或零值 C、true或false D、true或false 17、C语言提供的基本数据类型关键字是(

5、C )。 A、integer B、FLOAT C、unsigned D、Double 18、若定义语句:int b =1,2,3,4,5,*P=b;则表达式*p+的值是( A )。 A、1 B、2 C、b0的地址 D、b1的地址 19、在下列选项中,不正确的表达式是( C )。 A、ab B、c-, +b, a+=1 C、a=c+bn-m=k D、p+ 20、若有以下定义: int a =1,2,3,4,5,6,7; char cl=b,c2=2; 则数值不为2的表达式是( D )。 A、a1 B、d-cl C、a3-c2 D、c2-0 25、下述对C语言字符数组的描述中错误的是( C )。

6、A、字符数组可以存放字符串 B、字符数组中的字符串可以整体输入、输出 C、可以在赋值语句中通过赋值运算符=对字符数组整体赋值 D、不可以用关系运算符对字符组中的字符串进行比较 27、以下程序的输出结果是( A )。 main( ) int i=010, j=10, k=ox10; printf(%d,%d,%dn,i,j,k); 2 A、8,10,16 B、8,10,10 C、10,10,10 D、10,10,16 28、以下程序的输出结果是( B )。 #includestdio.h main( ) printf(%dn,NULL); A、不确定的值(因变量无定义) B、0 C、-1 D、1

7、 。29、以下程序的输出结果是( B ) ) main( ; char c1=6,c2=0 ,c2,c1-c2); printf(%d,%d,%dn,c1 6,48, B、54 A、因输出格式不合法,输出出错信息6 ,0 D、6 , C、6.07 )。32、下述对C语言字符数组的描述中错误的是( C A、字符数组可以存放字符串 、字符数组中的字符串可以整体输入、输出 B 对字符数组整体赋值 C、可以在赋值语句中通过赋值运算符= D、不可以用关系运算符对字符组中的字符串进行比较 )。A 33 、Turbo C中,对于以下程序( )( main int x,y; y=creat(&x); prin

8、tf(%d n, y); creat(int a) return a+; A、编译时会给出错信息 B、顺利进行编译、连接、执行;不报任何错误 C 、顺利通过编译、连接、但不能执行 D、顺利通过编译,但连接出错 34 、设有如下定义:3 int x=10, y=4,z; 则语句: printf(%dn, z=(x%y, x/y); 的输出结果是( C )。 A、1 B、0 C、2 D、3 35、下述程序段的输出结果是( D )。 main( ) int x=10, y=10; printf(%d, %dn, x+, +y); A、10,10 B、11,11 C、11,10 D、10,11 36、

9、定义如下变量和数组: int j; int x33=1,2,3,4,5,6,7,8,9; 则下面语句的输出结果是( C )。 for(i=0;i3;i+ printf(%d, xi2-i); A、159 B、147 C、357 D、369 37、若要求在if后一对圆括号中表示a不等于0的关系,则不能正确表示这一关系的表达式为( C )。 A、a0 B、!a C、a=0 D、a 38、若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、1 B、2 C、3 D、4 39、若有

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

11、loat C、double D、不确定 43、若已定义a为整型变量: a=-2L; printf(%dn,a); 则以上语句( B )。 A、赋值不合法 B、输出值为-2 C、输出为不确定值 D、输出值为2 45、若int类型数据占两个字节,则以下语句的输出为( D )。 int k= -1; printf(%d,%un,k,k); A、-1,-1 B、-1,32767 C、-1,32768 D、-1,65535 46、已知字母a的ASCII码十进制值为97,则执行以下语句后的输出为( C )。yhg char a=a; a-; printf(%d,%cn,a+2-0,a+3-0); A、b,

12、c B、a运算不合法,故有语法错 C、98,c D、格式描述和输出项不匹配,输出无定值 47、下面语句中( B )是C语言的正确赋值语句。 A、a=1,b=2 B、I+; C、a=b=5 D、y=int(x); 48、设有以下说明语句 A中声明变量并初始化时:int a=1,b=5;但是,只赋值时是不能这样写的,应该写成a=1;b=2;Cstu struct 无分号,不是完整的语句,D中x没有定义,int a; 这样是对的int x=3;int y; y=int(x); 如果是float b; stutype; 5 。C )则下面的叙述不正确的是( 是用户定义的结构体类型、struct stu

13、 B A、struct是结构体类型的关键字 都是结构体成员名和b D、a C、stutype是用户定义的结构体类型名 内为真,否则为假的表达式是110100,、能正确表示:当x的取值范围在1,10或 49 。 )( C )110)&(xx10)&(x100、 A(x1)&( )110)|(x10)|(x100 B、(x1)|(x 110)&(x10)|(x100) C、(x1)&(x 110)&(x)&(x100) D、(x1)|(x10 )。A n为整型变量,则循环语句for(n=10;n0;n-)的循环次数为( 50、设12 D、 、11 B、9 C A、10 、在对文件进行操作时,若要求

14、文件的位置指针回到文件的开头,则应当调用的库 51 。D )函数是( rewind() D、 C、fclose() A、fopen() B、fseek() 。 )D 52、下列哪个数组定义是正确的( int a3+2;D、 C 、int an; A、int a5.5; B、INT a10; 。 )、一个变量的指针就是( A 53 D、变量的类型 C、变量的名称 A、变量的地址 B、变量的值 )。 55、下列正确的说法是(C A、宏替换是在程序运行时进行的 、函数调用是在程序编译时进行的B 、宏替换时,如果实参是表达式,应先求表达式的值,再替换 C 、函数调用时,如果实参是表达式,应先求表达式的

15、值,再替换 D x/2a,下面正确的C语言表达式是( D ) 56。、对于数学式 A、sqr(x)/2a B、sqr(x)/2*a C、sqrt(x)/(2*a) D、sqrt(x)/2*a 57、若int类型数据占2字节,则以下语句的输出为( D )。 int k=32768; printf(%d,%un,k,k); A、-1,65535 B、-1,32767 C、-1,-1, D、-32768,32768 59、下面程序中( B )有错误。 1)#includestdio.h 6 2)main ( ) 3) 4)int a3=0,0,0; 5)int i; 6)for(i=0;i3;i+s

16、canf(%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( ) unsigned a=3,b=10;5 printf(%dna2|b1; A、3 B、10 C、13 D、14 61、已定义x为float型变量。 x=213.82631; %m.nd表示最大场宽m,小数位为n位,整数位则为m-n-1Printf(%-4.2fn,x); 可以控制输出左对齐%-m.nf位右对齐。m位,够 。 )则以上程序( A 213.83 B、输出为 A、输出格式描

17、述符的域宽不够,不能输出 -213.82 、输出为 D C、输出为213.82 62、设已定义整型变量K,则下面的程序输出为( D )。 s=111; k=017; ;%d,+k) printf( );s+ printf(%xn, 16 6fD71 B 、16 70 C、15 、 6f A 、15 。 63、不能正确表示a*b/c*d的C语言表达式是(C )a*b/(c*d) D、 C、a*b/c/d A、a*b/c*d B、a/(c*d)*b 的值为偶数时值为“真”C )表达式不满足;当x,为奇数时值为“假”。64 、下列( !(x%2) D、 x/2*2-x= =0C 、 、 x%2= =

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

19、=4; int c=ab3; printf(%d,c) A、3 B、4 C、5 D、6 73、设int型变量在内存中占用两个字节存储单元,定义如下结构体: struct student char name10; char sex; int age; struct int year; int month; int day; birth; stul; 则表达式sizeof(stul)的值是( )。 8 A、5 B、8 C、2 D、26 75、下述程序段的运行结果是( B )。 #include main( ) int m=7,n=4; float a=38.4,b=0.4,x; x=m/2+n*a

20、/b+1/2; printf(%fn,x); A、22 B、387.000000 C、27 26、D )。 76、下面程序的运行结果是( C main( ) int cl=2,c2=0; while(!c2- -) printf(%d%d,cl- -,c2); B、不输出任何内容 A、陷入死循环 20 D、输出 C、输出2 -1 。B ) 77、下面程序的运行结果是( int m=4,n=6; max(int x,int y) int max; max=xy?x:y; return(max); main( ) int m=10; printf(%dn,max(m,n); 5 、 D 、 、 、

21、 A4 B10 C6 78 、下面程序的运行结果是() B 。9 fun(int p) int k=1; static t=2; k=k+1; t=t+1; return(p*k*t); main( ) int x=4; fun(x); printf(%dn,fun(x); A、4 B、32 C、30 D、16 79、阅读下面的程序: main( ) char ch; scanf(%c,&ch); if(ch=a& ch=z) ch=ch-32; printf(%c,ch); 若输入字符为:e,则程序运行结果为( A )。 A、E B、A C、e D、z 80、下面程序的运行结果是( B )。

22、 main( ) static int a33=3,2,1,(4,5,6),-2,9,1; int i,j,sum=0; for(i=0;i3;i+) for(j=0;j3;j+) if(i= =j) sum=sum+aiJj; 10 printf(sum=%d,sum); A、sum=10 B、sum=9 C、9 D、10 84、下述程序的运行结果是( A )。 #include void fun(int x) putchar(0+(x% 10); fun(x/10); main( ) printf(n); fun(1234); A、4321 B、321 C、21 D、1 86、设已定义i和

23、k为int类型变量,则以下for循环语句( B )。 for(i=0,k=-1;i+,k+) printf(* * * *n); A、判断循环结束的条件不合法 B、是无限循环 C、循环一次也不执行 D、循环只执行一次 87、下列程序段选择项中,使i的运行结果为4的程序段是( D )。 A、int i=0,j=0; B、int i=1,j=70; (i=3,(j+)+i); j=i=(i=3) *2); C、int i=0,j=1; D、int i=1,j=1; (j= =1)?(i=1):(i=3); i+=j+=2; 89、阅读以下程序(最左边是附加的行号)。 1)#include 2)ma

24、in( ) 3) float s5; 11 4) int i,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) while(i+100) s+=i+; s+=i; C、s=0; D、s=0; i=0; i=0; w

25、hile(i=100) while(+i=100) s+=+i; s+=i; 92、执行下面的程序后,a的值为( D )。 main( ) int a,b; for(a=1,b=1;a=20)break; if(b%3= =1) b+3; continue; b-=5; A、7 B、8 C、 D、10 93、下面的程序中( C )有错误。 12 1)#include 2)main( ) 3) 4) float a3=0.0; 5) int i; 6) for(i=0;i3;i+) 7) scanf(%D,&ai); 8) for(i=1;i3;i+)a0=a0+ai; 9) printf(%fn,a0); A、第4行 B、第6行 C、第7行 D、第8行 )。 94、以下程序的输出结果是( C #include main( ) int i; for(i=1;i7) n-; printf(%d,n); A、1098 B、987 C、10987 D、9876 100、两次运行下面的程序,如果键盘上分别输入6和4,则输出结果是( A

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

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