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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。