欢迎来到天天文库
浏览记录
ID:43804299
大小:122.50 KB
页数:21页
时间:2019-10-14
《第12讲 函数(3)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C/C++语言程序设计第十二讲函数(3)一、数组作函数参数形参:一维数组无需指定大小,二维数组无需指定第二维大小,但需指定第一维大小实参:使用数组名即可,无需带[]如:voidsort(chars[]){……}voidmain(){charc[100];……sort(c);……}函数调用时,形参数组得到的是实参数组的地址,它们表示的是同一个对象。一、数组作函数参数数组名是数组的地址。函数执行时对形参数组的任何操作即是对实参数组操作。e.g.12_1编写函数统计某字符串中字母、数字及其他字符的个数。在主函数
2、中输入字符串和输出统计结果。#includeusingnamespacestd;voidmain(){voidcount(chars[],intd[]);chars[100];intd[3]={0,0,0};cout<<“请输入s:";gets(s);count(s,d);cout<<"s中有"<3、i++){if(s[i]>=65&&s[i]<=904、5、s[i]>=97&&s[i]<=122)d[0]++;elseif(s[i]>=48&&s[i]<=57)d[1]++;elsed[2]++;}}e.g.12_2编写函数将一个字符串中的连续空格用一个空格代替。在主函数中输入原字符串和输出转换后的字符串。#includeusingnamespacestd;voidmain(){voidCut_Space(chars[]);chars[100];gets(s);Cut_Space(s);6、cout<7、8、s[i]==''&&s[i+1]!=''){s[j]=s[i];j++;}s[j]=0;}二、函数的递归调用函数直接或间接地调用自己。如:intf(intn){if(n<1)return0;returnf(n-1)+n;}#include#includeusingnamespacestd;voidma9、in(){longfac(intn);intn;longm;cin>>n;if(n<0)exit(0);m=fac(n);cout<10、数为1#include#includeusingnamespacestd;voidmain(){intn,k;intcomm(intn,intk);cin>>n>>k;if(k>n11、12、k<0){cout<<“k值有误!”<13、14、k==0)return1;elsereturncomm(n-1,k)+comm(n-1,k-1);}声明函数原型时,可为一15、个或多个形参指定默认参数值。调用函数时如给出实参,则采用实参值,否则采用对应的默认参数值。三、函数的默认参数值voidmain(){cout<16、nty=5,intz=6);//正确intf(intx=1,inty=5,intz=6);//正确intf(intx=1,inty=5,intz);//错误intf(intx=1,inty,intz=6);//错误函数调用时,若省略某个实参,则其后的实参都应省略。如:f(,10,20);//错误在不同的作用域内,允许说明不同的默认值三、函数的默认参数值intadd(intx=1,inty=2);vo
3、i++){if(s[i]>=65&&s[i]<=90
4、
5、s[i]>=97&&s[i]<=122)d[0]++;elseif(s[i]>=48&&s[i]<=57)d[1]++;elsed[2]++;}}e.g.12_2编写函数将一个字符串中的连续空格用一个空格代替。在主函数中输入原字符串和输出转换后的字符串。#includeusingnamespacestd;voidmain(){voidCut_Space(chars[]);chars[100];gets(s);Cut_Space(s);
6、cout<
7、
8、s[i]==''&&s[i+1]!=''){s[j]=s[i];j++;}s[j]=0;}二、函数的递归调用函数直接或间接地调用自己。如:intf(intn){if(n<1)return0;returnf(n-1)+n;}#include#includeusingnamespacestd;voidma
9、in(){longfac(intn);intn;longm;cin>>n;if(n<0)exit(0);m=fac(n);cout<10、数为1#include#includeusingnamespacestd;voidmain(){intn,k;intcomm(intn,intk);cin>>n>>k;if(k>n11、12、k<0){cout<<“k值有误!”<13、14、k==0)return1;elsereturncomm(n-1,k)+comm(n-1,k-1);}声明函数原型时,可为一15、个或多个形参指定默认参数值。调用函数时如给出实参,则采用实参值,否则采用对应的默认参数值。三、函数的默认参数值voidmain(){cout<16、nty=5,intz=6);//正确intf(intx=1,inty=5,intz=6);//正确intf(intx=1,inty=5,intz);//错误intf(intx=1,inty,intz=6);//错误函数调用时,若省略某个实参,则其后的实参都应省略。如:f(,10,20);//错误在不同的作用域内,允许说明不同的默认值三、函数的默认参数值intadd(intx=1,inty=2);vo
10、数为1#include#includeusingnamespacestd;voidmain(){intn,k;intcomm(intn,intk);cin>>n>>k;if(k>n
11、
12、k<0){cout<<“k值有误!”<13、14、k==0)return1;elsereturncomm(n-1,k)+comm(n-1,k-1);}声明函数原型时,可为一15、个或多个形参指定默认参数值。调用函数时如给出实参,则采用实参值,否则采用对应的默认参数值。三、函数的默认参数值voidmain(){cout<16、nty=5,intz=6);//正确intf(intx=1,inty=5,intz=6);//正确intf(intx=1,inty=5,intz);//错误intf(intx=1,inty,intz=6);//错误函数调用时,若省略某个实参,则其后的实参都应省略。如:f(,10,20);//错误在不同的作用域内,允许说明不同的默认值三、函数的默认参数值intadd(intx=1,inty=2);vo
13、
14、k==0)return1;elsereturncomm(n-1,k)+comm(n-1,k-1);}声明函数原型时,可为一
15、个或多个形参指定默认参数值。调用函数时如给出实参,则采用实参值,否则采用对应的默认参数值。三、函数的默认参数值voidmain(){cout<16、nty=5,intz=6);//正确intf(intx=1,inty=5,intz=6);//正确intf(intx=1,inty=5,intz);//错误intf(intx=1,inty,intz=6);//错误函数调用时,若省略某个实参,则其后的实参都应省略。如:f(,10,20);//错误在不同的作用域内,允许说明不同的默认值三、函数的默认参数值intadd(intx=1,inty=2);vo
16、nty=5,intz=6);//正确intf(intx=1,inty=5,intz=6);//正确intf(intx=1,inty=5,intz);//错误intf(intx=1,inty,intz=6);//错误函数调用时,若省略某个实参,则其后的实参都应省略。如:f(,10,20);//错误在不同的作用域内,允许说明不同的默认值三、函数的默认参数值intadd(intx=1,inty=2);vo
此文档下载收益归作者所有