1、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源程
2、序可由一个或多个函数组成
B)一个C源程序必须包含一个main函数
C)C程序得基本组成单位就是函数
D)在C程序中,注释说明只能位于一条语句得后面
*4、C
C语言规定:在一个源程序中,main函数得位置 。
A)必须在最开始
B)必须在系统调用得库函数得后面
C)可以任意
D)必须在最后
*5、B
一个C语言程序就是由
A)一个主程序与若干子程序组成 B)函数组成
C)若干过程组成 D)若干子程序组成
*6、A
在C语言中(以16位PC机为例),5种基本数据类型得存储空间长度得排列顺序为
A)char 3、ng int<=float 4、9、A
下列四组选项中,均不就是C语言关键字得选项就是
A)define B)getc C)include D)while
IF char scanf go
type printf case pow
*10、B
下面四个选项中,均就是C语言关键字得选项就是
A)auto B)switch C)signed D)if
enum typedef union struct
include continu 5、e scanf type
*11、C
下面四个选项中,均就是不合法得用户标识符得选项就是。
A) A B)float C)ba D)一123
P_0 1a0 goto temp
do 一A int INT
*12、C
C语言中得标识符只能由字母、数字与下划线三种字符组成,且第一个字符
A)必须为字母 B)必须为下划线
C)必须为字母或下划线 6、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 9 7、99 一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)一e 8、3
5e一9、4 12e4 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) 9、'\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 10、 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" 11、 C)'3' D)十001
0f 3、9E2、5 011 0xabcd
8、9e lel 0xFFOO 2e2
'&' '\''' 0a 50、
*23、A
下面不正确得字符串常量就是。
A)'abc' B)"12'12" C)"0" D)""
*24、C
若有代数式3ae/bc,则不正确得C语言表达式就是:
A) a/b/c*e*3 12、 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;
13、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
以下正确得叙述就 14、是:
A)在C程序中,每行中只能写一条语句
B)若a就是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数//存进去后就变成float型了
C)在C程序中,无论就是整数还就是实数,都能被准确无误地表示
D)在C程序中,%就是只能用于整数运算得运算符
*29、B
以下符合C语言语法得赋值表达式就是
A)d=9+e+f=d+9 B) d=9+e,f=d+9
C)d=9十e,e++,d十9 D)d=9十e++=d十7
*30、A
已知字母A得ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'十'6'一'3';后,c2 15、中得值为
A)D B)68 C)不确定得值 D)C
*31、D
在C语言中,要求运算数必须就是整型得运算符就是。
A) / B) ++ c) != D)%
*32、B 7 8 8
若以下变量均就是整型,且num=sum=7;则执行表达式sum=num++,sum++,++num后sum得值为
A) 7 B 8 C) 9 D) 10
*33、D
在 16、C语言中,int、char与short种类型数据在内存中所占用得字节数
A)由用户自己定义 B)均为2个字节
C)就是任意得 D)由所用机器得机器字长决定
*34、A
若有说明语句:char c='\72'则变量c
A)包含1个字符 B)包含2个字符
C)包含3个字符 D)说明不合法,c得值不确定
*35、A
7 7、2 1 0 17、
若有定义:int a=7;float x=2、5,y=4、7;则表达式x+a%3*(int)(x+y)%2/4得值就是
A)2·500000 B)2、7500OO C) 3、500000 D) 0、000000。
*36、B
sizeof(float)就是:
A)一个双精度型表达式 B)一个整型表达式
C)一种函数调用 D)一个不合法得表达式
*37、C
设变量a就是整型,f就是实型,i就是双精度型,则表达式10+'a'+i*f值得数据类型为
A)int 18、 B) float C) double D)不确定
*38、A
下面四个选项中,均就是非法常量得选项就是。
A)'as' B)'\\' c)0xl8 D)0xabc
0fff '\01' 01177 '\0'
'\0xa' 12, 56 0xf"a"
*39、D
在C语言中, char型数据在内存中得存储形式就是:
A)补码 B)反码 C)原码 D)ASCII码
*40、B 19、1、256998
设变量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 D)n=(n/100+0、5)*100、0
*41、C
4 8
表达式18/4*sqrt(4、0)/8值得数据类型为:// sqrt函数返回值为double型
A) int B)float C)double D)不确定
*42、C
设C语言中, 20、一个int型数据在内存中占2个字节,则unsigned int型数据得取值范围为:
A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647
*43、D
设有说明: char w; int x; f1oat y; double z;则表达式w* x+z一y值得数据类型为:
A)float B)char C)int D)double
*44、D
若有以下定义,则能使值为3得表达式就是:
int k= 7,x =12;
A) x%=(k%= 5) B) x%=(k一k% 21、5)
C) x%=k k%5 D) (x%=k)一(k%=5)
*45、C
设以下变量均为int类型,则值不等于7得表达式就是
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、D
putchar函数可以向终端输出一个:
A)整型变量表达式值
B)实型变量值
C)字符串
D)字符或字符型变量值
*47、B
printf函数中用到格式符%5s ,其中数字5表示输出得字符串占用5列。如果字符串长度大于5,则 22、输出按方式
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 23、)%x 就是格式符得一种,其变量得值按十六进制输出,但%8lx 就是错误得
D)%8lx 不就是错误得格式符,其中数字8规定了输出字段得宽度
*50、D
若x ,y均定义为int型,z定义为double型,以下不合法得scanf函数调用语句就是:
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、A
已有如下定义与输入语句 ,若要求a1,a2,c 24、1,c2值分别为10,20,A与B,当从第一列开始输入数据时,正确得数据输入方式就是
int a1,a2; char c1,c2;
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
A)10A 20B< CR> B)10 A 20 B 25、 D) 345
*53、B
已有定义int x; f1oat y;且执行scanf("%3d%f",&x,&y);语句,若从第一列开始输入数据12345 678(回车),则y 得值为:
A)无定值 B)45、0000 C) 678、000000 D) 123、00000
*54、D
已有如下定义与输入语句,若要求a1,a2,c1,c2得值分别为10,20,A,B,当从第一列开始输入数据时,正确得数据输入方式就是:
int a1,a2; char c1,c2;
scanf("%d%d",&a1,&a2);
scanf 26、"%c%c",&c1,&c2);
A) 1020AB 27、 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、D
阅读以 28、下程序,当输入数据得形式为25,13,10 29、er 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)只 30、有格式控制,没有输入项,也能进行正确输入,如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", 31、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、D
有输入语句: scanf("a= %d,b= %d,c=%d",&a,&b,&c);为使变量a得值为1,b为3,c为2,从键盘输入数据得正确形式应当就是
A)132(回车)
B)1,3,2(回车)
C)a=1b=3c=2(回车)
D)a=1,b =3,c =2(回车)
*62、A
以下能正确地定义整 32、型变量a,b与c 并为其赋初值5得语句就是
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、A
已知ch就是字符型变量,下面不正确得赋值语句就是
A)ch='a+b'; B)ch='\0'; C)ch='7'+'9'; D) ch=5+9;
*64、B
已知ch就是字符型变量,下面正确得赋值语句就是
A) ch= '123'; B) ch= '\xff'; C) ch= '\08'; D) ch="\";
*65、B
若有以下定义, 33、则正确得赋值语句就是:
int a,b;float x;
A) a=1,b=2, B)b++; C) a= b= 5 D) b= int(x);
*66、B
设x 、y均为f1oat型变量,则以下不合法得赋值语句就是
A)++x; B)y=(x%2)/10; C) x*=y+8; D)x=y=0;
*67、A
x,y,z均为int型变量,则执行语句x=(y=(z=10)+5)一5;后,x 、y 与之得值就是:
A) x=10 B) x=10 C) x=10 D)x=10
34、 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)赋值运算符< 逻辑与运算符< 关系运算符< 算术 35、运算符
D)算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符
*70、B
下列运算符中优先级最高得就是一一一。
A)< B)十 C)&& D)!=
*71、C
能正确表示"当x 得取值在[1,10]与[200,210]范围内为真,否则为假"得表达式就是一一一。
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)
36、
D) (x > =1)||(x< =10) && (x> = 200)||(x<=210)
*72、C
表示图中坐标轴上阴影部分得正确表达式就是:
/////||//////|
/////||//////|
> X
a b c
A)(X<=A)&&(X>=B)&&(X<=C)
B) (x< =a)||(b<=x<=c)
C)(x<=a)|| (x> =b) && (x<=c)
D)(x < =a)&&(b< = x < = c)
*73、C
判断char型变量ch就是否为大写字母 37、得正确表达式就是一一一。
A)' A' <=ch<='z' B)(ch> = 'A')&(ch<=' z' )
C)(ch>=' A' )&&(ch<='z') D)(' A' < = ch)AND('z'> = ch)
*74、D
设x,y 与z就是int型变量,且x = 3,y= 4,z= 5,则下面表达式中值为0得就是
A)'y'&&'y'
B)x < =y
C) x||y+z&&yz
D) !(x 38、Y) 得值就是
A)0 B)语法错 C)1 D)"假"
*76、C
若希望当A得值为奇数时,表达式得值为"真",A得值为偶数 表达式得值
为"假"。则以下不能满足要求得表达式就是:
A) A%2= =1 B)!(A%2 = =0) C)!(A%2) D) A%2
*77、B
设有 int a = 1,b=2,c =3, d =4, m=2, n=2;
执行(m= a>b)&&(n=c>d)后n得值为:
A)1 B )2 C)3 D)4
* 39、78、 D
判断char型变量c1就是否为小写字母 正确表达式为:
A)' a' <=cl<=' z' B) (cl> = a)&&(cl<=z)
C)(' a' >=cl)||(' z' < = cl) D)(c1>='a')&&(cl<='z')
*79、B
以下程序得运行结果就是:
#i nclude "stdio、h"
main ,, \
{int a,b,d= 241;
a=d/100 % 9
b= (一1)&&(一1 40、);
printf("%d,%d",a ,b);
}
A)6,1 B)2,1 C) 6,0 D)2,0
*80、C
执行以下语句后a得值为:
int a,b,c;
a= b= c= 1;
++a||++b&&++c
A)错误 B) 0 C) 2 D) 1
*81、A
执行以下语句后b 得值为:
int a=5,b=6,w=1,x=2,y=3,z=4;
(a=w>x)&&(b=y>z);
A) 6 B) 0 C) 1 41、 D) 4
*82、C
以下不正确得if语句形式就是:
A)if(x>y && x!=y);
B)if(x= =y) x+=y
C)if(x != y)scanf("%d",&x )else scanf("%d",&y);
D)if(X 42、
B) if (x>0)
{x=x+y;printf("%f",x);}
else printf("f",x);
C) if(x>0)
{x=x+y; prinrf("%f",x);};
else printf("%f",x);
D) if(x > 0)
{ x = x +y;printf("%f",x)}
else printf("%f",x);
*85、D
请阅读以下程序:
main
{int a=5,b=0,c=0;
43、 if(a=b+c) printf("***\n ");
e1se printf("$$$\n");
以上程序 :
A 有语法错不能通过编译 B可以通过编译但不能通过连接
C 输出*** D 输出$$$
*86、C
以下程序得运行结果就是 :
main
{int m=5;
if(m++> 5) printf(" %d\n",m);
e1se printf("%d\n",m );
}
A)4 B 44、)5 C)6 D)7
*87、B
当a=1,b=3,c=5,d=4 ,执行完下面一段程序后x 得值就是 :
if(a 45、0,x =10,y=20,okl=5,ok2=0;
if (x 46、 =1;
printf("%d\n",z);
}
A)3 B )2 C)1 D) 0
*90、B
为了避免在嵌套得条件语句If一else中产生二义性,C语言规定else子句
总就是与( )配对。
A)缩排位置相同得if B)其之前最近得if
C) 之后最近得if D)同一行上得if
*91、B
以下不正确得语句为:
A) if(x>y);
B) if (x= y) &&(x! = 0) x+= y;
C) if(x!= y)scan 47、f("%d",&x); else scanf("%d",&y);
D)if(x< y){x++ ;y十十;}
*92、B
请阅读以下程序:
#i nclude 48、rintf("%f\n",y);
}
若运行时输入2、0(回车),则上面程序得输出结果就是:
A)0、000000 B)0、500000 C) 1、 000000 D) 0、250000
*93、B
若有条件表达式(exp) ? a++:b,则以下表达式中能完全等价于表
达式(exp)得就是:
A) (exp==0) B) (exp!=0)
C) (exp== 1) D) (exp!=1)
*94、A
若运行时给变量x 输入12,则以下程序得运行结果就是:
mai 49、n
{int x,y;
scanf("%d",&x);
y=x > 12?x+10: x一12;
printf("%d\n",y);
}
A)0 B)22 C)12 0)10
*95、D
以下程序得运行结果就是:
main'
{int k= 4,a=3,b=2,c=;
printf("\n %d\n",k< a ? k:c 50、6、B
执行以下程序段后、变量a,b,c得值分别就是一。
int x=10,y=9;
int a,b,c;
a =( x = = y++)? x:++y ;
b = x ++;
c = y;
A )a=9,b= 9,c= 9 B )a=8,b=8,c=10
C )a=9,b= 10,c=9 D )a=1,b= 11,c=10
*97、A
若w,x,y,z,m均为int型变量,则执行下面语句后得m值就是:
w= 1;x = 2;y= 3;z=4;
m=(w






