C语言习题.docx
- 文档编号:4653104
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:67
- 大小:49.38KB
C语言习题.docx
《C语言习题.docx》由会员分享,可在线阅读,更多相关《C语言习题.docx(67页珍藏版)》请在冰点文库上搜索。
C语言习题
第一章C语言概述
一、选择题:
(1)一个C程序总是从()开始执行。
A.程序的第一条执行语句B.主函数C.子程序D.主程序
(2)以下叙述正确的是()。
A.C语言允许直接访问物理地址,可以直接对硬件进行操作
B.C语言程序不必编译,即可在计算机上运行
C.C语言不允许直接访问物理地址,不可直接对硬件进行操作
D.C语言程序只需编译,不需要连接即可在计算机上运行
(3)在一个C程序中()。
A.main函数出现在所有函数之前。
C程序不必都有main函数
B.main函数可以在任何地方出现。
一个C程序必须有且仅有一个main函数
C.main函数必须出现在所有函数之后。
一个C程序只能有一个main函数
D.main函数出现在固定位置。
一个C程序可以有多个main函数
(4)C语言程序由()组成。
A.子程序B.主程序和子程序C.函数D.过程
(5)源程序要正确地运行,必须要有()函数。
A.printf函数B.自定义的函数C.main函数D.不需要函数
(6)要把高级语言编写的源程序转换为目标程序,需要使用()。
A.编辑程序B.驱动程序C.诊断程序D.编译程序*
(7)以下叙述正确的是()。
A.C语言比其他语言高级
B.C语言可以不用编译就能被计算机识别执行
C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D.C语言出现的最晚、具有其他语言的一切优点
(8)能将高级语言编写的源程序转换成目标程序的是()。
A.链接程序B.解释程序C.编译程序D.编辑程序
(9)用C语言编写的代码程序()。
A.可立即执行B.是一个源程序C.经过编译即可执行D.经过编译解释才能执行(10)以下叙述中正确的是()。
A.用C程序实现的算法必须要有输入和输出操作
B.用C程序实现的算法可以没有输出但必须要有输入
C.用C程序实现的算法可以没有输入但必须要有输出
D.用C程序实现的算法可以既没有输入也没有输出
(11)C语言是一种()。
A.机器语言B.汇编语言C.高级语言D.低级语言
(12)下列各项中,不是C语言的特点是()。
A.语言简洁、紧凑,使用方便B.数据类型丰富,可移植性好
C.能实现汇编语言的大部分功能D.有较强的网络操作功能
(13)下列叙述正确的是()。
A.C语言源程序可以直接在DOS环境中运行
B.编译C语言源程序得到的目标程序可以直接在DOS环境中运行
C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行
D.TurboC系统不提供编译和连接C程序的功能
(14)下列叙述错误的是()。
A.C序中的每条语句都用一个分号作为结束符
B.C程序中的每条命令都用一个分号作为结束符
C.C程序中的变量必须先定义,后使用
D.C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写
(15)一个C程序的执行是从()。
A.本程序的main函数开始,到main函数结束
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C.本程序文件的第一个函数开始,到本程序main函数结束
D.本程序的main函数开始,到本程序文件的最后一个函数结束
(16)以下叙述不正确的是()。
A.一个C源程序必须包含一个main函数B.一个C源程序可由一个或多个函数组成C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面
(17)C语言规定:
在一个源程序中,main函数的位置()。
A.必须在程序的开头B.必须在系统调用的库函数的后面
C.可以在程序的任意位置D.必须在程序的最后
(18)一个C语言程序是由()。
A.一个主程序和若干个子程序组成B.函数组成
C.若干过程组成D.若干子程序组成
(19)一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是()。
A.有零个或多个输入B.有零个或多个输出C.有穷性D.可行性
(20)以下叙述正确的是()。
A.C语言的源程序不必通过编译就可以直接运行。
B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令。
C.C语言源程序经编译形成的二进制代码可以直接运行。
D.C语言中的函数不可以单独进行编译。
(21)为解决某一特定问题而设计的指令序列称为()。
A.文档B.语言C.程序D系统
(22)用高级程序设计语言编写的程序称为()。
A.目标程序B.可执行程序C.源程序D.伪代码
(23)能将高级语言编写的源程序转换成目标程序的是()。
A.编辑程序B.编译程序C.驱动程序D.链接程序
(24)下列叙述中正确的一条是()。
A.计算机语言中,只有机器语言属于低级语言。
B.高级语言源程序可以被计算机直接执行。
C.C语言属于高级语言。
D.机器语言与所用机器无关的。
(25)设有以下定义:
inta=0;doubleb=1.25;charc=’A’;
#defined2则下面语句中,错误是()。
A.a++;B.b++;C.c++;D.d++;
(26)以下对C语言的描述中正确是()。
A.C语言源程序中可以有重名的函数。
B.C语言源程序要求每行只能书写一条语句。
C.注释可以出现在C语言源程序中的任何位置。
D.最小的C语言源程序中没有任何内容
(27)以下说法中正确的是()。
A.#define和printf都是C语句。
B.#define是C语句,而printf不是。
C.printf是C语句,但#define不是。
D.#define和printf都不是C语句。
(28)C语言是在()语言的基础上产生的。
A.AB.BC.DD.E
(29)在C语言中,每个语句必须以()结束。
A.回车符B.冒号C.逗号D.分号
(30)用C语言编写的源文件经过编译,若没有产生编译错误,则系统将()。
A.生成可执行目标文件B.生成目标文件C.输出运行结果D.自动保存源文件
(31)下列说法中正确的是()。
A.由于C源程序是高级语言程序,因此一定要在TC软件中输入
B.由C源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入C.由于C程序是高级语言程序,因此输入后即可执行
D.由于C程序是高级语言程序,因此它由命令组成
(32)下列说法中正确的是()。
A.C语言程序由主函数和0个或多个函数组成
B.C语言程序由主程序和子程序组成
C.C语言程序由子程序组成
D.C语言程序由过程组成
(33)下列说法中错误的是()。
A.主函数可以分为两个部分:
主函数说明部分和主函数体
B.主函数可以调用任何非主函数的其他函数
C.任何非主函数可以调用其他任何非主函数
D.程序可以从任何非主函数开始执行
(34)标识符和关键字间,要用()隔开。
A.回车符B.冒号C.空格D.分号
(35)完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为()。
A.连接、编译B.连接、运行C.编译、运行D.编译、连接
(36)以下并非C语言的特点的是()。
A.C语言简洁和紧凑B.能够编制出功能复杂的程序
C.C语言可以直接对硬件进行操作D.C语言移植性好
(37)下列说法正确的是()。
A.在执行C程序时不是从main()函数开始的
B.C程序书写格式限制严格,一行内必须写一个语句
C.C程序书写格式比较自由,一个语句可以分行写在多行上
D.C程序书写格式严格要求一行内必须写一个语句,并要求行
(38)C程序中能直接让机器执行的文件是()。
A.编辑后的.c源文件B.通过编译的.obj文件
C.通过连接的.exe文件D.编辑后的.bak文件
(39)以下叙述不正确的是()。
A.C程序由函数构成B.一个C程序至少包含一个main函数
C.main函数可以调用main函数D.main函数是每个程序执行的起始点
(40)下列语言中,CPU能直接识别的是()。
A.自然语言B.高级语言C.汇编语言D.机器语言
二、判断题:
(1)C语言程序总是从main函数第一条可执行语句开始执行,在main函数结束。
()
(2)main函数必须写在一个C程序的最前面。
(×)
(3)一个C程序可以包含若干个函数。
(√)
(4)C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。
但是可以增加程序的可读性。
(√)
(5)C程序的注释只能是一行。
(×)
(6)C程序的注释不能是中文文字信息。
(×)
(7)可以使用TurboC来编译和连接一个C程序。
(√)
(8)可以使用TurboC来运行一个C程序。
(√)
(9)可以使用TurboC来实时调试(即动态调试)一个C程序。
(√)
(10)Vasualc++6.0中可以使用“//”和“/**/”注释程序,注释部分不编译。
(√)
(11)将C程序编译成目标文件,其扩展名为EXE。
(×)
(12)C语言具有简洁明了的特点。
(√)
(13)预处理命令的前面必须加一个“#”号。
(√)
(14)C语言是一种具有某些低级语言特征的高级语言。
(√)
(15)C语言的应用比较广泛,不仅能够用来编写应用软件,而且能够编写系统软件。
(√)
(16)C语言可以中可以有多个函数,但只能有一个主函数。
(√)
(17)一个C程序可以由多个源程序文件构成,但其中只能有一个main()函数。
(√)
(18)C语言采用解释方式将源程序转换为二进制的目标代码。
(× )
(19)用C语言可直接进行位运算和取地址等运算,因此C语言是一种低级语言。
(×)
(20)C程序是由函数构成的,每一个函数完成相对独立的功能。
(√ )
(21)在C源程序中,之间的注释信息也被编译,但对程序运行运果不发生影响。
(× )
(22)在C语言中,字母的大小写不被区分。
(× )
(23)C语言中没有依存于硬件的I/O语句。
( √)
(24)按现代风格设计的C程序中,main中对函数声明的信息与定义此函数时第一行的信息完全相同。
(√ )
(25)对C语言中用到的任何一个变量都要规定其类型。
( √)
(26)计算机的一切操作都是由程序控制的,离开了程序,计算机将一事无成。
(√)
(27)由于计算机能直接识别和接受机器指令,所以机器语言是最适合人们编程的语言。
(×)
(28)编译程序可以把用高级语言写的程序转换为机器指令的程序。
(√)
(29)一般而言,我们把用高级语言编写的程序称为目标程序。
(×)
(30)C语言源程序在生成可执行程序前,应该先编译再连结。
(√)
(31)高级语言之所以高级,就在于用它来编写程序可以不遵循任何形式。
(×)
(32)语言程序设计自由度大,所以属于非结构化语言。
(×)
(33)C语言属于高级语言,不允许直接访问物理地址。
(×)
(34)所谓程序就是一组计算机能识别和执行的指令。
(√)
(35)函数是C程序的主要组成部分。
(√)
(36)C语言俗称"低级语言的高级形式",这说明C语言的功能不强。
(×)
(37)C语言是一种结构化程序设计语言。
(√)
(38)C语言是一种面向对象的程序设计语言。
(×)
(39)C程序总是从程序的第一条语句开始执行。
(40)C语言的祖先是B语言。
(√)
第二章数据类型、运算符与表达式
一、选择题
(1)下列叙述正确的是()。
A.C语言中既有逻辑类型也有构造类型数据
B.C语言中没有逻辑类型,但有构造类型
C.C语言中有逻辑类型,但没有构造类型
D.C语言中既没有逻辑类型也没有构造类型
(2)下列关于C语言用户标识符的叙述中正确的是()。
A.用户标识符中可以出现下划线和中划线(减号)
B.用户标识符中不可以出现中划线,但可以出现下划线
C.用户标识符中可以出现下划线,但不可以放在标识符开头
D.用户标识符中可以出现下划线和数字,他们都可以放在标识符开头
(3)下列转义字符中,错误的是()。
A.‘\0xa5’B.‘\031’C.‘\b’D.‘\”’
(4)字符串“\\\\1234\\\\\n”在内存中占用的字节数是()。
A.14B.9C.10D.1
(5)已知梯形的上底为a,下底为b,高为h,用C语言写的正确的面积公式是()。
A.1/2*(a+b)*hB.1.0/2*(a+b)*hC.1.0/2.0(a+b)hD.1.0/2*a+b*h
(6)与k=n++完全等价的表达式是()。
A.n=n+1,k=nB.k+=n+1C.K=++nD.k=n,n=n+1
(7)在C语言中int,char和shortint三种类型变量所占用的内存大小是()。
A.均为2个字节B.由用户自己定义C.由所用机器的字长决定D.是任意的
(8)若有以下类型说明语句chara;intb;floatc;shortintd;则表达式c*b+a*d的结果类型是()。
A.charB.intC.doubleD.float
(9)若有说明语句intw=1,x=2,y=3,z=4;则表达试w>x?
w:
z>y?
z:
x的值是()。
A.4B.3C.2D.1
(10)设x,y为int型变量,则执行下列语句后y的值是()。
x=5;y=x++*x++;y=--y*--y;
A.625B.2401C.1209D.529
(11)下面的符号常量定义中,正确的是()。
A.#definePI3.14;B.#includePI3.14;
C.#definePI=3.14D.#definePI3.14
(12)指出下面合法的标识符()。
A.3abB.intC.ABCD.#abc
(13)指出下面()是保留字。
A.charB.abcC.printfD.Int
(14)下面()个数据类型不是C语言的基本数据类型。
A.整型B.枚举型C.指针型D.字符型
(15)这段程序中,不是常量的有()。
#definePI3.14
voidmain()
{
intsum;
sum=10+15;
printf("sum=%d\n",sum);
printf("resultis25\n");
}
A.10B.sumC.15D.PI
(16)如果要把常量327存入变量a中,a不能定义成()类型
A.intB.charC.longD.float
(17)下面哪个表达式的值为4。
A.11/3B.11.0/3C.(float)11/3D.(int)(11.0/3+0.5)
(18)设正x、y均为整型变量,且x=10y=3,则以下语句的输出结果是()。
printf(”%d,%d\n”,x--,--y);
A.10,3B.9,3C.9,2D.10,2
(19)指出下面错误的表达式()。
A.5.6+6.2%3.1B.2C.a=4D.a=5,b=6,c=7
(20)已知a为整型变量,那么与表达式a!
=0真假值情况不相同的表达式有()。
A.a>0||a<0B.aC.!
a==0D.!
a
(21)下面()是非法的C语言转义字符。
A.'\t'B.'\08'C.'\xaf'D.'\\'
(22)若有以下说明语句:
chars='\\\092';
则下面()是正确的.
A.使s的值包含2个字符B.说明语句不合法
C.使s的值包含6个字符D.使s的值包含4个字符
(23)若k,g均为int型变量,则以下语句的输出为()。
intk,g;
k=o17;
g=111;
printf("%d,",k);
printf("%x\n",g);
A.15,6fB.f,6fC.f,111D.15,111
(24)请从下面的选项中选出不正确的C语言的转义字符。
()
A.'\t'B.'\''C.'//'D.'\n'
(25)()是C语言提供的合法的数据类型关键字。
A.FloatB.signedC.integerD.Char
(26)在C语言中,要求参加运算的数必须时整数的运算符是()。
A./B.*C.%D.=
(27)在C语言中,字符型数据在内存中以()形式存放。
A.原码B.BCD码C.反码D.ASCII码
(28)在C语言中,整型数据在内存中以()形式存放。
A.原码B.BCD码C.反码D.补码
(29)下列选项中,合法的C语言关键字是()。
A.VARB.cherC.integerD.default
(30)以下有4组用户标识符,其中合法的一组是()。
A.ForB.4dC.f2_G3D.WORD
subDOIFvoid
CaseSizeabcdefine
(31)以下选项中,非法的字符常量是()。
A.‘\t’B.‘\17’C.“n”D.‘\xaa’
(32)以下选项中合法的字符常量是()。
A.“B”B.‘\010’C.68D.A
(33)在C语言中,合法的长整型常数是()。
A.0LB.4962710C.324562&D.216D
(34)下列变量定义中合法的是()。
A.short_a=1-.le+1;B.doubleb=1+5e2.5;
C.longdo=0xfdaL;D.float2_and=1-e-3;
(35)以下所列的C语言常量中,错误的是()。
A.0xFFB.1.2e0.5C.2LD.‘\72’
(36)设有说明语句:
chara=’\72’,则变量a()。
A.包含1个字符B.包含2个字符C.包含3个字符D.说明不合法
(37)下列不正确的转义字符是()。
A.'\\'B.'\''C.'074'D.'\0'
(39)以下选项中属于C语言的数据类型是()。
A.复数型B.逻辑型C.双精度型D.集合型
(40)设有intx=11;则表达式(x++*1/3)的值是
A.3B.4C.11D.12
(41)下列程序的输出结果是()。
A.3B.3.2C.0D.3.07
voidmain()
{doubled=3.2;
intx,y;
x=1.2;
y=(x+3.8)/5.0;
printf("%d\n",d*y);
}
(42)设intx=1,y=1;表达式(!
x||y--)的值是()。
A.0B.1C.2D.–1
(43)若变量已正确定义并赋值,下面符合C语言语法的表达式是()
A.a:
=b+1B.a=b=c+2Cint18.5%3D.a=a+7
(44)C语言中运算对象必须是整型的运算符是()。
A.%=B./C.=D.<=
(45)若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是()。
A.1B.2C.2.0D.2.5
(46)若变量a、i已正确定义,且i已正确赋值,合法的语句是
A.a==1B.++i;C.a=a++=5;D)a=int(i);
(47)若有以下程序段,intc1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是
A.0B.0.5C.1D.2
(48)能正确表示逻辑关系:
“a≥=10或a≤0”的C语言表达式是()。
A.a>=10ora<=0B.a>=0|a<=10C.a>=10&&a<=0D.a>=10‖a<=0
(49)设x、y、t均为int型变量,则执行语句:
x=y=3;t=++x||++y;后,y的值为()。
A.不定值B.4C.3D1
(50)若变量c为char类型,能正确判断出c为小写字母的表达式是()。
A.‘a’<=c<=‘z’B.(c>=‘a’)||(c<=‘z’)
C.(‘a’<=c)and(‘z’>=c)D.(c>=‘a’)&&(c<=‘z’)
二、判断题
(1)C语言程序的变量必须先定义再使用。
(√)
(2)C语言认为名为Student和student的变量是不同变量。
(√)
(3)C语言中,字符常量可以用单引号或双引号括起来。
(×)
(4)设一个C系统的float型有效数字是7位,则超过7位数的运算是不准确的。
(√)
(5)C语言与其他高级语言一样具有结构化的控制语句。
(√)
(6)在C程序中对用到的所有数据都必须指定其数据类型。
(×)
(7)一个变量在内存中占据一定的存储单元。
(√)
(8)一个实型变量的值肯定是精确的。
(×)
(9)对几个变量在定义时赋初值可以写成:
inta=b=c=3;(×)
(10)自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。
(√)
(11)在C程序的表达式中,为了明确表达式的运算次序,必须使用括号“()”。
(×)
(12)%运算符要求运算数必须是整数。
(√)
(13)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数。
(×)
(14)在C程序中,逗号运算符的优先级最低。
(√)
(15)C语言不允许混合类型数据间进行运算。
(×)
(16)数据是操作的对象,操作的结果会改变数据的状况。
(√)
(17)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 习题