c语言期末考试题库.pdf
《c语言期末考试题库.pdf》由会员分享,可在线阅读,更多相关《c语言期末考试题库.pdf(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、习题一一、选择题1.C 语言是一种(C)。A.低级语言 B.汇编语言 C.高级语言2.以下不是C 语言的特点的是(D)。A.语言简洁紧凑 B.可以直接对硬件进行操作C.数据类型丰富 D.是面向对象的程序设计语言3.一 个 C 程序的执行是从(A)。A.本程序的main函数开始,到 main函数结束B.本函数的第一个数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本函数的第一个数开始,到本程序main函数结束4.以下叙述正确的是(C)。A.在 C 程序中,main函数必须位于程序的最前面D.机器语言B.C 程序的每行只能写一条语句C.C 语言
2、的本身没有输入输出语句D,在对一个C 程序进行编译的过程中,可以发现注释中的拼写错误5.以下叙述不正确的是(D)。A.一个C 源程序可由一个或多个函数组成B.一个C 源程序必须包括一个main函数C.C 程序的基本组成单位是函数D.在 C 程序中,注释说明只能位于一条语句的后面6.C 语言规定:在一个源程序中,main函数的位置(C)。A.必须在最开始C.可以任意7.一个C 语言程序是由(B)。A.一个主程序和若干子程序组成C.若干过程组成8.以卜叙述中正确的是(C)。A.C 程序的基本组成单位是语句C.C 语句必须以分号结束9.以下叙述中正确的是(C)。B.必须在系统调用的库函数的后血D.必
3、须在最后B.函数组成D,若干子程序组成B.C 程序中的每一行只能写一条语句D.C 语言必须在一行内写完A.C 程序中的注释只能出现在程序的开始位置和语句的后面B.C 程序书写格式严格,要求一行内只能写一个语句C.C 程序书写格式自山,一个语句可以写在多行上D.用 C 语言编写的程序只能放在一个程序文件中1 0.以下叙述中正确的是(C)oA.C 语言程序将从源程序中第一个函数开始执行B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C.C 语言规定必须用main作为主函数名,程序从此开始执行,在此结束D.main可作为用户标识符,用以命名任意一个函数作为主函数1 1.下列叙述中
4、正确的是(A)。A.每个C 程序文件中都必须要有一个main函数B.在 C 程序中main()位置是固定的C.C 程序中所有函数之间都可以相互调用,与函数所在位置无关D.在 C 程序的函数中不能定义另一个函数12.C 语言源程序的基本单位是(B)。A.过程 B.函数 C.子程序 D.标识符1 3.下列关于算法的特点描述中错误的是(D)。A.有穷性 B.确定性 C.有零个或多个输入 D.有零个或多个输出1 4.以下选项中不属于算法特性的是(C)。A.有穷性 B.确定性 C.简洁性 D.有效性1 5.用 C 语言编写的代码程序(B)。A.可立即执行 B.是一个源程序C.经过编译即可执行 D.经过编
5、译解释才能执行二、填空题1.C 语言的源程序必须通过 编译 和连接后,才能被计算机执行。2.C 语言源程序文件的后缀是.c;经过编译后,生成文件的后缀是.obj;经过连接后,生成文 件 的 后 缀 是.exe_3.C语言从源程序的书写到上机运行输出结果要经过编辑、编译、连接、执行四个步骤。4.结构化程序由 顺序结构、选择结构和循环结构三种基本结构组成。5.C 语言源程序的基本单位是函数。6.一个C 语言源程序是由若干函数组成,其中至少应含有一个 主 函 数(或 main函数)7.在一个C 语言源程序中,注释部分两侧的分界符为/*/。8.算法 是程序设计的灵魂。9.C 语言程序只能从 main函
6、数 开始执行。1 0.自然语言、流程图利伪代码都可以用来表示算法,其中 流程图 是算法的图形化表示方法。三、编程/思考题1.简述C 语言的主要特点。1.C 语言的主要特点有:(1)C 语言具有结构化的高级编程语言应有的所有高级指令,使程序员不需要知道硬件细节。同时,C 也具有一些低级指令,允许程序员能够直接快速地访问硬件。(2)C 语言是结构式语言。(3)C 语言是一种高效的语言。(4)C 语言简洁紧凑,使用方便灵活。(5)C 语言运算符丰富。(6)C 语言是一种可移植性语言。2.要得到一个可以正常运行的C 语言程序,一般经过哪几个过程?编辑C 语言程序源代码,编译源文件,连接程序,执行程序。
7、3.算法具有哪些特点?3.算法具有以下特点:(1)有穷性;(2)确定性;(3)有零个或多个输入;(4)有一个或多个输出;(5)有效性。4.用流程图表示求解1X 2X 3X 4X 5的算法。5.参照本章例题,编写一个C 程序,输出以下信息:This is a simple C program!答.#includevoid main()printf(*n).printf(This is a simple C program!n);printf(*n”);习题二一、选择题1.下列几个选项中,属于C 语言的基本数据类型的是(B)。A.整 型、实 型、结构体类型 B.整型、实型、字符型C.整 型、逻 辑
8、 型、实型 D.整型、字符型、数组类型2.C语 言 规 定,标 识 符 的 命 名 只 能 山 字 母、数字和下划线三种字符组成,(C)。A.必须是字母 B.必须是下划线 C.必须是字母或下划线字3.下列标识符中,合 法 的 标 识 符 为(BA.6adc B._maxl C.a*$bn D.123bc4.下列标识符中,不 合 法 的 标 识 符 为(A)。A.int B._n5 C.i_5ab D.q5n5.下 列 不 合 法 的 字 符 常 量 是(DA.a B.V C.n D.a6.下 列 不 合 法 的 字 符 串 常 量 是(A)。A.abc BJabc”C.”dfb345“D.”7
9、.下 列 不 合 法 的 转 义 字 符 是(D)。A.B.t C.*x6a D.898.下面四个选项中,均 是 不 合 法 的 转 义 字 符 的 选 项 是(B)。且第一个字符D.必须是数C.3.14A.,,t vB.1234 018 x3hC.n 16D.Ax8a&,ior9.下列整型常量中,不 合 法 的 是(D),A.89 B.-16 C.0 x4b D.066810.下面四个选项中,.均是不合法的整型常量的选项是A.-Ofl 0182e5B.25 0 xf33.5C.065-54-0a4D.013 0 xk5-06911.下列实型常量中,不 合 法 的 是(C)oA.0.0 B.1
10、23 C.123D.2.3412.下列实型常量中,合 法 的 是(D)oA.e3 B.2e4.3 C.-e4D.2e-413.下面四个选项中,:均是不合法的实型常量的选项是A.3e5.4 0.02e5B.e5 5e2.5682e-4123e-5D.0.98-e-3 123e14.在C 语言中,int、char和 short三种类型数据在内存中所占用的字节数(D)。A.由用户自己定义 B.均为2 个字节C.是任意的 D.由所使用的编译系统决定15.若有说明语句:charc=72;则变量c(AA.包 含 1 个字符 B.包含2 个字符C.包含3 个字符 D.说明不合法,c 的值不确定16.设变量a
11、 是整型,f 是实型,i 是双精度型,则表达式10+a,+i*f值的数据类型为(C)。A.int B.floatC.doubleD.不确定17.设有说明语句:char w;int x;float y;double z;则表达式w*x+zy 值的数据类型为(D)。A.float18.在 C 语言中,A.补码19.在 C 语言中,A.补码20.在 C 语言中,A.小数形式B.charD.double负整数在内存中的存储形式是(A)。B.反码C.原码D.ASCII 码字符型数据在内存中的存储形式是(DB.反码C.原码D.ASCII 码实型数据在内存中的存储形式是(B)B.指数形式C.十进制形式D.A
12、SCII 码21.在 C 语言中,设一个short型数据在内存中占用2 个字节存储,则 unsigned short型数据的取值范围为(C)。A.0-255 B.0-32767 C.0-65535 D.0-214748364722.在 C 语言中,设一个float型数据在内存中占用4 个字节来存储,则一个float型数据的有效数字位数为(B)。A.5 位 8.67位 C.15-16 位 D.1819 位23.已知小写字母a的 ASCII码为十进制数9 7,则执行语句c=,a,+2后,变量c 中的字符为(B)。A.A B.c C.C D.b24.设有定义floatx=3.5;则 执 行(int)
13、x 之后,x 的 值 为(A)。A.3.500000 B.3 C.4 D.3.025.若想确定所使用的编译系统中,in t型数据所占用的存储宽度,可 使 用(B)进行测试。A.(int)B.sizeof(int)C.(int)x D.(sizeof)int二、填空题l.C 语 言 中 的 实 型 变 量 分 为 两 种 类 型,它 们 是 float 和double o2.C 语 H 中 的 常 量 分 为 普 通 常 量 _ _ _ _ _ _ _ _ _ _ _ _ _ _和 符号常量两种类型3.C 语言中的标识符只能山3 种字符组成,他们是 字母、数字、下划线、和 O _4.在 C 语言
14、中,有一类特殊字符以“开头,称为转义字符。转义字符,n 的功能是 回车换行;转义字符r的功能是,回车不换行 o5.在 C 语言中,用关键字 float 定义单精度实型变量,用关键字 DOUBLE定义双精度实型变量,用关键字 char 定义字符型变量。6.要定义双精度实型变量a 和 b,并使它们的初值都为5.6,则定义语句为 doubea=5.6,b=5.6;。7.设 C 语言中一个short型数据占用2 个字节存储,一个int型数据占用4 个字节存储,则要 将 数 值 32768正 确 无 误 的 存 储 在 变 量 x 中,应 使 用 的 定 义 语 句 为 intx=32768 o8,若有
15、定义char ch:则执行ch=,A*32后,变量ch中的字符为。9.以下程序运行后的输出结果是 9,90。#include void main()(int x=011,y=0 x5a;printf(H%d,%dnu,x,y);)10.以下程序的输出结果是BeijingCh i n a。#includevoid main()(printf(MBeijingnChinann,n);三、思考题1.c 语言规定对所有用到的变量必须“先定义,后使用”,这样做有什么好处?1.解:C 语言中,要求对所有用到的变量“先定义,后使用”,这样做的好处是:能够保证程序中变量名使用得正确;在编译时就能为变量分配相应
16、的存储单元;便于在编译过程中检查对该变量进行的运算是否合法。2.字符常量和字符串常量有什么区别?2.解:字符常量是一个字符,在程序中是用单撇号括起来的;字符串常量由。个或若干个字符组合而成,在程序中是用双撇号括起来的,在存储时,系统自动在字符串最后加上一个字符串结束符0。3.若想要将一个大写字母转换为对应的小写字母,可以如何操作?3.解:在内存中,字符型数据以ASCII码存储,ASCII码是一串二进制编码,每个字符的ASCII码对应一个整数值,大写字母与其对应小写字母的ASCII码对应整数值相差32。因此,要将一个大写字母转换为小写字母,只需将该变量的值加上32即可。4.常量a,与 a”在内存
17、中所占用的字节数是否相同?为什么?4.解:常量3与“a”在内存中所占用的字节数不相同,因为匕,是字符常量,在内存中占用一个字节存储,而”a”是字符串常量,在内存中存储时,系统自动在其后加上一个字符串结束符,0,在内存中占用2 个字节存储。5.若有定义inta;floatf,则表达式c,+a+f的结果为何种数据类型?为什么?5.若有定义inta;floatf,则表达式c+a+f的结果为double型。因为表达式中f 为 float型,在计算之前必须先转换为double型,根据数据类型的自动转换规则,表达式的结果为double型。6.设 C 语言中,个 short型数据占用2 个字节存储,若有定义
18、short x=-12,则变量x 的值-12在内存中存储的二进制代码是如何表示的?6.解:整数在内存中以补码形式存储,负数的补码为反码+1,所以,当 x=-I2时,其在内存中的存储形式为:1111 1111 1111 01007.设 C 语言中,一个short型数据占用2 个字节存储,若有定义short x=32768,则用输出语句printf(dn”,x);输出x 值为多?为什么?7.解:输出结果为-32768,因为一个short型数据在内存中占用2 个字节存储,所能表示的数值范围为-3276832767,当 x=32768时,超出了其能表示的范围,发生了溢出,数值32768的二进制编码的1
19、6位正好对应数值-32768。8.若有x 为 int型变量,则执行x=3.14后,变量x 的值为多少?为什么?8.解:若有x 为 int型变量,则执行x=3.14后,变量x 的值为3,因为x 为 int型变量,不能存储实型数据,当把一个实型数据赋给x 时,发生了数据类型转换,系统自动把实型数据的小数部分舍去。9.分析下面两个程序运行结果是否相同?为什么?程序 A:#include 程序 B:#include void main()void main()char cl,c2;cl=a;int cl,c2;cl=97;c2=b;printf(c,%cn”,c l,c2);c2=98;printf(
20、%c,%cn”,c l,c2);9.解:两个程序的运行结果相同。因为字符型数据以ASCII码存储,ASCII码是一串二进制编码,每个字符的ASCH码对应一个整数值。因此,在一定范围内,整型数据和字符型数据是可以通用的。字符W和E 对应的ASCII编码值分别为97,98。10.分析下面程序的运行结果:#includevoid main()(char c 1=*A,C2=,B,C3=,C,C4=A 101,c5=、x42;printf(na%cb%ctc%ctabcn,cl,c2,c3);printf(n%ct%c bBnn,c4,c5);aAbB c C 口 Dabc习题三一、选择题1 .若 有
21、 代 数 式 四,则不正确的c 语言表达式是(C)。beA.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*c D.a*e/c/b*32.在 C 语言中,要求运算数必须是整型的运算符是(D)。A./B.=C.+D.%3.若有定义语句:inta=7;floatx=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.0000004.若有定义intx=5,y=2,则表达式5/2的结果为(B)。A.2.5 B.2 C,2.0 D.35.判断char型变量ch是否为大写字母的正确表
22、达式是(C)。A.Av=chv=Z B.(ch=,A,)&(ch=,A,)&(ch=,A,)and(ch=b=c B.(a=b)&(b=c)C.(a=b)&(b=c)D.(a=b)ll(b=c)7.逻辑运算符两侧运算对象的数据类型(D)。A.只能是。或 1 B.只能是0 或非0 正数C.只能是整型或字符型 D.可以是任何数据类型8.下列运算符中,优先级最高的是(B)oA.B.+C.&D.=9.设 x、y、z 是 int型变量,且有x=3,y=4,z=5,则下面表达式中值为0 的 是(D)。A.x&y B.x=yC.xlly+z&y-z D.!(x=y&ch1)&(11=0(1)后,1 1 的值
23、为(C)。A.0 B.1 C.2 D.313.判断char型变量c 是否为。到 9 的数字的正确表达式为(C)。A.Uv=cv=9 B.0=c=0&c=0&c=914.设有int x=3,y=4,z=5,则执行表达式!(x+y)+zl&y+z/2的结果是(D)。A.6 B.0 C.2 D.115.以下程序的运行结果是(B)o#include void main()(int a,b,d=241;a=d/100%9;b=(-l)&(-l);printf(d,%dn”,a,b);)A.6,1 B.2,1 C,6,0 D.2,016.执行以下语句后x 的值为,y 的值为(C)oint x=5,y=6,
24、t=1 ,a=2,b=3,z=4;(x=ta)&(y=bz)A.5,6 B.5,0 C.0,6 D.0,017.以下表达式中,与表达式!a 等价的是(D)。A.a=0 B.a=l C.!a=0 D.!a=l18.以下符合C 语言语法的赋值表达式是(D)。A.a=10+n+m=a+3 B.a=10+m,b=a+5C.b=b*8=2 D.a+=a-=(m=4)*(n=3)19.若有inta=7,b=12,则以下表达式中,值 为 3 的 是(D)。A.b%=(a%=5)B.b%=(a-a%5)C.b%=a-a%5 D.(b%=a)-(a%=5)20.已知各变量的类型说明如下。int a=2,b;do
25、uble x=2.56;则以下不符合C 语言语法的表达式是(A)oA.x%(-3)B.a+=2 C.a+=a-=(b=4)D.x/=(b=3)21.设以下变量均为int类型,则值不等于7 的表达式是(C)oA.(x=y=6,x+y,x+l)B.(x=y=6,x+y,y+l)C.(x=6,x+1 ,y=6,x+y)D.(y=6,y+l,x=y,x+l)22.若 x,i,j,k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后,x 的 值 为(C)。A.4 B.16 C.32 D.5223.执行下面程序段后,输出结果为(C)oint x=13,y=5;printf(4t%dM,x%
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末考试 题库
限制150内