第一章 C语言概述 一 单项选择题
1.一个C程序的执行是从( )。
A) 本程序的main函数开始,到main函数结束
B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序的main函数开始,到本程序文件的最后一个函数结束 D) 本程序文件的第一个函数开始,到本程序的main函数结束 2.以下叙述正确的是( )。
A) 在C程序中,main函数必须位于程序的最前面 B) C程序的每行中只能写一条语句 C) C语言本身没有输入输出语句
D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 3.以下叙述不正确的是( )。
A) 一个C源程序可由一个或多个函数组成 B) 一个C源程序必须包含一个main函数 C) C程序的基本组成单位是函数
D) 在C程序中,注释说明只能位于一条语句的后面
4.C语言规定,在一个源程序中,main函数的位置( )。
A) 必须在最开始 B) 必须在系统调用的库函数的后面 C) 可以任意 D) 必须在最后 5.一个C语言源程序是由( )。
A) 一个主程序和若干子程序组成 B) 函数组成
C) 若干过程组成 D) 若干子程序组成
二 填空题
1.C源程序的基本单位是 函数 。
2.一个C源程序中至少应包括一个 main函数 。 3.在一个C源程序中,注释部分两侧的分界符分别为 /* 和 */ 。 4.一个函数是由两部分组成的,它们分别是 函数首部 和 函数体 。
5.在C语言中,一个函数的函数体一般包括 声明部分 和 执行部分 。
6.在每个C语句和数据定义的最后必须有一个 ; 。
7.C语言本身没有输入输出语句。其输入输出是由 函数 来完成。 8.程序是指 一组能使计算机识别和执行的指令,每一个指令都使计算机能够执行相应的操
作。 。 9.源程序是指 用高级语言编写的程序 。C源程序文件的扩展名为 .c 。
10.目标程序是指 计算机不能识别和执行高级语言程序,只能通过高编译系统将高级语言程序转化为二进制的目标程
序 。目标程序文件的扩展名为 .obj 。
11.可执行程序是指 将目标函数和系统的函数库以及其它目标函数链接起来行程可执行程序 。可执行程序文件的扩展名为 .exe 。
12.上机运行一个C源程序的步骤一般为:① 输入和编辑源程序 ;
② 编译源程序 ;③ 连接库函数 ;④ 生成可执行程序 。
第三章 数据类型、运算符与表达式 一 单项选择题
1.下面四个选项中,均不是c语言关键字的选项是( )。 A) define IF Type B) getc char printf C) include scanf case D) while go pow
2.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( )。
A) 必须为字母 B) 必须为下划线
C) 必须为字母或下划线 D) 可以是字母、数字和下划线中任一种字符 3.下列四个选项中,均是C语言关键字的选项是( )。
A) auto enum include B) switch typedef continue C) signed union scanf D) if struct type 4.下面四个选项中,均是不合法的用户标识符的选项是( )。 A) A P_0 do B) float la0 _A C) b-a goto int D) _123 temp int 5.以下有4组用户标识符,其中合法的一组是( )。 A) For -sub Case B) 4d DO Size
C) f2_G3 IF abc D) WORD void define 6.下列选项中,合法的C语言关键字是( )。
A) VAR B) cher C) integer D) default 7.下面四个选项中,均是合法整型常量的选项是( )。 A) 160 -0xffff 011 B) -0xcdf 01a 0xe C) –01986 012 0668 D) -0x48a 0x2e5 0xe
8.下面四个选项中,均是正确的八进制数或十六进制数的选项是( )。 A) -10 0x8f -011 B) 0abc -017 0xc C) 010 -0x11 0xf1 D) 0a12 -0x123 -0xa
9.设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为( )。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 10.在C语言中,不正确的int类型的常数是( )。 A)32768 B)0 C)037 D)0xAF(11101111=128+64+32+8+4+2+1)
11.下面四个选项中,均是不合法的整型常量的选项是( )。 A) -0f1 -0xffff 0011 B) -0xcdf 017 12456 C) -018 999 5e2 D) -0x48eg -068 03f
12.下面四个选项中,均是不合法的浮点数的选项是( )。 A) 160. 0.12 e3 B) 123 2e4.2 .e5 C) -.18 123e4 0.0 D) -e3 .234 1e3 13.下面四个选项中,均是合法的浮点数的选项是( )。
A) +1e+1 5e-9.4 03e2 B) -.60 12e-4 -8e5 C) 123e 1.2e-.4 +2e-1 D) -e3 .8e-4 5.e-0 14.下列变量定义中合法的是( )。
A) short _a=1-.le-1; B) double b=1+5e2.5; C) long do=0xfdaL; D) float 2_and=1-e-3; 15. 以下选项中合法的字符常量是( )。 A) “B” B) ?\\010? C) 68 D) D 16.以下选项中,非法的字符常量是( )。
A) '\\t' B) '\\17' C) \ D) '\\xaa' 17.以下所列的C语言常量中,错误的是( )。
A) 0xFF B) 1.2e0.5 C) 2L D) ?\\72? 18.在C语言中,char型数据在内存中的存储形式是( )。 A) 补码 B) 反码 C) 原码 D) ASCII码 19.下面四个选项中,均是合法转义字符的选项是( )。 A) ?\\?? ?\\\\? ?\\n? B) ?\\? ?\\017? ?\\”? C) ?\\018? ?\\f? ?xab? D) ?\\\\0? ?\\101? ?xlf? 20.下面四个选项中,均是不合法的转义字符的选项是( )。 A) ?\\””? ?\\\\? ?\\xf? B) ?\\1011? ?\\? ?\\a? C) ?\\011? ?\\f? ?\\}? D) ?\\abc? ?\\101? ?xlf? 21.下面正确的字符常量是( )。
A) “c” B) ?\\\\?? C) ?W? D) ??
22.下面四个选项中,均是正确的数值常量或字符常量的选项是( )。 A) 0.0 0f 8.9e ?&? B) ?a? 3.9e-2.5 1e1 ?\\?? C) ?3? 011 0xff00 0a D) +001 0xabcd 2e2 50. 23.下面不正确的字符串常量是( )
A) ?abc? B) ”1212” C) ”0” D) ” ”
24.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为( )。
A) char C) char 25.若有说明语句:char c='\\72';则变量c( )。 A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,c的值不确定 26.设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为( )。 A) int B) float C) double D) 不确定 27.表达式18/4*sqrt(4.0)/8值的数据类型为( )。 A) int B) float C) double D) 不确定 28.设有说明:char w; int x; float y; double z; 则表达式w*x+z-y值的数据类型为( )。 A) float B) char C) int D) double 29.以下选项中属于C语言的数据类型是( )。 A) 复数型 B) 逻辑型 C) 双精度型 D) 集合型 30.以下程序的输出结果是 main() { char c=‘z'; printf(“%c”,c-25); } A) a B) Z C) z-25 D) y 31.若有定义:int a=7; float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是( )。 A) 2.500000 B) 2.750000 C) 3.500000 D) 0.000000 32.若有代数式3ae/bc,则不正确的c语言表达式是( )。 A) a/b/c*e*3 B) 3*a*e/b/c C) 3*a*e/b*c D) a*e/c/b*3 33.设有 int x=11; 则表达式 (x++ * 1/3) 的值是( )。 A) 3 B) 4 C) 11 D) 12 34.以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子x/yz的C语言表达式是( )。 A) x/y*z B) x*(1/(y*z)) C) x/y*1/z D) x/y/z 35.C语言中运算对象必须是整型的运算符是( )。 A) %= B) / C) = D) <= 36.下列程序的输出结果是( )。 main() { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf(\} A) 3 B) 3.2 C) 0 D) 3.07 37.若x,i,j和k都是int型变量,则计算下面表达式x=(i=4, j=16, k=32) 后,