




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
建议和忠告 1 学c语言 基础的语法规则一定要掌握 只要稍微用心 就能掌握 如果连语法规则都不熟悉 无法设计程序 2 程序设计 要先有想法 就是找到解题的思路 然后用c语言的语句来实现 3 一开始不会写 要善于模仿 改动书上的例子 写出自己的程序 写完以后分析语句的作用 加深印象 4 就算再简单的程序也一定要自己写 多写 多练以后 就熟练 等到期末考试时 根本不用担心 因为编程的题目基本上都会做了 1 第一章程序的概念和算法 2 3 1 1程序的概念程序是指把希望计算机做的工作写成一定形式的指令 并把它们存储在计算机的内部存储器中 当人们给出命令之后 它就按指令操作顺序自动进行 把这种可以连续执行的一条条指令的集合称为 程序 目前 正在使用的计算机程序设计语言有很多种 有些语言是面向机器的 如二进制语言 而多数是面向问题的语言 4 目前的程序设计一般可分为非结构化程序设计 结构化程序设计和面向对象的程序设计 C语言是结构化程序设计语言 而C 称为面向对象的语言 面向问题的语言都被称为计算机的 高级语言 如C与C 语言等 5 程序是为了解决某个问题而设计 用C语句所写的序列称为C源程序 它的后缀为 c 我们上机使用的环境微软公司VC 所以其源程序的后缀为 cpp C源程序经过编译 Compile 后生成一个目标文件 obj 经过链接库函数后生成可执行文件 exe 这些语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式 人们学习和操作起来感到十分方便 6 问题的提出及分析 C C程序的设计过程如下图所示 7 1 2算法与流程图什么是算法 算法是指解决问题所使用的一系列合乎逻辑的解题步骤 一个程序应包括两方面内容 1 对数据的描述 要指定数据的类型和数据的组织形式 即数据结构 8 2 对操作的描述 操作步骤 即算法 algorithm 著名计算机科学家Wirth 沃思 提出 数据结构 算法 程序 在计算机科学中 算法要用计算机算法语言描述 要解决一个复杂的问题 需要仔细的分析与研究此问题 并进行精确的逻辑分析 找到解决问题的方法 再用计算机实现 9 当然 求解一个给定的可解的问题 不同的人可以编写出不同的程序 例如判断一个整数的奇偶性 大致分成以下几步 计算机读入该数 将该数除以2 判断余数是否为0 如果为0 该数为偶数 否则为奇数 以上这些解决问题的一系列步骤就是算法 并且可以用C语言编写成程序 用以解决数的奇偶性问题 10 什么是流程图 流程图是一种用图解方式说明 解决一个问题所要的一系列操作 流程图比文字更容易理解 更加直观 流程图中的符号含义如下所示 11 输入输出 连接符 控制流 条件判断 加工 处理 程序的入口和出口 含义 常用基本组件 流程图的符号及含义 12 例1 1从键盘输入两个数 求这两数之和 并把结果输出 画出此问题的流程图 程序流程图 13 1 3结构化程序设计包含的三种结构结构化程序设计由三种结构组成 顺序结构 选择结构 循环结构 1 3 1顺序结构顺序结构的程序是一条语句接一条语句顺序地往下执行的 例如右图中 先执行语句1 然后执行语句2 最后执行语句3 顺序结构的程序是最简单的程序 14 例1 2编写一个C语言程序 输出显示下列图形 C语言的学习要努力 这是一个典型的顺序执行的程序设计 输出三个字符串 输出字符串用函数printf 完成 具体的过程描述为 开始输出 换行后再输出 C语言的学习要努力 换行后再输出 程序结束 15 程序流程图如图所示 开始 输出 结束 输出 C语言的学习要努力 输出 16 下面先介绍几个C语言程序 使我们对C语言程序的特点有一个初步认识和了解 刚开始学习 可能在某些语法点上还有不理解的地方 可以在以后的章节中得到解决和加深 include 包含标准输入输出库预处理命令 intmain 主函数开始 printf n printf C语言的学习要努力 n printf n return0 程序结束 17 用C语言写成的源程序为 P4 include 包含标准输入输出库预处理命令 intmain 主函数开始 printf n printf C语言的学习要努力 n printf n return0 程序结束 1 main 是主函数 每一个C程序都必须一个main 主函数 且只能有一个main 主函数 3 这是一条编译预处理命令 C语言程序设计中往往要用到输入与输出函数printf sacnf 因此要有文件包含命令 include 2 函数体用大括号 括起来 18 includeintmain printf n printf C语言的学习要努力 n 输出一行字符 printf n return0 printf 函数是C语言中的专用输出函数 双引号内的字符串按原样输出 是注释部分 对编译和运行不起作用 基本上可放于程序任何地方 n 是一转义字符 为换行符 语句最后有一个分号 19 includeintmain printf n printf C语言的学习要努力 n printf n return0 与main函数中的int相对应 main 函数是由操作系统调用的 标准C 要求main 函数声明为int型 如果程序正常执行 则向操作系统返回0 否则返回1 20 思考 1 在例1 1 c中 如果没有main 编译程序后出现的错误提示是什么 在C程序设计中要注意什么问题 2 在例1 1 c中 如把main写成了Main 编译程序后出现的错误提示是什么 在C程序设计中要注意什么问题 3 在例1 1 c中 如printf n 后少了 号 编译程序后出现的错误提示是什么 在C程序设计中要注意什么问题 21 4 在例1 1 c中 如没有写上预处理命令 include 编译程序后出现的错误提示是什么 想想这是为什么 5 在例1 1 c中 任何一行的输出语句中少了符号 n 程序运行后的结果有什么变化 问在C语言中符号 n的作用是什么 6 在例1 1 c中 如printf n 后少了双引号 编译程序后出现的错误提示是什么 22 1 3 2分支结构在程序执行过程中 程序的流程可由多路分支组成 根据不同的条件去执行不同的语句块 这是一个两分支结构 首先判断条件是否为 真 如为真 执行语句块1 否则执行语句块2 语句块2 语句块1 假 真 条件 23 假如判断从键盘输入的两个数的大小 如果 x y 提示 x大于y 如果 x y 提示 x小于y 输出 24 例1 3从键盘输入两个数 判断两个数的大小 分析 这是一个分支程序设计 具体的过程描述为 程序开始定义两个变量 x y输入二个数给x y如果x大于y输出 x大于y否则输出 x小于y程序结束 25 开始 给x y输入相应的值 定义两个变量 x y 结束 x y 输出 x小于y 输出 x大于y 两数中求最大值流程图 真 假 26 例1 3用C语言写成的源程序为 P8 includeintmain intx y 定义二个变量 scanf d d 这一行为变量定义 指明x y是整型变量 integer scanf 函数是专用的输入函数 的含义是 取地址 的意思 函数的作用是 从键盘输入的两个值 分别送到x y所占地址的内存单元中去 也就是输入x y的值 d为输入格式说明 d为十进制整数格式说明符 两分支结构 27 程序运行结果如图所示 程序运行时输入 1000 500 然后回车 两数间用空格分隔 28 程序运行结果 数据输入行的显示 程序运行后 结果显示 29 思考 1 在例1 2 c中 如果没有语句intx y 编译程序后出现的错误提示是什么 在C程序设计中要注意什么问题 2 在例1 2 c中 如把语句scanf d d 用来读入两个整型数给变量x y 程序的运行结果会如何 30 3 在例1 2 c中 如程序在运行时输入为 1000 500 程序能否得出正确的运行结果 4 在例1 2 c中 如果在if x y 后加上 号 编译程序后出现的错误提示是什么 想想这是为什么 5 在例1 2 c中 输入源程序后 int if else为什么会变颜色 在C程序设计中有什么特殊的意义 31 1 3 3循环结构如果在程序中需要根据某项条件重复地执行某项任务若干次 直到满足或不满足某条件为止 这就构成循环结构 注 循环不是简单的重复 首先判断循环条件是否为 真 如循环条件为 真 执行循环语句 32 例如 要做一个累加运算 从1加到100 算法是 先把计数变量i和sum设为0 然后变量i从1开始 把1加入总数 然后i增加1 i为2 把i加入总数 然后i再增加1 i为3 再把i加入总数 一直累加 当i为100加入总数后 i还要增加1 到i的值为101 此时条件不满足 循环不再做 最后的总数就是1加到100的和 33 例1 4计算1 2 3 4 100的值 用循环的方法 画出程序的流程图 分析 和的初始值sum为0 循环变量i的变化从1到100 当i值为1时 把i加入sum 然后判断i的值是否小于100 如果是 i增1 再把i加入sum 然后判断i的值是否小于100 如此反复循环 当i的值大于100时 停止循环 最后输出sum sum为什么要置0 34 具体的过程描述为 程序开始定义变量sum i 并分别赋值0 1判断i是否小于等于100如是 把i加入sum i增加1否则停止循环输出sum程序结束 35 includeintmain inti 1 sum 0 while i 100 sum sum i i printf 从1加到100的和为 d n sum return0 例1 4 c 计算1 2 3 4 100的值 P10 这一行定义i sum为整型变量 integer 并赋初值 注 局部变量不赋初值 其值为随机值 这一行是sum i的值赋给变量sum i的值自增1 这是一个循环结构 36 includeintmain inti 1 sum 0 while i 100 sum sum i i printf 从1加到100的和为 d n sum return0 1 4 c 计算1 2 3 4 100的值 d为数据输出格式说明 输出时 该位置由后面的变量sum的值代替 注 这里没有 号 37 第1章程序的概念与算法结束 38 思考 1 在例1 3 c中 为什么语句inti 1 sum 0 中的sum要赋初值0 如果不赋值 程序运行时会有什么结果 2 在例1 3 c中 如语句while i 100 后有 号 程序的运行结果会如何 39 3 在例1 4 c中 如语句段中 while i 100 sum sum i i 无大括
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国移动秦皇岛市2025秋招笔试行测题库及答案计算机类
- 2025年南阳社旗县公开招聘医疗健康服务集团专业技术人员250名考前自测高频考点模拟试题及答案详解(典优)
- 2025年宁夏医科大学总医院自主公开招聘高层次工作人员模拟试卷及答案详解一套
- 2025年合肥师范学院高层次人才招聘63人模拟试卷及答案详解参考
- 2025年皖南医学院第二附属医院招聘编外28人考前自测高频考点模拟试题有答案详解
- 城市低保申请书汇编15篇
- 钣金喷漆业务承包合同5篇
- 2025年网络直播行业市场规模与发展前景研究报告-文化与娱乐产业新机遇
- 2025年植物组织培养在花卉产业中的应用报告
- 2025年工业互联网平台自然语言处理在工业智能仓储管理中的应用报告
- (完整)马克思主义政治经济学习题及参考答案
- 大规模模型蒸馏技术
- 贝朗DIALOG+透析机水路设计概览课件
- 光电功能材料课程-13-18课件
- 施工现场污水排放方案
- 黔西市中医医院金阳院区环评报告
- 我的家乡-枣阳
- 青春期生理卫生知识讲座男生篇
- 高中期中考试家长会PPT课件 (共51张PPT)
- 全球卫生治理课件
- 实验室生物安全程序文件
评论
0/150
提交评论