《c语言概述》PPT课件.pptx_第1页
《c语言概述》PPT课件.pptx_第2页
《c语言概述》PPT课件.pptx_第3页
《c语言概述》PPT课件.pptx_第4页
《c语言概述》PPT课件.pptx_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C C语言程序设计语言程序设计 主讲教师 :贾月乐 电话2 程序设计语言 程序设计语言是由字、词和语法规则构成的一个系统。 机器语言机器语言 汇编语言汇编语言 高级语言高级语言 面向对象的语言 面向过程的语言 C语言程序设计第一章 C语言概述 SCS-SWPU 3 学习资源 参考书籍: C程序设计,谭浩强编著,清华大学出版社 C 程序设计语言,Brian W.Kernighan,清华大 学出版社 C高级实用程序设计,王士元,清华大学出版社 网站: C语言程序设计第一章 C语言概述 SCS-SWPU 4 希望及要求 课前预习,认真听讲 注重上机实践 掌握规律,举一反三 必须按照要求交实验报告! 考核方式: 平时表现(考勤、随堂提问、作业、随堂测验等): 10% 实验(每次实验结束后需提交实验报告):30% 期末考试(机考):60% C语言程序设计第一章 C语言概述 SCS-SWPU 5 第一章 C语言概述 C语言的发展历史 1.1 C语言的特点 1.2 认识C程序 1.3 C程序的上机步骤 1.4 C语言程序设计第一章 C语言概述 SCS-SWPU 什么是编程 1.5 6 Ritchie和Thompson在开发UNIX C语言程序设计第一章 C语言概述 SCS-SWPU 7 1.1 C语言的发展史 美国贝尔实验室为 DEC公司研制PDP-7计算机的操作系统的 过程: 1969 UNIX V1.0操作系统 汇编语言编写 70年 UNIX V2.0 B语言编写 73年 UNIX V5 C语言编写 80年以后,随着UNIX 操作系统的成功, C得到广泛地应用 C语言是在研制UNIX操作系统过程中诞生,伴随 着UNIX操作系统的发展而流行 C语言程序设计第一章 C语言概述 SCS-SWPU 8 C语言的创始人_Dennis M. Ritchie(丹尼森.里奇) 1972年 创建C语言 并用C语言编写了UNIX第五版 1977年可移植的C语言编译程序 1978年The C Programming Language 标准C C语言程序设计第一章 C语言概述 SCS-SWPU 1983 ANSI制定了统一的C标准, 即:ANSI C 1997 ISO C 9 接受美国国家技术勋章 获图灵奖 C语言程序设计第一章 C语言概述 SCS-SWPU C语言的新应用 C语言程序设计第一章 C语言概述 SCS-SWPU10 C语言的新应用 C语言程序设计第一章 C语言概述 SCS-SWPU11 12 第一章 C语言概述 C语言的发展历史 1.1 C语言的特点 1.2 认识C程序 1.3 C程序的上机步骤 1.4 C语言程序设计第一章 C语言概述 SCS-SWPU 什么是编程 1.5 C语言程序设计第一章 C语言概述 SCS-SWPU13 1.2 C语言的特点 语言简洁、紧凑、灵活 运算符和数据类型丰富 程序设计结构化、模块化 生成目标代码质量高 可移植性好 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 14 32个关键字:(由系统统定义义,不能重作其它定义义) C语言程序设计第一章 C语言概述 SCS-SWPU 15 9种控制语句 if( )else for( ) while( ) dowhile( ) continue break switch goto return = != 逻辑运算符:! w例 1.1 输出字符串: This is a C program. /*包含头文件*/ /主函数 /*输出一句话*/ /*函数体开始*/ /*函数体结束*/ /*函数体*/ 1.3 认识C程序 要输出: hello word! C语言程序设计第一章 C语言概述 SCS-SWPU21 1.3 认识C程序 #include void main ( ) int x,y,z; x=3; y=1; z=x+y; printf (“%d+ %d=%dn”,x,y,z); 3 + 1 = 43 + 1 = 4 例 1.2 求整数:31=? /*包含头文件*/ /*主函数*/ /*函数体*/ /*定义变量*/ /*给变量赋值*/ /*计算3+1*/ /输出结果 要计算: (x+y)*x C语言程序设计第一章 C语言概述 SCS-SWPU22 1.3 认识C程序 #include void main(形参表) 说明部分; 执行部分; 把一个文本文件的内容包含 到该命令的该命令处 调用库函数是必须使用! /*编译预处理命令*/ /*函数体*/ /*主函数*/每个C程序必须有一 个主函数main n 是函数开始和结 束的标志,不可省 每个C语句以分 号结束 C语言程序设计第一章 C语言概述 SCS-SWPU23 int max ( int x , int y) int z ; if ( xy) z = x ; else z = y ; return ( z ); void main() int a , b , c ; scanf ( “%d , %d ” , c = max ( a , b); printf ( “ max = % d ” , c) ; 例1.3:求两个整数中的最大值 主函数 用户自 定义函数 1.3 认识C程序 入口 我们碰到了哪 些C语言的函数 ? C语言程序设计第一章 C语言概述 SCS-SWPU24 C程序的书写特点 (1) C程序是由函数构成的。 一个C源程序有且仅有一个main函数 (2) 一个函数由两部分组成,结构如下: 函数类型 函数名(形参表) 定义部分; 执行部分; #include void main ( ) int x,y,z; x=3; y=1; z=x+y; printf (“%d+ %d=%dn”,x,y,z); C语言程序设计第一章 C语言概述 SCS-SWPU25 C程序的书写特点 (3) 一个C程序总是从main函数开始执行的 (4) C程序书写格式自由 (5) 可以用/*/对C程序中的任何部分作注释。 (6) C语言本身没有输入输出语句。 (7) 每个语句和数据定义的最后必须有一个分号。 #include void main ( ) int x,y,z; x=3; y=1; z=x+y; printf (“%d+ %d=%dn”,x,y,z); 26 第一章 C语言概述 C语言的发展历史 1.1 C语言的特点 1.2 认识C程序 1.3 C程序的上机步骤 1.4 C语言程序设计第一章 C语言概述 SCS-SWPU 什么是编程 1.5 C语言程序设计第一章 C语言概述 SCS-SWPU27 1.4 C语言的上机步骤 1、编辑 生成C的源文件(*.C) 2、编译 生成二进制目标文件(*.OBJ ) 3、连接 将目标程序文件f.obj输入内存 ,与系统提供的库函数等连接 ,生产可执行文件,扩展名为 *.exe。 4、运行 最后把可执行文件调入内存并 使之运行,得到结果。 C语言程序设计第一章 C语言概述 SCS-SWPU28 编辑编译连接运行 C语言 可执行程序 编译器 1.4 C语言的上机步骤 C语言程序设计第一章 C语言概述 SCS-SWPU29 1.4 C语言的上机步骤 VC+6.0环境下的开发过程 第一步启动VC 点击“开始”-“程序”启动VC +6.0 第二步:建立C源文件 “文件”“新建”“文件”选“C+ Source File”输入文件名“确定” 第三步:编译-连接-运行 30 真题真题1 1:下列叙述中错误的是(:下列叙述中错误的是( )【2006.42006.4】 A A)C C语言源程序经编译后生成后缀为语言源程序经编译后生成后缀为. .objobj的目标程序的目标程序 B B)C C程序经过编译、连接步骤之后才能形成一个真正程序经过编译、连接步骤之后才能形成一个真正 可执行的二进制机器指令文件可执行的二进制机器指令文件 C C)用)用C C语言编写的程序称为源程序,它以文本形式存语言编写的程序称为源程序,它以文本形式存 放在一个文本文件中放在一个文本文件中 D D)C C语言中的每条可执行语句和非可执行语句最终都语言中的每条可执行语句和非可执行语句最终都 将被转换成二进制的机器指令将被转换成二进制的机器指令 二级真题练习 31 第一章 C语言概述 C语言的发展历史 1.1 C语言的特点 1.2 认识C程序 1.3 C程序的上机步骤 1.4 C语言程序设计第一章 C语言概述 SCS-SWPU 什么是编程 1.5 C语言程序设计算法的描述 SCS-SWPU32 1、 算法的概念 算法:为解决一个问题而采取的方法和步骤。 对同一个问题,可有不同的解题方法和步骤 著名的计算机科学家沃思Nikiklaus Wirth提出的公式: 算法+数据结构=程序 方法方法1 1:1+21+2,+3+3,+4+4,一直加到,一直加到100 100 加加9999次次 方法方法2 2:100+(1+99)+(2+98)+(49 +51)+50 100+(1+99)+(2+98)+(49 +51)+50 = 100 + 49100 +50 = 100 + 49100 +50 加加5151次次 u数值运算算法:求数值解,例如求方程的根、求函数的 定积分等。 u非数值运算:包括的面十分广泛,最常见的是用于事务 管理领域,例如图书检索、人事管理、行车调度管理等 算法应该如何 描述? C语言程序设计算法的描述 SCS-SWPU33 总结:程序设计的过程 调试程序 编写程序 设计算法 需求分析 例1:求5!,即求12345 步骤1:先求12,得到结果2 步骤2:将步骤1得到的乘积2再乘以3,得到结果6 步骤3:将6再乘以4,得24 步骤4:将24再乘以5,得120 思考:如果要求121000,需写999个步骤! 可以设两个变量: t为被乘数,i为乘数,然后用循环算法来求结果 反复乘法运算 S1:使t=1。 S2:使i=2。 S3:使ti,乘积仍放在变量t中,可表示为:t=ti S4:使i的值加1,即i=i+1。 S5:如果i=5,返回重新执行步骤S3以及其后的步骤 S4和S5;否则,算法结束。 2、用自然语言描述算法 C语言程序设计算法的描述 SCS-SWPU35 如果题目改为:求1351000算法只需作很少 的改动: S1:1t S2:3 i S3:ti t S4:i+2 i S5:若i=1000,返回S3。否则,结束。 思考: 用上述方法该如何表达? C语言程序设计算法的描述 SCS-SWPU36 2、用自然语言描述算法 v 程序设计的任务:分析问题,确定其算法和数据结 构,编写代码并上机调试,得到正确的输出结果 C语言程序设计算法的描述 SCS-SWPU37 2、用自然语言描述算法 例2 有50个学生,要求将他们之中成绩在80分以上者打印出来 分析: 设n表示学号, g代表学生成绩; 变量i作为下标,用来控制序号(第几个学生,第几个成绩) 当i超过50时,已对50个学生的成绩处理完毕,结束。 S1:1 i S2:如果gi80,则打印,否则不打印。 S3:i+1 i(判断下一个学生成绩) S4:如果i50,返回S2,继续执行。否则算法结束 C语言程序设计算法的描述 SCS-SWPU38 例3 判定20002500年中的每一年是否闰年,将结果输出。 分析-闰年的条件是: 能被4整除,但不能被100整除的年份都是闰年,如 1996,2004年是闰年; 能被100整除,又能被400整除的年份是闰年。 如1600,2000年是闰年; 不符合这两个条件的年份不是闰年。 2、用自然语言描述算法 C语言程序设计算法的描述 SCS-SWPU39 设y为被检测的年份,算法可表示如下 : S1:2000 y; S2:若y不能被4整除,则输出y “不是闰年”,然后转到S6; S3:若y能被4整除,不能被100整除,则输出y “是闰年”, 然后转到S6。 S4:若y能被100整除,又能被400整除,输出y“是闰年”, 否 则输出“不是闰年”, 然后转到S6。 S5: 输出y “不是闰年”。 S6:y+1 y S7:当y2500时,转S2继续执行,如y2500,算法停 止。 2、用自然语言描述算法 用自然语言描述 算法的缺点? C语言程序设计算法的描述 SCS-SWPU40 2、用自然语言描述算法 自然语言 表示算法 优点: 通俗易懂 缺点:文字冗 长,容易出现“ 歧义性” 流程图 表示算法 比用文字描述 算法逻辑清 晰、易于理 解。 计算机语言 表示算法 计算机语言程序 算法的实现 算法的设计 算法的实现 1、有穷性(Finiteness) 2、确切性(Definiteness) 3、输入项(Input) 4、输出项(Output) 5、可行性(Effectiveness) 6、高效性(High efficiency) 7、健壮性(Robustness) 算法的特点 C语言程序设计算法的描述 SCS-SWPU42 3、用流程图表示算法 美国国家标准化协会ANSI(American National Standard Institute)规定了一些常用的流程图符号: 起止框判断框处理框输入/输出框 注释框流向线 连接点 例4: 求5!的算法用流程图表示 C语言程序设计算法的描述 SCS-SWPU43 S1:使t=1。 S2:使i=2。 S3:使ti,乘积仍放在变量t中,可表 示为:t=ti S4:使i的值加1,即i=i+1。 S5:如果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论