码迷,mamicode.com
首页 > 编程语言 > 详细

c语言程序设计案例教程(第2版)代码笔记(二)

时间:2018-01-25 18:25:26      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:lin   mat   bubuko   自定义   程序   核心部分   交换   产生   value   

零散知识点

  • 模块化:将一个问题分解成若干个子问题的过程成为模块化。
  • 模块化的优点:不但可以将一个复杂的问题分解成几个相对简单的问题;还可以提高程序代码的重用性。
  • 函数:函数是构成C程序的基本单位。函数由函数首部和函数体两个部分组成,函数首部包含函数的返回类型、函数名称和参数表声明;函数体包含实现特定功能所需要执行的语句序列。
  • 函数调用原则:C语言中规定,所有函数必须“先定义后使用”。即:如果被调用的函数在前面定义,则可以直接调用;否则,需要将被调用函数的函数原型在前面声明,以便通告C编译程序,这个函数的完整定义在后面。
  • 常用标准函数头文件
    1. math.h——包含与数学有关的函数
    2. ctype.h——包含与字符处理有关的函数
    3. string.h——包含与字符串处理有关的函数
    4. stdio.h——包含与输入输出有关的函数
    5. stdlib.h——包含与动态分配存储空间和产生随机值有关的函数
  • 自定义函数的基本格式

<函数返回类型> <函数名> (<参数表>)

{

<函数体>;

}

说明:

  1. <函数返回类型> 是指函数执行完毕后函数返回值所属的数据类型;
  2. <函数名> 的命名应该符合C语言的用户自定义标识符规则,并且最好“见名知意”,最好用一个能够反映操作功能的动词命名; 
  3. <参数表> 指出了调用函数时,需要向函数提供的参数个数和每个参数所属的数据类型,是函数之间交换信息的接口;若形参是一维数组类型,则无需指出一维数组的元素个数
  4. 在调用函数之后,参数传递经历两个基本步骤:1)根据形式参数的声明格式,为每一个形式参数分配存储空间。2)再将实际参数的值赋给对应的形式参数。
  5. 将实际参数传递给形式参数的过程具有以下基本特征:a)具有单向性,实际参数既可以是变量,也可以是表达式;b)实际参数的值赋给形式参数之后,实际参数与形式参数不再有任何关系。
  6. 在函数没有被调用的时候,系统不会为任何参数分配空间,因此称为形参。
  7. <函数体> 由若干条需要执行的语句组成的语句序列,是函数的核心部分。
  8. C语言中,一个函数可以有返回值,也可以没有返回值。如果有返回值,返回值的类型在函数名前声明,并在函数体中利用return语句将返回值返回(若函数有返回值,在函数返回时,可以立即引用这个返回值,也可以将它保留在一个相应类型的变量中;否则,返回值将会丢失);如果没有返回值,在函数名前声明void,默认的返回类型是int。
  • 函数的调用

函数调用语句的基本格式:<函数名> (<实际参数表>);

  1. <函数名> 是需要调用的函数名称;
  2. <实际参数表> 中的参数与这个函数的形式参数表相对应;
  3. 例子:
 1 int dataArray[100];
 2 int n;
 3 double ave;
 4 
 5 //自定义函数
 6 double average(int value[], int num){
 7     int i, sum = 0;
 8     for (i = 0; i < num; i++){
 9         sum += value[i];
10         return sum*1.0 / num;
11     }
12 }
13 
14 //函数调用
15 ave = average(dataArray, n);

 自定义函数的应用实例

  • 输出乘法口诀表

 1 #include<stdio.h>
 2 void drawline(int n, char ch);  //必须存在
 3 
 4 main()
 5 {
 6     int i, j;
 7     printf("\n        9*9 table\n");
 8     drawline(45, =);
 9     printf("\n       1   2   3   4   5   6   7   8   9");
10     drawline(45, =);  //此处必须为单引号‘‘,否则会产生乱码
11     for (i = 1; i <= 9; i++){
12         printf("\n%4d", i);
13         for (j = 1; j <= 9; j++){
14             printf("%4d", i*j);
15         }
16         if (i < 9)
17             drawline(45, _);
18         else
19             drawline(45, =);
20     }
21 }
22 
23 void drawline(int n, char ch){
24     int i;
25     putchar(\n);
26     for (i = 1; i <= n; i++){
27         putchar(ch);
28     }
29 }

技术分享图片

 

c语言程序设计案例教程(第2版)代码笔记(二)

标签:lin   mat   bubuko   自定义   程序   核心部分   交换   产生   value   

原文地址:https://www.cnblogs.com/sunshine-blog/p/8350522.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!