c语言经典解决实际程序,C语言经典教程1讲.ppt

《C语言经典教程1讲.ppt》由会员分享,可在线阅读,更多相关《C语言经典教程1讲.ppt(48页珍藏版)》请在人人文库网上搜索。

1、C程序设计,主讲人:任祖华,2,本课程学习内容,1、学习一门计算机语言c语言 了解和掌握c语言的数据类型、语法结构、编程方法 熟悉函数、指针的使用方法 2、以c语言为工具,编制计算机程序,解决实际问题,3,学习方法,讲授 共13章,24学时,1.5学分 上机,第1讲 绪论,第1章:C语言概述 第2章:程序的灵魂算法,5,第1章:C语言概述,C语言的产生、特点 简单的C程序例子 C程序的结构 C程序上机步骤,6,一、C语言的产生与特点,1、计算机语言的分类 1)机器语言 2)汇编语言 3)高级语言,7,1)机器语言:由二进制机器指令组成 如 10000000 加 10010000 减 2)汇编语。

2、言:在机器语言的基础上引入了助记符 如 ADD A, B 优点:直接对计算机硬件操作 缺点:编程人员难于理解和记忆,编程困难 依赖于计算机硬件,程序可读性差、难于移植,8,3)高级语言:用更容易理解的语句描述程序,面向问题,如 FORTRAN、PASCAL、C、BASIC语言等 优点:编程方便,不依赖于硬件,可读性、可移植性好。 缺点:有些难以实现对硬件的直接操作。,9,2、C语言的产生 背景: 寻找一种可以用来编写操作系统等系统软件的高级语言, 要求具有: 高级语言的优点-不依赖于计算机硬件,可读性、可移植性好。 汇编语言的优点-可以直接对硬件进行操作。 例如,对内存地址的操作,对二进制位的。

