您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > C语言习题全集+答案
目录第一单元程序设计和C语言....................................................................................1第二单元顺序程序设计............................................................................................3第三单元分支程序设计............................................................................................7第四单元循环程序设计..........................................................................................14第五单元数组......................................................................................................23第六单元函数......................................................................................................34第七单元指针......................................................................................................42第八单元结构体和共用体......................................................................................61第九单元文件......................................................................................................78附加题..........................................................................................................................82模拟试卷一................................................................................................................102模拟试卷二................................................................................................................108模拟试卷三................................................................................................................1141第一单元程序设计和C语言一、选择题1.C语言的基本构成单位是:。A.函数B.函数和过程C.超文本过程D.子程序2.一个C语言程序总是从开始执行。A.主过程B.主函数C.子程序D.主程序3.C语言的程序一行写不下时,可以。A.用逗号换行B.用分号换行C.在任意一空格处换行D.用回车符换行4.以下叙述不正确的是:。A.在C程序中,语句之间必须要用分号;分隔B.若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数C.在C程序中,无论是整数还是实数都能正确无误地表示D.在C程序中,%是只能用于整数运算的运算符5.以下不正确的C语言标识符是。A.ABCB.abcC.a_bcD.ab.c6.下列字符串是标识符的是:。A._HJB.9_studentC.longD.LINE17.以下说法中正确的是:。A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须放在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分8.不合法的常量是:。A.‘\2’B.C.‘3’D.‘\483’9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:。intk,a,b;unsignedlongw=5;doublex=1.422;A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a=+(b=4)*(a=3)10.在C语言中,字符型数据在内存中以形式存放。A.原码B.BCD码C.反码D.ASCII码211.若有定义:inta=7;floatx=2.5;y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是:。A.2.500000B.2.750000C.3.500000D.0.00000012.设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为:。A.floatB.charC.intD.double13.以下是不正确的转义字符。A.'\\'B.'\'C.'081'D.'\0'14.若x为int型变量,则执行以下语句后,x的值为。x=6;x+=x-=x*x;A.36B.-60C.60D.-2415.字符串\\\ABC\\\的长度是。A.11B.7C.5D.3二、填空题1.一个函数由两部分组成,它们是和。2.一个C源程序至少包含一个,即。3.设inta=12;则表达式a/=a+a的值是。4.表达式x=(a=3,6*a)和表达式x=a=3,6*a分别是表达式和表达式,两个表达式执行完的结果分别是和,x值分别是和。5.在C语言中,实数有两种表示形式,即和。6.在C语言中,运算符的优先级最小的是运算符。3第二单元顺序程序设计一、选择题1.若m为float型变量,则执行以下语句后的输出为。m=1234.123;printf(%-8.3f\n,m);printf(%10.3f\n,m);A.1234.123B.1234.123C.1234.123D.-1234.1231234.1231234.1231234.123001234.1232.若x,y,z均为int型变量,则执行以下语句后的输出为。x=(y=(z=10)+5)-5;printf(x=%d,y=%d,z=%d\n,x,y,z);y=(z=x=0,x+10);printf(x=%d,y=%d,z=%d\n,x,y,z);A.X=10,Y=15,Z=10B.X=10,Y=10,Z=10X=0,Y=10,Z=0X=0,Y=10,Z=10C.X=10,Y=15,Z=10D.X=10,Y=10,Z=10X=10,Y=10,Z=0X=0,Y=10,Z=03.若x是int型变量,y是float型变量,所用的scanf调用语句格式为:scanf(x=%d,y=%f,&x,&y);则为了将数据10和66.6分别赋给x和y,正确的输入应是:。A.x=10,y=66.6回车B.1066.6回车C.10回车66.6回车D.x=10回车y=66.6回车4.已知有变量定义:inta;charc;用scanf(“%d%c”,&a,&c);语句给a和c输入数据,使30存入a,字符‘b’存入c,则正确的输入是:。A.30’b’回车B.30b回车C.30回车b回车D.30b回车5.已知有变量定义:doublex;longa;要给a和x输入数据,正确的输入语句是。若要输出a和x的值,正确的输出语句。A.scanf(“%d%f”,&a,&x);B.scanf(“%ld%f”,&a,&x);printf(“%d,%f”,a,x);printf(“%ld,%f”,a,x);C.scanf(“%ld%lf”,&a,&x);D.scanf(“%ld%lf”,&a,&x);printf(“%ld,%lf”,a,x);printf(“%ld,%f”,a,x);46.若有定义doublex=1,y;则以下的语句执行的结果是。y=x+3/2;printf(“%f”,y);A.2.500000B.2.5C.2.000000D.27.若a为整型变量,则以下语句。a=-2L;printf(%d\n,a);A.赋值不合法B.输出为不确定的值C.输出值为-2D.输出值为2二、读程序写结果1.main(){intx,y;scanf(%2d%*2d%ld,&x,&y);printf(%d\n,x+y);}执行时输入:12345672.main(){intx=4,y=0,z;x*=3+2;printf(%d,x);x*=y=z=4;printf(%d,x);}3.main(){floatx;inti;x=3.6;i=(int)x;printf(x=%f,i=%d,x,i);}4.main(){inta=2;a%=4-1;printf(%d,,a);a+=a*=a-=a*=3;printf(%d,a);}5.main(){intx=02,y=3;5printf(x=%d,y=%%d,x,y);}6.main(){charc1=’6’,c2=’0’;printf(%c,%c,%d,%d\n,c1,c2,c1-c2,c1+c2);}7.main(){intx,y,z;x=y=1;z=++x-1;printf(%d,%d\n,x,z);z+=y++;printf(%d,%d\n,y,z);}三、填空题1.在C语言中,字符型数据和整型数据之间可以通用,一个字符数据既能以输出,也能以输出。2.%-ms表示如果串长小于m,则在m列范围内,字符串向靠,补空格。3.printf函数的“格式控制”包括两部分,它们是和。4.编写程序求矩形的面积和周长,矩形的长和宽由键盘输入,请填空。#includestdio.hvoidmain(){floatl,w;printf(“pleaseinputlengthandwidthoftherectangle\n”);scanf(“%f%f”,&l,&w);area=;girth=;}5.编写程序,输入一个数字字符(‘0’~‘9’)存入变量c,把c转换成它所对应的整数存入n,如:字符‘0’所对应的整数就是0。请填空。voidmain()6{charc;;printf(“pleaseinputachar:\n”);c=;n=;printf(,c,n);}四、编程1.将华氏温度转换为摄氏温度和绝对温度的公式分别为:c=59(f-32)(摄氏温度)k=273.16+c(绝对温度)请编程序:当给出f时,求其相应摄氏温度和绝对温度。测试数据:①f=34②f=1002.写一个程序把极坐标(r,θ)(θ之单位为度)转换为直角坐标(X,Y)。转换公式是:x=r.cosθy=r.sinθ测试数据:①r=10θ=45°②r=20θ=90°3.写一个程序,按如下格式输出数据。namenumbermathenglishcomputerzhanghua990180.5087.080lina990270.0080.090wanggang990387.0076.0784.输入3个双精度实数,分别求出它们的和、平均值、平方和以及平方和的开方,并输出所求出各个值。5.输入一个3位整数,求出该数每个位上的数字之和。如123,每个位上的数字和就是1+2+3=6。7第三单元分支程序设计一、选择题1.若x=0,y=3,z=3,以下表达式值为0的是A.!xB.xy?1:0C.x%2&&y==zD.y=x||z/32.以下运算符中优先级最低的运算
本文标题:C语言习题全集+答案
链接地址:https://www.777doc.com/doc-4194460 .html