C++简单程序设计-2
四、实验结论
1.
①函数声明和函数定义各自的作用,二者的区别;
函数声明:
int fun(int a, int b);
函数定义:
int fun(int a,int b) { int c; c=a+b; return c; }
函数声明就像函数定义的头部,当需要调用函数时,如果函数定义用在函数调用的前面,执行到调用的部分就无法调用,会报错,这时就需要在函数调用前加个函数声明,或者先写函数定义后写函数调用。
② 什么是形参?什么是实参?函数参数和返回值在函数中起到什么作用?
形参全称为“形式参数”是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传递的参数。
实参全称为“实际参数”是在调用时传递给函数的参数,即传递给被调用函数的值。
函数参数为在函数运算或函数调用中传递的参数。
函数返回值为函数执行完以后return的结果。
③函数参数传递过程中,值传递和引用传递区别是什么?
值传递仅仅传递的是值
引用传递,传递的是内存地址,修改后会改变内存地址对应储存的值。
2.
(1)习题2-28
①用if...else语句进行判断
#include <iostream>
using namespace std;
int main()
{
char x;
cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:";
while(x!='Q')
{
cin>>x;
if(x=='A')
cout<<"数据已经增加"<<endl;
else if(x=='D')
cout<<"数据已经删除"<<endl;
else if(x=='S')
cout<<"数据已经排除"<<endl;
}
return 0;
}
②用switch语句
#include <iostream> using namespace std; int main() { char x; cout<<"Menu:A(dd) D(elete) S(ort) Q(uit),Select one:"; while(x!='Q') { cin>>x; switch(x) { case 'A': cout<<"数据已经增加"<<endl;break; case 'B': cout<<"数据已经删除"<<endl;break; case 'S': cout<<"数据已经排除"<<endl;break; } } return 0; }
(2)习题2-29
①
质数为在大于1的自然数中,除了1和它本身以外不再有其他因数的数。
则质数首先应该大于1,然后用从2到这个数-1的所有数去除这个数,若都不能整除,则这个数为质数。
②
#include <iostream> using namespace std; int isprime(int x) { int ret=1; int i; for(i=2;i<x;i++) { if(x%i==0) { ret=0; break; } } if(x<=1) ret=0; return ret; } int main() { int x=1;; while(x<=100) { if(isprime(x)==1) cout<<x<<' '; x++; } return 0; }
(3)习题2-32
#include <iostream> #include<cstdlib> #include<ctime> using namespace std; int main() { srand(time(0)); int a=rand()%100; int s; int count=0; while(1) { cout<<"请输入你要猜的数"; cin>>s; if(s>a) { cout<<"偏大了"<<endl; count++; } else if(s<a) { cout<<"偏小了"<<endl; count++; } else { count++; cout<<"猜对了!¡"<<endl; break; } } return 0; }
(4)习题 2-34
①
#include <iostream> #include<iomanip> using namespace std; int main() { enum color{red,yellow,blue,white,black}; color pri; int i,j,k,n=0,loop; for(i=red;i<=black;i++) { for(j=red;j<=black;j++) { if(i!=j) { for(k=red;k<=black;k++) { if(k!=i&&k!=j) { n++; cout<<setw(3)<<n; for(loop=1;loop<=3;loop++) { switch(loop) { case 1:pri=color(i);break; case 2:pri=color(j);break; case 3:pri=color(k);break; default:break; } switch(pri) { case red:cout<<setw(8)<<"red";break; case yellow:cout<<setw(8)<<"yellow";break; case blue:cout<<setw(8)<<"blue";break; case white:cout<<setw(8)<<"white";break; case black:cout<<setw(8)<<"black";break; } } cout<<endl; } } } } } return 0; }
五、实验总结与体会
c++中,想要输出控制字符长度,需要用到stew()函数,同时添加#include<iomanip>头文件。
第四题中,color(i)是强制类型转换,使pri的值为i。
想要生成一个随机数,需要用到srand和rand函数,同时添加#include<cstdlib>和 #include<ctime>头文件
例如:
#include <iostream>
#include<cstdlib>
#include<ctime>
int main()
{
srand(time(0));
int a=rand()%100;
return 0;
}
其中a即为一个1~100的随机整数。