c语言在线编译答案,C语言习题+答案.doc

253b171540df25e1b84436cbe50dfc72.gifC语言习题+答案.doc

C语言章节复习题目录C语言章节复习题1第一章 C语言概述2第三章 数据类型、运算符和表达式2第四章 顺序结构程序设计4第五章 选择结构程序设计9第六章 循环结构程序设计16 44 / 44第一章 C语言概述一、选择题1、一个C程序的执行是从(A)。A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序main函数结束2、 在 C 语言中,每个语句必须以(D)结束。 A.回车符B.冒号C.逗号D.分号 3、C 语言规定在一个源程序中,main函数的位置(C)。A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D.必须在最后4、一个C 语言程序是由(B)。A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成5、下列说法中错误的是D。 A.主函数可以分为两个部分主函数说明部分和主函数体 B.主函数可以调用任何非主函数的其他函数 C.任何非主函数可以调用其他任何非主函数 D.程序可以从任何非主函数开始执行6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将B。 A.生成可执行目标文件B.生成目标文件 C.输出运行结果D.自动保存源文件 二、填空题1、C 语言只有32个关键字和9种控制语句。2、每个源程序有且只有一个main函数,系统总是从该函数开始执行C语言程序。 3、C 语言程序的注释可以出现在程序中的任何地方,它总是以*符号作为开始标记,以*符号作为结束标记。4、C 语言中,输入操作是由库函数scanf完成的,输出操作是由库函数printf完成的。5、系统默认的C 语言源程序文件的扩展名是.c,经过编译后生成的目标文件的扩展名是.obj,经过连接后生成的可执行文件的扩展名是. 。6、C 语言的标识符只能由字母、数字和下划线 三种字符组成。第三章 数据类型、运算符和表达式 一、选择题1、以下选项中,不正确的 C 语言浮点型常量是(C)。 A. 160.B. 0.12C. 2e4.2 D.0.02、以下选项中,(D)是不正确的 C 语言字符型常量。 A. aB. x41 C. 101 D. a3、 在 C 语言中,字符型数据在计算机内存中,以字符的(C)形式存储。 A.原码 B.反码C. ASCII 码D. BCD码4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是(C)。x(i4,j16,k32) A. 4 B. 16C.32D.525、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为B。 A.算术运算、赋值运算、关系运算B.算术运算、关系运算、赋值运算 C.关系运算、赋值运算、算术运算D.关系运算、算术运算、赋值运算 6、表达式xab 等效于D。 A. xabB. xybC. xabD. xab 7、设整型变量 m,n,a,b,c,d 均为1,执行 mabncd后, m,n 的值是(B)。 A. 0,0B. 0,1C. 1,0D. 1,1 8、 设有语句 int a3;,则执行了语句 aa-a*a;后,变量 a 的值是B。 A. 3B. 0C. 9D. -12 9、在以下一组运算符中,优先级最低的运算符是D。 A. *B. C. D. 10、设整型变量 i 值为2,表达式iii的结果是B。 A. 6B. 12C. 15D.表达式出错 11、若已定义 x 和 y为double 类型,则表达式 x1,yx3/2 的值是C。 A. 1B. 2C. 2.0D. 2.5 12、设a1,b2,c3,d4,则表达式ab a cd a d的结果为D。 A. 4B. 3C. 2D. 1 13、设a 为整型变量,不能正确表达数学关系10a15的 C 语言表达式是A。 A. 10a15 B. a 11 a 12 a 13 a 14 C. a10 a15D. a10 a15 14、设 f是实型变量,下列表达式中不是逗号表达式的是D。 A. f 3.2, 1.0B. f0, f10C. f2.0, f0D. f3.2, 1.0 15、 表达式18/4*sqrt4.0/8值的数据类型是(C)。A. intB. floatC. doubleD. 不确定 16、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句C2A6-3;后c2中的值是(A)。 A. DB. 68C. 不确定的值D. C 17、以下用户标识符中,合法的是(B)。 A. intB. nitC. 123 D. ab 18、C 语言中,要求运算对象只能为整数的运算符是(A)。 A. B. / C. D. * 19、若有说明语句char c72;则变量c在内存占用的字节数是(A)。 A. 1B. 2C. 3D. 4 20、字符串ABC在内存占用的字节数是(B)。 A. 3B. 4C. 6D. 8 21、要为字符型变量 a赋初值,下列语句中哪一个是正确的(B)。 A. char a3; B. char a3;C. char a;D. char a*; 22、下列不正确的转义字符是(C)。 A. B. C. 074D. 0 二、填空题1、C 语言中的逻辑值“真”是用1表示的,逻辑值“假”是用0表示的。 2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式xn2后x的值为0。 3、设 cw,a1,b2,d-5,则表达式 x1c, yc2, -a-5*bd1, ba2的值为1、0、1、1。 4、设 float x2.5,y4.7; int a7;,表达式 xa3*intxy2/4的值为2.5。5、判断变量 a、b 的值均不为 0 的逻辑表达式为a0b0,值为1。 6、求解赋值表达式 ab10c6,表达式值为4 、a、b、c 的值依次为1,0,6。 7、求解逗号表达式 xa3,6*a 后,表达式值为18 、x、a 的值依次为3,3。三、编程题1、 设长方形的高为 1.5,宽为 2.3,编程求该长方形的周长和面积。2、 编写一个程序,将大写字母 A转换为小写字母 a。1mainfloat x1.5,y2.3;printf“area is 6.2fn”,x*y;2.mainchar cA;printf“d”,c32;第四章 顺序结构程序设计基础练习A一、填空题1、C语句分为五种控制语句 、函数调用语句、 表达式语句、空语句和 复合语句 。2、一个基本语句的最后一个字符是 ; 。3、复合语句又称分程序,是用 括起来的语句。4、 使用C语言库函数时,要用于预编译命令 include 将有关的“头文件”包括到用户源文件中。5、 使用标准输入输出库函数时,程序的开头要有如下预处理命令 include stdio.h 。6、 a3;ca-b; 在语法上被认为是 1 条语句。7、 getchar函数的作用是从终端输入 1 个字符。8、 如果从键盘输入字符a并按回车键,请写出以下程序运行效果 a 。includestdio.hmainputchargetchar;9、以下程序的输出结果为 idec-4,oct177774,hexfffc,unsigned65532 。mainshort i;i-4;printf“nidecd,octo,hexx,unsignedun”,i,i,i,i;10、以下程序的输出结果为 *3.140000,3.142* 。mainprintf“*f,4.3f*n”,3.14,3.1415;11、以下程序的输出结果为 cdec120,oct170,hex78,ASCIIx 。mainchar cx;printf“cdecd,octo,hexx,ASCIIcn”,c,c,c,c;12、已有定义int d-2;执行以下语句后的输出结果是 *d1-2*d2 -2*d3-2 * *d4177776*d5 177776*d6177776 * printf“*d1d*d23d*d3-3d*n”,d,d,d;printf“*d4o*d57o*d6-7o*n”,d,d,d;13、以下程序的输出结果为x1 y2 *sum*310 Squared is 100 mainint x1,y2;printf“xd yd *sum*dn”,x,y,xy;printf“10 Squared isdn”,10*10;14、以下程序的输出结果为1 123.4560002 123.4573 123.45604 8765.4567005 8765.4576 8765.45677 8765.4567 include stdio.hmain float a123.456; double b8765.4567;printf“1 fn”,a;printf“2 14.3fn”,a;printf“3 6.4fn”,a;printf“4 lfn”,b;printf“5 14.3lfn”,b;printf“6 8.4lfn”,b;printf“7 .4fn”,b; 二、判断题、所谓函数体实际上就是一个复合语句。( 对)、C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。(对)、putchar函数可以向终端输出一个整数数据。( 错)、考虑到printf 和scanf函数使用频繁,系统允许在使用这两个函数时可不加include命令。(对)、任何表达式都可以加上分号而成为有意义的语句。(对)三、选择题1、 以下不属于流程控制语句的是 A 。A 表达式语句 B 选择语句 C 循环语句 D 转移语句2、putchar函数可以向终端输出一个 D 。A整型变量表达式值 B实型变量值 C字符串 D字符或字符型变量值3、getchar函数的参数个数是B。A 1 B 0 C 2 )任意 4、以下程序的输出结果是D。mainprintf“n*s115s*”, “chinabeijing”;printf“n*s2-5s*”, “chi”;A)*s1chinabeijing *B)*s1chinabeijing * *s2chi* *s2chi *C)*s1*chinabeijing*D)*s1 chinabeijing* *s2chi* *s2chi *5、printf函数中用到格式符5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B 。;如果字符串长度小于5,则输出按方式C。A从左起输出该字串,右补空格B按原字符长从左向右全部输出C右对齐输出该字串,左补空格D输出错误信息6、已有定义int a-2;和输出语句printf“8lx”,a;以下正确的叙述是D。A整型变量的输出格式符只有d一种Bx是格式符的一种,它可以适用于任何一种类型的数据Cx是格式符的一种,其变量的值按十六进制输出,但8lx是错误的D8lx不是错误的格式符,其中数字8规定了输出字段的宽度7、以下C程序正确的运行结果是C。mainlong y-43456;printf“y-8ldn”,y;printf“y-08ldn”,y;printf“y08ldn”,y;printf“y8ldn”,y;A)y -43456B)y-43456 y- 43456 y-43456 y-0043456 y-0043456 y-43456 y-43456C)y-43456D)y -43456 y-43456 y-0043456 y-0043456 y00043456 y -43456 y434568、以下C程序正确的运行结果是D。mainint y2456;printf“y3on”,y;printf“y8on”,y;printf“y8on”,y;A)y 2456 B)y 4630 y 2456 y 4630 y2456 y4630C)y2456D)y4630 y 2456 y 4630 y 02456 y 04630基础练习B一、填空题、printf函数的作用是向终端 输出 若干个任意类型的数据。、printf函数中的“格式控制”,包括 格式说明 和 普通字符 两种信息。3、scanf函数中的“格式控制”后面应当是变量 地址 ,而不是变量名。4、在用scanf函数中输入数据时,如果在“格式控制”字符传中除了格式说明以外还有其他字符,则应在对应位置输入与这些字符相同的 字符 。5、在用”c”格式输入字符时,空格字符和“转义字符”都作为有效字符 输入 。6、在输入数据时,遇以下情况时该数据认为结束遇 空格 、或按 “回车” 或 “跳格”键 ;按指定的宽度结束;遇非法输入。7、输入数据时不能规定 精度 。8、如果在后有一个“*”附加说明符,表示 跳过它指定的列数 。二、选择题1、若int a,b; scanf“dd”, 不可以用A 作为输入的分隔符。A) , B) 空格 C) 回车 D) TAB键 2、若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是 B 。Ascanf“dlx,le”,Bscanf“2d*dlf”,Cscanf“x*do”,Dscanf“xo6.2f”,3、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是D。int a1,a2; char c1,c2;scanf“dd”,scanf“cc”,A)1020ABCRB)10 20CR ABCRC)10 20 ABCRD)10 20ABCR4、阅读以下程序,当输入数据的形式为25,13,10CR正确的输出结果为D。main int x,y,z;scanf“ddd”,printf“xyzdn”,xyz;Axyz48Bxyz35Cxz35D不确定值5、已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为D 。mainint a; float f;printf“n number”;输入语句printf“nff,adn”,f,a; number4.5 2CRAscanf“d,f”,Bscanf“f,d”,Cscanf“df”,Dscanf“fd”,6、根据定义和数据的输入方式,输入语句的正确形式为B。已有定义float f1,f2;数据的输入方式4.523.5Ascanf“f,f”,Bscanf“ff”,Cscanf“3.2f 2.1f”,Dscanf“3.2f2.1f”,7、阅读以下程序,若运行结果为如下形式,输入输出语句的正确内容是B。mainint x; float y;printf“enter x,y”;输入语句输出语句输入形式enter x,y2 3.4输出形式xy5.40Ascanf“d,f”,printf“nxy4.2f”,xy;Bscanf“df”,printf“nxy4.2f”,xy;Cscanf“df”,printf“nxy6.1f”,xy;Dscanf“d3.1f”,printf“nxy4.2f”,xy;8、以下说法正确的是D。A输入项可以为一实型常量,如scanf“f”,3.5;B只有格式控制,没有输入项,也能进行正确输入,如scanf“ad,bd”;C当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf“4.2f”,D当输入数据时,必须指明变量的地址,如scanf“f”,9、有输入语句scanf“ad,bd,cd”,为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是D。A132回车B1,3,2回车Ca1 b3 c2回车Da1,b3,c2回车10、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是A。int a1,a2; char c1,c2;scanf“dcdc”,A)10A 20BCRB)10 A 20 BCRC)10A20BCRD)10A20 BCR11、已有定义int x; float y;且执行scanf“3df”,语句,若从第一列开始输入数据12345 678回车,则x的值为( B ) ,y的值为 B 。1 A)12345B)123C)45D)3452 A)无定值B)45.000000C)678.000000D)123.000000三、编程1、 编写程序,从键盘上输入三个数分别给变量a、b、c,求它们的平均值。并按如下形式输出 average of 、 and is . 。其中,三个依次表示a、b、c的值,.表示a,b,c的平均值。2、输入9时23分并把它化成分钟后输出。(从零点整开始计算)。1、参考答案main float a, b, c, t;printf“please a,b,cn”;scanf f, f, f, tabc/3;printf average of 6.2f、6.2f and 6.2f is 6.2fn”,a,b,c,t; 2、参考答案main int h,m,s;printf“please h,mn”;scanf d,d, sh*60m;printf total d minuten”,s; 第五章 选择结构程序设计 基础练习A一、填空题 1、关系表达式的运算结果是 逻辑 值。C语言没有逻辑型数据,以 1 代表“真”,以 0代表“假”。2、逻辑运算符是 单目 运算符,其结合性是由 右结合性 。3、C语言提供的三种逻辑运算符是 、 、 。其中优先级最高的为 ,优先级最低的为 | | 。4、逻辑运算符两侧的运算对象不但可以是0和1,或者是0和非0的整数,也可以是任何类型的数据。系统最终以 0 和 非0 来判定它们属于“真”或“假”。5、设y为int型变量,请写出描述“y是偶数”的表达式 y20 。6、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式xzyz 。7、条件“2x3或x-10”的C语言表达式是 x-10 x2x3 。8、判断char型变量ch是否为大写字母的正确表达式是 chAchZ 。 9、当a3,b2,c1时,表达式fabc的值是 0 。10、当a5,b4,c2时,表达式abc的值是 1 。11、已知A7.5,B2,C3.6,表达式ABCAABCB的值是 0 。12、若a6,b4,c2,则表达式a-bc-1bc/2的值是 1 。13、有int x,y,z;且x3,y-4,z5,则表达式xyxz的值为 1 。14、有int x,y,z;且x3,y-4,z5,则以下表达式的值为 1 。xyyzxyy-z15、有int a3,b4,c5,x,y;,则以下表达式的值为 0 。xayb016、if k a3;语句中的k可以改写为 k 0 ,使其功能不变。二、选择题1、逻辑运算符两侧运算对象的数据类型(D)。A只能是0或1B只能是0或非0正数C只能是整型或字符型数据D可以是任何类型的数据2、以下关于运算符优先顺序的描述中正确的是(C)。A关系运算符算术运算符赋值运算符逻辑与运算符B逻辑与运算符关系运算符算术运算符赋值运算符C赋值运算符逻辑与运算符关系运算符算术运算符D算术运算符关系运算符赋值运算符逻辑与运算符3、下列运算符中优先级最高的是(B)。A)B)C)D)4、为判断字符变量c的值不是数字也不是字母时,应采用下述表达式(D )。A)c48c57c65c90c97c122B)c48c57c65c90c97c122C)c48c57c65c90c97c122D)c48c57c65c90c97c1225、能正确表示“当x的取值在1,100和200,300范围内为真,否则为假”的表达式是(C )。A x1x100x200x300B x1x100x200x300C x1x100x200x300D x1x100x200x3006、设x、y和z是int型变量,且x3,y4,z5,则下面表达式中值为0的是( D )。AxyB xyC xyzy-zD xyz17、已知x43,chA,y0;则表达式xychBy的值是( C )。A)0B)语法错C)1D)“假”8、设有int a1,b2,c3,d4,m2,n2;执行mabncd后n的值为( B )。A)1B)2C)3D)49、以下不正确的if语句形式是(C)。A ifxyxy;B ifxy xy;C ifxy scanf“d”,D ifxy x; y;10、已知int x10,y20,z30;以下语句执行后x,y,z的值是( B )。ifxyzx; xy; yz;A)x10,y20,z30B)x20,y30,z30C)x20,y30,z10D)x20,y30,z2011、以下if语句语法正确的是(B)。A ifx0printf“f”,xelse printf“f”,-x;B B ifx0xxy; printf“f”,x;else printf“f”,-x;C C ifx0xxy; printf“f”,xelse printf“f”,-x;D D ifx0xxy; printf“f”,xelse printf“f”,-x;12、请阅读以下程序mainint a5,b5,c0;ifabcprintf“*n”;elseprintf“n”;以下程序(C)。A)有语法错不能通过编译B)可以通过编译但不能通过连接C)输出*D)输出三、写出下列程序的运行结果 1、若运行时输入2回车,则以下程序的运行结果是 2nd class postage is 14p 。include stdio.hvoid mainvoidchar Class;printf“Enter 1 for 1st class post or 2 for 2nd post”;scanf“c”,ifClass1printf“1st class postage is 19p”;elseprintf“2nd class postage is 14p”;2、若运行时输入4.4回车,则以下程序的运行结果是Selling Price0.305.72 。include stdio.hvoid mainvoidfloat CostPrice,SellingPrice;printf“Enter Cost Price ”;scanf“f”,ifCostPrice5SellingPriceCostPriceCostPrice*0.25;printf“Selling Price0.256.2f”,SellingPrice;elseSellingPriceCostPriceCostPrice*0.30;printf“Selling Price0.306.2f”,SellingPrice;3、以下程序的运行结果是F。mainif2*252*24print“T”;elseprintf“F”;能力提高B一、选择题1、若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是(D)。A)A21B)A20C)A2D)A22、下列运算符中优先级最低的( A ),优先级最高的是( C )。A)B)C)D)3、请阅读以下程序mainint a5,b0,c0;ifabcprintf“*n”;elseprintf“n”;以下程序(D)。A)有语法错不能通过编译B)可以通过编译但不能通过连接C)输出*D)输出4、以下程序的运行结果是(C)。mainint m5;ifm5printf“dn”,m;elseprintf“dn”,m;A)4B)5C)6D)7二、根据程序的功能,将以下程序补充完整1、以下程序对输入的四个整数,按从小到大的顺序输出。请在内填入正确内容。mainint t,a,b,c,d;printf“ a,b,c,d”scanf“d,d,d,d”, ifab ta;ab;bt; if ac ta;ac;ct;if ad ta;ad;dt;if bc tb;bc;ct; if bd tb;bd;dt;if cd tc;cd;dt;printf“d,d,d,d”,a,b,c,d;三、编程1、试编程判断输入的正整数是否既是5又是7的整倍数。若是,则输出yes;否则输出no。2、编制程序要求输入整数x、y和z,若x2y2z2大于1000,则输出x2y2z2千位以上的数字,否则输出三数之和。3、编写程序,输入三角型的三条边长,求其面积。注意对于不合理的边长输入要输出数据错误的提示信息。1、参考答案main int x;if x50 x70 printf“yes”;else printf“no”;2、参考答案main int x,y,z,a,b;scanf“d d d”,ax*xy*y*z*z;if a1000

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值