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

做窗帘店的网站十堰建设局网站

做窗帘店的网站,十堰建设局网站,搜索词,网站的关键词在哪里设置十:函数 一:语法 类型标识符(看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/a/439021.html

相关文章:

  • Xmind 2025最新安装使用教程
  • 做网站asp用什么软件wordpress页面内容显示默认
  • 开发者指南:解析Vibes架构与AI提示词,探索二次开发可能性
  • 中卫市网站开发制作如何制作网页内容
  • 【测试】商城系统---测试报告
  • 集团网站设计开发排名优化seo
  • 智能体互联系列国标草案的理解(1):总体架构设计
  • 网站网络架构申请做网站
  • Effective Modern C++ 条款31:避免使用默认捕获模式
  • 找人做效果图去什么网站我想网站建设多少钱
  • Python 虚拟环境:venv 与 conda 该如何选择?
  • 公司名称大全好听宁波seo推荐
  • Windows逆向工程入门之整数类型
  • 怎么用wordpress做网盘google seo 营销网站
  • c2c网站类型可以翻外墙的浏览器
  • 1.HTTPS协议原理
  • 中山网站制作建设深圳网站设计 深圳市利
  • FontViewOK(字体管理软件) 多语便携版
  • Day90 基本情报技术者 单词表26 ソフトウェア品質管理
  • 腾讯开源啦,源码地址+部署脚本,工业级原生多模态
  • 参与网站网站建设连云港北京网站建设
  • 如何建设自己的网站 知乎wordpress 无广告视频插件
  • 算法 - FOC开环速度控制
  • 企业建设网站费用福建省建设厅网站信用评分
  • 北京私人做网站请seo的人帮做网站排名
  • 网站建设基础策划书网站做跳转会有什么影响
  • 网站建设怎么销售数据库网站
  • 做企业网站安装什么系统好google 网站优化工具
  • 网站内容分析阿里云备案网站建设方案书
  • 一键免费生成网页的网站wordpress做的外贸网站6