1、c语言期末考试题库习题一一、选择题1C语言是一种(C)。A.低级语言B.汇编语言C.高级语言D.机器语言2以下不是C语言的特点的是(D )。A.语言简洁紧凑B.可以直接对硬件进行操作C.数据类型丰富D.是面向对象的程序设计语言3一个C程序的执行是从(A)。A.本程序的main函数开始,到main函数结束B. 本函数的第一个数开始,到本程序文件的最后一个函数结束C. 本程序的main函数开始,到本程序文件的最后一个函数结束D.本函数的第一个数开始,到本程序 main函数结束4以下叙述正确的是( C )。A. 在C程序中,main函数必须位于程序的最前面B. C程序的每行只能写一条语句C. C语言
2、的本身没有输入输出语句D. 在对一个C程序进行编译的过程中,可以发现注释中的拼写错误5以下叙述不正确的是( D )。A. 一个C源程序可由一个或多个函数组成B.一个C源程序必须包括一个 main函数C.C程序的基本组成单位是函数D. 在C程序中,注释说明只能位于一条语句的后面6C语言规定:在一个源程序中,main函数的位置(C)。A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后7一个C语言程序是由(B)。A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成8以下叙述中正确的是(C)。A.C程序的基本组成单位是语句B.C程序中的每一行只能写一条语
3、句C.C语句必须以分号结束D.C语言必须在一行内写完9以下叙述中正确的是(C)。A.C程序中的注释只能出现在程序的开始位置和语句的后面B.C程序书写格式严格,要求一行内只能写一个语句C.C程序书写格式自由,一个语句可以写在多行上D. 用C语言编写的程序只能放在一个程序文件中10以下叙述中正确的是( C)。A.C语言程序将从源程序中第一个函数开始执行B. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C. C语言规定必须用main作为主函数名,程序从此开始执行,在此结束D. main可作为用户标识符,用以命名任意一个函数作为主函数11下列叙述中正确的是( A )。A.每个C程序
4、文件中都必须要有一个 main函数B. 在C程序中main()位置是固定的C. C程序中所有函数之间都可以相互调用,与函数所在位置无关D. 在C程序的函数中不能定义另一个函数12C语言源程序的基本单位是(B)。A.过程B.函数C.子程序D.标识符13下列关于算法的特点描述中错误的是(D)。A.有穷性B.确定性C.有零个或多个输入D.有零个或多个输出14以下选项中不属于算法特性的是(C)。A.有穷性B.确定性C.简洁性D.有效性15用C语言编写的代码程序(B)。A.可立即执行B.是一个源程序C.经过编译即可执行D.经过编译解释才能执行二、填空题1C语言的源程序必须通过编译和连接后,才能被计算机执
5、行。2C语言源程序文件的后缀是.c;经过编译后,生成文件的后缀是.obj;经过连接后,生成文件的后缀是.exe。3C语言从源程序的书写到上机运行输出结果要经过编辑、编译、连接、执行四个步骤。4结构化程序由顺序结构、选择结构和循环结构三种基本结构组成。5C语言源程序的基本单位是函数。6一个C语言源程序是由若干函数组成,其中至少应含有一个主函数(或main函数)。7在一个C语言源程序中,注释部分两侧的分界符为/*/。8算法是程序设计的灵魂。9C语言程序只能从 main函数 开始执行。10自然语言、流程图和伪代码都可以用来表示算法, 其中流程图是算法的图形化表示方法。三、编程/思考题1简述C语言的主
6、要特点。1C语言的主要特点有: (1)C语言具有结构化的高级编程语言应有的所有高级指令,使程序员不需要知道硬件细节。同时,C也具有一些低级指令,允许程序员能够直接快速地访问硬件。(2)C语言是结构式语言。(3)C语言是一种高效的语言。(4)C语言简洁紧凑,使用方便灵活。(5)C语言运算符丰富。(6)C语言是一种可移植性语言。2要得到一个可以正常运行的 C语言程序,一般经过哪几个过程?编辑C语言程序源代码,编译源文件,连接程序,执行程序。3算法具有哪些特点?3算法具有以下特点:(1)有穷性;(2)确定性;(3)有零个或多个输入;(4)有一个或多个输出;(5)有效性。4用流程图表示求解 12345
7、的算法。5参照本章例题,编写一个 C程序,输出以下信息:*ThisisasimpleCprogram!答#includevoid main()printf(*n);printf(This isasimpleCprogram!n);printf(*n);习题二一、选择题1下列几个选项中,属于 C语言的基本数据类型的是( B )。A.整型、实型、结构体类型 B.整型、实型、字符型C.整型、逻辑型、实型 D.整型、字符型、数组类型2.C语言规定,标识符的命名只能由字母、数字和下划线三种字符组成,且第一个字符(C)。A.必须是字母B.必须是下划线C.必须是字母或下划线D.必须是数字3下列标识符中,合法
8、的标识符为(B)。A.6adcB._max1C.a*$bnD.123bc4下列标识符中,不合法的标识符为(A)。A.intB._n5C.i_5abD.q5n5.下列不合法的字符常量是(D)。A.aB.”C.nD.”a”6下列不合法的字符串常量是(A)。A.abcB.”abc”C.”dfb345”D.”7下列不合法的转义字符是(D)。A.B.tC.x6aD.898.下面四个选项中,均是不合法的转义字符的选项是( B )。A. t B. 1234 018 x3hC.n16”D.x8a&1019下列整型常量中,不合法的是(D)。A.89B.-16C.0x4bD.066810.下面四个选项中,均是不合
9、法的整型常量的选项是(A)。A.-0f10182e5B.250xf33.5C.065-54-0a4D.0130xk5-06911下列实型常量中,不合法的是(C)。A.0.0B.123C.123D.2.3412下列实型常量中,合法的是(D)。A.e3B.2e4.3C.e4D.2e-413.下面四个选项中,均是不合法的实型常量的选项是(B)。A.3e5.40.02e5B.e55e2.568C.3.142e-4123e-5D.0.98-e-3123e14.在C语言中,int、char和short三种类型数据在内存中所占用的字节数(D)。A.由用户自己定义B.均为2个字节C.是任意的 D.由所使用的编
10、译系统决定15. 若有说明语句:charc=?72?;则变量c(A)。A.包含1个字符 B.包含2个字符C.包含3个字符 D.说明不合法,c的值不确定16设变量a是整型,f是实型,i是双精度型,则表达式10+?a?+i*f值的数据类型为(C )。A.intB.floatC.doubleD.不确定17设有说明语句:charw;intx;floaty;doublez;则表达式w*x+zy值的数据类型为(D)。A.floatB.charC.intD.double18在C语言中,负整数在内存中的存储形式是(A)。A.补码B.反码C.原码D.ASCII码19在C语言中,字符型数据在内存中的存储形式是(D
11、)。A.补码B.反码C.原码D.ASCII码20在C语言中,实型数据在内存中的存储形式是(B)。A.小数形式B.指数形式C.十进制形式D.ASCII码21.在C语言中,设一个short型数据在内存中占用2个字节存储,则unsignedshort型数据的取值范围为(C)。A.0255B.032767C.065535D.0214748364722在C语言中,设一个float型数据在内存中占用4个字节来存储,则一个float型数据的有效数字位数为(B)。A.5位B.67位C.1516位D.1819位23已知小写字母 a的ASCII码为十进制数 97,则执行语句 c=?a?+2后,变量c中的字符为(B
12、)。A.AB.cC.CD.b24设有定义floatx=3.5;则执行(int)x之后,x的值为(A)。A.3.500000B.3C.4D.3.025若想确定所使用的编译系统中,int型数据所占用的存储宽度,可使用(B)进行测试。A.(int)B.sizeof(int)C.(int)xD.(sizeof)int二、填空题1.C语言中的实型变量分为两种类型,它们是float和double。2.C语言中的常量分为普通常量和符号常量两种类型3.C语言中的标识符只能由种字符组成,他们是字母、数字、下划线、和。4.在语言中,有一类特殊字符以“”开头,称为转义字符。转义字符n的功能是回车换行;转义字符r的功
13、能是,回车不换行。5.在语言中,用关键字float定义单精度实型变量,用关键字DOUBLE定义双精度实型变量,用关键字char定义字符型变量。6.要定义双精度实型变量a和b,并使它们的初值都为5.6,则定义语句为doubea=5.6,b=5.6; 。7.设C语言中一个 short型数据占用 2个字节存储,一个 int型数据占用 4个字节存储,则要将数值 32768 正确无误的存储在变量 x 中,应使用的定义语句为 intx=32768 。8.若有定义 charch;则执行 ch=?A?+32后,变量ch中的字符为 ,a? 。9.以下程序运行后的输出结果是 9,90 。#includevoidm
14、ain()intx=011,y=0x5a;printf(%d,%dn,x,y);10.以下程序的输出结果是BeijingChina 。# includevoidmain()printf(BeijingnChinan,n);三、思考题1C语言规定对所有用到的变量必须“先定义,后使用” ,这样做有什么好处?1解:C语言中,要求对所有用到的变量“先定义,后使用” ,这样做的好处是:能够保证程序中变量名使用得正确;在编译时就能为变量分配相应的存储单元;便于在编译过程中检查对该变量进行的运算是否合法。2字符常量和字符串常量有什么区别?2解:字符常量是一个字符,在程序中是用单撇号括起来的;字符串常量由0个
15、或若干个字符组合而成,在程序中是用双撇号括起来的,在存储时,系统自动在字符串最后加上一个字符串结束符?0?。3若想要将一个大写字母转换为对应的小写字母,可以如何操作?3.解:在内存中,字符型数据以 ASCII 码存储,ASCII 码是一串二进制编码,每个字符的ASCII码对应一个整数值,大写字母与其对应小写字母的 ASCII 码对应整数值相差 32。因此,要将一个大写字母转换为小写字母,只需将该变量的值加上32即可。4常量?a?与”a”在内存中所占用的字节数是否相同?为什么?4.解:常量?a?与”a”在内存中所占用的字节数不相同,因为?a?是字符常量,在内存中占用一个字节存储,而”a”是字符串
16、常量,在内存中存储时,系统自动在其后加上一个字符串结束符?0?,在内存中占用 2个字节存储。5若有定义 inta;floatf5.若有定义 inta;floatf在计算之前必须先转换为,则表达式?c?+a+f的结果为何种数据类型?为什么?,则表达式?c?+a+f的结果为 double型。因为表达式中 f为float型,double型,根据数据类型的自动转换规则, 表达式的结果为 double型。6设C语言中,一个short型数据占用2个字节存储,若有定义shortx=-12,则变量x的值-12在内存中存储的二进制代码是如何表示的?6.解:整数在内存中以补码形式存储,负数的补码为反码+1,所以,
17、当x=-12时,其在内存中的存储形式为:111111*0。7设C语言中,一个short型数据占用2个字节存储,若有定义shortx=32768,则用输出语句printf(”%dn”,x);输出x值为多?为什么?7.解:输出结果为 -32768,因为一个 short型数据在内存中占用 2数值范围为-3276832767,当x=32768时,超出了其能表示的范围,的二进制编码的 16位正好对应数值 -32768。个字节存储,所能表示的发生了溢出,数值327688若有x为int型变量,则执行 x=3.14后,变量x的值为多少?为什么?8.解:若有x为int型变量,则执行x=3.14后,变量x的值为3
18、,因为x为int型变量,不能存储实型数据,当把一个实型数据赋给x时,发生了数据类型转换,系统自动把实型数据的小数部分舍去。9分析下面两个程序运行结果是否相同?为什么?程序A: #include 程序B:#includevoidmain()voidmain()charc1,c2;intc1,c2;c1=?a?;c1=97;c2=?b?;c2=98;printf(“%c,%cn”,c1,c2);printf(“%c,%cn”,c1,c2);9.解:两个程序的运行结果相同。因为字符型数据以ASCII码存储,ASCII码是一串二进制编码,每个字符的ASCII码对应一个整数值。因此,在一定范围内,整型数
19、据和字符型数据是可以通用的。字符 ?a?和?b?对应的ASCII编码值分别为 97,98。10 分析下面程序的运行结果:#includevoidmain()charc1=A,c2=B,c3=C,c4=101,c5=x42;printf(a%cb%ctc%ctabcn,c1,c2,c3);printf(%ct%cbBn,c4,c5);aAbBcCabcA BB习题三一、选择题1若有代数式3aeC)。,则不正确的C语言表达式是(bcA.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*32在C语言中,要求运算数必须是整型的运算符是(D)。A./B.=C.+D.%3若
20、有定义语句: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.0000004.若有定义intx=5,y=2,则表达式5/2的结果为(B)。A.2.5B.2C.2.0D.35判断char型变量ch是否为大写字母的正确表达式是(C)。A.,A?=ch=?A?)&(ch=?A?)&(ch=?A?)and(ch=b=cB.(a=b)&(b=c)C.(a=b)&(b=c)D.(a=b)|(b=c)7逻辑运算符两侧运算对象的数据类型( D )。A.只能是0或1 B.只能是0或非0正
21、数C.只能是整型或字符型 D.可以是任何数据类型8下列运算符中,优先级最高的是( B )。A.B.+C.&D.=9设x、y、z是int型变量,且有x=3,y=4,z=5,则下面表达式中值为0的是(D)。A.,x?&?y?B.x=yC.x|y+z&y-zD.!(x=y&chb)&(n=cd)后,n的值为(C)。A.0B.1C.2D.313判断char型变量c是否为0到9的数字的正确表达式为(C)。A.,0?=c=?9?B.0=c=?0?&c=0&c=914设有intx=3,y=4,z=5,则执行表达式!(x+y)+z-1&y+z/2的结果是(D)。A.6B.0C.2D.115以下程序的运行结果是( B )。#includevoidmain()inta,b,d=241;a=d/100%9;b=(-1)&(-1);printf(“%d,%dn”,a,b);A. 6,1B. 2,1C. 6,0D. 2,016执行以下语句后x的值为,y的值为( C)。intx=5,y=6,t=1,a=2,b=3,z=4;(x=ta)&(y=bz)A. 5,6
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2