int item;
printf(\
printf(\简单计算器?\\n\ printf(\加法运算\\n\ printf(\减法运算\\n\ printf(\乘法运算\\n\ printf(\除法运算\\n\ printf(\退出\\n\ scanf(\ return item; }
void main() {
int quit=0; while(!quit) {
switch(mennue()) {
case 1:
int i,j,k;
printf(\请输入两个数:\ scanf(\ k=i+j;
printf(\ break; case 2:
printf(\请输入两个数:\ scanf(\ k=i-j;
printf(\ break; case 3:
printf(\请输入两个数:\ scanf(\ k=i*j;
printf(\ break; case 4:
printf(\请输入两个数:\ scanf(\ k=i/j;
printf(\ break; case 5:
}
quit=1; break; default:
printf(\请输入两个数:\\n\ } }
书名 《C++程序设计》
作者 谭浩强 P64-P71
1 函数的使用
在程序中,通过函数我们可以实现特定的功能,因此对函数的定义,函数的返回值以及函数参数的理解对我们编写程序十分重要。 3.1函数定义的一般形式: 返回值类型 函数名(参数…..) {
函数体; }
函数的返回值有void(无返回值),*p(指针),int(整形) …. 例:
void Change (int a,int b) {
if(a>=b)
printf(“%d”,a); 函数体 else
Printf(“%d”,b);
}
函数返回值 函数名 (参数列表)
3.2 函数参数的形式
函数参数传递形式有参数的值传递,参数的指针传递和参数的引用传递。
3.2.1 参数的值传递
参数的值传递只是将数据拷贝一份进入函数体,但是进入函数体的数据源并未发生变化。 例:通过值传递交换两个数的值
void change1(int a,int b) {
int i_changetmp; i_changetmp=a; a=b;
b=i_changetmp;
printf(\ printf(\}
void main() {
int i,j;
printf(\请输入待交换的数:\\n\
}
scanf(\change1(i,j);
printf(\printf(\
通过结果我们可以看出,通过值传递并没有对两个数字进行交换,原因是在执行交换函数时,只是对待交换的数据进行了复制,并没有对数据本身进行操作,因此,无法交换两个数据的值。
3.2.2 函数参数的指针传递
函数参数的指针传递是直接对函数参数的地址进行操作,即对数据源的操作。
例:通过指针交换两个数据
void change1(int *a,int *b) {
int i_changetmp; i_changetmp=*a; *a=*b;
*b=i_changetmp;
printf(\
printf(\}
void main() {
int i,j;
int *p_i,*p_j; }
printf(\请输入待交换的数:\\n \scanf(\p_i=&i; p_j=&j;
change1(p_i,p_j); printf(\printf(\