您好,欢迎访问三七文档
目录第一单元程序设计和C语言....................................................................................1第二单元顺序程序设计............................................................................................3第三单元分支程序设计............................................................................................7第四单元循环程序设计..........................................................................................14第五单元数组......................................................................................................23第六单元函数......................................................................................................34第七单元指针......................................................................................................42第八单元结构体和共用体......................................................................................61第九单元文件......................................................................................................78附加题..........................................................................................................................82模拟试卷一....................................................................................错误!未定义书签。模拟试卷二....................................................................................错误!未定义书签。模拟试卷三....................................................................................错误!未定义书签。1第一单元程序设计和C语言一、选择题1.C语言的基本构成单位是:A。A.函数B.函数和过程C.超文本过程D.子程序2.一个C语言程序总是从B开始执行。A.主过程B.主函数C.子程序D.主程序3.C语言的程序一行写不下时,可以C。A.用逗号换行B.用分号换行C.在任意一空格处换行D.用回车符换行4.以下叙述不正确的是:C。A.在C程序中,语句之间必须要用分号;分隔B.若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数C.在C程序中,无论是整数还是实数都能正确无误地表示D.在C程序中,%是只能用于整数运算的运算符5.以下不正确的C语言标识符是D。A.ABCB.abcC.a_bcD.ab.c6.下列字符串是标识符的是:A。A._HJB.9_studentC.longD.LINE17.以下说法中正确的是:C。A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须放在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分8.不合法的常量是:D。A.‘\2’B.C.‘3’D.‘\483’9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:A。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语言中,字符型数据在内存中以D形式存放。A.原码B.BCD码C.反码D.ASCII码211.若有定义: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.00000012.设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为:D。A.floatB.charC.intD.double13.以下BC是不正确的转义字符。A.'\\'B.'\'C.'081'D.'\0'14.若x为int型变量,则执行以下语句后,x的值为B。x=6;x+=x-=x*x;A.36B.-60C.60D.-2415.字符串\\\ABC\\\的长度是B。A.11B.7C.5D.3二、填空题1.一个函数由两部分组成,它们是函数首部和函数体。2.一个C源程序至少包含一个主函数,即main函数。3.设inta=12;则表达式a/=a+a的值是0。4.表达式x=(a=3,6*a)和表达式x=a=3,6*a分别是赋值型表达式和逗号型表达式,两个表达式执行完的结果分别是18和18,x值分别是18和3。5.在C语言中,实数有两种表示形式,即指数型和浮点型。6.在C语言中,运算符的优先级最小的是,运算符。3第二单元顺序程序设计一、选择题1.若m为float型变量,则执行以下语句后的输出为C。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型变量,则执行以下语句后的输出为A。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。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,则正确的输入是:D。A.30’b’回车B.30b回车C.30回车b回车D.30b回车5.已知有变量定义:doublex;longa;要给a和x输入数据,正确的输入语句是。若要输出a和x的值,正确的输出语句C。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;则以下的语句执行的结果是C。y=x+3/2;printf(“%f”,y);A.2.500000B.2.5C.2.000000D.27.若a为整型变量,则以下语句C。a=-2L;printf(%d\n,a);A.赋值不合法B.输出为不确定的值C.输出值为-2D.输出值为2二、读程序写结果1.main(){intx,y;scanf(%2d%*2d%1d,&x,&y);printf(%d\n,x+y);}执行时输入:1234567输出:172.main(){intx=4,y=0,z;x*=3+2;printf(%d,x);x*=y=z=4;printf(%d,x);}输出20.803.main(){floatx;inti;x=3.6;i=(int)x;printf(x=%f,i=%d,x,i);}x=3.6i=34.main(){inta=2;a%=4-1;printf(%d,,a);a+=a*=a-=a*=3;printf(%d,a);}a=2;a=05.main(){intx=02,y=3;5printf(x=%d,y=%%d,x,y);}x=2;y=%36.main(){charc1=’6’,c2=’0’;printf(%c,%c,%d,%d\n,c1,c2,c1-c2,c1+c2);}c1=6,c2=0,c1-c2=6,c1+c2=1067.main(){intx,y,z;x=y=1;z=++x-1;printf(%d,%d\n,x,z);x=1,z=1;z=z+y++;printf(%d,%d\n,y,z);y=2,z=2}三、填空题1.在C语言中,字符型数据和整型数据之间可以通用,一个字符数据既能以整数输出,也能以字符输出。2.%-ms表示如果串长小于m,则在m列范围内,字符串向左靠,右补空格。3.printf函数的“格式控制”包括两部分,它们是格式说明和普通字符。4.编写程序求矩形的面积和周长,矩形的长和宽由键盘输入,请填空。#includestdio.hvoidmain(){floatl,w;Float,area,girth;printf(“pleaseinputlengthandwidthoftherectangle\n”);scanf(“%f%f”,&l,&w);area=l*w;girth=(w+l)*2;Printf(“%d,%d”,area,girth);}5.编写程序,输入一个数字字符(‘0’~‘9’)存入变量c,把c转换成它所对应的整数存入n,如:字符‘0’所对应的整数就是0。请填空。6#include“stdio.h”voidmain(){charc;intn;printf(“pleaseinputachar:\n”);c=getchar();n=c-‘0’;printf(“%c\n,%d\n”,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.078
本文标题:C语言习题集及答案
链接地址:https://www.777doc.com/doc-4194467 .html