当前位置: 首页 > news >正文

美妆网站开发规划书营销公司网站

美妆网站开发规划书,营销公司网站,织梦 移动网站,office制作网页的软件1、函数 函数是对实现某一功能的代码的模块化封装。 函数的定义&#xff1a; 标准函数&#xff1a; 输入 n 对整数的 a、b &#xff0c;输出它们的和。 #include <iostream> #include <windows.h> using namespace std;int add(int a,int b);//函数原型声明int…

1、函数

函数是对实现某一功能的代码的模块化封装。

 函数的定义:

标准函数:

输入 n 对整数的 a、b ,输出它们的和。

#include <iostream>
#include <windows.h>
using namespace std;int add(int a,int b);//函数原型声明int main()
{int n,a,b;cin>>n;int *c=new int[n];//动态数组for(int i=0;i<n;i++){cin>>a>>b;c[i]=add(a,b);//调用函数}for(int i=0;i<n;i++){cout<<c[i]<<endl;}return 0;
}int add(int a,int b){//函数定义return a+b;
}

运行结果如下:

 无返回值:

输入n,输出1~n之间所有整数。

#include <iostream>
#include <windows.h>
using namespace std;void print(int n);//函数原型声明int main()
{int n;cin>>n;print(n);return 0;
}void print(int n){//函数定义for(int i=1;i<=n;i++){cout<<i<<endl;}
}

运行结果:

 无参数:

输入n,如果n为10的倍数,输出3个“very good!”。

#include <iostream>
#include <windows.h>
using namespace std;void print();//函数原型声明int main()
{int n;cin>>n;if(n%10==0){print();}return 0;
}void print(){//函数定义for(int i=1;i<=3;i++){cout<<"very good!"<<endl;}
}

 运行结果如下:

 传值参数:

输入两个整数a,b,交换后输出。

#include <iostream>
#include <windows.h>
using namespace std;void swap(int x,int y);//函数原型声明int main()
{SetConsoleOutputCP(CP_UTF8);int a,b;cin>>a>>b;swap(a,b);cout<<"a和b交换后"<<a<<"\t"<<b<<endl;return 0;
}void swap(int x,int y){//传值参数定义int temp;temp=x;x=y;y=temp;
}

 发现传值参数调用,只在函数内有效,离开函数,参数并未交换值。

引用参数:

比如:int &b = a; 在定义b的时候前面的符号& 就表示b是a的一个引用,对引用变量的赋值等操作相当于对变量本身的操作。所以你对b赋值 b=a+14其实相当于a=a+14操作,引用又称为别名,相当于一个人两个名字。所以b是15。

 接下来我们在参数前面加个&号,代表引用参数,改变参数值,跳出函数依然生效。

 数组参数:

输入n个数存入数组a[]中,求和后输出和值。

#include <iostream>
#include <windows.h>
using namespace std;
//int a[100];//定长数组long long sum(int s[],int n){//参数数组long long count=0;for(int i=0;i<n;i++){count+=s[i];}return count;
}
int main()
{SetConsoleOutputCP(CP_UTF8);int n;cin>>n;int *a = new int[n];//动态数组for(int i=0;i<n;i++){cin>>a[i];}cout<<"sum 计算结果"<<sum(a,n)<<endl;return 0;
}

 运行结果(这里我输入10个数):

 字符串参数:

输入n个字母,如果是小写字母将其转换为大写字母,输出转换后的字符串。

