博主本人整理资料不易,如果文章对大家有用的话,恳请大家能够动动小手帮忙点个赞,如果能点个关注的话那就更好了…
文章目录
第一章 程序设计和C语言
计算机程序
- 程序就是一组计算机能识别和执行的指令
- 计算机的一切操作都是由程序控制的
计算机语言
- 人和计算机交流信息,要解决语言问题。需要创造一种计算机和人都能识别的语言,这就是计算机语言
C语言的发展
- 最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的,后来逐步发展为一种高级编程语言,目前C语言使用的标准是1999年修正的C99
C语言的特点
- 语言简洁、紧凑,使用方便、灵活
- 运算符丰富
- 数据类型丰富
- 具有结构化的控制语句
- 语法限制不太严格,程序设计自由度大
- C语言允许直接访问物理地址
- 用C语言编写的程序可移植性好
- 生成目标代码质量高,程序执行效率高
程序设计任务所经历的阶段
程序设计是指从指定任务到得到结果、写出文档的全过程。从确定问题到最后完成任务,一般经历一下几个工作阶段:
- 1.问题分析
- 2.设计算法
- 3.编写程序
- 4.对源程序进行编辑、编译和连接,得到可执行程序
- 5.运行程序,分析结果
- 6.编写程序文档
C语言程序的结构
-
(1)一个程序由一个或多个源程序文件组成,在一个源程序文件中可以包括3个部分:
- ①预处理指令
- ②全局声明
- ③函数定义
-
(2)函数是C程序的主要组成部分
- ①函数是C程序的基本单位
- ②一个C语言程序是由一个或多个函数组成的,有且仅有一个main函数
- ③一个小程序只包含一个源程序文件
- ④函数既可以是库函数,也可以是用户自定义函数
-
(3)函数的两个部分
- ①函数首部
- 函数首部包括函数名、函数类型、函数属性、函数参数(形式参数)名、参数类型。
- ②函数体
- 即函数首部下面的花括号内的部分。函数体一般包括两部分:声明部分和执行部分。
- (4)程序总是从main函数开始执行的
- (5)程序中对计算机的操作是由函数中的C语句完成的
- (6)在每个数据声明和语句的最后必须有一个分号
- (7)C语言本身不提供输入输出语句
- (8)程序应当包含注释
C程序的运行步骤和方法
-
实现表示操作流程,虚线表示文件的输入输出
- 1.上机输入和编辑源程序,生成源程序文件,如f.c
- 2.对源程序进行编译,如果源程序编译报错则重新编辑源程序,如果无报错则生成目标程序f.obj
- 3.进行连接处理,所有的编译后得到的目标模块连接装配起来后,再与函数库相连接成一个整体,生成一个可供计算机执行的目标程序f.exe
- 4.运行可执行程序,得到运行结果
第二章 算法—-程序的灵魂
算法的概念
- 对操作的描述,即算法;广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。
算法的特性
-
有穷性
一个算法应包含有限的操作步骤,而不能是无限的。 -
确定性
算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。 -
有零个或多个输入
输入是指在执行算法时需要从外界取得必要的信息。 -
有一个或多个的输出
算法的目的是为了求解,“解”是指输出。 -
有效性
算法中的每一个步骤都应当能有效地执行,并得到确定的结果。
各种算法的表示方法
- 用自然语言表示算法
- 用流程图表示算法
-
用N-S流程图表示算法
①顺序结构:
②选择结构:其中p为判断条件
③循环结构:
当型循环结构:当p1条件成立时反复执行A操作,知道p1条件不成立为止。
直到型循环结构:先执行A操作,然后判断p1条件是否成立,如果p1成立,反复执行A,只当p1条件不成立才停止循环。
- 用伪代码表示算法
- 用机器语言表示算法
第三章 最简单的C程序设计—-顺序程序设计
常量
- 在程序运行过程中,其值不能被改变的量称为常量,数值常量就是数学中的常数。
变量
- 变量代表一个有名字的、具有特定属性的一个存储单元,变量必须先定义,后使用。
常变量
- 常变量是有名字的不变量,而且在变量存在期间其值不能改变。
标识符
- 在计算机高级语言中,用来对变量、符号常量名、函数、数组、类型等命名的有效字符序列统称为标识符。
数据类型
数据的输入输出的概念
- 输入输出是以计算机主机为主体
- 输入和输出操作是由C标准函数库中的函数来实现的
- 在使用系统库函数时,要在程序文件的开头用预处理指令#include<stdio.h>
第四章 选择结构程序设计
程序的选择结构和条件判断概述
- 由于程序处理问题的需要,在大多数程序中都会包含选择结构,需要在进行下一个操作之前先进行条件判断。
关系表达式
- 用关系运算符将两个数值或数值表达式连接起来的式子,称关系表达式。
第五章 循环结构程序设计
第六章 利用数组处理批量数据
第七章 用函数实现模块化程序设计
函数概述
- 函数是指功能。每个函数用来实现一个特定的功能,函数的名字应反映其代表的功能。
库函数
- 库函数是由系统提供的,用户不必自己定义,可直接使用他们。
无参函数
- 在调用无参函数时,主调函数不向被调用函数传递数据。
有参函数
- 主调函数在调用被调用函数时,通过参数向被调用函数传递数据。
函数的嵌套调用
- 嵌套即在调用一个函数的过程中,又调用另一个函数。
函数的递归调用
- 在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。
局部变量
- 局部变量是指在程序中只在特定过程或函数中可以访问的变量。
全局变量
- 在函数之外定义的变量称为外部变量,外部变量是全局变量(也称全程变量)。全局变量可以为本文件中其他函数所共用。它的有效范围为从定义变量的位置开始到本源文件结束。一般将全局变量名的第一个字母用大写表示。
内部函数
- 如果一个函数只能被文件中其他函数所调用,它称为内部函数。在定义内部函数时,在函数名和函数类型的前面加static,即:static 类型名 函数名(形参表);内部函数又称静态函数,因为它是用static声明的。使用内部函数,可以使函数的作用域只局限于所在文件。
外部函数
- 如果在定义函数时,在函数首部的最左端加关键字extern,则此函数是外部函数,可供其他文件调用。C语言规定,如果在定义函数时省略extern,则默认为外部函数。
第八章 善于利用指针
指针
- 指针一般指向一个函数或一个变量。一个变量的地址称为该变量的指针。
指针变量
- 如果有一变量专门用来存放另一变量的地址(即指针),则称为指针变量。指针变量是指地址变量,用来存放地址,指针变量的值是地址(即指针)
指针数组
- 一个数组,若其元素均为指针类型数据,则称为指针数组,即指针数组中的每一个元素都存放一个地址,相当于一个指针变量,其一般形式为:类型名 *数组名[数组长度]
第九章 用户自己建立数据类型
结构体
- C语言允许用户自己建立不同类型数据组成的组合型的数据结构,它成为结构体。
结构体指针
- 结构体指针是指指向结构体变量的指针,一个结构体变量的起始地址是指这个结构体变量的指针。
链表
- 链表是一种常见的重要的数据结构。不同于数组的固定长度,链表根据需要开辟内存单元,它是动态地进行存储分配的一种结构。
共用体
- 有时想用同一段内存单元存放不同类型的变量。在存放变量时会使用覆盖技术,即新存入的变量会覆盖前一个数据,前面一个数据就不会起作用,这种使几个不同的变量共享同一段内存的结构,称为“共用体”类型的结构。
枚举
- 如果一个变量只有几种可能的值,则可以定义为枚举类型,“枚举”是指把可能的值一一列举出来,变量的值只限于列举出来的值的范围内。
第十章 对文件的输入输出
文件
- “文件”一般指存储在外部介质上数据的集合,一批数据是以文件的形式存放在外部介质(如磁盘)上的。
程序文件
- 这种文件的内容是程序代码,包括源程序文件(后缀为.c)、目标文件(后缀为.obj)、可执行文件(后缀为.exe)等。
数据文件
- 文件的内容不是程序,而是供程序运行时读写的数据。
二进制文件
- 数据在内存中是以二进制形式存储的,可以认为它是存储在内存的数据的映像,所以也称之为映像文件。
ASCII文件
- 如果要求在外存上以ASCII代码形式存储,则需要在存储前进行转换。ASCII文件又称文本文件,每一个字节放一个字符的ASCII代码。
版权声明:本文为weixin_40605573原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。