已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,学习目的和要求: 初步认识程序、程序设计语言;了解C语言的发展历史。 初步认识C语言关键字并能识别合法的标识符号。 通过学习一个最简单的C程序掌握C语言的程序结构和编程风格。,第1章 C语言程序设计的概念,一、程序与程序设计语言,程序定义1、程序就是指令的有序集合,一个简单的程序示例:,#include “stdio.h” main( ) int a, b, c, sum; a=123; /*步骤1:将第一个操作数送入内存单元*/ b=234; /*步骤2:将第二个操作数送入内存单元*/ sum=a+b; /*步骤3和4:求两数相加之和并送内存单元*/ printf(“Sum is %d n ” , sum);/*步骤5:将结果输出到显示器上*/ ,程序定义2: 每个程序都要完成一些规定的功能,是对现实世界的运动状态的模拟。,:,程序设计语言:,机器语言(二进制语言):直接用二进制书写指令(操作码、操作数),计算机能直接执行 例:AL=9+8 1011000000001001 :AL9 0000010000001000 : ALAL+8 11110100 :停机 机器语言优点:程序代码不需要翻译,所占空间少,执行速度快。现在已经没有人用机器语言直接编程了。,汇编语言:使用指令助记符代替机器语言中的指令和数据。例如用ADD表示加、SUB表示减、JMP表示程序跳转等等,汇编语言编写的源程序,必须翻译成机器语言,才能被计算机执行。 MOV AL,9 ADD AL,8 HLT,高级语言是由表达各种意义的词和数学公式按照一定的语法规则来编写程序的语言。编程效率高;由于与具体机器无关,因此程序的通用性强。高级语言编写的源程序计算机不能直接执行 例如:计算 A=9+8 的BASIC语言程序如下: A=9+8 9与8相加的结果放入A中 PRINT A 输出A END 程序结束,面向过程的语言 如FORTRAN、BASIC、PASCAL、C等。面向过程的语言致力于用计算机能够理解的逻辑来描述需要解决的问题和解决问题的具体方法、步骤。编程时,程序不仅要说明做什么,还要告诉计算机如何做,程序需要详细描述解题的过程和细节。,在20世纪80年代推出面向对象语言。它与以往各种语言的根本不同点在于:它设计的出发点就是为了能更直接地描述客观世界中存在的事物(即对象)以及它们之间的关系。 面向对象的程序设计语言有: C+、Java、Visual Basic等,二、C语言的发展简史及特点,1973年, K.Thompson和D.M.Ritchie用C改写成UNIX V5.此时,C主要在Bell实验室内部使用。 1975年,UNIX V6公布,C的突出特点引起普遍注意。 1978年由贝尔实验室正式发表C语言。 1983年由美国国家标准协会(American National Standards Institute)制订了 一个C语言标准,称之为ANSI C。 1987年,ANSI C公布了新标准,目前大部分C编译系统都是以该版本为基础的。 早期主要用于UNIX系统,后来在各种计算机系统上得到广泛使用,成为最优秀的计算机程序设计语言之一。 目前最流行的语言有以下几种版本:Microsoft C 或称 MS C、Borland Turbo C 或称 Turbo C 以及AT&T C。这些语言版本不仅实现了ANSI C标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。,1、语法简洁 2、运算符丰富 3、数据结构丰富 4、结构模块化 5、设计自由度大 6、允许直接访问物理地址 7、生成目标代码质量高,程序执行效率高 8、可移植性好,C语言流行的原因(特点),C语言的特点,三、C语言的符号集,语言的符号集就是该语言能够识别(或允许使用)的符号全体。 C语言的字符集由字母,数字,空格,标点和特殊字符组成。 C语言中,字符常量、字符串常量和注释中还可以使用汉字。C语言中字母包括大小写字母(AZ,az)各26个,还包括09共10个数字,以及空白符和其他标点。,四、C语言词汇,C语言中使用的词汇有:关键字,标识符,运算符,分隔符,常量,注释符等。 关键字是由语言规定具有特定意义的字符串,通常也称为保留字。 用户定义的标识符不应与关键字相同。 ANSI C只有32个关键字。,1、C语言关键字,2、C语言标识符,在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。 C 规定,标识符只能是字母(AZ,az)、数字(09)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。 为方便学习记忆,可总结为:“字母、数字、下划线组成,不能以数字打头”。,C语言标识符,合法的标识符 x, s, x1, Student_1, sum0,CTGU 说明: x,s,CTGU这3个标识符都只有字母组成,合法; x1,sum0这2个标识符由字母和数字组成,并且没有用数字开头,合法; Student_1这个标识符由字母、数字和下划线组成,没用数字打头,合法。,C语言标识符,非法的标识符 3x s*T -3x f-1,以数字开头,出现非法字符*,以减号开头,出现非法字符-(减号),标识符的注意事项: 标识符虽可由程序员随意定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便于阅读理解,作到“见名知义”。,在语言中采用的分隔符有逗号和空格两种。 逗号主要用在类型说明和函数参数表中,分隔各个变量。 空格多用于语句各单词之间,作间隔符。 说明: 在关键字、标识符之间必须要有一个以上的空格符作间隔,否则将会出现语法错误。 例如: 把 int i; 写成 inti; C编译器会把inti当成一个标识符处理,其结果会出错。,3、C语言分隔符,C 语言的注释符有两种: 一种为任意行注释,是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。 另一种为单行注释,是以”/”的串。在”/”之后即为注释。 程序编译时,不对注释作任何处理。 注释可出现在程序中的任何位置。 注释用来向用户提示或解释程序的意义。,4、语言的注释符,五、C 语言程序结构,C程序结构特点: 先看以下简单程序,以说明C语言源程序结构特点,给大家建立一个宏观印象。 具体上机步骤请参阅C语言习题集与上机指导第2部分第2单元。,例题1_1,#include “stdio.h” void main() printf(“hello,world!n”); ,说明:,main是主函数名,每个C源程序有且仅有一个主函数(main函数),是程序执行的入口。宏观上看,C语言源程序由一个个函数构成。C语言函数由函数头部(head)和函数体(body)组成。 之间部分为函数体。 printf函数为标准输出函数,包含在stdio.h头文件中。需要使用的时候,先包含(include)对应的头文件,然后直接调用printf函数将”hello ,world!”字符串显示在显示器屏幕上。 n为转义字符,意思是换行。 C语言源程序中一行代码以;为结束符。 void表示主函数结束后不向调用者返回结果。,例题1_1运行结果,例题1_2,#include “stdio.h” #include “math.h” void main() double x,y; printf(“输入一个数:n”); scanf(“%lf”, ,说明:,后缀为.h的文件叫头文件; include 为文件包含命令; sqrt为C语言数学库函数,实现开方运算,包含在math.h头文件中; C语言源代码编写中,大小写敏感(区分大小写); stdio是STanDard Input & Output的缩写;,说明:,要想计算y= ,就得先包含开方运算函数(即sqrt)的数学头文件(即math.h),使用了三个库函数:输入函数scanf,开方函数sqrt,输出函数printf。 sqrt函数是数学函数,其头文件为math.h文件,因此在程序的主函数前用include命令包含了math.h。scanf和printf是标准输入输出函数,其头文件为stdio.h,在主函数前也用include命令包含了stdio.h文件。,例题1_2执行结果,例题1_3,#include “stdio.h“ #include “math.h“ int max(int a,int b); /函数说明 void main() /主函数 int x,y,z; /变量说明 printf(“输入两个整数:n“); scanf(“%d %d“, ,int max(int a,int b) if(ab) return a; else return b; ,例题1_3执行结果,C程序结构,1.一个语言源程序可以由一个或多个源文件组成。 2.每个源文件可由一个或多个函数组成。 3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。 4.函数有函数头部和函数体组成。 5.源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。 6.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 进货来源合同模板
- 老板单间出租合同模板
- 铸造打磨合同模板
- 开票水泥合同模板
- 个人投资款合同模板
- 餐饮经营入股合同模板
- 采购石头合同模板
- 便宜仓储租赁合同模板
- 铝板委托加工合同模板
- 国内艺人经纪合同模板
- 2024-2030年果酒行业市场发展分析及前景趋势与投资研究报告
- 部编版小学语文二年级上册月考达标检测试题(全册)
- 人教版道德与法治九年级上册5.2《凝聚价值追求》说课稿
- 感控知识应知应会课件
- 大数据与会计函授专科毕业实习报告
- 商砼搅拌站大方量混凝土供应方案
- 2024年税务考试-税务稽查员笔试考试历年高频考点试题摘选含答案
- 市政工程单位分部分项检验批工程划分表
- 教科版小学科学四上《3.3用橡皮筋驱动小车》课件
- 高考英语复习-600分策略-专题2-七选五阅读市赛课公开课一等奖省名师获奖课件
- 安全风险分级管控清单
评论
0/150
提交评论