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

贵阳市城乡建设部网站长泰建设局网站

贵阳市城乡建设部网站,长泰建设局网站,企业形象网站模板,网页不能下载的wordpress目录 1. 函数是什么#xff1f; 2. C语言中函数的分类#xff1a; 2.1 库函数#xff1a; 2.2 自定义函数 函数的基本组成#xff1a; 3. 函数的参数 3.1 实际参数#xff08;实参#xff09;#xff1a; 3.2 形式参数#xff08;形参#xff09;#xff1a; …目录 1. 函数是什么 2. C语言中函数的分类 2.1 库函数 2.2 自定义函数 函数的基本组成 3. 函数的参数 3.1 实际参数实参 3.2 形式参数形参 写一个函数可以交换两个整形变量的内容 错误示范 正确代码如下 小结 4. 函数的调用  4.1 传值调用 4.2 传址调用 4.3 练习 4.3.1 写一个函数可以判断一个数是不是素数 4.3.2 写一个函数判断一年是不是闰年 4.3.3 写一个函数实现一个整形有序数组的二分查找 4.3.4 写一个函数每调用一次这个函数就会将num的值1 1. 函数是什么 在数学中函数的概念大家应该都有所了解y f(x) 我们可以代入x求出相应的y。但是你了解C语言中的函数吗 函数其实就是一部分的代码它们可能有一个或多个语句块组成。它负责完成某项特定任务而且相较于其他代码具有相对的独立性。一般有输入参数并会有返回值提供对过程的封装和细节的隐藏。这些代码通常被集成为软件库。2. C语言中函数的分类 库函数和自定义函数 2.1 库函数 为什么会有库函数 我们知道在我们学习C语言编程的时候总是在一个代码编写完成之后迫不及待的想知道结果想把这个结果打印到屏幕上看看。这个时候我们会频繁的使用一个功能将信息按照一定的格式打印到屏幕上。printfC语言官方了解到我们在编写代码的时候会有一些小动作会频繁大量的使用如果有一个库函数来存放这些代码这样我们就可以直接使用。如果没有这个库那么同一个功能可能会有许多种写法品质良莠不齐可读性不高可移植性不高。在C语言的标准库里提供了一系列C语言的库函数学习库函数的网站www.cplusplus.com 这里简单的介绍一下常用的库函数 IO函数— — — — Iinput; Ooutput; 输入输出函数scanf、printf字符串操作函数— — — — strlen、strcmp……内存操作函数— — — — 大小写转换、字符分类时间/日期函数— — — — time数学函数— — — — pow、sqrt其他库函数2.2 自定义函数 库函数不是万能的只含有常用的函数自定义函数更加重要 自定义函数和库函数一样有函数名返回值类型和函数参数。 但是不一样的是自定义函数是由程序员自己设计的。这给程序员提供了一个很大的发挥空间。 函数的基本组成 ret_type     返回类型  fun-name   函数名 para 1        函数参数 — — 参数可以是0可以是一个或多个 {   }内为函数体函数体中包含的是语句项 3. 函数的参数 3.1 实际参数实参 真实传给函数的参数叫实参。实参可以是常量、变量、表达式、函数等。无论实参是何种类型的量在进行函数调用时它们都必须有确定的值以便把这些值都传给形参。3.2 形式参数形参 形式参数是指函数名后括号中的变量应为形式参数只有在函数被调用的过程中猜实例化分配内存单元所以叫形式参数。形式参数当函数调用完成后就自动销毁了。因此形式参数只在函数中有效。 写一个函数可以交换两个整形变量的内容 1.定义a、b存放并输入整数 2.先在屏幕中显示出原来的两个整形顺序然后用自定义函数调换最后在屏幕中显示改变顺序的整形。 3.写自定义函数采用取地址的方式将a、b取地址定义一个tmp存放临时的数字进行调换最后取地址回去 错误示范 void Swap(int x,int y) {int tmp x;x y;y tmp; }int main() {int a 0;int b 0;scanf(%d %d, a, b);printf(交换前a%d b%d\n,a,b);Swap(a, b);printf(交换后a%d b%d\n, a, b);return 0; } 这里主要的错误就是调用函数部分我们通过调试可以看到 虽然我们的数值是给到了x、y但是x、y的地址和a、b的地址不一样就导致了即使我们交换了x、y  a、b的数值也没有改变。 因此我们在写调用函数时不使用x、y改为取a、b的地址指针 正确代码如下 void Swap(int* pa,int* pb) {int tmp *pa;*pa *pb;*pb tmp; }int main() {int a 0;int b 0;scanf(%d %d, a, b);printf(交换前a%d b%d\n,a,b);Swap(a, b);printf(交换后a%d b%d\n, a, b);return 0; } 小结 实参传递给形参的时候形参是实参的一份临时拷贝对形参的修改是不会影响实参的 4. 函数的调用  4.1 传值调用 函数的形参和实参分别占有不同的内存块对形参的修改不会影响实参。例如上面的错误示范 4.2 传址调用 传址调用是把函数外部创建变量的内存地址传递给函数参数的一种调用函数的方式。这种传参方式可以让函数和函数外边的变量建立起真正的练习也就是函数内部可以直接操作函数外部的变量。例如上面的正确示范 4.3 练习 本章练习均以上一篇博客为基础忘记了的话可以看一下我前面的文章C语言基础练习.2.里面有讲具体该如何操作 4.3.1 写一个函数可以判断一个数是不是素数 我们在之前写过一个“打印100-200之间的素数”这次我们在原来的基础上面改动 1.首先写主函数部分定义i100使用for循环创建100-200之间的数字 2.用if语句如果 i 是素数打印并计数 3.写调用函数我在这里是创建is_prime为函数名。又因为我们最后要返回素数所以返回类型为int 4.定义 j 用for循环计算 i 是否为素数如果是就返回1如果不是则返回0即不返回。 5.打印素数并打印有几个素数 代码如下 int is_prime(int i) {int j 0;for (j 2; j sqrt(i); j){if (i % j 0)return 0;}return 1; }int main() {int i 0;int count 0;for (i 100; i 200; i){if (1 is_prime(i)){count;printf(%d , i);}}printf(\ncount%d, count);return 0; } 4.3.2 写一个函数判断一年是不是闰年 1.首先写主函数定义y0使用for循环创建出1000-2000之间的数字 2.用if语句判断是否为闰年是就打印 3.写调用函数部分使用if语句判断是返回1不是返回0 int is_leap_year(int y) {if (((y % 4 0) (y % 100 ! 0) || (y % 400 0)))return 1;elsereturn 0; }int main() {int y 0;for (y 1000; y 2000; y){if (1 is_leap_year(y)){printf(%d , y);}}return 0; } 在此基础上我们还能进行改良 其实((y % 4 0) (y % 100 ! 0) || (y % 400 0))这一句如果正确返回值就为1 我们可以直接改为 int is_leap_year(int y) {return ((y % 4 0) (y % 100 ! 0) || (y % 400 0)); } 4.3.3 写一个函数实现一个整形有序数组的二分查找 1.首先写主函数创建数组定义要查找的数字并使其可输入。计算数组长度便于使用下标查找。 2.使用if语句如果返回值为-1则没找到为什么用-1因为下标不可能为负数为什么不用0因为如果要查找的数字是第一个下标为0会混乱如果返回值为下标则找到。 3.写调用函数部分创建左下标left、右下标right、中间下标mid。采用二分查找使用while循环如果找到返回值为mid如果不是则继续循环如果找不到则返回-1。 int search(int arr[], int k, int sz) {int left 0;int right sz - 1;while (left right){int mid left (right - left) / 2;if (arr[mid] k){left mid 1;}else if (arr[mid] k){right mid - 1;}else{return mid;}return -1;} }int main() {int arr[10] { 1,2,3,4,5,6,7,8,9,10};int k 0;scanf(%d\n, k);int sz sizeof(arr) / sizeof(arr[0]);int ret search(arr, k,sz );if (ret -1){printf(没找到\n);}else{printf(找到了下标是%d\n,ret);}return 0; } 4.3.4 写一个函数每调用一次这个函数就会将num的值1 1.首先写主函数定义num0使其每一次被调用后打印 2.写调用函数因为在上面我们知道如果我们直接用num是不能改变原来的数值的所以我们用指针又因为我们只是改变值不需要返回值所以用void类型 void Add(int*p) {*p *p 1;//或者(*p);这里将指针括起来是因为的优先级大于*如果不括起来就会是p的指针 }int main() {int num 0;Add(num);printf(%d\n, num);Add(num);printf(%d\n, num);Add(num);printf(%d\n, num);return 0; }
http://www.hkea.cn/news/14568538/

