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

网站建设学习网企业文化标语经典

网站建设学习网,企业文化标语经典,做网站的流程图,企业网站建设变相收取等级保护费6十:函数 一:语法 类型标识符(看return返回是什么类型的) 函数名(形式参数)//函数头{ ​ 函数体​ //声明部分​ //语句部分}函数模型:函数– ​ 本质上是一个功能模块:完成特定功…

十:函数

一:语法

	类型标识符(看return返回是什么类型的)	函数名(形式参数)//函数头{		​	函数体​	//声明部分​	//语句部分}

函数模型:函数–

​ 本质上是一个功能模块:完成特定功能,实现数据处理

​ 输入—>函数(处理)—>输出

实现函数:

函数头 (1).类型说明符 //函数处理完数据后,结果的类型-----返回值类型

​ (2).函数名 //主要体现函数的功能

​ (3).形式参数(形参) //用来接收要处理的数据

函数体

​ (4).具体实现函数功能的代码

int add(int a,int b)
{int sum;sum = a + b;return sum;
}int main(int argc, const char *argv[])
{int ret;ret = add(1,2);printf("sum = %d\n",ret);return 0;
}

二:返回值

1.函数返回值,如果不需要,设计为空void,此时函数代码不需要return

2.默认为int

3.返回值类型和设计的类型应保持一致

4.函数实现的位置,可以放在main之前/之后,

​ 之前:相当于定义的同时也声明了

​ 之后:使用之前一定要做声明 函数声明:把函数头复制,最后加上分号;

​ 如果把定义函数放在main函数里面 //可以,不标准

5.可以返回逻辑结果

int main(int argc, const char *argv[])
{int ret;int a,b;scanf("%d %d",&a,&b);int max(int a,int b);//4.函数声明实例ret = max(a,b);printf("max = %d\n",ret);return 0;
}int max(int a,int b)
{int z;if(a>b){z = a;}else{z = b;}return (z);
}
int jud_Ryear(int year)
{return (year%100 != 0 && year%4 == 0)||year % 400 == 0 ;//5.带出逻辑结果
}
int main(int argc, const char *argv[])
{int year;scanf("%d",&year);if(jud_Ryear(year) == 1){printf("yes\n");}else{printf("no\n");}return 0;
}
#include <stdio.h>int isLeapYear(int year)
{return year % 100 != 0 && year % 4 == 0 || (year % 400 == 0);
}int getMonthDays(int y, int m)//数组形式
{int days = 0;int months[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};return m==2 ? months[m-1] + isLeapYear(y) : months[m-1];
}int main(void)
{int year = 0;int month = 0;printf("Input a year and month: ");scanf("%d%d", &year, &month);printf("%d\n", getMonthDays(year, month));return 0;
}

三:函数综合练习(函数嵌套)

#include<stdio.h>//判断素数int isPrimeNum(int n)
{int i = 0;int ret = 1;for(i=2;i<n;i++){if(n%i == 0){ret = 0;break;}}return ret;
}void PrintNUm()
{for(int j=2;j<=100;j++){if(isPrimeNum(j) == 1){printf("%d ",j);}}
}int main(int argc, const char *argv[])//主调函数
{PrintNUm();//被调函数putchar('\n');//同上 return 0;
}
#include<stdio.h>//判断回文数int judNum(int n)
{int k = 0;int t = 0;int m = n;while(n){k = n%10;t = t*10 + k;n = n/10;}return t == m;}void printNum()
{for(int i=1;i<=1000;i++){if(judNum(i) == 1){printf("%d ",i);}}
}int main(int argc, const char *argv[])
{printNum();putchar('\n');return 0;
}

四:函数实现的本质

1.是借助于栈的结构,实现了函数的层层的嵌套调用

2.函数的调用关系:可以实现层层嵌套调用

3.栈 (内存) //栈本身是一种数据结构特点:先进后出FILO(First In Last Out)

​ //栈实际对应的是一块内存空间

4.a.out----运行之后–>加载到内容 //典型的c程序在内存上被划分了5个区域

5.五个部分:

​ 栈–特点:先进先出 //局部变量—空间会开在栈上—变量特点:自动申请,自动释放

​ //栈的大小–默认8M

​ 堆–特点:空间很大用于存放大的数据 堆区空间–手动申请,手动释放

​ 全局区(静态区):存放全局变量和静态变量

​ 字符串常量区:"hello"//字符串常量

​ 代码区:就是程序的负责执行的代码指令

	unsigned char ch [1024 * 1024 * 7];// 8MBunsigned char ch[1024 * 1024 * 8];//正好是8MB,但加上函数调用开销、返回地址等信息,就会超限

五:嵌套调用(递归)

1.直接递归

void func1
{printf("func1-----\n");func1();
}

2.间接递归

void func1()
{printf("func1-----\n");void func2();func2();
}
void func2()
{printf("func2-----\n");
}

3.递归是一种特殊的循环 //递归因为栈空间有限,即使没有结束条件,也不会死循环

int sum(int n)
{if(n == 1){return 1;}else{return sum(n-1) + n;//递归思路:从后往前看,看向上一次操作,累次}
}int main(int argc, const char *argv[])
{int n = 0;scanf("%d",&n);int ret = sum(n);printf("%d\n",ret);
int fb(int n)//斐波那契数列
{if(n == 1||n == 2){return 1;}else{return fb(n-2) + fb(n-1);}
}
http://www.dtcms.com/wzjs/215108.html

相关文章:

  • 石家庄做网站好的网络技术有限公司今日国际军事新闻最新消息
  • ftp上直接编辑wordpress上海百度推广排名优化
  • 企业网站备案名称谷歌seo公司
  • 卢氏县住房和城乡建设局网站网络优化的流程
  • 北京专业网站开发公司热狗网站关键词优化
  • 广西建设科技与建筑节能协会网站什么是营销模式
  • 免费国外b2b网站有哪些推广优化
  • 政协网站法治建设免费搜索引擎推广方法有哪些
  • 图片上传网站变形的处理如何在百度免费发布广告
  • 建设网站包括哪些怎么开发一个网站
  • 同城做鸡网站舆情分析网站
  • 西安网络公司做网站在线客服系统
  • dedecms 子网站学电脑培训班多少一个月
  • 商城网站建设目标文明seo
  • 有动效网站祁阳seo
  • 做一些网站的弹出页面郑州seo优化顾问阿亮
  • 做拼多多代运营网站发布新闻稿
  • 网站百度没收录线上推广100种方式
  • 做网站买完域名还需要什么网络广告有哪些形式
  • 个人做网站名称可以随意更改吗百度账号管理
  • 北京网站外包国际网络销售平台有哪些
  • wordpress网站首页链接乱码竞价推广账户竞价托管
  • 南宁网站seo推广公司刚刚发生 北京严重发生
  • 网站头部修改搜索量排名
  • 做一网站APP多少钱爱站权重查询
  • 国际货代做网站企业网站推广渠道有哪些
  • 贵州省建设网站自己建网站怎么建
  • 合肥网站网站建设推广网站免费
  • 模板网站代理舆情信息报送
  • 关于建设网站群的报告seo单词优化