c语言练习题Word文档格式.docx
《c语言练习题Word文档格式.docx》由会员分享,可在线阅读,更多相关《c语言练习题Word文档格式.docx(59页珍藏版)》请在冰豆网上搜索。
int=&
c"
a="
a"
b"
d"
char="
char"
c1='
b'
c2='
e'
printf="
printf"
y=100"
int(a+b)"
t="
t"
(n2=(n3=0));
"
i="
m="
m"
b+c=1;
B、="
>
<
/long>
=10ora&
=0B、a&
gt;
=10|a&
=0
C、a&
=10||a&
=0D、a&
=10&
a&
16、下列只有当整数x为奇数时,才是逻辑"
真"
的表达式是_________。
A、x%2==0B、!
(x%2==0)C、(x-x/2*2)==0D、!
(x%2)
17、设a为整型变量,不能正确表达数学关系10&
a&
15的C语言表达式是_________。
A、10&
15B、a==11||a==12||a==13||a==14
10&
15D、!
(a&
=10)&
!
=15)
18、已知x=43,ch='
A'
,y=0;
则表达式(x&
=y&
ch&
'
B'
y)的值是________。
A、0B、语法错C、1D、"
假"
19、表达式17%4/8的值为______________。
A、0B、1C、2D、3
20、语句printf("
%d"
(a=2)&
(b=-2));
的输出结果是___________。
A、无输出B、结果不确定C、-1D、1
二、填空题
1、若有以下定义语句:
intu=010,v=0x10,w=10;
printf("
%d,%d,%d\n"
u,v,w);
则输出结果是__________。
2、下面程序的输出是_____________。
Main()
{unsigneda=32768;
printf("
a=%d\n"
a)}
3、下面程序的输出是_________。
{intk=11;
k=%d,k=%o,k=%x\n"
k,k,k);
}
4、若有以下定义语句:
inta=5;
%d\n"
a++);
则输出结果是____________。
5、设x为int型变量,执行以下语句,x=10;
x+=x-=x-x;
x的值为__________。
6、若定义x和y为double型变量,则表达式x=1,y=x+3/2的值是__________。
7、若t为double型变量,表达式t=1,t+5,t++的值是_________。
8、表达式10!
=9的值是______________。
9、设x,y,z和t均为int型变量,执行以下语句:
x=y=z=1;
t=++x||++y&
++z;
后t的值为____________。
10、a=1,b=2,c=3,d=4,则表达式a&
b?
a:
c&
y)?
m:
y;
m=(m<
stdio.h>
/stdio.h>
main()
{
inti=010,j=10;
%d,%d\n"
++i,j--);
}
A)11,10B)9,10
C)010,9D)10,9
13、请读程序
inti=65536
i);
上面程序的输出结果是_____
A)65535B)0
C)有语法错误,无输出结果D)1
14、已知字符A的ASCII码为十进制的65,下面程序的输出是_____
charch1,ch2;
ch1='
+'
5'
-'
3'
;
ch2='
6'
%d,%c\n"
ch1,ch2);
A)67,DB)B,C
C)C,DD)不确定的值
15、若有定义和语句:
chars[10];
s="
abcd"
s);
则结果是_____
A)输出abcdB)输出a
C)输出adcbD)编译不能通过
16、若有定义:
intx,y;
chara,b,c;
并有以下输入数据(此处<
cr>
/cr>
代表换行,代表空格):
12<
ABC<
则能给X赋整数1,给Y赋数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是_______
A)scanf("
x=%dy=%d"
&
x,&
y);
a=getchar();
c=getchar();
B)scanf("
%d%d"
b=getchar();
C)scanf("
%d%d%c%c%c"
y,&
a,&
b,&
c);
D)scanf("
%d%d%c%c%c%c%c%c"
c,&
17、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是____
intx;
scanf("
x);
if(x++&
5)printf("
x)
elseprintf("
x--);
A)7和5B)6和3
C)7和4D)6和4
18、若执行下面的程序从键盘输入3和4,则输出是_______
{inta,b,s;
b);
s=a;
if(a<
b)s="
b;
s*s;
i="
i"
scanf="
%d,f=%f&
quot;
i,&
f);
/b)>
765.12&
回车&
B)i=100,f=765.12&
C)100&
D)x=100&
y=765.12&
20、以下程序的输出结果是____
#include<
NULL);
A)不确定B)0
C)-1D)1
1、复合语句在语法上被认为是________,空语句的形式是______。
2、"
%-ms"
表示如果串长______m,则在m列范围内,字符串向_____靠,____补空格。
3、如果想输出字符"
%"
,则应该在"
格式控制"
字符串中用_____表示。
4、printf函数的"
包括两部分,他们是______和_______。
5、符号'
是_______运算符,&
a是指________.
6、putchar函数的作用是____________.
7、复合语句是由一对_______括起来的若干语句组成的。
8、goto语句的主要用途是________和________。
9、getchar函数的作用是__________.
10、把for(表达式1;
表达式2;
表达式3);
改写为等价的while语句为_______.
11、语句标号由标识符表示,由______、_________和________组成。
第一个字符必须是字母或下划线。
12、函数中的"
后面应当是_________,而不是________。
13、while语句的特点是_______,do-while语句的特点是________。
14、分析下面程序
main()
{intx,y;
x=16;
y=(x++)+x;
y);
x=15;
printf("
++x,x);
x=20;
y=x--+x;
x=13;
%d,%d"
x++,x);
}
程序的输出结果是_____________。
15、下列程序的输出结果是__________:
#include"
stido.h"
{charb[]="
ABCDEFG"
char*chp=&
b[7];
while(--chp&
b[0])
putchar(*chp);
putchar('
\n'
);
三、编程题
1、编写程序,输入两个整数:
1500和350,求出它们的商和余数并输出。
2、编写程序,读入三个整数给a,b,c,然后交换它们中的数,把a中原来的值给b,b中原来的值给c,c中原来的值给a,且输出改变后的a,b,c的值。
3、输入两个整型变量a,b的值,输出a+b,a-b,a*b,a/b,(float)a/b,a%b的结果,要求连同算式一起输出,每个算式占一行。
例:
a等于10,b等于5,a+b的结果输成
10+5=15
4、输入一个非负数,计算以这个数为半径的圆周长和面积。
5、输入任意一个三位数,将其各位数字反序输出(例如输入123,输出321).
6、输入任意大小的三个整数,判断其中是否有两个奇数一个偶数。
若是,则输出"
YES"
,不是则输出"
NOT"
(要求用条件表达式进行判断,不使用if语句)
7、求前驱字符和后继字符。
输入一个字符,找出它的前驱字符和后继字符,并按ASCII码值,按从大到小的顺序输出这三个字符及其对应的ASCII码值。
第五、六章
一、选择题(30题)
1、有以下程序
main()
{inti;
for(i=0;
i&
3;
i++)
switch(i)
{case1:
%d"
i);
case2:
default:
}}
执行后输出结果是()
A)011122B)012C)012020D)120
2、有以下程序
{inti=1,j=1,k=2;
if((j++||k++)&
i++)
printf("
i,j,k);
A)1,1,2B)2,2,1C)2,2,2D)2,2,3
3、有以下程序
{inta=5,b=4,c=3,d=2;
if(a&
b&
c)
d);
elseif((c-1&
=d)==1)
d+1);
else
d+2);
A)2B)3C)4D)编译时有错,无结果
4、有以下程序
{inti=0,s=0;
do{
if(i%2)
{i++;
continue;
}
i++;
s+=i;
}while(i&
7);
s);
执行后输出结果是()
A)16B)12C)28D)21
5、以下程序的输出结果是()
{inta=5,b=4,c=6,d;
d=a&
c?
c):
(b));
A)5B)4C)6D)不确定
6、以下程序中,while循环的循环次数是()
{inti=0;
while(i&
10)
{if(i&
1)continue;
if(i==5)break;
A)1B)10C)6D)死循环,不能确定次数
7、以下程序的输出结果是()
{inta=0,i;
for(i=1;
i&
5;
i++)
{switch(i)
{case0:
case3:
a+=2;
case1:
case2:
a+=3;
default:
a+=5;
a);
A)31B)13C)10D)20
8、以下程序的输出结果是()
{inta=4,b=5,c=0,d;
d=!
b||!
c;
d);
}
A)1B)0C)非0的数D)-1
9、以下程序的输出结果是()
#include
{inti=0,a=0;
20)
{for(;
;
)
{if((i%10)==0)break;
elsei--;
i+=11;
a+=i;
printh("
A)21B)32C)33D)11
10、阅读以下程序:
()
{intx;
if(x--&
x++);
程序运行后,如果从键盘上输人5,则输出结果是
A)3B)4C)5D)6
11、假定w、x、y、z、m均为int型变量,有如下程序段:
w=1;
x=2;
y=3;
z=4;
m=(w<
b)t="
a;
t;
if="
if"
main="
main"
1,b=3,c=5;
a+b)"
else="
else"
0,n=0,k=0;
for="
9;
11;
i++)"
switch="
switch"
case="
case"
n="
n"
break="
break"
default:
="
default:
k="
k"
include="
include"
1;
2;
j="
i;
j"
putchar="
putchar"
scanf"
50)printf("
if(a&
40)printf("
30)printf("
7、以下程序输出的结果是。
{inta=5,b=4,c=3,d;
d=(a&
8、以下程序的输出结果是。
main()
{ints,i;
for(s=0,i=1;
i++,s+=i);
s);
9、以下程序运行后的输出结果是。
{inti=10,j=0;
do
{j=j+i;
i-;
2);
j);
10、设有以下程序:
{intn1,n2;
n2);
while(n2!
=0)
{n1=n2%10;
n2=n2/10;
n1);
程序运行后,如果从键盘上输入1298;
则输出结果为。
11、下列程序段的输出结果是。
intn='
c'
switch(n++)
{default:
error"
break;
case'
a'
:
case'
good"
C'
pass"
d'
D'
warn"
12、下面程序输出结果是。
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;
b++;
a++;
b