试题库Word文档下载推荐.docx
《试题库Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《试题库Word文档下载推荐.docx(34页珍藏版)》请在冰豆网上搜索。
a=b-a;
b=b-a;
8.下列的输出函数正确的是,i是一个整数:
A.printf(“%d”,i);
B.printf(“%d,i”);
C.printf(%d,i);
D.printf(%d,“i”);
9.下列的输入函数正确的是,a、b都是整数:
A.scanf("
%d%d,&
a,&
b"
);
B.scanf("
%d%d"
&
b);
C.scanf("
请输入两个整数%d%d"
D.scanf(%d%d,&
10.关于C++风格的输入输出,下面的说法错误的是:
A.需要包含头文件iostream.h
B.cout<
<
a<
b;
可以输出a和b的值
C.cin>
>
a>
b>
endl;
可以输入a和b的值
D.cout<
a;
和cout<
”a”;
是一样的
11.关系运算和逻辑运算运用正确的是:
A.在数学里,-5<
x<
5用C语言来表达也是-5<
5
B.当A和B同时成立的时候,A&
&
B才成立
C.a=b,a>
b,a<
b这些表达式的值只有0或1
D.a%6!
=0代表a能被6整除
12.下面的逻辑表达式正确的是:
A.整数a是偶数:
a%2=0
B.字符变量a不等于小写字母m:
a!
=m
C.a在7和10的范围内:
=7&
10>
=a
D.a不能被7整除:
a%7==1
13.已知a的值是20,b的值是10。
c=a>
b?
a–b:
b–a,C的值是:
A.1
B.20
C.10
D.-10
14.变量a的值是整数6,下面的if语句没有语法错误的是:
A.if(a>
1)
else
cout<
"
456"
B.if(a>
cout<
123"
cout<
789"
10
C.if(a>
5);
a-1<
D.if(a>
5)
15.关于if语句的说法,正确的是:
A.if和else本身不是语句,不需要在末尾加分号,但是加了也没什么影响
B.if可以控制多条语句
C.可以没有else语句,但不能只有else
D.else后可以没有语句
16.有下列代码
1
2
3
4
6
7
8
9
if(a<
25)
”aaa”<
elseif(a<
50)
”bbb”<
elseif(a<
100)
”ccc”<
”ddd”<
下面的说法正确的是:
A.只要a<
50的值,都会输出“bbb”
B.a的值大于等于25,就会输出“ddd”
C.输出“ccc”的时候,a一定大于等于50
D.第4行和第6行的else去掉执行效果是一样的。
17.关于循环结构,下面的说法正确的是:
A.任何循环都需要循环变量
B.在循环中,条件永远成立的就是死循环
C.for,while等语句可以控制多条语句
D.for,while能实现相同的功能,使用哪一个完全看编程人员喜好
18.关于break说法错误的是:
A.循环里面执行到break的时候,停止执行本次循环剩余的代码,立即回去判断循环条件并进行下一次循环。
B.continue不能结束死循环
C.switch分支结构里面,break的作用是打断分支不再执行剩余的分支
D.break只能在循环和switch分支结构里出现
19.关于for循环,下面的说法正确的是:
A.for循环的三段式中的第一段只在循环开始的时候执行一次
B.for循环的三段式都可以省略,包括中间的两个分号
C.先测试第二段的条件是否成立,然后执行第三段,最后才执行循环体
D.以上说法都是错误的。
20.关于while和do-while的说法,正确的是:
A.两者能够实现相同的功能,并有相同的执行结果
B.do-while不管条件是否成立,都会先去执行循环体的代码
C.两者完全不同,do-while只适用于特定的循环,while则普遍可用
21.数组a[4]的所有元素是:
A.a[1],a[2],a[3],a[4]
B.a[0],a[1],a[2],a[3]
C.a[0],a[1],a[2],a[3],a[4]
D.a0,a1,a2,a3
22.有一个数组a[10],正确的是:
A.cin>
a[1];
这样的输入是错误的
B.a[8]访问的是数组的第9个元素
C.a[11]越界了,但a[10]还没有越界
D.可以这样定义数组:
inta[i];
,数组长度决定于i的值。
23.inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}},那么哪个值等于7:
A.a[1][2]
B.a[2][3]
C.a[3][2]
D.a[2][1]
24.关于字符和字符串的说法正确的是:
A.字符需使用双引号或单引号,如果没有引号,该字符将视为一个变量
B.字符串代表一串的字符,一个字符串至少有一个字符
C.字符变量保存一个字符,字符数组保存一个字符串
25.关于字符数组的初始化,错误的是:
A.charc[5]={“Iamhappy”};
B.charc[]={“Iamhappy”};
C.charc[]=“Iamhappy”;
D.char*c={“Iamhappy”};
26.字符函数inttolower(charch),如果ch是大写字母,则返回对应小写字母所代表的ascii码,下面的代码执行完后:
charc=’A’;
charb=tolower(c);
A.c的值是’a’
B.c的值是’c’
C.c和b的值都是’a’
D.b的值是’a’
27.有一个函数intmax(intx,inty),它的功能是返回x和y中较大的那个数字,下面的说法正确的是:
A.max(max(x,y),z);
这样的调用将导致语法错误
B.max(max(x,y),z);
没有语法错误,返回x、y、z三者中的最大值
C.max(max(x,y),z)和max(z,max(x,y))结果是不一样的
D.以上的调用方法都有语法错误
28.关于return语句,下面的说法错误的是:
A.return后面的表达式的类型必须和函数的类型一致
B.void类型的函数不可以有return语句
C.执行到return语句会结束函数调用
D.有返回值的函数要确保在任何情况下,都能执行到某一条return语句
29.已知函数:
voidexchange(intx,inty)
{
intt=x;
x=y;
y=t;
}
下面的说法正确的是:
A.调用函数exchange(a,b)可以互换a和b的值
B.exchange没有任何效果,因为没有返回值
C.exchange执行完后,就再也不能取得变量t了
D.exchange无法执行,有语法错误
编程题
1.(*)请编程序将China译成密码,密码规律是用原来的字母后面第4个字母代替原来的字母。
例如,字母A后面第4个字母是E,用E代替A。
因此China应译为Glmre。
请编写一个程序,用赋值的方法使得c1,c2,c3,c4,c5这5个变量的值分别为'
C'
,'
h'
i'
n'
a'
,经过运算后,使得c1,c2,c3,c4,c5分别变成'
G'
'
l'
m'
r'
e'
并顺序输出c1,c2,c3,c4,c5的值(也就是屏幕上将出现”Glmre”)。
#include<
iostream.h>
voidmain()
charc1='
c2='
c3='
c4='
c5='
c1+=4,c2+=4,c3+=4,c4+=4,c5+=4;
c1<
c2<
c3<
c4<
c5<
2.(*)输入一个华氏温度,要求输出摄氏温度,公式为:
c=(5/9)*(F-32)。
输入要求有文字提示。
floatF,c;
华氏温度:
cin>
F;
c=(5.0/9)*(F-32);
摄氏温度:
c<
3.(*)使用键盘输入语文、数学、英语的成绩,最后输出平均分,可适当组织下语言。
floata,b,c,average;
请输入语文,数学,英语成绩:
c;
average=(a+b+c)/3;
平均分:
average<
4.输入一个整数,判断是不是能被3整除的偶数。
inta;
if(a%3==0&
a%2==0)cout<
是能被3整除的偶数"
else
不是能被3整除的偶数"
5.输入一个数字,判断是不是不能被5整除的偶数。
if(a%5!
=0&
是不能被5整除的偶数"
elseif(a%5==0&
是能被5整除的偶数"
elseif(a%2!
=0)cout<
不是偶数"
6.输入一个字符,判断是不是数字或者字母,并打印出结果。
{
charb;
if(b>
='
A'
b<
Z'
||b>
z'
0'
9'
)
是数字或者字母\n"
else
不是数字或者字母\n"
7.输入一个年份,判断是否是闰年。
闰年的条件是能被4整除但不能被100整除,或者能被400整除。
if(a%4==0&
a%100!
=0||a%400==0)cout<
是闰年"
elsecout<
不是闰年"
8.输入两个数字,打印两个数字的差的绝对值。
inta,b,c;
c=a-b;
if(c>
-c<
9.(***)(GJ)输入三个数字,按照从小到大顺序输出。
inta,b,c,d;
请输入三个数字:
if(a>
b){d=a;
a=b;
b=d;
if(b>
c){d=b;
b=c;
c=d;
c){d=a;
a=c;
从小到大输出:
10.输入成绩,按照“优”(大于等于90分),“良”(大于等于80分),“中”(大于等于60分),“不及格”(60分以下),“差”(小于30分)输出等级。
intk;
k;
if(k<
30)
差"
if(k<
60)
不及格"
if(k>
=90)
cout<
优"
else
if(k>
=80)
cout<
良"
else
if(k>
=60)
中"
11.从键盘输入一个字符,如果是’A’,那么输出“85-100”;
如果是’B’,那么输出“70-84”;
如果是’C’,那么输出“60-69”;
如果是’D’,那么输出“<
60”;
如果是其他,输出“错误”。
chark;
if(k=='
85-100"
if(k=='
B'
70-84"
if(k=='
60-69"
if(k=='
D'
60"
else
出错"
12.从键盘输入一个字符,如果是‘f’,那么打印“女性”;
如果是‘m’打印“男性”;
如果是‘u’打印“未确定”;
如果是别的字符,打印“非法字符”。
f'
女性"
男性"
u'
未确定"
非法字符"
13.乘坐飞机时,每位乘客可以免费托运50kg(包含50KG)以内的行李,如果超过50kg,那么超出部分要按照每公斤1元收取费用;
如果超过100KG,超出部分要按照每公斤2元收取费用,如果超过或者等于200KG,则不予托运。
(例如60公斤,超出的10公斤就要付出10元;
如果120KG,那么50KG部分免费,50到100KG部分按照每公斤1元收取费用,即50元,100到120KG部分按照每公斤2元收取费用,即40元,一共需要90元费用)。
编写一个程序,输入行李的重量,得出要求交纳的行李托运费,或者提示超重无法托运。
inta,b,k;
=50)
免费托运"
if(k>
200)
不予托运"
=100)
{a=(k-100)*2+50;
行李托运费:
}
else
{b=(k-50)*1;
14.输入0到6几个数字的时候,就打印星期几,1对应星期一,2对应星期二,以此类推。
如果超出这个范围,打印非法数字。
switch(a){
case0:
cout<
星期一"
break;
case1:
星期二"
case2:
星期三"
case3:
星期四"
case4:
星期五"
case5:
星期六"
case6:
星期天"
default:
非法数字"
}
15.(*)求1+2+3+…+100的值。
#include<
inti=1;
intk=0;
while(i<
{
k=k+i;
i++;
}
k<
16.(*)输入一个整数,然后打印“ok”,打印的次数就是整数的大小。
inti=0;
intj;
cin>
j;
j)
ok"
i++;
17.(**)输入一个整数,然后打印出它所有的因子。
(例如输入16则打印出2、4、8)。
提示:
在循环内部使用一个if语句,用求余作为条件。
inti=0,j;
if(j%i==0&
j!
=i&
i!
=1)
i<
18.(*)循环5次,每次循环输入一个数字,最后打印总和和平均值。
把输入语句放到循环内部。
inti=1,k=0,j,h;
请输入五个数:
=5)
cin>
k=k+j;
总和:
h=k/5;
平均数:
h<
19.(**)重复以下行为:
输入一个字符,并打印出“你输入的是X”;
直到输入’@’才结束。
charj;
for(;
{cin>
if(j=='
@'
)break;
你输入的是"
j<
20.(****)输出所有“水仙花数”。
所谓“水仙花数”是指一个3位数,其个位数字立方和等于该数字本身。
例如153是一个水仙花数,因为153=1*1*1+3*3*3+5*5*5。
求个位用对10求余,求百位直接除以100,求十位自行考虑。
intd,e;
1000以内的水仙花数:
for(inta=1;
10;
a++)
for(intb=0;
b++)
for(intc=0;
c++)
{
d=a*100+b*10+c;
e=a*a*a+b*b*b+c*c*c;
if(d==e)cout<
d<
"
21.(****)输入两个数字,求它们的最大公约数。
inta,b,z,d;
请输入2个数字:
d=a<
b?
a:
for(intc=2;
=d;
if(a%c==0&
b%c==0)z=c;
最大公约数:
z<
22.(****)输入两个数字,求它们的最小公倍数.
intm,t,c;
m>
t;
for(c=1;
{if(c%m==0&
c%t==0)break;
最小公倍数:
23.(****)输入一个数字,判断是否是素数。
intm;