IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 第一阶段 C语言基础与入门6 -> 正文阅读

[C++知识库]第一阶段 C语言基础与入门6

嵌套循环:

计算1!+2!+3!+······+n!的值,我们一般自定义一个新函数进行计算,如下图:

? ?除此之外,其实还有一种方式能解决这个问题,那就是嵌套循环。

? ?其思路为:sum=sum+第i项

? 累加求和的程序段为:

? ? ? ? sum=0;

? ? ? ? for(i=1;i<=n;i++){

? ? ? ? ? ? ? ? ? sum=sum+i!

}

又可以写成:

? ? sum=0;

? ? for(i=1;i<=n;i++){

? ? ? ? ? ? ?item=i!;

? ? ? ? ? ? ?sum=sum+item;

}

所以完整的程序为:

?

?函数的定义:

? 函数是一个完成特定工作的独立程序模块,包括库函数和自定义函数两种。例如,scanf()、printf()等为库函数,由C语言系统提供定义,编程时只要直接调用就行;但是有些函数,需要用户自己定义,属于自定义函数。

? 从函数实现计算功能角度来看,C语言中称其为函数参数。f(r,h)计算后有结果值,在C程序中必然为某一种数据类型,称其为函数类型。

? 函数定义的一般形式为:

? ? ? ?函数类型? 函数名(形式参数表)

? ? ? ? {

? ? ? ? ? ? ? 函数实现过程

? ? ? ? ?}

1.函数首部:

? 函数首部由函数类型、函数名和形式参数表组成,位于函数定义的第一行。函数首部中,函数名是函数整体的称谓,需用一个合法的标识符表示。函数类型指函数结果返回的类型,一般与return语句中表达式的类型一致。形参表中给出函数计算所要用到的相关已知条件,以类似变量定义的形式给出,其格式为:

? 类型1 形参1,类型2 形参2,···类型n,形参n

? 形参表中各个形参之间用逗号分隔,每个形参前面的类型必须分别写明。函数的形参数量可以是一个,也可以是多个,或者没有形参。

? 注:

函数首部后面不能加分号它和函数体一起构成完整的函数定义。且正确表示为? ? ? ? ? ? ? ? ? ? ? ?double cylinder(double r,double h)而非double r,h。

2.函数体:

? 函数体体现函数的实现过程,由一堆大括号内的若干条语句组成,用以计算,或完成特定的工作,并用return语句返回运算的结果。

函数的调用:

1.函数调用过程:

任何C程序执行,首先从主函数main()开始,如果遇到某个函数调用,主函数被暂停执行,转而执行相应的函数,该函数执行完后将返回主函数,然后再从原先暂停的位置继续执行。

2.函数调用的形式:

函数调用的一般形式为:

? 函数名(实际参数表)

实际参数(简称实参)可以是常量、变量和表达式。

3.参数传递:

? 函数定义时,位于其首部的参数被称为形参,如r和h。主调函数的函数被称为实参。形参除了能接受实参的值外,使用方法与普通变量类似。形参和实参必须一一对应,两者数量相同,类型尽量一致。程序运行遇到函数调用时,实参的值依次传给形参,这就是参数传递。

4.函数结果返回:

? 函数结果返回的形式如下:

? return 表达式;

先求解表达式的值,再返回其值。一般情况下表达式的类型与函数类型应一致,如果两者不一致,以函数类型为准。return语句的作用有两个:一是结束函数的运行;二是带着运算结果(表达式的值)返回主调函数。

5.函数原型声明:

? C语言要求函数先定义后调用,就像变量先定义后使用一样。如果自定义函数被放在主调函数的后面,就需要在函数调用前,加上函数原型声明(或称为函数声明)。

? ?函数声明的目的主要是说明函数的类型和参数的情况,以保证程序编译时能判断对该函数的调用是否正确。函数声明的一般格式为:

? ?函数类型? ? 函数名(参数表);

即与函数定义中的第一行(函数首部)相同,并以分号结束。

