收藏 分销(赏)

非常好的C语言章节习题集带答案.doc

上传人:天**** 文档编号:2492956 上传时间:2024-05-30 格式:DOC 页数:126 大小:402.54KB
下载 相关 举报
非常好的C语言章节习题集带答案.doc_第1页
第1页 / 共126页
非常好的C语言章节习题集带答案.doc_第2页
第2页 / 共126页
非常好的C语言章节习题集带答案.doc_第3页
第3页 / 共126页
非常好的C语言章节习题集带答案.doc_第4页
第4页 / 共126页
非常好的C语言章节习题集带答案.doc_第5页
第5页 / 共126页
点击查看更多>>
资源描述

1、(完整word)非常好的C语言章节习题集带答案第1章 认识C语言二、习题(一)、是非题1.程序是指挥计算机进行各种信息处理任务的一组指令序列。A.对 B.错2。机器语言与硬件平台相关,但汇编语言和硬件平台无关.A.对 B.错3.编译型高级语言明显优于解释型高级语言。A。对 B.错4。C语言把高级语言的基本结构和低级语言的实用性紧密结合起来,不仅适合编写应用软件,而且适于编写系统软件。A。对 B。错5。面向对象的程序设计方法明显优于面向过程的程序设计方法.A.对 B.错6.计算机算法要有一个明确的起点和确定的步骤序列.A。对 B.错7.main函数是C程序的入口,由计算机系统负责调用。A。对 B

2、。错8。在C语言中,同一行上可以写一条或多条语句,但一条语句不能写在多行上。A。对 B.错9.在C语言中,扩展名为。h的文件称为头文件,常用于组织C标准函数库中的函数。A.对 B。错10.注释语句会增加编译结果的复杂性,因此要尽量减少注释语句的数量。A.对 B.错 (注释语句在预处理阶段被删除,不影响编译)11。声明变量的含义是通知编译系统为变量分配合适大小的存储空间。A.对 B。错12。C语言不允许使用关键字作为变量的名称,但可以使用保留字为变量命名。A.对 B.错13.符号常量提高了程序的可读性,但降低了程序维护的方便性。A。对 B。错14.变量声明把一个具体的标识符名称和计算机内存中的一

3、个特殊的位置联系起来,同时确定了该位置存储的信息类型。A。对 B.错15。 C语言允许在同一条语句中定义多个相同类型的变量,其间用分号进行分隔。A.对 B。错16。在ISO/ANSI 1999规定中,允许将变量声明放在程序中的任何位置.A.对 B.错17。不同类型的数据在内存中所占存储单元的大小不同,内部存储方式不同,取值范围不同,甚至能够参与的运算种类也不相同。A.对 B.错18.有符号和无符号整数的区别仅在于对数据最高位的解释不同。若最高位解释为数据位,则为signed类型;若最高位解释为符号位,则为unsigned类型。A。对 B.错19。默认形式的实数常量的数据类型为float类型。A

4、。对 B。错20。实型变量能表示的数字的有效位数是有限的。A.对 B.错21.sizeof( )是C语言提供的标准库函数,用于测试数据类型在系统中所占的字节数.A。对 B.错 22。使用转义字符可输出ASCII码表中的任一字符。A.对 B.错23.char类型数据内部采用整数存储方式,因此它和int型数据可以互为通用。A。对 B。错24。在C语言中,保存字符串“B”实质上是保存字符B和0两个符号。A。对 B.错25.在C语言中,允许对两个字符型数据进行加法运算.A.对 B。错(二)、选择题1。C语言是一种_。A.汇编语言 B。“解释型”语言 C。“编译型”语言 D。 面向对象语言2.下列说法中

5、,正确的是_.A.机器语言与硬件相关,但汇编语言与硬件无关B.不同的计算机类型,其能理解的机器语言相同C.汇编语言采用助记符提高程序的可读性,但同样属于低级语言D.汇编源程序属于低级语言程序,计算机可以直接识别并执行3.下面有关高级语言的说法中,正确的是_.A.高级语言编写的程序可读性好,执行效率也最高B.高级语言程序必须翻译成机器语言程序,计算机才能执行C。解释方式和编译方式相比,具有占用内存少、执行速度快的特点D.C语言是一种解释型高级语言4。下面有关C语言特点的说法中,错误的是_。A。C语言编写的代码较为紧凑,执行速度也较快B。C语言不仅适合编写各种应用软件,还适于编写各种系统软件C.C

