C语言概述(7).ppt_第1页
C语言概述(7).ppt_第2页
C语言概述(7).ppt_第3页
C语言概述(7).ppt_第4页
C语言概述(7).ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

第2章 语言概述 本章主要介绍C语言的特点 C语言程序的结构和书写规则操作 2 1程序设计语言2 2 语言程序的结构与书写规则2 3C语言的特点2 4C程序设计的基本过程2 5C程序的上机步骤 2020 2 3 计算机程序设计 第二章C语言概述 1 2 1程序设计语言 程序设计语言是人与计算机进行信息交流的工具程序设计语言的发展 1 机器语言 一种CPU的指令系统 也称该CPU的机器语言 它是该CPU可以识别的一组由0和1序列构成的指令码 优点 CPU可直接理解执行 效率高 缺点 只能为少数计算机专业人员掌握 复杂 应用效率极低 2 汇编语言 用一些 助记符号 来代替机器语言里的0 1序列 优点 相对于机器语言易学易用 2020 2 3 计算机程序设计 第二章C语言概述 2 缺点 机器不能直接识别 理解和执行汇编语言指令 要先翻译为机器语言程序 才能被理解执行 机器语言和汇编语言都是面向机器的语言 3 面向过程的高级语言 1954年FORTRAN 不再面向具体的机器 而是面向解题的过程 人们不必熟悉计算机内部的具体结构 和记忆机器指令 而可以把主要精力放在算法描述上面 所以面向过程的高级语言一般又成为算法语言 高级语言的出现是计算机技术发展道路上的一个里程碑 2020 2 3 计算机程序设计 第二章C语言概述 3 2 2 语言程序的结构与书写规则 2 2 1 语言程序的总体结构一个完整的 语言程序 是由一个main 函数 又称主函数 和若干个其它函数结合而成的 或仅由一个main 函数构成 例2 1 仅由main 函数构成的 语言程序 main printf ThisisaCprogram n 程序运行结果 ThisisaCprogram 2020 2 3 计算机程序设计 第二章C语言概述 4 例2 2 由main 函数和1个其它函数max 构成的 语言程序 intmax intx inty return x y x y main intnum1 num2 printf Inputthefirstintegernumber scanf d 程序运行情况 Inputthefirstintegernumber 6 Inputthesecondintegernumber 9 max 9 2020 2 3 计算机程序设计 第二章C语言概述 5 1 函数是 语言程序的基本单位 main 函数的作用 相当于其它高级语言中的主程序 其它函数的作用 相当于子程序 2 C语言程序总是从main 函数开始执行 一个 语言程序 总是从main 函数开始执行 而不论其在程序中的位置 当主函数执行完毕时 亦即程序执行完毕 习惯上 将主函数main 放在最前头 2020 2 3 计算机程序设计 第二章C语言概述 6 2 2 2函数的一般结构任何函数 包括主函数main 都是由函数说明和函数体两部分组成 其一般结构如下 函数类型 函数名 函数参数表 函数说明部分 说明语句部分 执行语句部分 函数体部分 1 使用的语法符号约定 方括号表示可选 即可以指定 也可以缺省 省略号表示前面的项可以重复 多 含2 中选1 2020 2 3 计算机程序设计 第二章C语言概述 7 2 函数说明由函数类型 可缺省 函数名和函数参数表三部分组成 其中函数参数表的格式为 数据类型形参 数据类型形参2 例如 例2 2 中的函数max 其函数说明各部分如图2 1所示 函数类型函数名函数参数表 intmax intx inty 图2 1函数说明部分结构图注意 在旧标准中 函数可以缺省参数表 2020 2 3 计算机程序设计 第二章C语言概述 8 3 函数体在函数说明部分的下面 大括号 必须配对使用 内的部分 函数体一般由说明语句和可执行语句两部分构成 1 说明语句部分说明语句部分由变量定义 自定义类型定义 自定义函数说明 外部变量说明等组成 2020 2 3 计算机程序设计 第二章C语言概述 9 2 可执行语句一般由若干条可执行语句构成 图2 2是 例2 2 的main 函数体的示意图 主函数main main intnum1 num2 变量定义部分printf Inputthefirstintegernumber scanf d 图2 2函数体结构示意图 2020 2 3 计算机程序设计 第二章C语言概述 10 4 说明 1 函数体中的变量定义语句 必须在所有可执行语句之前 下面程序中变量定义语句 intmax 的位置是非法的 main intx y 变量定义语句 定义2个整型变量x y x 3 可执行的赋值语句 将3赋值给变量x y 6 可执行的赋值语句 将6赋值给变量y intmax 变量定义语句 出现在可执行的赋值语句 x 3 和 y 6 之后 非法 max x y x y printf max d n max 2 如果不需要 也可以缺省变量定义语句 2020 2 3 计算机程序设计 第二章C语言概述 11 2 2 3源程序书写格式1 所有语句都必须以分号 结束 函数的最后一个语句也不例外 2 程序行的书写格式自由 既允许1行内写几条语句 也允许1条语句分写在几行上 例如 例1 2 的主函数main 也可改写成如下所示的格式 main intnum1 num2 printf Inputthefirstintegernumber scanf d 如果某条语句很长 一般需要将其分写在几行上 2020 2 3 计算机程序设计 第二章C语言概述 12 3 允许使用注释 C语言的注释格式为 例如 在P5例题中 以及本节其它部分给出的源程序中 凡是用 和 括起来的文字 都是注释 1 和 必须成对使用 2 注释的位置 可以单占1行 也可以跟在语句的后面 3 如果1行写不下 可另起1行继续写 4 注释中允许使用汉字 在非中文操作系统下 看到的是一串乱码 但不影响程序运行 2020 2 3 计算机程序设计 第二章C语言概述 13 2 3C语言的特点 1 C语言是一种模块化的程序设计语言 2 语言简洁 紧凑 使用方便 灵活 3 运算符丰富 4 C语言允许直接访问物理地址 能实现汇编语言的大部分功能 同时C又具有高级语言的功能 5 C语言区分大小写 2020 2 3 计算机程序设计 第二章C语言概述 14 一个程序应包括以下两个方面的内容 1 对数据的描述在程序中要指定数据的类型和数据的组织形式 即数据结构 2 对操作的描述即操作步骤算法 数据是操作的对象 操作的目的是对数据进行加工处理 以得到预期的结果 2 4C程序设计的基本过程 2020 2 3 计算机程序设计 第二章C语言概述 15 程序 算法 数据结构 1 算法的性质算法就是进行操作的方法和操作步骤 程序就是用某种程序设计语言描述的解题算法 算法的性质为 解题算法是一有穷动作序列 此动作序列只有一个初始动作 序列中每一动作仅有一个后继动作 序列终止表示问题得到解答或问题没有解答 程序 算法 数据结构 程序设计方法 语言工具和环境 2020 2 3 计算机程序设计 第二章C语言概述 16 2 算法的组成要素操作 如算术运算 逻辑运算 关系运算 函数运算等 控制结构 用于控制组成算法的各操作的执行顺序 结构化程序设计中 顺序 选择和循环3种基本结构能组成任何结构的算法 3 用流程图表示算法 1 顺序结构 2020 2 3 计算机程序设计 第二章C语言概述 17 2 选择结构 又称选取结构 分支结构 只能执行A或B之一 两条路径汇合在一起然后出口 2020 2 3 计算机程序设计 第二章C语言概述 18 3 循环结构 又称重复结构 分为当型循环结构和直到型循环结构 2020 2 3 计算机程序设计 第二章C语言概述 19 由选择结构派生的多分支选择结构 用以上3种基本结构设计的程序 能处理任何复杂的问题 2020 2 3 计算机程序设计 第二章C语言概述 20 4 伪代码与逐步细化的程序设计方法伪代码 pseudocode 介于自然语言与计算机语言之间的文字符号算法描述工具 一般步骤为 1 自顶向下 将问题描述为几个子问题或子功能 不要试图一下子就触及问题解法的细节 2 在子问题一级描述算法 用逐步细化法设计本程序的过程 1 用汉语来描述算法 2 用语句 关键字 和汉语的混合来细化算法 3 编写主函数 4 重复1 3 步编写3个数中求最大数的函数 2020 2 3 计算机程序设计 第二章C语言概述 21 用C语句描述算法 语句是高级语言源程序的基本组成单位 它按功能分为 操作运算语句 用语描述要执行的操作运算 流程控制语句 控制操作运算的执行顺序 伪代码没有固定 严格的语法规则 用计算机语言表示算法必须严格遵循所用语言的语法规则 写出了C程序 仍然只是描述了算法 并没有实现算法 只有运行程序才是实现算法 2020 2 3 计算机程序设计 第二章C语言概述 22 例 3个数中取大数 逐步细化法设计程序 汉语描述 做什么 S1 输入3个数a b cS2 从a b c中找出最大数赋给maxS3 输出max 混合语言细化算法 考虑 做什么 的实现途径S1 调用scanf 函数S2 设计一个函数max3 a b c S3 调用printf 函数 2020 2 3 计算机程序设计 第二章C语言概述 23 写主函数的条件已经成熟 main floata b c max floatmax3 floatx floaty loatz printf Input3numbersabc scanf f f f 2020 2 3 计算机程序设计 第二章C语言概述 24 仍按逐步细化的方法设计max3 的算法 设三个参数为x y z S2 1 从x y中取出大数送mS2 2 从m z中取出大数送mS2 3 返回m给主调函数进一步细化得 S2 1 if x y m x elsem y S2 2 if m z m m elsem z S2 3 return m 2020 2 3 计算机程序设计 第二章C语言概述 25 很容易用C语言写出函数max3 floatmax3 floatx floaty floatz floatm if x y m x elsem y if m z m m elsem z return m 2020 2 3 计算机程序设计 第二章C语言概述 26 算法表示如下 S1 2000 yearS2 若year不能被4整除 则输出year不是闰年 转S6S3 year能被4整除 不能被100整除 则输出year是闰年 转S6S4 year能被100整除 又能被400整除 则输出year是闰年 否则输出不是闰年 然后转S6S5 输出year不是闰年S6 year 1 yearS7 若year 2500 转S2 否则算法停止 例1判2000 2500间的闰年 多次判断 逐步缩小范围 5简单算法举例 2020 2 3 27 计算机程序设计 第二章C语言概述 例2判断一个大于等于3的正整数是否为素数 素数 只能被1和其本身整除的数 S1 输入n的值S2 i 2 i作为除数 S3 n被i除 得余数rS4 若r 0 不是素数 算法结束 否则执行S5S5 i 1 iS6 若i n 1 返回S3 否则是素数 结束 实际上只需判断n能否被2 之间的整

温馨提示

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

评论

0/150

提交评论