第一讲C语言概述.ppt

上传人:本田雅阁 文档编号:3436780 上传时间:2019-08-25 格式:PPT 页数:37 大小:502.54KB
返回 下载 相关 举报
第一讲C语言概述.ppt_第1页
第1页 / 共37页
第一讲C语言概述.ppt_第2页
第2页 / 共37页
第一讲C语言概述.ppt_第3页
第3页 / 共37页
第一讲C语言概述.ppt_第4页
第4页 / 共37页
第一讲C语言概述.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《第一讲C语言概述.ppt》由会员分享,可在线阅读,更多相关《第一讲C语言概述.ppt(37页珍藏版)》请在三一文库上搜索。

1、C语言程序设计,课程要求,课前请做好预习 保持课堂安静,头脑清醒,思维活跃 认真、独立、按时完成并提交作业 重视上机实践,有效利用宝贵的上机时间,参考书目,C程序设计 谭浩强 清华大学出版社 C语言程序设计 何钦铭 颜 晖 高等教育出版社,第0章 几个重要的术语概念,1.数据 凡是能够被计算机接收、识别、处理的一切符号称之为数据。,2.指令 在计算机中,指令指示计算机进行什么操作和操作什么。进行什么操作的符号叫操作码,操作的对象叫做操作数。,3.程序 程序是为解决某一问题而设计的一系列指令,这些指令能被计算机识别和执行。人们设计程序的最终目的是用它来解决问题。,4.程序设计 程序设计指设计、书

2、写及检查程序的过程。具体来说是指包括分析问题、确定解决方法、设计程序结构,使问题内容或解题计划变为计算机能够接受的指令或语句序列的过程。,5.语言 语言用于传达信息的表示方法、约定和规则的集合,是人们交流信息的工具和媒介。程序设计语言是人与计算机打交道时交流信息的一类媒介和工具,它由语句组成,包含语法和语义两个方面。语法定义了构造语言表达式或句子所需要的各种规则。语义则是对构成语言成分的含义的定义和说明。,C语言程序设计 第0章 C语言概述,第一章 C语言概述,C语言发展历史,C语言特点,C程序格式和结构特点,C程序开发步骤,算法及其表示,1.1 C语言发展历史 程序设计语言的发展,CPU指令

3、系统,由0、1序列构成的指令码组成 如:10000000 加 10010000 减,用助记符号描述的指令系统 如 ADD A, B,面向机器的语言,程序设计是数据被加工的过程,客观世界可以分类,对象是类的实例 对象是数据和方法的封装 对象间通过发送和接受消息发生联系,程序设计关键是定义类,并由类派生对象,C语言程序设计 第一章 C语言概述,Ada,ALGOL60,ALGOL68,Pascal,Modula-2,CPL,BCPL,B,C,C+,Java,LISP,PROLOG,COBOL,FORTRAN77,FORTRAN,PL/1,Simula 67,Smalltalk 80,BASIC,AN

4、SI-BASIC,QBASIC,VB,FORTRAN90,C语言发展过程 产生背景 产生过程 时间:19721973 地点:美国贝尔实验室 目的:UNIX操作系统 设计人: Ken.Thompson和Dennis.M.Ritchie C标准 标准C: K&R合著The C Programming Language ANSI C: 1983年 87 ANSI C: 1987年 1990年国际标准的ANSI C,C语言程序设计 第一章 C语言概述,1.2 C语言特点 语言简洁、紧凑、灵活 运算符和数据类型丰富 程序设计结构化、模块化 生成目标代码质量高 可移植性好 语法限制不太严格,程序设计自由度

5、大 C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作,C语言程序设计 第一章 C语言概述,32个关键字:(由系统定义,不能重作其它定义) auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef unsigned union void volatile while,C语言程序设计 第一章

6、 C语言概述,9种控制语句: if( )else for( ) while( ) dowhile( ) continue break switch goto return,C语言程序设计 第一章 C语言概述,例 C语言与Pascal语言比较 C语言 Pascal语言 含义 BEGIN.END 复合语句 if(e) s; IF(e) THEN s 条件语句 int i ; VAR i:INTEGER 定义i为整型变量 int a10; VAR a:ARRAY110 OF INTEGER 定义整型数组a int f(); FUNCTION f():INTEGER 定义f为返值整型的函数 int *

7、p; VAR p:INTEGER 定义p为指向整型变量的指针 i+= 2; i=i+2 赋值i+2i i+,+i; i=i+1 i自增值 结论:C比 Pascal简练,源程序短。,C语言程序设计 第一章 C语言概述,34种运算符: 算术运算符:+ - * / % + - 关系运算符: = != 逻辑运算符:! & | 位运算符 : | & 赋值运算符:= 及其扩展 条件运算符:?: 逗号运算符:, 指针运算符:* & 求字节数 :sizeof 强制类型转换:(类型) 分量运算符:. - 下标运算符: 其它 :( ) -,C语言程序设计 第一章 C语言概述,C 数 据 类 型,基本类型,构造类型

8、,指针类型,空类型void,定义类型typedef,数值类型,字符类型char,枚举类型enum,整 型,浮点型,单精度型float,双精度型double,短整型short,长整型long,整型int,数组,结构体struct,共用体union,C语言程序设计 第一章 C语言概述,1.3 C程序格式和结构特点 例1.1 第一个程序 Hello,World!,/* example1.1 The first C Program*/ #include void main() printf(“Hello,World!”); ,C语言程序设计 第一章 C语言概述,输出: Hello,World!,例1.