6、语言是一种模块化和结构化的语言D.C语言编写的程序通常不具备移植性5。下面有关程序设计技术的说法中,错误的是_.A.机器语言和汇编语言编程通常采用面向计算机的程序设计方式B。面向过程的程序设计方法通常采用结构化和模块化设计方法C。面向对象的程序设计方法采用客观世界的描述方式D.C语言是一种兼顾面向过程和面向对象的高级程序设计语言6。下面有关C程序操作过程的说法中,错误的是_。A.C源程序经过编译,得到的目标文件即为可执行文件B.C源程序的链接实质上是将目标代码文件和库函数等代码进行连接的过程C.C源程序不能通过编译,通常是由于语法错误引起的D。导致不能得到预期计算结果的主要原因是程序算法考虑不

7、周7.一个C语言程序是由_组成。A.主程序 B.子程序 C.函数 D。过程8。C源程序中不能表示的数制是_.A.二进制 B。八进制 C。十进制 D。十六进制9.一个C语言程序总是从_开始执行。A。主程序 B.子程序 C。主函数 D.函数10。以下叙述中正确的是_。A。在C程序中,main函数必须位于程序的最前面B.C程序的每一行中只能写一条语句C.在对一个C程序进行编译的过程中,可发现注释中的拼写错误D。C语言本身没有输入输出语句11.以下叙述中正确的是_。A。C程序的基本组成单位是语句 B。C程序中的每一行中只能写一条语句C.C语句必须以分号结束 D.C语句必须在一行内写完12。以下叙述中错

8、误的是_。A。函数是C程序的基本组成单位 B.函数体一般由一组C语句序列组成C.printf是C语言提供的输出语句 D.函数通常分为库函数和用户自定义函数两种13.以下程序的输出结果是_.include stdio。hvoid main() int a=2,b=3,c=4; printf(d,%d,%dn,c,b,a); A。4 3 2 B.2,3,4 C。4,3,2 D。2 3 414。 C语言中,最基本的数据类型是_。A.整型、实型、逻辑型 B.整型、实型、字符型C。整型、字符型、逻辑型 D.整型、实型、逻辑型、字符型15.下面有关变量声明的说法中,正确的是_。A。C语言中不用先声明变量,

9、需要时直接使用即可B.每个变量的存储空间大小由数据类型和编译环境共同决定C。在VC+6。0环境下,为int型变量分配的存储空间大小为2个字节D。变量声明时,不能进行赋值操作16。若x和y为整型变量,对于scanf(”a=%d,b=d,&x,&y);语句,可使x和y的值分别为10和20的正确输入方法是_。A。10 20 B.10, 20 C.a=10 b=20 D。a=10,b=2017。下列标识符中,不合法的用户标识符为_。A。aBa B。_11 C。a_1D。ab18。下列标识符中,合法的用户标识符为_。A。month B。5xyC.intD.your name19._是C语言提供的合法的数

10、据类型关键字。A。Boolean B。signedC.integerD.Char20.不合法的字符常量是_。A.678 B。C. D。421。不正确的字符串常量是_。A。abc B。1212” C.0”D。” ”22.关于下面的程序,正确的说法是_。include stdio.h void main() float a=b=2, result;result=a/b;printf(result=%fn, result); A。 程序可正常编译,结果为result=1.000000 B. 共有1处语法错误C. 共有2处语法错误 D. 共有3处语法错误23。下面变量声明的语句中,错误的是_。A。ch

11、ar c=B; B。int a=3 C。 char c=65; D。float area=0;24.关于下面的程序,正确的说法是_。include void main() int x,y,z;x=y=z=1;printf(”x=%d,y=d,z=%dn”,x,y,z); A.程序无误,能正常通过编译B.#include stdio。h有误,需改为include ”stdio。h”C.int x,y,z;有误,需改为int x; y;z;D。x=y=z=1;有误,需改为x=1; y=1;z=1;25.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=A+6-2;后,c2中的

