C 语言试题库
\1
A
-个 C 程序的执行是从
A)本程序的 main 函数开始,到 main 函数结束
B)本程序文件的第-个函数开始,到本程序文件的最后-个函数结束
C)本程序的 main 函数开始,到本程序文件的最后-个函数结束
D)本程序文件的第-个函数开始,到本程序 main 函数结束
\2
C
以下叙述正确的是:
A)在 C 程序中,main 函数必须位于程序的最前面
B)C 程序的每行中只能写-条语句
C)C 语言本身没有输入输出语句
D)在对-个 C 程序进行编译的过程中,可发现注释中的拼写错误
\3
D
以下叙述不正确的是
A)-个 C 源程序可由-个或多个函数组成
B)-个 C 源程序必须包含-个 main 函数
C)C 程序的基本组成单位是函数
D)在 C 程序中,注释说明只能位于-条语句的后面
\4
C
C 语言规定:在-个源程序中,main 函数的位置
A)必须在最开始
B)必须在系统调用的库函数的后面
C)可以任意
D)必须在最后
\5
B
-个 C 语言程序是由
A)-个主程序和若干子程序组成
C)若干过程组成
\6
A
在 C 语言中(以 16 位 PC 机为例),5 种基本数据类型的存储空间长度的排列顺序为
A)char
D)52
B)16
C
若 x,i,j 和 k 都是 int 型变量,则执行下面表达式后 x 的值为
x=(i=4,j=16,k=32)
A)4
C)32
\8
B
假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是:
A)7
\9
A
下列四组选项中,均不是 C 语言关键字的选项是
D)while
A)define
B)8
C)6
D)2
IF
B)geto
char
printf
C)include
scanf
case
go
pow
A
do
-A
int
INT
P_0
1a0
goto
temp
enum
typedef
union
struct
include
continue
scanf
type
type
\10
B
下面四个选项中,均是 C 语言关键字的选项是
A)auto
B)switch
C)signed
D)if
\11
C
下面四个选项中,均是不合法的用户标识符的选项是
A)
B)float
C)b-a
D)-123
\12
C
C 语言中的标识符只能由字母、数字和下划线三种字符组成,且第-个字符
A) 必须为字母
B)必须为下划线
C)必须为字母或下划线
D)可以是字母,数字和下划线中任-种字符
\13
A
下面四个选项中,均是合法整型常量的选项是:
A)160
-0xffff
011
\14
D
下面四个选项中,均是不合法的整型常量的选项是:
C)-01
986, 012
D)-0x48a
B)-0xcdf
0668
01a
0xe
2e5
0x
017
12,456
B)-0Xcdf
C)-018
999
A)--0f1
-0xffff
0011
\15
B
下面四个选项中,均是不合法的浮点数的选项是
A)160.
C)-.18
D)-e3
B)123
5e2
D)-0x48eg
-068
03f
0.12
e3
2e4.2
.e5
123e4
0.0
.234
1e3
+le+1
D)-e3
'101'
'xlf'
'\f'
'xab'
1.2e-.4
+2e-1
B)-.60
C)
123e
C)'\018'
D)'\\0'
B)'\1011'
.8e4
5.e-0
12e-4
-8e5
'\017'
'\"'
\16
b
下面四个选项中,均是合法浮点数的选项是
A)
5e-9.4
03e2
\17
A
下面四个选项中,均是合法转义字符的选项是
A)'\''
'\\'
'\n'
\18
B
下面四个选项中,均是不合法的转义字符的选项是
A)'\''
'\\'
'\xf'
\19
C
下面正确的字符常量是:
A)"a"
\20
d
下面四个选项中,均是不正确的八进制数或+六进制数的选项是。
A)
0x8f
018
\21
C
下面四个选项中,均是正确的八进制数或+六进制数的选项是。
A)-10
0x8f
-011
\22
C)'\011'
'\f'
'\}'
D)
7ff
-123
-0xl23
-0x8
'\101'
'xlf'
-0x11
0x16
-017
0xc
'\'
'\a'
D)
0al2
B)'\\''
C)'W'
D)''
016
B)oabc
B)0abc
C)0010
C)010
0a12
-0x11
0xf1
D)'\abc'
B)'\'
017
0x8
k,a,b;
w= 5;
x=1.42;
C)'3'
011
0xFFOO
0a
B)"a"
3.9E-2.5
lel
'\'''
D)+001
0xabcd
2e2
50.
B)3*a*e/b/c
D)a*e/c/b*3
B)"12'12"
C)"0"
D)""
d
下面四个选项中、均是正确的数值常量或字符常量的选项是:
A)0.0
0f
8.9e
'&'
\23
A
下面不正确的字符串常量是
A)'abc'
\24
c
若有代数式 3ae/bc,则不正确的 C 语言表达式是:
A) a/b/c*e*3
C)3*a*e/b*c
\25
A
已知各变量的类型说明如下:
int
unsigned long
double
则以下不符合 C 语言语法的表达式是:
A)
C)k=(a=2,b=3,a+b)
\26
A
已知各变量的类型说明如下:
int i=8,k,a,b;
unsigned long
double
则以下符合 C 语言语法的表达式是:
A)a+=a-=(b= 4)*(a=3)
C)x%(-3)
\27
D
以下不正确的叙述是
A)在 C 程序中,逗号运算符的优先级最低
B)在 C 程序中,APH 和 aph 是两个不同的变量
C)若 a 和 b 类型相同,在执行了赋值表达式 a=b 后 b 中的值将放人 a 中,而 b 中的值不变。
D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
\28
D
以下正确的叙述是:
A)在 C 程序中,每行中只能写-条语句
B)w+=-2
D)a+= a-=(b=4)*(a=3)
w=5;
x=1.42,y=5.2;
B)a=a*3=2
D)y=f1oat(i)
x%(-3)
B)68
D)C
B)++
C)!=
D)%
D)10
B)8
C)9
C)不确定的值
B)d=9+e,f=d+9
D)d=9+e++=d+7
B)若 a 是实型变量,C 程序中允许赋值 a=10,因此实型变量中允许存放整型数
C)在 C 程序中,无论是整数还是实数,都能被准确无误地表示
D)在 C 程序中,%是只能用于整数运算的运算符
\29
B
以下符合 C 语言语法的赋值表达式是
A)d=9+e+f=d+9
C)d=9+e,e++,d+9
\30
A
已知字母 A 的 ASCII 码为+进制数 65,且 c2 为字符型,
则执行语句 c2='A'+'6'-'3';后,c2 中的值为
A)D
\31
D
在 C 语言中,要求运算数必须是整型的运算符是:
A)/
\32
A
若以下变量均是整型,且 num=sum=7;则执行表达式 sUM=num++,sUM++,++num 后 sum 的值为
A)7
\33
D
在 C 语言中,int、char 和 short 种类型数据在内存中所占用的字节数
A)由用户自己定义
C)是任意的
\34
A
若有说明语句:char c='\72'则变量 c
A)包含 1 个字符 B)包含 2 个字符
C)包含 3 个字符 D)说明不合法,c 的值不确定
\35
A
若有定义:int a=7;float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2/4 的值是
A)2.500000
\36
B
sizeof(float)是:
A)-个双精度型表达式
C)-种函数调用
\37
C
设变量 a 是整型,f 是实型,i 是双精度型,则表达式 10+'a'+i*f 值的数据类型为
A)int
B)均为 2 个字节
D)由所用机器的机器字长决定
B)-个整型表达式
D)-个不合法的表达式
B)float
C)double
D)不确定
B)2.7500OO
C)3.500000
D)0.000000。
B)反码
'\0'
"a"
'\01'
12,456
C)原码
D)ASCII 码
B)'\\'
c)-0xl8
D)0xabc
01177
0xf
B)float
C)double
D)n=(n/100+0.5)*100.0
\38
A
下面四个选项中,均是非法常量的选项是
A)'as'
-0fff
'\0xa'
\39
D
在 C 语言中,char 型数据在内存中的存储形式是:
A)补码
\40
B
设变量 n 为 f1oat 类型,m 为 int 类型,则以下能实现将 n 中的数
值保留小数点后两位,第三位进行四舍五人运算的表达式是:
A)n=(n*100+0.5)/100.0
B)m=n*100+0.5 ,n= m/100.0
C)n=n*100+0.5/100.0
\41
C
表达式 18/4*sqrt(4.0)/8 值的数据类型为:
A)int
\42
C
设 C 语言中,-个 int 型数据在内存中占 2 个字节,
则 unsigned
A)0~255
\43
D
设有说明:char w; int x;
则表达式 w* x+z-y 值的数据类型为:
A)float
\44
D
若有以下定义,则能使值为 3 的表达式是:
int
A)x%=(k%= 5)
C)x%=k- k%5
\45
C
设以下变量均为 int 类型,则值不等于 7 的表达式是
A)(x= y= 6,
x+y,x+1)
C)(x= 6,x+1,y= 6,x+y)
\46
D
putchar 函数可以向终端输出-个:
int 型数据的取值范围为:
B)0~32767
B)(x= y= 6,x+y,y+1)
D)(y=6,y+l,x = y,x+1)
B)x%=(k-k%5)
D)(x%=k)-(k%=5)
f1oat
y;
double
z;
B)char
C)int
k= 7,x =12;
C)0~65535
D)0~2147483647
D)不确定
D)double
A)整型变量表达式值
B)实型变量值
C)字符串
D)字符或字符型变量值
\47
B
printf 函数中用到格式符%5s ,其中数字 5 表示输出的字符串占用 5 列。
如果字符串长度大于 5,则输出按方式
A)从左起输出该字串,右补空格
B)按原字符长从左向右全部输出
C)右对齐输出该字串,左补空格
D)输出错误信息
\48
C
printf 函数中用到格式符%5s ,其中数字 5 表示输出的字符串占用 5 列。
如果字符串长度小于 5,则输出按方式。
A)从左起输出该字串,右补空格
B)按原字符长从左向右全部输出
C)右对齐输出该字串,左补空格
D)输出错误信息
\49
D
已有定义 int a=-2;和输出语句:printf("%8lx",a);以下正确的叙述是:
A)整型变量的输出格式符只有%d-种
B)%x 是格式符的-种,它可以适用于任何-种类型的数据
C)%x 是格式符的-种,其变量的值按+六进制输出,但%8lx 是错误的
D)%8lx 不是错误的格式符,其中数字 8 规定了输出字段的宽度
\50
D
若 x ,y 均定义为 int 型,z 定义为 double 型,以下不合法的
scanf 函数调用语句是:
A)
B)
C)
D)
\51
A
已有如下定义和输入语句 ,若要求 a1,a2,c1,c2 值分别为 10,20,A 和 B,
当从第-列开始输入数据时,正确的数据输入方式是
int
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
A)10A 20B< CR>
B)10 A 20 B
C)10A20
\52
scanf(" %d%lx,%le",&x,&y,&z);
scanf("%2d * %d%lf"&x,&y,&z );
scanf("%x %* d%o",&x,&y);
scanf("%x%o%6.2f",&x,&y,&z);
D)10A20 B。
a1,a2;
char
c1,c2;
f1oat
f1oat
AB
B)123
C)45
D)
345
B)45.0000
a1,a2;
char
c1,c2;
y;且执行 scanf("%3d%f",&x,&y);语句,
y;且执行 scanf("%3d%f",&x,&y);语句,
678(回车),则 y 的值为:
D)123.00000
C)678.000000
B)10 20AB
D)10 20AB
B
已有定义 int x;
若从第 1 列开始输入数据 12345678(回车),则 x 的值为
A)12345
\53
B
已有定义 int x;
若从第-列开始输入数据 12345
A)无定值
\54
D
已有如下定义和输入语句,若要求 a1,a2,c1,c2 的值分别为 10,20,A,B,
当从第-列开始输入数据时,正确的数据输入方式是:
int
scanf("%d%d",&a1,&a2);
scanf("%c%c",&c1,&c2);
A)1020AB
C)10 20
\55
D
已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为
main()
{int a;float f;
printf("\nInput number:");
输入语句
printf("\nf=%f,a= %d\n ,f,a);
}
Input
A)scanf("%d,%f",&a,&f);
C)scanf("%d%f",&a,&f);
\56
B
根据定义和数据的输入方式,输入语句的正确形式为:
已有定义:
数据的输入方式:4.52
3.5
A)scanf("%f,%f",&f1,&f2);
C)scanf("%3.2f%2.1f",&f1,&f); D)scanf("%3.2f%2.1f",&f1,&f2);
\57
D
阅读以下程序,当输入数据的形式为 25,13,10正确的输出结果为:
main()
{int x,y,z
scanf("%d%d%d",&x,&y,&z );
B)scanf("%f,%d",&f,&a)
D)scanf("%f%d",&f,&a);
B)scanf("%f%f",&f1,&f2 );
float
fl,f2;
number:
4.5
2