




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第1章C 语言简介 杨琦西安交通大学计算机教学实验中心 2 授课内容 1 1 程序基本结1 2算法与程序1 3C 程序的基本要素1 4输入 编译 调试和运行一个C 程序程序设计举例调试技术小结 3 几个概念术语回顾 程序设计语言人与计算机交流的语言程序设计将某个问题的求解过程用程序设计语言描述出来的过程算法完成某个特定任务的方法步骤描述算法的工具伪代码 流程图 自然语言等计算机程序 文本文件 借助程序设计语言对解决问题步骤的描述计算机指令系统一台计算机所能执行的全部指令的集合 二进制编码 4 1 1 程序基本结 例1 1在屏幕上显示一句话 HelloWorld 5 例1 1程序代码 Example1 1 屏幕上显示 HelloWorld includeusingnamespacestd intmain cout HelloWorld endl return0 6 例1 1分析 C的程序由函数组成 该程序只由一个主函数main 构成 一对花括号 是主函数的定界符 注释行 多行注释 单行注释 语句用分号结束 一行可以写多个语句 程序用小写字母 区分大小写 书写采用自由格式 7 C 简介 一种用于程序设计的高级语言来源于C 支持面向过程的程序设计方法对C进行了扩展 支持面向对象的程序设计方法 1983年更名为C 用途广泛 开发系统程序 各种应用程序1998年C 国际标准化 ISO ANSI 8 文件包含 文件包含是指一个程序将另一个指定文件的内容包含进来 即将另一个程序文件在编译时嵌入到本文件中 文件包含操作的一般格式为 include或者 include 文件名 用文件包含命令嵌入其它源程序文件 结构清晰 便于分工协作编程 提高编程效率 9 输入与输出 cin表示输入语句 其基本格式为 cin V1 V2 Vn 在输入时 应注意用空格或tab键将所输入的数据分隔开必须注意所输入数据的类型应与接受该数据之变量的类型相匹配 否则输入操作将会失败或者得到的将是一个错误的数据 cout表示输出语句 其基本格式是 cout E1 E2 Em 在输出时 要注意恰当使用字符串和换行符endl 提高输出信息的可读性 10 1 2 算法与程序 算法 也就是解决问题的方案 问题 给定两个正整数p和q 求其最大公因数 古希腊数学家欧几里德的算法 步骤1 如果p q 交换p和q 步骤2 求p q的余数r 步骤3 如果r 0 则q就是所求的结果 否则反复做如下工作 令p q q r 重新计算p和q的余数r 直到r 0为止 则q就是原来的两正整数的最大公因数 11 1 2 算法与程序 如果p q 交换p和q 计算p q r r等于0 计算r p q 结果为q 结束 输入p qif p q 交换p和q 计算p除q的余数rwhile r 0 重新计算p q和r 输出结果 框图 伪代码 输入p q 12 例1 2求两个正整数的最大公因数 includeusingnamespacestd intmain 说明三个整型变量p q rintp q r 提示用户由键盘输入两个正整数cout p q 如果p q 交换p和qif p q r p p q q r r p q 计算p除q的余数r 13 接上页 只要r不等于0 重复进行下列计算while r 0 p q q r r p q 输出结果cout Themaximumcommondivisoris q endl return0 14 1 3C 程序的基本要素 在 关键词asm auto bad cast bad typed bool break case catch char class const const cast continue default delete do double dynamic cast else enum except extern explicit false finally float for friend goto if inline int long mutable namespace new operator private protected public register reinterpret cast return short signed sizeof static static cast struct switch template this throw try type info typedef typeid union unsigned using virtual void volatile while 15 1 3C 程序的基本要素 还有12个标识符作为编译预处理define elif else endif error if ifdef ifndef include line progma undefC 的标点和特殊字符有 16 1 4 开发一个C 程的步骤 1 算法研制2 根据上一步思路或数学模型编写程序 3 编辑源程序 4 编译和连接 cpp h obj词法分析 语法分析 等 obj exe连接系统库函数 等5 反复上机调试程序 直到改正了所有的编译错误和运行错误 6 运行 17 编译程序 编译程序的功能是将高级语言编写的程序翻译成在逻辑上与之等价的目标程序 编译过程一般分成5个阶段 词法分析 语法分析 中间代码生成 代码优化和目标代码生成 18 程序设计举例 例1 1HelloWorld 例1 2求两个正整数的最大公因数例1 3加法器例1 4显示生日卡例1 5计算梯形积分例1 6计算万有引力 19 例1 3加法器 20 例1 3加法器 includeusingnamespacestd intmain doublea b c cout a b c a b cout a b c endl return0 输入 Pleaseinputtwonumbers 12 034 0输出 12 000000 34 000000 46 000000 21 例1 4显示生日卡程序结果 输入 Pleaseinputyourfriend sname ZhangHuaPleaseinputyourname LiMing输出 MydearZhangHua Happybirthdaytoyou yours LiMing 22 例1 4显示生日卡 includeusingnamespacestd intmain charname1 41 name2 41 cout name1 cout name2 cout endl endl cout Mydearest name1 endl cout Happybirthdaytoyou endl cout yours endl cout name2 endl cout endl return0 23 例1 5计算梯形积分 使用梯形法计算定积分 f x dx 其中a 0 b 1 被积函数为sin x 取积分区间等分数为1000 a b x y f x xi xi 1 h 梯型面积 上底 下低 x高 2 24 例1 5计算梯形积分 25 例1 5计算梯形积分 include includeusingnamespacestd intmain doublea b 双精度类型变量 积分的下限和上限doubleh 双精度类型变量 积分步长doublesum 双精度类型变量 工作变量 最后为积分值intn 整型变量 积分区间等分数inti 整型变量 循环工作变量 根据题意确定积分的下限 上限和积分区间等分数a 0 0 b 1 0 n 1000 h b a n 计算小区间长度 26 接上页 为工作变量赋初值 先计算无需循环运算的部分sum sin a sin b 2 循环计算公式中的 和式for i 1 i n i i 1 sum sum sin a i h 完成计算 变量sum中存放积分结果sum sum h 输出计算结果cout Theresultis sum endl return0 27 VisualC 的集成开发环境 菜单和工具栏DeveloperStudio窗口文档窗口Workspace 工作区 窗口Output 输出 窗口 28 例1 6计算太阳和地球间的万有引力 算法分析 由普通物理知 两个质量分别为m1和m2的物体之间的万有引力与两个物体质量的乘积成正比 与两个物体质心之间的距离R的平方成反比 式中的G为引力恒量 如果取质量的单位为克 距离的单位为厘米 力的单位为达因 则G 6 67 10 11牛 米 2 千克 2因此 只要将太阳的质量1 987 10 30千克和地球的质量5 975 10 24千克以及两者之间的距离1 495 10 11米代入上式 即可算出太阳和地球之间的万有引力 29 例1 6计算万有引力 简单程序 计算太阳和地球之间的万有引力voidmain doubleF Msun 1 987E30 Mearth 5 975E24 doubleG 6 67259E 11 R 1 495E11 F G Msun Mearth R R cout 太阳和地球之间的引力为 F 牛顿 n 30 例1 6计算万有引力 doublegrav doublem1 doublem2 doubledistance doubleg G 6 67E 11 g G m1 m2 distance distance returng 31 接上页 intmain doubleGse Gme 太阳1 987 1030千克 地球5 975 1024千克 间距1 495 1011米doubleMsun 1 987E30 Mearth 5 975E24 Gse grav Msun Mearth 1 495E11 cout Thegravitationbetweensunandearthis Gse N endl 月亮7 348 1022千克 地球5 975 1024千克 间距3 844 105米doubleMmoon 7 348E22 Dme 3 844E5 Gme grav Mmoon Mearth Dme cout Thegravitationbetweenmoonandearthis Gme N endl return0 32 例1 6分析 将计算任意两个质点之间的引力公式单独编写为一个函数grav 用于计算太阳和地球之间的万有引力 这样做有两个好处 1 简化了主函数的编写 在编写主函数时 只需按要求填写实际参数 调用grav 就可以得到计算结果 2 如果还要计算其他物体之间的引力 例如地球和月球之间的万有引力 就不必再次编写相应的程序段了 只需在调用grav 函数时换上相应的实际参数即可 按这种方法设计程序就称为模块化程序设计 33 常用VC 的菜单 FILE NEW PROJECTS Win32ConsoleApplicationFILE CloseWorkspace 项目工作区 FILE RecentWorkspaceProject AddtoProjectBuild RebuildAllBuild Execute Ctrl F5 34 小结 C 程序由函数组成 函数由变量及参数说明语句和语句序列构成 每条语句必须用分号 结尾 一个语句行可以书写多个语句 一个语句也可以分开写在连续的若干行上 但名字 语句标识符等不能跨行书写 C 语言允许在程序中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家政保姆中介合同范本
- 广告制作安装合同书范本3篇
- 建筑节能行业新技术应用方向
- 农业科技示范园规划初步设计中的农业市场潜力评估报告
- 农产品品牌建设资金申请报告:2025年行业发展趋势与竞争格局分析
- 河北省衡水市安平县安平中学2025-2026学年高一上学期开学测试思想政治试卷
- 2025年信号与系统试卷及答案
- 小米解锁l题库及答案
- 2025年交通设计试题及答案
- 2025年士兵军校试题及答案
- 2024春期国开电大本科《商法》在线形考(形成性考核作业一至四)试题及答案
- JJF 1033-2023 计量标准考核规范
- 九年级历史上册教材课后习题参考答案
- 血液透析的标准预防课件
- 全科规培:门诊SOAP病历考核模拟文档
- 《能源概论》课件
- 2023年湖南长沙湘江新区所属事业单位招聘12人笔试参考题库(共500题)答案详解版
- 插花艺术与花艺课件
- CADCAM应用技术(CAXA2020)中职全套教学课件
- 生物医学工程伦理 课件全套 第1-10章 生物医学工程与伦理-医学技术选择与应用的伦理问题
- 仓库管理作业流程规范
评论
0/150
提交评论