3、操作 从而, 70年代初诞生了C语言。,10,最初的C语言只是为描述和实现UNIX操作系统而设计的。1973年,美国贝尔实验室 D.M.Ritchie 和 KenThompson 一起用C语言对UNIX(汇编语言编写)作了改写,大大提高了UNIX操作系统的可移植性和可读性。 由C语言改写的UNIX操作系统获得了巨大的成功。从而语言的强大功能和各方面的优点逐渐为人们认识,日益普及,成为当代最优秀的程序设计语言之一。,11,发展: 1978年,B.W.Kernighan和D.Ritchie(简称K 输出: This is a C program. main表示“主函数”,每一个c程序都必须有一个m。

4、ain函数。函数体用 括起来。 主函数内有一个输出语句 printf 函数,双引号内的字符串按原样输出。,15,例1.2: main( ) /* 主函数 */ int a,b,sum; /* 声明部分,定义变量 */ a=123; b=456; /* 执行部分,以下3行为C语句 */ sum=a+b; printf(“sum=%dn”,sum); 本程序计算两数之和,并输出结果。 /* */表示注释部分,注释只是给编程人员看的,并不被编译和执行,,输出: Sum = 579,函数体一般包括: 声明部分 - - - 变量的定义 执行部分 - - - 由若干语句组成,16,例1.3、输入两个整数,。

5、输出其中较大的数 main( ) /* 主函数 */ int a , b , c ; /* 声明部分,定义变量 */ scanf (”%d,%d”, /*将z的值返回,通过max带回调用处*/ ,本程序由两个函数组成,主函数和max 函数。 主函数中调用max函数。 max 函数是一个用户自定义函数 功能是比较两个数,然后把较大的数返回给主函数。,17,三、C 程序的结构,编译预处理 主函数() . 函数1() . . 函数n ( ) ,# include main() . add(a,b,) . . print ( ) ,C程序由一个或多个函数组成。至少要包含一个main函数。 主函数的位置。

6、不一定在最前面,但C程序总是从main函数开始执行。,18,C源程序的书写格式 源程序中可以有预处理命令(include),通常应放在源程序的最前面 函数名后面跟(),函数体用 括起来。 C程序用小写字母书写 每一个语句都必须以分号;结尾。 允许一句多行,一行多句。 用/*/对程序任何部分做注释。,19,main()int i; for(;ii;+i)-i;read(-,i+hell o, world!n,/);read(j,i,p)write(j/p+p,i-j,i/i);, 难以阅读,可读性差,良好的编程风格: 一个语句占一行 不同层次的缩进 有足够的注释,20,四、上机步骤,高级语言编写。

7、的源程序,计算机无法识别。 为了使计算机能执行高级语言源程序,必须先用一种称为“编译程序”的软件,把源程序翻译成二进制形式的“目标程序”(机器语言),然后将该目标程序与系统的函数库和其他目标程序连接起来,形成可执行的目标程序。 C程序上机步骤 编辑、编译、连接、运行,21,程序代码的录入,生成源程序文件*.c,语法分析查错,翻译生成目标文件*.obj,与其它目标程序或库链接装配,生成可执行文件*.exe,22,演示开发环境,C程序开发环境: Turbo C (DOS环境) Win-Tc Vc,23,演示turbo c使用及注意事项 1)安装,路径的设置 2)启动,常用的热键,常用的热键: F1。

8、0-调用主菜单 F2-存盘 F3-打开 Alt+F9-Compile F9- Compile S2:设变量i, 乘数,i=2; S3:使pi,乘积放在被乘数变量p中,可表示为: p i = p; S4:使i的值加1,即i+1 =i; S5:如果i不大于5,返回重新执行步骤s3以及其后的s4、s5;否则,算法结束。 最后得到的p就是5!的值。 如果求1231000 如果求135101,28,算法的特征 (1)有穷性; (2)确定性; (3)有零个或多个输入; (4)有一个或多个输出; (5)有效性;,29,二、算法的表示,在程序设计过程,一般不可能一开始就用程序设计语言编制计算机程序。 而是先用。

9、某种简单、直观、灵活的描述工具来描述处理问题的流程,即算法。 当方案确定以后,再将该流程转换成计算机程序。 一般,常用的三种算法表示方式: 传统流程图 N-S流程图 伪代码,30,例 1 求12345。,传统流程图 N-S流程图 伪代码,开始 p=1 i=1 当i=5时, 执行以下操作: p = p*i i = i+1 输出p的值 结束,31,例 2 有50个学生,要求将成绩在80分以上 的学生的学号打印出来。 思路:用n i 表示第i 个学生的学号, g i 表示第i个学生成绩,算法表示如下: 伪代码 BEGIN i=1 while i=80 print ni and gi i=i+1 EN。

10、D,32,传统流程图 N-S流程图,33,三种基本结构,面对复杂多样的问题,怎样能设计出良好的算法? 1966年,Bohra和Jacopini提出了三种基本结构: 顺序结构 选择结构 循环结构,34,1) 顺序结构 传统流程图 N-S流程图,A,B,开始,结束,其中:A、B为操作框,可由一条或多条语句实现。,35,特点:按语句(或指令)的顺序依次执行,每个语句都会被执行到。 例:输入三角形的三边长,求三角形的面积。 公式:,36,2) 选择结构(分支结构) 传统流程图 N-S流程图 入口 出口,A,B,P,T F,T F,其中:P为分支判断条件; A、B必有一个且只有一个被执行; A、B之一可。

11、是空操作,用 表示。,37,选择结构的扩充多分支选择结构 入口 k1 k2 kn 出口,其中:K为多分支判断条件; Ai必有一个且只有一个被执行;,K,A1,A2,An,38,特点:根据判别条件有选择地改变执行流程 例:输入两个数a,b,输出a与b的大小关系,输入两个数 a,b,输出 a b,a b,Y,N,输出 a = b,a b,输出 a b,Y,N,39,3) 循环结构 当型循环先判断后循环,有可能一次也不循环。 入口 F T,P,A,当P为真 A,出口,其中:P为循环判断条件; A为要重复执行的操作,称为循环体;,40,直到型循环先循环后判断,至少循环一次。 入口 F T,P,A,A 。

12、直到P为真,出口,其中:P为循环判断条件; A为要重复执行的操作,称为循环体;,41,当 型 循 环,直 到 型 循 环,特点:有条件的重复地执行某个程序块 例:计算5! (12345),42,注:三种基本结构可以相互包含 例 判断2000年-2500年中的每一年是否闰年,将结果输出。 思路: 闰年的条件 (1)能被4整除,但不能被100整除的年份是闰年;如1996,2004年 (2)能被100整除,又能被400整除的年份是闰年;如1600,2000年 不符合这两个条件的年份不是闰年。,43,T F 打印y “是闰年 ”,T F,year=2000 year%4= =0,year%100!=0。

13、,year%400=0,T F 打印y 打印y “是闰年 ” “非闰年 ”,打印y “非闰年 ”,year = year+1,直到year 2005,44,总结: 任何复杂的问题都可由三种基本结构的组合描述出来。 一个复杂的问题应分解为具有层次关系的多个相对容易的子问题; 3) 三种基本结构之间可以互相包含;,45,三、结构化程序设计,三种基本结构组成的程序是结构化的程序 优点:便于编写、阅读、修改和维护 减少了程序出错机会,可靠性提高 保证了程序的质量 怎样才能得到一个结构化的程序呢? 基本思路:把复杂问题分解为多个简单的小问题 (1)自顶向下 (2)逐步细化 (3)模块化设计 (4)结构化编码,46,小 结,了解C语言的产生,特点 理解C语言的结构框架,书写格式 (由函数组成) 熟练掌握上机步骤 理解算法的表示 了解结构化程序设计方法,47,上机实验1,目的:熟悉 Turbo C 2.0 集成开发环境 熟悉 win-Tc 开发环境 内容: 教材第1章 习题 1.7 1.5 、1.6(试着编写),48,练 习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值