[电脑基础知识]c语言.doc
《[电脑基础知识]c语言.doc》由会员分享,可在线阅读,更多相关《[电脑基础知识]c语言.doc(33页珍藏版)》请在三一文库上搜索。
1、第1章 程序设计基本概念本章要点: 1.1 程序和程序设计 1.2 算法 1.3 结构化程序设计和模块化结构1.1.1 C程序程序是指人们存储在计算机内部存储器中,可以连续执行的一条条指令的集合。它是人与机器进行“对话”的语言,也就是我们常说的“程序设计语言”。C语言是一种“高级语言”,另外的BASIC、PASCAL等也属于高级语言。这些语言都是接近人们习惯的自然语言和数学语言作为语言的表达形式,人们学习和操作起来感到十分方便。但对于计算机本身来说,它并不能直接识别由高级语言编写的程序,它只能接受和处理由0和1的代码构成的二进制指令或数据。由于这种形式的指令是面向机器的,因此也称为“机器语言”
2、。我们把由高级语言编写的程序称为“源程序”,由二进制代码表示的程序称为“目标程序”,而“编译程序”是指可以把源程序转换成目标程序的软件,即可以把用户按规定语法写出的语句逐一翻译成二进制的机器指令。每一种高级语言都有它对应的编译程序每条C语句经过编译(Compile)最终都将转换成二进制的机器指令。由C语言构成的指令序列称C源程序,按C语言的语法编写C程序的过程,称为C语言的代码编写。C语言源程序经过编译后生成一个后缀为.OBJ的二进制文件(称为目标文件),最后还要由“连接程序”(Link)将此.OBJ文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。在DOS状态下,只须打
3、入此文件的名字(不必打入后缀.EXE)就可以运行。重点提示:高级语言编写的程序称为“源程序”,二进制代码表示的程序称为“目标程序”,而“编译程序”是指可以把源程序转换成目标程序的软件。每条C语句经过编译(Compile)最终都将转换成二进制的机器指令(.OBJ的文件)。最后由“连接程序”(Link)将此.OBJ文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。1.1.2 程序设计简单的程序设计一般包括:1根据要求确定存放数据的数据结构;2针对数据结构来确定完成任务的步骤,即确定算法;3根据1和2使用选定的计算机语言编写程序代码输入到计算机中,即编程;4调试程序,消除语法或
4、逻辑错误,用各种可能的输入数据对程序进行测试,对不合理的数据能进行适当的处理;5整理并写出文档资料1.2 算法在编写程序时,除了选定合理的数据结构外,还需要十分关键的一步就是设计算法,有了一个好的算法,就可以用任一种计算机高级语言把算法转换为程序。算法是指为解决某个特定问题而采取的确定且有限的步骤。一个算法应具有以下五个特性:1有穷性。2确定性。3可行性。4有零个或多个输入。5有一个或多个输出。算法一般可以用以下三种方法来进行描述: 1伪代码。它是一种近似高级语言但又不受语法约束的一种语言描述。2流程图。它也是描述算法的很好的工具。传统的流程图由图1.1中所示的几种基本框架组成。 图1.1 流
5、程图基本框架由这些框和流程线组成的流程图来表示算法,形象直观,简单方便,但这种流程图对于流程图的走向没有任何限制,可以任意转向,在描述复杂算法时不易阅读。3N-S流程图。这种流程图完全去掉了流程线,算法的每一步都用一个矩形框来描述,把一个个矩形框按执行的次序连接起来就是一个完整的算法描述。在下一节结合三种基本的结构化程序设计来介绍这种流程图的基本结构。一般我们最常用的描述方法是伪代码和流程图。重点提示:算法的5个特性分别是:有穷性,确定性,可行性,有零个或多个输入以及有一个或多个输出。1.3 结构化程序设计和模块化结构1.3.1 结构化程序结构化程序由三种基本结构组成:1顺序结构 顺序结构的程
6、序在执行时按照先后顺序逐条进行,没有分支,没有转移。如后面章节中介绍的赋值语句、输入、输出语句等都可以构成顺序结构。顺序结构可用图1.2所示的流程图表示。(图1.2)2选择结构选择结构的程序要根据不同的条件去执行不同分支中的语句。如后面章节中介绍的if语句,switch语句等可以构成选择结构。选择结构可用图1.3所示的流程图表示。(图1.3)3循环结构不同形式的循环结构要根据各自的条件,使同一组语句重复执行多次或一次也不执行。循环结构包括当型循环(如图1.4所示)和直到型循环(如图1.5所示)。当型循环的特点是:当指定的条件满足时,就执行循环体,否则就不执行。直到型循环的特点是:执行循环体直到
7、指定的条件满足,就不在执行循环。(图1.4) (图1.5)重点提示:结构化程序由三种基本结构组成:顺序结构、选择结构和循环结构。1.3.2 模块化结构计算机在处理复杂任务时,常常需要把这个大任务分解为若干个子任务,每个子任务又分成很多个小子任务,每个小子任务只完成一项简单的功能。在程序设计时,用一个个小模块来实现这些功能。我们称这样的程序设计方法为“模块化”,由一个个功能模块构成的程序结构就称为模块化结构。模块化结构可以大大提高程序编制的效率。软件人员在进行程序设计时,首先应集中考虑主程序中的算法,写出主程序后再逐步完成子程序的调用。而对这些“子”程序也可以用调用主程序的方法逐步完成其下一层子
8、程序的调用。这就是自顶向下、逐步细化、模块化的程序设计。C语言是一种结构化程序设计语言。它直接提供了三种基本结构的语句,提供了定义“函数”的功能,在C语言中没有子程序的概念,它提供的函数可以完成子程序的所有功能;C语言允许对函数单独进行编译,从而可以实现模块化。第2章 C程序设计初步知识本章要点: 2.1 简单C语言程序的构成和格式 2.2 常量、变量和标识符 2.3 整型数据 2.4 实型数据 2.5 算术表达式 2.6 赋值表达式 2.7 自加、自减运算符和逗号运算符2.1 简单C语言程序的构成和格式以下是一个简单求解两数之和的C程序, 程序如下:include “stdio.h”main
9、() int a, b, sum; a=12; b=2; /*给求和的两个数赋值*/ sum=a+b; /*求两数之和放入变量sum*/ printf (“a=%d, b=%d, sum=%dn”, a, b, sum); /*输出两数以及它们的和*/以上程序运行结果如下:a=12, b=2, sum=14从以上程序中,可以看到C程序有以下结构特征:1main是主函数名,C语言规定必须用main作为主函数名。其后的“()”中间可以是空的,但“()”不能省略。一个C程序可以包含任意多个不同名的函数,但必须有且只有一个主函数,C程序总是从主函数开始执行。2在函数的起始行后面是函数体,由一对大括号“
10、”括起来的语句集合。函数体中一般包含变量定义语句和执行语句。且执行语句必须放在定义语句之后。3每个语句和变量定义的最后必须要有一个分号(即使是程序的最后一个语句也应包含分号)。分号是C语句的必要组成部分。4C语言用“/*/对程序进行注释。注意“/”和“*”之间不能有空格。注释可以出现在程序中任意合适的地方,必须成对出现,它对程序的运行不起作用,但在注释中可以说明变量的含义、程度段的功能等。一个好的C程序应有必要的注释,以便阅读。5“ include “stdio.h”通常称为命令行,必须用“#”号开头,最后不能加“;”,因为它不是C程序中的语句。“stdio”是系统提供的文件名,该文件中包含着
11、有关输入输出函数的信息,调用不同的库函数,应当包含不同的头文件。重点提示: main是主函数名,C语言规定必须用main作为主函数名。每个语句和变量定义的最后必须要有一个分号,分号是C语句的必要组成部分。 “include “stdio.h”是命令行,必须用“#”号开头,最后不能加“;”,因为它不是C程序中的语句。2.2 常量、变量和标识符2.2.1 标识符和其他高级语言一样,用来标识常量名、变量名、函数名、数组名、类型名、文件名等对象的有效字符序列称为标识符。简单的说,标识符就是一个名字。1标识符的命名规则(1)C语言规定标识符只能由字母(大小写均可)、数字和下划线3种字符组成。(2)第1个
12、字符必须为字母或下划线。2注意事项(1)标识符的命名是区分大小写的,例如NAME、name及Name为3个不同的标识符。习惯上变量名用小写字母表示,符号常量一般使用大写英文字母。(2)C语言中的关键字是一类特殊的标识符,它们具有特定的含义,已被C语言本身使用,不能用作变量名、常量名、函数名等。(3)C语言中提供了大量的库函数与头文件,这些库函数名和头文件中定义的一些标识符都统称为预定义标识符。用户定义标识符时应注意避免和预定义标识符重名。3标识符的分类(1)关键字关键字在程序中代表着固定的含义,不能另作他用。如用来说明变量类型的标识符char、float以及for、if等都已有专门的用途,它们
13、不能用作变量名或函数名。(2)预定义标识符预定义标识符在C语言中也有特定的含义,如库函数的名字和预编译处理命令等。C语言语法允许用户把这类标识符另作他用,但是失去了在系统中规定的原意。为了避免误解,建议用户不要把这些预定义标识符另作它用。(3)用户标识符由用户根据需要定义的标识符称为用户标识符。一般用来给变量、函数、数组或文件等命名。如果用户标识符与关键字相同,程序会给出出错信息;若与预定义标识符相同,则预定义标识符将失去原来的含义。重点提示:标识符的命名规则:(1)C语言规定标识符只能由字母(大小写均可,但区分大小写)、数字和下划线3种字符组成(2)第1个字符必须为字母或下划线(3)已被C语
14、言本身使用,不能用作变量名、常量名、函数名等。2.2.2 常量在程序运行过程中,其值不能被改变的量称为常量。C语言中有4中基本常量:整型常量、实型常量、字符常量和字符串常量。此外,C语言中还经常使用两种表现形式不同的常量:转义字符常量和符号常量。1整型常量整型常量也称整数,包括正整数、负整数和零。2实型常量实型常量即实数,又称为浮点数。3字符常量字符常量使用一对单引号括起来的一个字符。如a、B、?等。以下是关于字符常量的几点说明。(1)单引号只是作为定界符使用,并不是字符常量的组成部分。(2)单引号内的字符不允许是单引号或反斜杠。(3)字符常量具有数值,这个值就是该字符在规定的字符集中的ASC
15、II代码值。(4)字符常量在机器内以整型常量的形式存放,因此字符常量与整型常量等价4字符串常量字符串常量是由一对双引号括起来的字符序列,如“hello”、“how are you”等。C语言中没有专门存放字符串的字符串变量,因此存放时需要放在一个字符型数组中。5转义字符常量 转义字符常量是以一个“”开头的字符序列。每个转义字符都有其特定的含义和功能。具体含义将在后面的章节中详细介绍。6符号常量C语言中,允许用一个标识符来代表一个常量,即常量可以用“符号”来代替,代替常量的符号就称为符号常量。以下是几点说明:(1)符号常量在使用之前必须先定义,定义方法为用宏替换“#define”使一个标识符与某
16、个常量相对应,其一般形式为:define 标识符 常量表达式。(2)一个define只能定义一个符号常量。(3)符号常量定义式的行尾没有分号。2.2.3 变量变量是指在程序运行期间其值可以发生变化的量。一个变量在内存中占据一定的存储单元,在程序中从变量中取值,实际上是通过变量名找到相应的内存地址,从其存储单元中读取数据。变量如常量一样,也分为整型变量,实型变量,字符型变量等。在定义变量的同时要说明该变量的类型,系统编译时根据变量及其类型为它分配相应数量的存储空间。重点提示:C语言中的基本数据类型有:整型、实型和字符型。2.3 整型数据2.3.1 整型常量1整型常量的表示形式C语言中整型常量有如
17、下三种表示形式:(1)十进制。用一串连续的数字来表示,如32768,768,0等。(2)八进制。用数字0开头,各位用07这8个数之一表示,如010,011等。在C程序中不能在一个十进制整数前面加前导零。(3)十六进制。用0x或0X开头,各位用09以及AF(或af)这16个数之一表示,如0x24B,0X34a等。整型常量又有短整型(short int)、基本类型( long int)和无符号型(unsigned)的区分。 2.3.2 整型变量整型变量是指值为整数的变量。其命名与标识符的规则相同。变量一经说明,在编译时就能为其分配相应的存储单元。整型变量可分为基本型、短整型、长整型和无符号型四种。
18、基本型的整型变量用类型名关键字int进行定义,如 int a; 或 int a, b, c;基本型整型变量在一般微机中占用2个字节的存储单元,该变量中允许存放的数值范围是:3276832767。在程序中定义变量时,编译程序会为相应的变量开辟内存单元,但并没有在该单元中存放任何初值,这时变量中的值是无意义的,即称为变量值“无定义”。C语言规定,可以在定义变量的同时给变量赋初值,即变量的初始化。如:main() int a=1, b=4, i=8; 2.3.3 整型数据的分类整型常量与变量有短整型(short int)、基本整型(int)、长整型(long int)和无符号型(unsigned),
19、以及有符号型的区分。不同的计算机系统对这几类整型数所占用的字节数和数值范围有不同规定,表2.1列出了微型机中这些类型的整型数所占用的字节数和数值范围。在表示一个长整型常量时,应该在其后面加一字母后缀L(或l),如123L,345l等。基本型:以 int 表示 短整型:以 short int 或 short 表示 1.类型 长整型:以 long int 或 long 表示 (123l、 123L) 无符号基本型(unsigned int) 无符号型 无符号短整型(unsigned short) 无符号长整型(unsigned long)一个无符号整型变量中可以存放的正数的范围比一般整型变量中正数
20、的范围扩大一倍。int i; /* 变量i 的数值范围: -3276832768 */unsigned int j; /* 变量j的数值范围:065535 */2.3.4 整数在内存中的存储形式计算机中最小的存储单位是“位(bite)”,8个二进制位组成一个“字节(byte)”,若干个字节组成一个“字(word)”。C语言中,一个int整数通常用两个字节存放,其中最高位(最左边一位)用来存放整数的符号,正整数时最高位为0,负整数时最高位为1。1正整数C语言中,正整数以原码形式存放。如整数5在内存中的二进制码为:0000000000000101。 2负整数C语言中,负整数在内存中是以整数的“补码
21、”形式存放。求某个二进制码的补码,步骤如下:(1)求原码的反码,即将01,10(2)将所得的反码加1,即得原码的补码。3无符号整数无符号整数的最高位不再用来存放整型的符号,因此无符号数不可能是负数。对于无符号整数,最高位(最左边一位)不再用来存储整数的符号,全部用来存放整数。重点提示:在C语言中,对于有符号整数,用最高位(最左边一位)用来存储整数的符号,若是正整数,最高位为0,若是负数,最高位放置1。对于正整数用“原码”形式存放,对于负整数用“补码”形式存放。2.4 实型数据2.4.1 实型常量1实型常量的表示形式实型常量又称实数。在C语言中可以有两种表示形式:(1)小数形式。由整数部分、小数
22、点和小数部分组成。格式如下:整数部分.小数部分,小数点不能省略。如0.78,.897,0.0都是合法实数表示。(2)指数形式。由尾数部分、字母E或e和指数部分组成,其格式如下:尾数部分E(或e)指数部分,指数部分只能是整数,且三个组成部分均不能省略。如12.34E+9, 5.453e10是合法的实数表示,如果写成e2、.6E3.5、.e2、e、E等都是不合法的指数形式。注意,在字母E(或e)的前后以及数字之间不得插入空格。重点提示:尾数部分E(或e)指数部分,指数部分只能是整数,且三个组成部分均不能省略。2.4.2 实型变量1实型变量是指值为实数的变量。其命名与标识符的规则相同。2实型变量分为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电脑基础知识 电脑 基础知识 语言
链接地址:https://www.31doc.com/p-1987439.html