9、2,/* example1.1 calculate the sum of a and b*/ #include /* This is the main program */ void main() int a,b,sum; a=10; b=24; sum=add(a,b); printf(”sum= %dn“,sum); /* This function calculates the sum of x and y */ int add(int x,int y) int z; z=x+y; return(z); ,运行结果: sum=34,C语言程序设计 第一章 C语言概述,格式特点 习惯用小写

10、字母,大小写敏感 不使用行号,无程序行概念 可使用空行和空格 常用锯齿形书写格式,C语言程序设计 第一章 C语言概述,main( ) . . . . ,#include void main( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;j10;j+) sum+=i*j ; printf(“%dn”,sum); ,优秀程序员的素质之一: 使用TAB缩进 对齐 有足够的注释 有合适的空行,结构特点 函数与主函数 程序由一个或多个函数组成 必须有且只能有一个主函数main() 程序执行从main开始,在main中结束,其它函数通过嵌套调用得以

11、执行。 程序语句 C程序由语句组成(可分多行书写) 用“;”作为语句终止符 注释 /* */为注释,不能嵌套 不产生编译代码,例: /*This is the main /* of example1.1*/ */,编译预处理命令,C语言程序设计 第一章 C语言概述,1.4 C程序的开发步骤 C程序开发步骤,file.exe,C语言程序设计 第一章 C语言概述,程序代码的录入, 生成源程序*.c,语法分析查错,翻译 生成目标程序*.obj,与其它目标程序或库 链接装配,生成可执行 程序*.exe,1.4 算法及其表示,什么是程序? 沃思(N. Wirth)公式: 数据结构 + 算法 = 程序 数

12、据结构(Data Structure):对数据的数据类型、组成形式、相互关系等的描述 算法(Algorithm):对数据结构的操作的描述 一般认为: 程序 = 数据结构 + 算法 + 程序设计方法 +语言工具和环境,什么是算法?,算法是解决问题的方法和步骤在计算机上的表示 任何问题的求解都有一定的“算法” 计算机算法有很大不同 算法是人设计出来的 计算机算法是严谨的 算法可分为两类: 数值运算算法:主要用于科学运算 非数值运算算法:如信息检索、人工智能等,算法的特性,有零个或多个执行算法所需要的数据作为输入 有一个或多个经算法处理的数据作为输出 包含有限个步骤,执行算法的时间也是有限时间 算法

13、的每一步所规定的动作应该是唯一确定的,没有二义的。 算法的每个步骤都应当能有效地执行,并得到确定的结果,例:求s = 1 + 2 + 3 + + 100 问题:求100个整数的和s,结果是s 这100个整数是从1到100的所有自然数,算法一:设 s 为累加单元 1) 将1送到S中; 2) 把2加到S中(即S中的内容1加2后再送回S中,下同) 3) 把3加到S中; 100) 把100加到S中; 101) 把S中的结果输出。,例:求s = 1 + 2 + 3 + + 100 问题:求100个整数的和s,结果是s 这100个整数是从1到100的所有自然数,算法二:设 n 为计数单元,s 为累加单元

14、1) 将 0 送到S中,将 0 送到 n 中; 2) 将 n+1 送到 n 中,再把 n 加到 s 中; 3) 判断 n 的值是否大于等于100? 4) 若 n100,转到2;否则向下进行; 5)输出 s 中的内容。,例:求s = 1 + 2 + 3 + + 100 问题:求100个整数的和s,结果是s 这100个整数是从1到100的所有自然数,算法三:“聪明的人的方法” s = 1 + 2 + 3 + + 100 = 100+(1 + 99)+(2 + 98)+ +(49 + 51)+ 50 = 50 * 100 + 50 = 5050,算法的表示方法 1. 自然语言描述(如上) 通俗、冗长

15、、易“歧义” 2. 算法语言描述 1)伪代码(P-Code) 简洁、易实现、不直观 常用语:BEGIN END IFELSE FOR WHILE DO .,例如:求任意两个数 a 和 b 的和 算法: 1)输入 a 和 b 2)计算 a + b,结果存入 sum 3)打印 sum 用伪代码表示: BEGIN INPUT a, b a + b = sum PRINT a, +, b, =, sum END,2)流程图,基本图件,三种基本结构(1966年,Bohra和Jacopini提出) (1)顺序结构 (2)选择(分支)结构,(3)循环结构 当型循环(先判断后执行,执行次数可能为0) 直到型循环(先执行后判断,至少执行 1 次),三种基本结构的特点: 只有一个入口 只有一个出口 具有结构化的特征 应避免流程线的交叉,3)N-S图(盒图),1973年由美国的 I. Nassi 和 B. Shneidermen 提出 特点: 1)不使用流程线(箭头); 2)全部算法写在一个大的矩形框内; 3)搭积木方式,真正的结构化。,三种基本结构,只允许“从上边入,从下边出”,小结,理解重要的基本术语和概念 了解C语言的特点 掌握C程序的格式特点和结构特点 了解C程序的开发步骤 算法及其表示,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1