#include <iostream>
#include <windows.h>
#include <cstring>
using namespace std;string covert(string &s)
{for(int i=0;i<s.length();i++){if(s[i]>='a'&&s[i]<='z'){s[i]-=32;//将小写字符转为大写}}return s;
}
int main()
{SetConsoleOutputCP(CP_UTF8);string s;cin>>s;covert(s);cout<<s<<endl;return 0;
}

 运行结果:

 函数嵌套:

#include <iostream>
#include <windows.h>
#include <cstring>
using namespace std;int gcd(int x,int y)//最大公约数
{int t;t=x%y;//求余数 while(t!=0){x=y;//y做被除数 y=t;//余数做除数 t=x%y;//求余数 }return y;
}
int lcm(int x,int y){//最小公倍数return x*y/gcd(x,y);
}
int main()
{SetConsoleOutputCP(CP_UTF8);int a,b;cin>>a>>b;cout<<"最大公约数:"<<gcd(a,b)<<endl;cout<<"最小公倍数:"<<lcm(a,b)<<endl;return 0;
}

运行结果如下:

 函数重载(多态):

多个同名函数(参数数目、类型、顺序不同)

写一个函数,对于字符串类型数据取其长度的一半,对于浮点数类型,求其值的二分之一。

 

#include <iostream>
#include <windows.h>
#include <cstring>
using namespace std;float half(float a){return a/2;
}
string half(string s){int n=s.length()/2;char *str=new char[n];for(int i=0;i<n;i++){str[i]=s[i];}return str;
}
int main()
{SetConsoleOutputCP(CP_UTF8);float a;string b;cin>>a>>b;cout<<"float 的一半值:"<<half(a)<<endl;cout<<"string 的一半值:"<<half(b)<<endl;	return 0;
}

 运行结果:

 函数模版:

  • C++另一种编程思想称为 泛型编程 ,主要利用的技术就是模板

  • C++提供两种模板机制:函数模板类模板

函数模板作用:

建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。

函数模版语法:
template<typename T>
T add(T x,T y)
{return x+y;} 
解释:

template --- 声明创建模板

typename --- 表面其后面的符号是一种数据类型,可以用class代替

T --- 通用的数据类型,名称可以替换,通常为大写字母

函数模版使用示例:
//交换整型函数
void swapInt(int& a, int& b) {int temp = a;a = b;b = temp;
}//交换浮点型函数
void swapDouble(double& a, double& b) {double temp = a;a = b;b = temp;
}//利用模板提供通用的交换函数
template<typename T>
void mySwap(T& a, T& b)
{T temp = a;a = b;b = temp;
}void test01()
{int a = 10;int b = 20;//swapInt(a, b);//利用模板实现交换//1、自动类型推导mySwap(a, b);//2、显示指定类型mySwap<int>(a, b);cout << "a = " << a << endl;cout << "b = " << b << endl;}int main() {test01();system("pause");return 0;
}
总结:
  • 函数模板利用关键字 template
  • 使用函数模板有两种方式:自动类型推导、显示指定类型
  • 模板的目的是为了提高复用性,将类型参数化

http://www.fp688.cn/news/163847.html

相关文章:

  • 做一个网站大概要多少钱东莞网络营销公司
  • 制作精美网站建设独立搜索引擎在线观看
  • 公众号开发专业旺道seo软件
  • 无人在线观看高清视频8怎么优化关键词
  • 网站编辑seo销售外包
  • 武汉高端网站定制设计师今日要闻
  • 武汉高端网站建设公司营销型网站建设总结
  • 北京海淀网站建设公司免费广告投放网站
  • 做网站能成功吗广州网站制作公司
  • 个人操作做网站排名百度精准搜索
  • 台州网站建站公司seo是什么seo怎么做
  • 网站制作前景北京做网页的公司
  • 东莞企业网站制重庆seo技术博客
  • 现场直播cctv5直播吧北京网站优化企业
  • 佛山建站互联网营销师报名官网
  • 初中做语文题的网站最好最全的搜索引擎
  • 蛋糕教做网站最新长尾关键词挖掘
  • 找人做app网站吗申请域名的方法和流程
  • wordpress html5支持关键词智能优化排名
  • 域名防红跳转网址生成seo推广有哪些公司
  • 内容转载的网站怎么做软文发布平台
  • 官方查企业的网站精准营销平台
  • 济南微信小程序报备系统谷歌seo优化技巧
  • 钢琴网站建设原则网站怎么做外链
  • github主页做网站百度app在哪里找
  • 网站备案后打不开好看的网站ui
  • 青海青海西宁网站建设网络推广的优化服务
  • 公司网站成本网站seo外包价格
  • 一个网站如何做cdn加速亿驱动力竞价托管
  • 做全景网站泰安做网站公司