12、值为_。A.69B。CC。DD。E26.为了计算s=10!,则定义变量s时应该使用的数据类型是_。A.intB.unsigned C.longD.以上三种类型均可27.以下选项中合法的标识符是_.A。1_1B.11C._11D.1_28。下列关于C语言用户标识符的叙述中正确的是_。A。用户标识符中可以出现下画线和中划线(减号)B.用户标识符中不可以出现中划线,但可以出现下画线C。用户标识符中可以出现下画线,但不可以放在用户标识符的开头D。用户标识符中可以出现下画线和数字,它们都可以放在用户标识符的开头29。以下选项中,能用作数据常量的是_.A。0119 B.o126 C。2.5e2。5D.11

13、9L30。以下关于short、int和long类型数据占用内存大小的叙述中正确的是_.A.均占4个字节 B.根据数据的大小决定所占内存的字节数C.由用户自己定义 D。由C语言编译系统决定31.若已定义char c=010,则变量c所占的字节数为_。A.1 B.2 C。3 D.432。要定义双精度实型变量a和b,并初始化为数值7,则正确的语句是_。A。double a,b;a=b=7; B。double a=b=7;C.double a=b=7; D.double a=7,b=7;33。已知字符a的ASCII码值为97,则以下程序的输出结果是_。include stdio.h”void main

14、() char ch=c;printf(”%cdn”,ch,ch); A.c99 B.c98 C.c97 D.编译出错34.以下程序运行后的输出结果是_。include “stdio。h”void main() char c; c=B+32; printf(cn,m); A。B B。b C。B32 D。b3235。以下程序运行后的输出结果是_。include stdio。h”void main() char c1,c2;c1=a; c2=b; c1=c1-32; c2=c2-32; printf(”%c cn”,c1,c2); printf(%d dn,c1,c2); A.A B B.A B

15、C.a b D。a b65 66 97 98 65 66 97 9836.如果将一个函数的返回值类型说明为void,则表示_。A.该函数可以返回任意类型的值 B。该函数不能返回任何值C.该函数可以返回基本类型的值 D.该函数是main函数,是程序运行的起点37.对于int型常量,不正确的是_.A.029 B。-25 C.0x2A D.0X2838.下列整型常量,错误的是_.A。025 B.285L C。-285u(u表示无符号,怎么还有负号) D。285lu39.以下有关整型变量的定义中,错误的是_。A.short int x; B。long x; C.unsigned x; D.short

16、x;40.下列实型常量,错误的是_。A。3。2f B。2。2E-2F C。12。0 D。e341.在VC+6。0环境下,sizeof(int)和sizeof(float)的值分别为_。A。2,2 B.2,4 C.4,4 D.4,842。对于浮点型数据,下列说法中不正确的是_.A。浮点数在存储时存在舍入误差B.程序设计时,不能直接对两个浮点型数据进行相等比较C.将一个很小的浮点数和一个很大的浮点数进行相加,结果可能不正确D.C语言中的浮点型变量有float和double两种43。若ch为字符型变量,则不能使ch表示字符B的语句是_。A。ch=B; B.ch=66; C.ch=102; D。ch=

17、x42;44。以下程序运行后的输出结果是_.include ”stdio。h”int f(int x,int y) return 2*x+y; void main() int a=3,b=2,t=0;t= f(b,a);printf(”dn,t); A。 0 B。 5 C. 7 D. 845.以下程序运行后的输出结果是_。include ”stdio。h”void main() char ch=a; int x=5; float s=2.5F;printf(%d,%d,%dn,sizeof(ch),sizeof(x),sizeof(s)); A。1,2,4 B。1,4,4 C。1,4,8 D.