相关文章:

  • 网页设计与网站建设实例教程答案网站建设需要的语言
  • 自己做的网站算广告吗市场研究公司
  • 龙岩公司网站建设展览设计网站有哪些
  • 太原h5建站网页qq登录不扫二维码
  • iis网站服务器 建立出现问题建设网站服务
  • 建设银行 网站 字体wordpress页面半透明
  • 用手机可以做网站嘛建设积分网站
  • 做英文网站费用大庆绿色出行app
  • 0基础怎么做网站模版美团网站开发形式
  • 怎么查询网站开通时间劳动合同模板免费
  • 呼伦贝尔网站建设呼伦贝尔怎样做彩票网站
  • 如可建设淘宝链接网站皂君庙网站建设
  • 网站开发合同 下载网站模板二次开发
  • 网站策划模板网站开发方式有哪些
  • 网站开发 案例个人网站价格
  • 企业的网站开发费用摊销几年商铺设计
  • 庄河建网站外贸做网站建设公司
  • 网站运行速度慢的原因wordpress怎么让文章页新窗口打开
  • 佛山网站设计电话上海高端室内设计公司
  • 晋中网站seo怎么做可以使网站跳转
  • 手机网站 跳转宁波网站建设企业
  • 网站建设公司工作室深圳网站建设的基
  • 慈溪市网站制作海外服务器ip免费
  • 福建省建设工程信息网站制作网站的步骤域名
  • 有教做衣服的网站吗制作网站的成本
  • 网站运营与管理的目的是网站机房建设流程
  • 网站推广应该怎么做?做网站seo优化
  • 网站上广告中卫网络工程招聘
  • 好的网站首页建设公司提升学历的十大好处是什么
  • 阿里巴巴的网站应该怎么做厦门网站建设技术支持