




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章C语言概述 1 1C语言出现的历史背景 1 广泛流行 写系统软件 写应用软件ALGOL60 面向问题CPL combinedprogramminglanguage 63 BCPL 67 剑桥MatinRichard B语言 70 贝尔实验室KenThompson C语言 72 73 Dennis M Ritchie 73 用C语言把UNIX改写 5 75UNIX 6 引起注意 1 1C语言出现的历史背景 2 78以后 移植到大 中 小 微型机78发表 TheCProgrammingLanguage BrianW Kernighan和DennisM Ritchie 83美国国家标准局 ANSI 称为ANSIC87 ANSI 公布了新标准称87ANSIC90国际标准组织 ISO ISOC的标准ISO9899 1990Borland公司的TurboC和BorlandC C 微软的MicrosoftC和VisualC C Unix和Linux C语言是其标准系统开发语言 1 2C语言的特点 1 C语言的主要特点如下 语言表达能力强运算符丰富 表达式类型多样化2 结构化好while语句结构化语句等 函数为单位3 具有较强的数据类型构造能力4 语言精练i 2 i i 2 if e s FORTRANBASICCDo10i 0 99 1i 0for i 0 i 100 i DOWHILEi 100 10continue i i 1LOOP 1 2C语言的特点 2 5 可移植性好6 生成的代码质量高 程序的执行效率高 只比汇编语言的目标代码效率低10 20 7 能实现汇编语言的大部分功能 可以直接对硬件进行操作 可写系统软件UNIX及应用软件 8 与其它语言例如BASIC FORTRAN或COBOL相比 掌握上稍微困难 9 C语言的限制少 对编程人员要求高 1 3简单的C程序介绍 例1 1 include stdio h 包含预处理语句main printf Hello everyone n 程序的运行结果 Hello everyone 1 3简单的C程序介绍 例1 2 include stdio h 包含预处理语句main inta b sum 这是定义变量 a 123 b 456 以下3行为C语句 sum a b printf Sumis d n sum d 十进制数 程序的运行结果 Sumis579 1 3简单的C程序介绍 例1 3 从键盘输入两个整数 并将最大的数显示出来 include stdio h 包含预处理语句main inta b c printf Pleaseinputtwointegers n scanf d d 程序运行情况 Pleaseinputtwointegers 8 5max 8 通过以上例子可以看出 1 C程序是由函数构成的 每个程序由一个或多个函数组成 其中必须有且仅有一个主函数main 函数容易实现程序的模块化 2 一个可执行的C语言程序总是从main函数开始执行 而不论其在整个程序中的位置如何 3 每条语句或数据定义的最后必须有一个分号 说明 在以下三种情况下不允许有分号 a 在右花括号 后面不使用分号 b 所定义的函数的名称后面不使用分号 大括号之后while total 2000 limit total total limit 函数定义语句之后intmax c 预处理语句后面不使用分号 4 C对输入输出实行函数化 5 C程序书写格式自由 一行内可以写几个语句 一个语句也可以分写在多行上 6 可用 对C程序中的任何部分作注释 注释可以写在程序的任何位置上 与 也可不在同一行上 7 也可用 本行中 之后的文字都视为注释 8 在C语言中 大小写字母是有区别的 C语言习惯用小写字母 导入库函数语句之后 include stdio h 1 4C程序的上机步骤 1 编辑 选择适当的编辑程序 将C语言源程序通过键盘输入到计算机中 并以文件的形式存入到磁盘中 C 2 编译 即将源程序翻译成机器语言程序的过程 编译出来的程序称为目标程序 OBJ 3 连接 编译后生成的目标文件经过连接后生成最终的可执行程序 EXE 编辑 编译 出错 连接 出错 执行 结果正确 C源程序 OBJ目标程序 EXE可执行程序 开始 结束 Y Y N Y N N 库函数和其它目标程序 main printf n printf n printf Verygood n printf n printf n 运行结果 Verygood main inta b c max printf inputnumbera b c n scanf d d d 运行结果 inputnumbera b c 6 5 1MAX 6 main intx num1 0 num2 0 printf inputnum scanf d 2345 10 8920660 请读出该程序的功能 main intnum1 0 num2 0 printf inputnum scanf d x 程序有错吗 第二章算法简介及程序的基本结构 本章要点 了解算法的基本概念掌握程序的基本结构程序 数据结构 算法 程序设计方法 编程语言 对特定问题求解步骤的一种描述 algorithm 计算机算法 数值算法 有模型 比较成熟 数学程序库非数值算法 种类繁多 难以规范 2 1算法的概念 例2 1有50个学生 要求将他们之中成绩在80分以上者打印出来 用n1代表第一个学生学号 ni代表第i个学生学号 用gi代表第i个学生成绩 算法可表示如下 S1 1 iS2 如果gi 80 则打印ni和gi 否则不打印S3 i 1 iS4 如果i 50 返回S2 继续执行 否则 算法结束 2 2简单算法举例 用自然语言描述法 例2 2将120名学生百分成绩按分数段分级的程序 该算法的核心部分是对输入的每一个数进行比较判断 以确定所属的级别 第一种算法描述如下 S1 1 iS2 S3 输出所属级别 i 1 i S4 如果i 120 返回S2 否则 算法结束 转S3 转S3 转S3 转S3 转S3 第二种算法如下 例2 3对一个大于或等于3的正整数 判断它是不是一个素数 方法 将n 其中n 3 作为被除数 将2到 n 1 各个整数轮流作为除数 如果都不能被整除 则n为素数 算法表示如下 S1 输入n的值S2 2 i i作为除数 S3 n被i除 得余数rS4 如果r等于0 表示n能被i整除 则打印n 不是素数 算法结束 否则执行S5S5 i 1 iS6 如果i n 1 返回S3 否则 打印n 是素数 算法结束 例2 4求1 1 2 1 3 1 4 1 99 1 100 S1 1 signS2 1 sumS3 2 denoS4 1 sign signS5 sign 1 deno termS6 sum term sumS7 deno 1 denoS8 若deno 100返回S4 否则算法结束 2 3算法的特性 算法的五个特性 有穷性 一个算法必须在执行有穷步之后结束 确定性 算法的每一步必须是确切定义的 对于相同输入必须得到相同结果 有效性 算法的每一步都是能够实现的 即可操作的 输入 算法有零个或多个输入 有输出 算法执行完毕 必须有一个或若干个输出结果 2 4怎样描述算法2 4 1自然语言描述法2 4 2流程图表示常用符号有 ANSI AmericanNationalStandardInstitute BS abowlofspaghetti一碗面条 2 4 3程序的三种基本结构和改进的流程图 N S结构流程图 一 顺序结构 SequenceStructure 先执行A操作 再执行B操作 两者是顺序执行关系 N S结构流程图 二 选择结构 SelectionStructure 当P条件为真时 执行A模块 否则执行B模块 三 循环结构 当P条件成立时 反复执行A 直到P为假 1 当型循环结构 WhileLoop 2 直到型循环结构 UntilLoop 先执行A操作 再判断P是否为假 若P为假 再执行A 直到P为真为止 2 4 5用伪代码表示算法 用介于自然语言和计算机语言之间的文字和符号来描述算法 pseudocode BEGIN1 iwhile i 50 inputni和gii 1 i 1 iwhile i 50 if gi 80 printni和gii 1 i END 2 4 6用计算机语言表示算法 例2 5求1 1 2 1 3 1 4 1 99 1 100 S1 1 signS2 2 denoS3 1 sumS4 1 sign signS5 sign 1 deno termS6 sum term sumS7 deno 1 denoS8 若deno 100返回S4 否则算法结束 main intsign 1 floatdeno 2 0 sum 1 0 term while deno 100 sign sign term sign deno sum sum term deno deno 1 printf f sum 2 4结构化程序设计方法 自顶向下Vs自下而上 逐步积累2 逐步细化3 模块化设计分而治之4 结构化编码用高级语言正确地实现三种基本结构 第1次作业 在下面2题中任选一题
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 集装箱道路运输与物流配送考核试卷
- 玻璃仪器表面处理技术考核试卷
- 品牌策划设计说明
- 春季季节性疾病预防指南
- 口腔探诊手法教学
- 心跳呼吸骤停护理常规
- 肺功能低下病人的麻醉处理原则
- 高一数学教学设计
- 16-Hydroxyroridin-L-2-生命科学试剂-MCE
- 自然语言及语音处理项目式教程 实训指导 实训20 基于PaddleSpeech实现新闻自动播报
- 2024中国中信金融资产管理股份有限公司北京市分公司招聘笔试参考题库附带答案详解
- 浙江省温州市瓯海区实验小学教育集团2025年小升初必考题数学检测卷含解析
- 基本级执法资格考试训练题练习试题附答案
- 消防泵房安全管理制度及操作规程
- 水利工程标准化管理规程第6部分:农村水电站(江西省2022版)
- 胰十二指肠切除术后个案护理
- 2024年深圳市中考语文试卷真题(含答案解析)
- “扣子”智能体在高中生物学教学中的应用
- 2025年内蒙古兴安银铅冶炼有限公司招聘笔试参考题库含答案解析
- 新能源汽车充电站建设合作协议
- 大学生毕业代表演讲稿
评论
0/150
提交评论