exit
(1);
}
}
解:
以参数a和b为运算对象,以参数op为四则算数运算符,求出运算结果并返回。
6.#include
#include
voidmain()
{
intx,y;
cin>>x;
y=int(sqrt(x));//sqrt(x)为求x的算术平方根
for(inti=1;i<=y;i++)
if(x%i==0)cout<<”x=”<
}
解:
把从键盘上输入的一个整数X分解为所有可能的每两个因子之积。
C++语言程序设计作业
(二)
一、单项选择题
1.函数调用不可以(D)。
A.出现在一个表达式中
B.出现在执行语句中
C.作为一个函数的实参
D.作为一个函数的形参
2.以下正确的描述是(B)。
A.函数的定义可以嵌套,函数的调用不可以嵌套
B.函数的定义不可以嵌套,函数的调用可以嵌套
C.函数的定义和函数的调用均可以嵌套
D.函数的定义和函数的调用均不可以嵌套
3.若用数组名作为函数调用的实参,传递给形参的是(A)。
A.数组的首地址B.数组中第一个元素的值
C.数组全部元素的值D.数组元素的个数
4.以下错误的描述是(D)。
A.被调用函数中可以不用return语句
B.被调用函数中可以用多个return语句
C.被调用函数中,如果有返回值,就一定要有return语句
D.被调用函数中,一个return语句可返回多个值给调用函数
5.以下正确的描述是(C)。
A.不允许设置参数的默认值
B.设置参数的默认值只能在定义函数时设置
C.设置参数的默认值时,应该设置右边的参数
D.设置参数的默认值时,应该全部参数都设置
6.采用重载函数的目的是(D)。
A.实现共享B.减少空间
C.提高速度D.使用方便,提高可读性
7.将两个字符串连接起来组成一个字符串时,选用(C)函数。
A.strlen()B.strcap()C.strcat()D.strcmp()
8.以下叙述中正确的是(B)。
A.使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值
B.使用const定义的常量名有类型之分,其值在程序运行时是不可改变的
C.在程序中使用内联函数使程序的可读性变差
D.在定义函数时可以在形参表的任何位置给出缺省形参值
9.下面的标识符中,(C)是文件级作用域。
A.函数形参B.语句标号C.外部静态类标识符D.自动类标识符
10.以下叙述不正确的是(D)。
A.宏替换不占用运行时间B.宏名无类型
C.宏替换只是字符替换D.宏名必须用大写字母表示
二、填空题
1.含随机函数的表达式rand()%20的值在__0___至__19____区间内。
2.在switch语句中,每个语句标号所含关键字case后面的表达式必须是整型_常量_。
3.在if语句中,每个else关键字与它前面同层次并且最接近的___if_____关键字相配套。
4.作为语句标号使用的C++保留字case和default只能用于__switch______语句的定义体中。
5.执行switch语句时,在进行作为条件的表达式求值后,将从某个匹配的标号位置起向下执行,当碰到下一个标号位置时___不停止_____执行。
6.若while循环的“头”为“while(i++<=10)”,并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行__11____次后正常结束。
7.若do循环的“尾”为“while(++i<10)”,并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行__10____次后正常结束。
8.当在程序中执行到__break_语句时,将结束本层循环类语句或switch语句的执行。
9.当在程序中执行到_continue__语句时,将结束所在循环语句中循环体的一次执行。
10.在程序中执行到_return__语句时,将结束所在函数的执行过程,返回到调用该函数的位置。
三、写出程序运行结果
1.#include
constintT=6;
voidmain()
{
inti,j;
for(i=1;i<=T;i+=2)
for(j=2;j<=T;j+=2){
if(i+jelsecout<<’*’;
}
}
解:
++*+*****
2.#include
voidmain()
{
inta,b,c=0;
for(a=1;a<4;a++)
for(b=6;b>1;b-=2){
if((a+b)%2==0)c+=a+b;elsec+=a*b;
if(b==2)cout<}
}
解:
1212
2230
3266
3.#include
constintB=2;
voidmain()
{
intp=1,s=1;
while(s<50){
p*=B;
s+=p;
}
cout<<"s="<
}
解:
s=63
4.#include
voidmain()
{
intx=24,y=88;
inti=2,p=1;
do{
while(x%i==0&&y%i==0){
p*=i;
x/=i;
y/=i;
}
i++;
}while(x>=i&&y>=i);
cout<
}
解:
264
5.#include
constintN=3;
voidmain()
{
inta[N][N]={{7,-5,3},{2,8,-6},{1,-4,-2}};
intb[N][N]={{3,6,-9},{2,-8,3},{5,-2,-7}};
inti,j,c[N][N];
for(i=0;ifor(j=0;jc[i][j]=a[i][j]+b[i][j];
for(i=0;ifor(j=0;jcout<cout<}
}
解:
101-6
40-3
6-6-9
6.#include
inta=5;
voidmain(){
intb=a+20;
inta=10;
cout<{inta=0,b=0;
for(inti=1;i<6;i++){
a+=i;b+=a;
}
cout<}
cout<}
解:
1025
1535
1025
四、指出程序或函数的功能
1.voidf2(doublea[],intn)
{
inti;doublesum=0;
for(i=0;isum/=n;
for(i=0;iif(a[i]>=sum)cout<cout<}
解:
显示输出数组a[n]中大于等于平均值的所有元素值。
2.voidf4(chara[M][N])
{
intc1,c2,c3;
c1=c2=c3=0;
for(inti=0