C语言试题库试题库Word格式.docx
《C语言试题库试题库Word格式.docx》由会员分享,可在线阅读,更多相关《C语言试题库试题库Word格式.docx(105页珍藏版)》请在冰豆网上搜索。
B、逻辑运算符<
算术运算符<
赋值运算符
C、赋值运算符<
算术运算符
D、算术运算符<
赋值运算符<
逻辑与运算符
6、已知ch是字符型变量,正确的赋值表达式是()。
A、ch=’a+b’B、ch="
\0"
C、ch=’7’+’9’D、ch=5+9
7、在C语言中,要求运算数必须是整型的运算符是()
A、%= B、++ C、!
= D、%
8、下列关于字符串的说法中错误的是()。
A、在c语言中,字符串是借助于字符型一维数组来存放的,并规定以字符‘\0’作为字符串结束标志。
B、\0'
作为标志占用存储空间,计入串的实际长度。
C、在表示字符串常量的时候需用人为在其末尾加入'
\0'
.
D、在c语言中,字符串常量隐含处理成以‘\0'
结尾。
三、单项选择题
1、以下关于long,int和short类型数据占用内存大小的叙述中正确的是:
()。
A、均占用4个字节B、根据数据的大小决定
C、由用户自己定义D、由c语言编译系统决定
2、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。
A、7B、8C、6D、2
3、若x,i,j和k都是int型变量,则执行下面表达式后x的值为x=(i=4,j=16,k=32)()。
A、4B、16C、32D、52
4、已有定义:
intx=3,y=4,z=5;
则表达式!
(x+y)+z-1&
&
y+z/2的值是()。
A、0B、1C、2D、-1
5、设有:
inta=1,b=2,c=3,d=4,m=2,n=2;
执行(m=a>
b)&
(n=c>
d)后n的值()。
A、1B、2C、3D、4
6、设有intx=11;
则表达式(x++*1/3)的值()。
A、3B、3.6C、4D、4.0
7、inta;
floatf;
doublei;
表达式15+i*f+’A’-a的值是()型。
A、floatB、intC、charD、double
8、设变量a是整型,f是实型,i是双精度型,则表达式10+'
a'
+i*f值的数据类型为()。
A、intB、floatC、doubleD、不确定
四、编程题
1、某件商品的价格为120元,分别安十进制、八进制和十六进制输出其值。
2、编程实现:
从键盘输入正方体的变长,求其表面积和体积。
3、编程实现:
从键盘输入球的半径,计算球的表面积和体积。
4、编程实现:
定义int型变量i1和i2的值分别为65和97,依次按字符、十进制、八进制和十六进制整数的形式输出它们的值,要求每个变量各占一行。
5、编程实现:
从键盘输入一个实数,分别按小数形式和指数形式输出该实数的值。
第4章常用库函数
一、单选题
1、以下程序输出结果是(注□表示空格)
Main(){printf(“*s1=%15s*\n*s2=%-5s*”,”chinabeijing”,”chi”);
}
A*s1=chinabeijing□□□*B*s1=chianbeijing□□□
*s1=*chi**s2=chi□□
C*s1=*□□chinabeijing*D*s1=□□□chianbeijing*
*s2=□□□chi*S2=chi□□*
2、根据定义和数据的输入方式,输入语句的正确形式为
已有定义:
floatf1,f2;
输入方式为:
4.52,3.5
Ascanf(“%f,%f”,&
f1,&
f2);
Bscanf(“%f%f”,&
Cscanf(“%3.3f,%2.1f”,&
Dscanf(“%3.2f,%2.1f”,&
f1,f2&
);
3、又如下语句:
scanf(“a=%d,b=%d,c=%d”,&
a,&
b,&
c);
为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式为(注□表示空格)
A132<
回车>
B1,3,2<
Ca=1□b=3□c=2<
Da=1,b=3,c=2<
4、设有如下定义:
intx=10,y=3,z;
则语句printf(“%d\n”,z=(x%y,x/y));
的输出结果是。
A1B0C4D3
5、printf函数中用到的格式符%5s,其中数字5表示输出的字符串占5列。
如果字符串长度大于5,则输出方式为
A从左起输出该字符串,右补空格B按原字符长从左向右全部输出
C右对齐输出该字串,左补空格D输出错误信息
6、printf函数中用到的格式符%5s,其中数字5表示输出的字符串占5列。
如果字符串长度小于5,则输出方式为
7、已有定义inta=-2,和输出语句:
printf(“%8lx”,a);
以下正确的叙述是
A整形变量的输出格式符只有%d一种B%是格式符的一种,它可以适应任何一种类型的数据C%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的
D%8lx不是错误的格式符,其中数字8规定了输出字符的宽度
8、下列语句输出结果是。
Unsignedi=-1;
printf(“%u”,i);
A65535B65536C-1D1
9、下列语句输出结果是。
inti=65535;
printf(“%d”,i);
A65535B0C-1D语法错误
10、下列语句输出结果是。
Longa=oxffff;
intb=a;
printf(“%d”,b);
A65535B65536C-1D1
11、已知ch是字符型变量,下面不正确的赋值表达式是。
Ach=’\123’Bch=’\xff’Cch=’\008’Dch=’\n’
12、设有定义:
intk=0;
以下选项的四个表达式中与其他三个表达式的值不相同的是。
Ak++Bk+=1C++kDk+1
13、已知inta;
floatb;
所用的scanf调用语句格式为:
scanf(“a//%d,b=%f”,&
b);
为了将数据3和25.08分别赋给x和y,正确的输入应当是。
A3,25.08<
enter>
Ba=3,b=25.08<
Ca//3,b=25.08<
Da//3<
b=25.08<
14、语句printf(“%d\n”,strlen(“\t\”\065\xff\n”))的输出结果是
A5B14C8D输出项不合法,无正确输出
15、下列格式符中,哪一个可以用于以8进制形式输出整数。
A%dB%8dC%oD%ld
16、字符变量ch=’A’,int类型变量K=25,语句printf(“%3d,%3d\n”,ch,k);
输出。
A65,253B65253C65,25DA25
17、有以下程序
Main()
{
Intm,n,p;
Scanf(“m=%dn=%dp=%d”,&
m,&
n,&
p);
Printf(“%d%d%d\n”,m,n,p);
}(注:
□表示空格)
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是
Am=123n=456p=789Bm=123□n=456□p=789Cm=123,n=456,p=789D123456789
18、逻辑运算符两侧运算对象的数据类型。
A只能是0或1B只能是0或非零整数C只能是整形或字符型数据D可以是任何类型的数据
19、当k的值不为0时,在下列选项中能够将k的值赋给变量m,n的是。
Am=n=pB(m=k)&
(n=k)C(m=k)||(n=k)D(k=m)&
(n=k)
20、若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数,表达式的值为假
。
则以下不能满足要求的表达式是。
AA%2==1B!
(a%2==0)C!
(A%2)DA%2
21、putchar函数可以向终端输出一个。
A整型变量表达式值;
B实型变量值;
C字符串;
D字符或字符型变量值
22、若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是
Ascanf("
%d%lx,%le"
&
x,&
y,&
z);
Bscanf("
%2d*%d%lf"
z);
Cscanf("
%x%*d%o"
y);
Dscanf("
%x%o%6.2f"
23、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是。
inta1,a2;
charc1,c2;
scanf("
%d%d"
a1,&
a2);
%c%c"
c1,&
c2);
A1020AB<
CR>
B1020<
AB<
C1020AB<
D1020AB<
24、设x,y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是
A'
y'
'
Bx<
=yCx||y+z&
y-zD!
(x<
y)&
!
z||1)
25、若有以下定义:
inta,b;
floatx;
则正确的赋值语句是。
Aa=1,b=2,Bb++;
Ca=b=5Db=int(x)
26、判断char型变量ch是否为大写字母的正确表达式是。
A'
A'
<
=ch<
='
Z'
B(ch>
)&
(ch<
)
C(ch>
+'
)D('
=ch)AND('
>
=ch
27、执行以下语句后a的值为。
inta=5,b=6,w=1,x=2,y=3,z=4;
(a=w>
x)&
(b=y>
A5B0C2D1
28、已知x=43,ch='
y=0;
则表达式(x>
=y&
ch<
B'
y)的值是。
A0B语法错C1D"
假"
29、设x、y和s是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是。
x'
Bx<
=yCx||y+z&
((x<
z
二、多选题
1、若x,y均定义为int型,z定义为double型,以下合法的scanf函数调用语句是
Ascanf(“%d%lx,%le”,&
Bscanf(“%2d*%d%lf”,x,y,z);
Cscanf(“%x%*d%o”,&
Dscanf(“%x%o%6.2f”,&
2、已知intI,j,k;
scanf(“%d%d%d”,&
I,&
j,&
k);
若从键盘送入I,j,k的值分别为1,2,3时,则正确的输入方式是。
(注:
□表示空格,<
表示回车)
A1,2,3B1<
2<
3<
C1□2□3D1<
2□3
3、以下说法正确的是
A、输入项可以为一个实型常量,如scanf(“%f”,3.5);
B、只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);
C、当输入一个实型数据时,格式控制部分不能规定小数点后的位数,如scanf(“%4.2”,&
f)是错误的;
D当输入数据时,必须指明控制变量的地址,如scanf(“%f”,&
f);
4、a是int类型变量,c是字符变量,下列输入语句哪些是正确的
Ascanf(“%d,%c”,&
Bscanf(“%d%c”,a,c);
Cscanf(“%d%c”,&
Dscanf(“d=%d,c=%c”,&
三、填空题
1、以下程序的输出结果是。
Main(){inta=177;
printf(“%o”,a);
2、以下程序的输出结果是。
Main(){inta=1234;
printf(“2d\n”,a);
四、阅读程序题分析下来函数段,写出其对应的执行结果。
1、已知字母A的ASCII码是65,以下程序的执行结果是____。
Charc1=’A’,c2=’Y’;
printf(“%d,%d\n”,c1,c2);
2、阅读以下程序,当输入数据的形式为:
25,13,10<
,正确的输出为____。
Intx,y,z;
Scanf(“%d,%d,%d”,&
Printf(“x+y+z=%d\n”,x+y+z);
3、main()
Inta,b;
Scanf(“%2d%*2d%2d”,&
Printf(“%d”,a+b);
}上面程序运行时,输入12345678回车,结果____。
4、voidmain()
{inta=10,b=10;
Printf(“%d\t%d”,a--,--b);
}以上程序运行结果为:
____。
5、main()
Inta;
Printf(“%d\n”,(a=3*4,a*5,a+5));
}以上程序运行结果为____。
6、main()
Floata=123.45678;
Printf(“%-4.2f\n”,a);
}以上程序结构为:
_____。
7、main()
Charc,d;
C=getchar();
D=c-33;
printf(“%d,%c”,c,d);
}又以上程序,若输入d,则输出结果为____。
8、mian()
{inti=010,j=10,k=ox10;
Printf(“%d,%d,%d”,I,j,k);
}以上程序的运行结果为:
五、操作题
1.看程序写结果。
#include"
stdio.h"
main()
chara,b,c;
a=getchar();
b=getchar();
c=getchar();
putchar(a);
putchar(b);
putchar(c);
}输出结果为:
______
2.看程序写结果。
#include"
voidmain()
inta=123,b=-3721;
floatx=123.456;
printf("
a=%d,b=%d\n"
a,b);
a=%4da=%0da=%-4d\n"
a,a,a);
b=%7db=%07db=%-9db=%2d\n"
b,b,b,b);
a=%8ld,b=%8ld\n"
a=%-8ld,b=%-8ld\n"
%3s,%7.2s,%.4s,%-5.3s\n"
"
sun"
%f,%e,%g\n"
x,x,x);
%10.3e,%010.1e,%012.5e\n"
}输出结果为:
_____
3.看程序,写结果
inta;
charc;
%d"
a);
%c"
a=%d"
a);
c=%c"
c);
4.看程序,写结果
chars[]="
good\nsun\tday"
;
puts(s);
5.看程序,写结果
#include"
chars[10];
gets(s);
结果为:
6.看程序,写结果
chars1[15]="
hello"
s2[10]="
world"
strcat(s1,s2);
puts(s1);
puts(s2);
strcat(s1,"
good"
}结果为:
7.看程序,写结果
string.h"
chars1[20]="
helloworld"
strcpy(s1,s2);
strcpy(s1,"
welcome"
8.看程序,写结果
chars1[]="
ABC"
s2[]="
ABD"
intn;
n=strcmp(s1,s2);
n=%d\n"
n);
n=strcmp(s2,s1);
9.看程序,写结果
#include“string.h”
goode\tbetter\tbest\n"
chars2[]="
ab\105"
%d\n"
strlen(s1));
strlen(s2));
strlen("
));
10.看程序,写结果
Good\tBetteR\tBesr\n"
AB\105"
strlwr(s1);
strlwr(s2);
11.看程序,写结果
good\tbetter\tbest\n"
strupr(s1);
sstrupr(s2);
12.看程序,写结果
pleaseinputaletter:
"
c=(c>
c<
z'
)?
(c+'
-'
):
%c\n"
第5章C程序设计基本结构
一、判断题
1、C语言规定,else子句总是与它上面的最近的if配对
2、if(a>
0);
不能看作是一条合法的条件语句
3、if语句后面的表达式只能是关系表达式
4、判断整型变量a即是5又是7的整数倍的C表达式是(a%5==0&
a%7==0)
5、在C语言中10!
=9的值是1
6、在C语言中表达式(a=2)&
(b=-2)的值是1
7、在switch语句中必须使用break语句
8、在switch语句中必须使用break语句
9、在标准C中,没有逻辑型数据,故不能使用逻辑表达式。
10、在标准C中,所有关系运算符的优先级都相同。
11、在if语句中,else前一个语句可不加“;
”。
12、在标准C中,逻辑表达式中只允许出现逻辑型数据。
13、在标准C中,所有的if——else语句都可以用条件语句替换。
14、在switch语句中,case后可不