自定义函数并调用计算五边形面积:

因此,可以总结出使用自定义函数的程序有以下几个优点:

(1)程序结构清晰,逻辑关系明确,程序可读性强;

(2)解决相同或相似问题时不用重复编写代码,可通过 调用函数来解决,减少代码量;

(3)利用函数实现模块化编程,各模块功能相对独立,利用“各个击破”降低调试难度。

判断一个数是否为完全平方数:

不返回结果的函数:

? 之前的函数都是起计算(或判断)作用,最终有一个函数结果返回。在很多程序设计中,调用函数不是为了得到某个运算结果,而是要让它产生某些作用。如下图的输出数字金字塔,就是如此。

不返回结果的函数定义:

? ? void 函数名(形参表)

? ? ? ? {

? ? ? ? ? ?函数实现过程

? ? ? ?}

? 函数类型为void,表示不返回结果,函数体中可以使用没有表达式的return语句,也可以省略return。void类型的函数虽然不直接返回一个值,但它的作用通常以屏幕输出等方式体现。(void不能省略,否则,函数类型被默认定义为int。)

结构化程序设计思想:

1.自顶向下分析问题的方法:

? 这个方法,就是把大的复杂的问题分解成小问题后再解决。面对一个复杂的问题,首先进行上层(整体)分析,并分解为子问题,若子问题还复杂,继续分解直到处理对象相对简单、容易解决为止。如课本P110页的“学生成绩统计程序的层次结构图”便是如此。

2.模块化设计:

? 经过问题分析,设计好层次结构图后,就进入这个阶段。在这个阶段,需要做到:

  1. 一个模块只完成一个指定的功能
  2. 模块之间只通过参数进行调用
  3. 一个模块中只有一个入口和出口
  4. 模块中慎用全局变量

3.结构化编码主要原则:

1.模块化设计后,每一个模块都可以独立编码。
2.对变量、函数、常量等命名时,要见名知义,有助于对变量含义或者函数功能的理解。
3.在程序中添加必要的注释,增加程序的可读性。
4.要有良好的程序层次分明、结构清楚、错落有致和更加清晰。
5.程序要清晰易懂,语句结构要简单直接。在不影响功能和性能时,做到结构清晰第一,效率第二。
6.程序要有良好的交互性,输入有提示,输出有说明,并且尽量采用统一整齐的输出。

局部变量:

? C语言中把定义在函数内部的变量称为局部变量,局部变量的有效作用范围局限于所在的函数内部。形参是局部变量。

? 使用局部变量可以避免各个函数之间的变量相互干扰。如下图的函数complex_prod()和complex_add()使用了同名的形参,且与值函数实参变量变量也同名,但由于分属不同函数,它们有各自不同的变量实体和使用范围,不会互相干扰。这一特征使得C语言在结构化程序设计中非常有用。

? 除了作用于函数的局部变量外,C语言还允许定义作用于复合语句中的局部变量,其有效使用范围被局限于复合语句内,一般用作小范围内的临时变量。

?局部变量一般定义在函数或复合函数语句的开始处,标准C规定其不能定义在中间位置。

全局变量:

? 局部变量虽保证了函数的独立性,但程序设计有时还要考虑不同函数之间的数据交流,及各函数的某些同意设置。当一些变量需要被多个函数共同使用时,参数传递虽然是一个办法,但必须通过函数调用才能实现并且函数只能返回一个结果,这会使程序设计受到很大的限制。为了解决多个函数间的变量共用,C语言允许定义全局变量。

? 定义在函数外而不属于任何函数的变量称为全局变量。全局变量的作用范围是从定义开始到程序所在文件的结束,它对作用范围内所有的函数都起作用。其他见书p113.

本周有意思的题目(这是我打过最长的代码):

?本周学习内容到此为止,

其他漏下的习题我会另发文章补上。

如有错误,欢迎指出,谢谢。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-24 14:45:41  更:2021-10-24 14:46:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:50:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码