(2)#include
void main() {int I,t,sum=0; for(t=I=1;I<=10; ) {sum+=t;++I; if(I%3= =0) t=-I; else t=I;}
cout<<“sum”<
for(I=1;I<=5;I++) switch(I%2)
{case 0:I++; cout<<“#”;break; case 1:I+=2; cout<<“*”; default: cout<<“\\n”;}} (4)#include
{do {a*=y;a++; } while(y--);} cout<
#include
for(I=4;I>=1;I--)
{for(j=1;j<=I;j++) putchar(?#?); for(j=1;j<=4-I;j++) putchar(?*?); putchar(?\\n?);}} (6) #include
k++;
if(k%3= =0) break; }
cout<
(7) #include
void main( ) {
int I=1; while(I<=15)
if(++I%3!=2) continue; else cout<
(8) #include
void main() {
nt a=10,y=0; do { a+=2;y+=a; if(y>50) break; } while(a=14);
cout<<“a=”<
(9) #include
int I, k=19; while(I=k-1) {
k-=3;
i f(k%5= =0) {I++;continue;} else if(k<5) break; I++; }
cout<<“I=”<
(10)#include
switch(i%2) {
case 4:i--;break; case 6:i--;continue;
} i--;i--; cout<
} while(i>0);
}
4.回答下列问题
(1)C++语言提供了哪些常用的语句?
(2)条件语句的格式如何?if语句中对else子句有何规定? (3)开关语句的格式如何?break语句在开关语句中有何作用? (4)在开关语句中,case子句的条件有何特点?
(5)C++语言提供哪些循环语句?它们各自的特点是什么?它们可以相互替代吗?可以相互嵌套吗?
(6)while 和do~while循环语句有什么区别吗? (7)contine、break语句在循环中分别起到什么作用?
5.按下列要求编写程序 (1)有一个函数如下: x (x<5)
y= x+6 (5<=x<15) x-6 (x>=15) 输入x的值,计算出相应的y值。
(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。 (3)根据π/4 =1-1/3+1/5-1/7+…求π的近似值,直到最后一项的值小于0.000001为止。 (4)编程输出如下图形:
* ***** ********* *************
***************** ********************* (5)求1!+2!+3!+…8!。
(6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)。 (7)编写一个程序,输入年、月,打印出该年份该月的天数。
(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。 (9)求一个整数任意次方的最后三位数。
(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?
第4章复习思考题
1.选择题
(1)以下正确的说法是()。
A.用户若需要调用标准函数,调用前必须重新定义 B.用户可以直接调用所有标准库函数
C.用户可以定义和标准库函数重名的函数,但是在使用时调用的是系统库函数
D.用户可以通过文件包含命令将系统库函数包含到用户源文件中,然后调用系统库函数 (2)如果一个函数无返回值,定义时它的函数类型应是()。
A.任意 B.int C.void D.无 (3)关于函数返回值的的描述正确的是()。
A.函数返回表达式的类型一定与函数的类型相同 B.函数返回值的类型决定了返回值表达式的类型
C.当函数类型与返回值表达式类型不同,将对返回值表达式的值进行类型转换 D.函数返回值类型就是返回值表达式类型
(4)下列哪个不是重载函数在调用时选择的依据( 。)
A.参数类型 B.参数个数 C.函数类型 D.函数名
(5)在参数传递过程中,对形参和实参的要求是( )。
A.函数定义时,形参一直占用存储空间 B.实参可以是常量、变量或表达式 C.形参可以是常量、变量或表达式 D.形参和实参类型和个数都可以不同 (6)下列各类变量,哪个不是局部变量( )。
A.register型变量 B.外部static变量 C.auto型变量 D.函数形参
(7)在C++语言中,关于参数默认值的描述正确的是( )。
A.只能在函数定义时设置参数默认值 B.设置参数默认值时,应当从右向左设置 C.设置参数默认值时,应当全部设置
D.设置参数默认值后,调用函数不能再对参数赋值
(8)对于一个功能不太复杂,并且要求加快执行速度,选用( )合适。
A.内联函数 B.重载函数 C.递归调用 D.嵌套调用 (9)预处理命令以( )开头。
A. * B. # C. / D. : (10)对数组名作函数的参数,下面描述正确的是( )。
A.数组名作函数的参数,调用时将实参数组复制给形参数组 B.数组名作函数的参数,主调函数和被调函数共用一段存储单元 C.数组名作参数时,形参定义的数组长度不能省略 D.数组名作参数,不能改变主调函数中的数据 2.分析程序并写出结果 (1)#include
void fun( ); int n=5; void main( ) { int n=10; cout< cout< (2)#include void fun( ); void main( ) { int i; for(i=0;i<5;i++) } void fun( ) { static int m=0; cout< (3)#include #include int a[10]={5,8}; int i; fun(a,10); for(i=0;i<10;i++) } void fun(int array[ ],int n) { int i; for(i=2;i (4)#include array[i]=array[i-1]+array[i-2]; cout<