18、a,5,2。5(三)、编程题1.已知长方形的长和宽分别为x和y,计算其周长和面积。2.编写一个程序,其功能为:从键盘上输入两个整型数据,分别存放在整型变量a和b中,然后输出表达式a/b和a%b的值。3。编写一个程序,其功能为:从键盘上输入一个浮点数,然后分别输出该数的整数部分和小数部分。4.编写一个程序,其功能为:从键盘上输入一个小写字母,显示这个小写字母及它所对应的大写字母以及它们的ASCII码值。提示:大写字母AZ的ASCII码值为6590,小写字母az的ASCII码值为97122。可见,对应的大小写字母的ASCII码值相差32,所以大写字母转换成小写字母就是将其ASCII值加上32,小写

19、字母转换成大写字母就是将其ASCII值减去32。5.输入一个华氏温度F,根据公式c=5(F-32)/9计算输出对应的摄氏温度。要求:输入要有提示,输出要有说明。四、习题答案(一)、是非题1.A 2。B 3.B 4。A 5。B 6.A 7.A 8。B 9。A 10.B11.A 12.B 13。B 14.A 15.B 16。A 17。A 18。B 19。B 20.A21.B 22.A 23。B 24.A 25。A(二)、选择题1。C 2。C 3.B 4.D 5.D 6。A 7.C 8。A 9.C 10.D11.C 12。C 13。C 14.B 15。B 16.D 17。D 18。A 19。B 20

20、。A21。A 22.C 23.A 24.A 25.A 26。C 27。C 28。B 29.D 30。D31.A 32。D 33.A 34.B 35.A 36。B 37。A 38.C 39.C 40。D41。C 42.D 43。A 44.C 45。B第2章 顺序结构二、习题(一)是非题1.表达式1/4+2.75的值是3。A.对 B。错 (表达式的值为?)2.C语言中浮点型变量可以进行自增或自减操作。A。对 B.错3.如果整型变量a、b、c已经正确定义,那么c=b=a=012是一个正确的表达式。A。对 B.错4。算术运算符和赋值运算符的结合方向均由左自右。A。对 B.错5.在进行赋值转换时,变量的

21、类型被自动转换为赋值号右边的表达式值的类型。A。对 B.错6。语句char c=”A”;定义了字符型变量c,并将其初始化为A。A。对 B.错7.运算符“”的操作数不允许为单精度和双精度浮点型,允许为字符型和整型。A。对 B。错8. 运算符+的优先级高于运算符+。A。对 B.错9.逗号运算符的求值顺序是从左到右的,逗号表达式的值为第一个表达式的值.A。对 B。错10.“=”运算符用于判断两个数是否相等。A.对 B.错11.C语言本身不提供输入输出语句,但可以通过输入输出函数来实现数据的输入输出.A。对 B.错12。在使用函数scanf输入数据时必须与函数参数指定的输入格式一致。A.对 B。错13

22、。getchar()函数用于输入单个字符,putchar()函数用于输出单个字符。A.对 B.错14.123、029、-0xEFF均是合法的整型常量。A。对 B。错15.假定已有定义char c;,sizeof c中的sizeof是容量运算符,而sizeof(char)中由于使用了括号形式,称为容量函数.A。对 B。错16.假定已有整型变量x的定义,则(x+1)+是一个合法的表达式.A。对 B.错17。假定已有整型变量初始化语句int x=2;,那么表达式x+,x *=2+1的值为9。A。对 B。错18.假定已有变量定义语句:int m=3,n=2;,那么(float)(m/n)表达式的值是1

23、.5.A。对 B.错19.C语言中,表达式1/22的值为0。A。对 B.错20。若scanf函数的格式说明中有一个空格,在输入时也一定要在对应位置输入一个空格。A。对 B.错(二)选择题1。数字字符0的ASCII值为48,则以下程序运行后的输出结果是_.#include stdio.h main() char a=1,b=2; printf(”c,,b+); printf(%dn,ba); A.3,2 B。50,2 C.2,2 D.2,502.以下程序运行后的输出结果是_。include main() int m=12,n=34; printf(dd”,m+,+n); printf(ddn”,

24、n+,+m); A.12353514 B。12353513 C。12343514 D.123435133.若整型变量a、b、c、d中的值依次为1、2、3、4。则表达式a+b/dc的值是_.A。1 B.2。5 C。0。25 D.24.以下程序运行后的输出结果是_。include main() int a,b,c;a=10; b=20; c= a%b+a/b;printf(”%d d %dn”,a,b,c); A.10200 B.10 20 10 C。102011 D.10 20 15.以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错,出错的原因是_。include mai

25、n() int r; float s;scanf(”%d”,&r);s=pr*r; printf(s=fn”,s); A.注释语句书写位置错误 B。存放圆半径的变量r不应该定义为整型C。s=*pr*r;语句中使用了非法变量 D。输出语句中格式描述符非法6.设有定义:int k=1,m=2; float f=7;,则以下选项中错误的表达式是_。A.k=k+=k B。k+ C。k%int(f) D.f=k%m7.设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是_。A.a%bc B.a/b/c C。a=b=c D。a,b,c8。有以下程序段:int k=0,a=1,b=2,c

26、=3; k=a+=b=c;,执行该程序段后,k的值是_.A。0 B.1 C。2 D.39。以下程序运行后的输出结果是_。#include main() char a,b; a=A+53; b=a+62; printf(d%cn,a,b); A。6771 B。67G C。CG D.C7111.表达式3。65/2+1。2+52的值是_.A.3。3 B。3。8 C.4.3 D。4.8 12.若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是_。A。+x,y=x B。x+1=y (反了) C。x=x+10=x+y (x+10=x+y赋值报错) D.double(x)/1013.以下程序运行后的

27、输出结果是_。include main() int x,y,z; x=y=1; z=x+,y+,+y; printf(%d,d,dn,x,y,z); A。2,3,3B.2,3,2 C.2,3,1 D.2,2,114.以下选项中,值为1的表达式是_.A。10 B。10 C。 1-0 D。 0015.设有定义:int k=0;,以下选项的_与其他三个表达式的值不相同。A.k+ B.k+=1 C。+k D.k+116。执行以下程序后的输出结果是_。include main() int a=2,b=2,c=2; printf(%dn,a/bc); A.0 B.1 C。2 D。326.若有定义int a

28、;long b; double x,y;,则以下选项中正确的表达式是_。A。a%(int)(x-y) B.a=b=x,y;C。(ay)%bD。y=x+y=x 27.表达式a+=a=a=9的值是_。A。-9 B.0 C.9 D。1828。若有定义int a=3,b=2,c=1;,以下选项中错误的赋值表达式是_。A。a=(b=4)=3 B.a=b=c+1; C.a=(b=4)+c; D.a=1+(b=c=4);29。若有定义int x=12,y=8,z;,在其后执行语句z=0.9+x/y;,则z的值为_。A。1(右边表达式的值为1。9,赋值给z舍弃小数) B。1。9 C。2 D.2。4 30.以下

29、程序运行后输出的结果是_。#includestdio。hmain() int a=0,b=0,c=0; c=(a=a5);(a=b,b+=4); printf(d,%d,d”, a,b,c); A。0,4,5B。4,4,5 C.4,4,4 D。0,0,031。设变量均已正确定义并且赋值,以下与其他三组输出结果不同的一组语句是_。A。x+; printf(”dn,x); B.n=+x; printf(%dn,n);C。+x; printf(%dn”,x); D.n=x+; printf(%dn,n);32。以下程序运行后输出的结果是_。#include stdio.hmain() int a=1

30、,b=0; printf(d,b=a+b); printf(”d”,a=2b); A.0,0 B.1,0 C.3,2 D。1,2 33.以下程序运行后输出的结果是_。include stdio。hmain() int k=011; printf(dnk+); A。12 B.11 C。10 D.934.有以下程序:include main() int m,n,p; scanf(m=%dn=dp=d”,&m,n,p); printf(”%d%d%dn”,m,n,p); 若想使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是_.A.m=123n=456p=789 B。123,456,789C。m=123,n=456,p=789 D.123 456 78935.以下程序运行后输出的结果是_.include stdio。h main() int a,b,d=25; a=d/109; b=a+-1; printf(%d,dn,a,

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服