C语言b程序b设计(5)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

参考书与课时安排•参考书C程序设计(第三版)谭浩强清华大学出版社全国计算机等级考试二级教程——C语言程序设计……•课时安排授课:36学时上机:28学时上机安排•上机地点:计算中心机房•上机实验题目:随上课进度布置•要求:上机实验题目要事先做在纸上课程要求•课前做好预习•保持课堂安静,认真听讲、思考•上课、上机考勤•上机实验题目、作业必须独立、按时完成,且经上机调试•重视上机实践,有效利用宝贵的上机时间考核•期末:全校统一考试、闭卷、笔试•平时成绩10%+实验成绩10%+期末考试80%第1章C语言概述为什么要学习C语言C语言发展历史C语言特点C程序格式和结构特点(重点)C程序的开发过程(重点)为什么要学习C语言•本课程是向学习者介绍结构化(模块化)程序设计的基本思想和方法,•了解用计算机解决问题的一般方法,•掌握程序设计的思路和基本方法,•掌握编写和调试简单应用程序的方法,•使学习者养成利用计算机解决工作、生活中的实际问题的习惯,提高计算机方面的能力和素质。程序设计语言C语言是一种程序设计语言。那么什么是程序设计语言?是用来编写计算机程序的语言C语言程序:#includemath.hmain(){floatx;x=56+2*sqrt(24)/(85-34);printf(%f,x);}348524256算式:举例CPU指令系统,由0、1序列构成的指令码组成如:10000000加10010000减用助记符号描述的指令系统如ADDA,B面向机器的语言机器语言汇编语言高级语言面向过程面向对象程序设计是数据被加工的过程1.1C语言的发展历史–程序设计语言的发展•产生背景•产生过程–时间:1972~1973–地点:美国贝尔实验室–目的:UNIX操作系统–设计人:Ken.Thompson和Dennis.M.Ritchie•C标准–标准C:K&R合著《TheCProgrammingLanguage》–ANSIC:1983年–87ANSIC:1987年–1990年国际标准的ANSIC–C语言发展过程–语言简洁、紧凑、灵活–运算符和数据类型丰富–程序设计结构化、模块化–生成目标代码质量高–可移植性好1.2C语言特点32个关键字:(由系统定义,不能重作其它定义)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile9种控制语句:•if()~else~•for()~•while()~•do~while()•continue•break•switch•goto•return例C语言与Pascal语言比较C语言Pascal语言含义{}BEGIN….END复合语句if(e)s;IF(e)THENs条件语句inti;VARi:INTEGER定义i为整型变量inta[10];VARa:ARRAY[1..10]OFINTEGER定义整型数组aintf();FUNCTIONf():INTEGER定义f为返值整型的函数int*p;VARp:INTEGER定义p为指向整型变量的指针i+=2;i=i+2赋值i+2ii++,++i;i=i+1i自增值结论:C比Pascal简练,源程序短。34种运算符:算术运算符:+-*/%++--关系运算符:====!=逻辑运算符:!&&||位运算符:~|^&赋值运算符:=及其扩展条件运算符:?:逗号运算符:,指针运算符:*&求字节数:sizeof强制类型转换:(类型)分量运算符:.-下标运算符:[]其它:()-C数据类型基本类型构造类型指针类型空类型void定义类型typedef数值类型字符类型char枚举类型enum整型实型单精度型float双精度型double短整型short长整型long整型int数组结构体struct共用体union结构化程序设计的三种基本结构:•顺序结构:按语句的书写顺序依次执行•分支结构:根据条件有选择地执行某部分语句•循环结构:循环条件+循环体程序设计结构化、模块化例1.1第一个程序,打印Hello,Howdoyoudo!/*example1.1ThefirstCProgram*/#includestdio.hmain(){printf(Hello,Howdoyoudo!);}注释编译预处理命令主函数输出:Hello,Howdoyoudo!1.3C程序格式和结构特点输出语句例1.2计算两个数的和,并在显示器上输出结果。#includestdio.hmain(){floatx,y,sum;/*定义变量*/x=4.6,y=7.85;sum=x+y;printf(x+y=%.2f,sum);}注释编译预处理命令主函数输出:x+y=12.45输出语句赋值语句例1.3/*example1.3calculatethesumofaandb*/#includestdio.h/*Thisisthemainprogram*/main(){inta,b,sum;a=10;b=24;sum=add(a,b);printf(sum=%d\n,sum);}/*Thisfunctioncalculatesthesumofxandy*/intadd(intx,inty){intz;z=x+y;return(z);}运行结果:sum=34函数编译预处理命令语句注释例1.2计算两个数的和,并在显示器上输出结果。#includestdio.hmain(){floatx,y,sum;/*定义变量*/x=4.6,y=7.85;sum=x+y;printf(x+y=%.2f,sum);}注释编译预处理命令主函数输出:x+y=12.45输出语句赋值语句解析:•#include预处理命令预处理命令以“#”开头,一般放在最前面。#includestdio.hstdio.h表示标准输入输出头文件(standardinput/outputheader)。•main()函数•程序由一个或多个函数组成。函数是C程序的基本单位。•必须有且只能有一个主函数main()。•程序执行从main开始,在main中结束,其它函数通过调用得以执行。•语句•C程序由语句组成,每一个语句用“;”作为终止符。•花括号{…}•注释/**/•在“/”和“*”之间不能有空格,且“/*”和“*/”必须配对使用。•注释是供人阅读的,并不参与编译和运行。•注释可以出现在程序的任何地方。一个较长的注释可以单放一行,或者是多行。•添加必要的注释可以提高程序的可读性。main(){……………….…………………………..……………….……………………………..}main(){inti,j,sum;sum=0;for(i=1;i10;i++){for(j=1;j10;j++){sum+=i*j;}}printf(%d\n,sum);}•格式特点•习惯用小写字母,字母大小写不同。•语句以分号(;)结束。•程序的书写格式灵活。•{}必须成对出现。•/*注释信息*/•常用缩进(锯齿形)格式书写。•结构特点•程序由一个或多个函数组成。函数是C程序的基本单位。•必须有且只能有一个主函数main()。•程序执行从main开始,在main中结束,其它函数通过调用得以执行。•main函数可以程序的放在任何位置。编辑链接编译执行1.4C程序的开发过程程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe一、C程序开发步骤开始编辑编译连接执行有错?结果正确?结束有源程序File.c目标程序file.obj库函数和其它目标程序可执行目标程序file.exe无正确不正确源程序目标程序可执行程序内容程序设计语言机器语言机器语言可执行不可以不可以可以文件名后缀.c.obj.exe•语法错误(SyntaxError)如何检测程序的语法错误:•编译前浏览程序的源代码看是否有明显的错误;•编译时,当编译程序发现语法错误时,会把这些错误的位置指出,并告诉您错误的原因,即可以根据编译程序所给予的信息更正错误。二、常见错误分析注意:•某位置上一个真正的语法错误可能导致编译器误认为它发现了其他错误。例如,示例程序中未能正确声明n2,n3,当后面用到这些变量时,编译器可能会发现更多错误。实际上不用立刻试图改正所有发现的错误,只是修改前一个或前两个,然后重新编译,其余的某些错误就可能会消失。一直这样做直到程序能够运行为止。•发现的错误位置比真正的错误要滞后一行。例如,编译器要编译下一行时才发现上一行缺少了一个分号,因此如果编译器指出某行少了一个分号请检查上一行。•语义错误(SemanticError)如何检测程序的语义错误:•比较程序实际得到的结果和你预期的结果;•按照程序的执行顺序通过手工方式一步一步跟踪程序,并记录每个变量,从而可以监视程序状态以便发现是否存在语义错误,但注意一定要按照你实际所写的代码去执行而不要按照你期望的那样去执行。二、常见错误分析当问题规模太大时,可以选择跟踪其中的一小部分•在程序的关键处加入额外的printf()语句以监视所选的变量的值,使用完后再去掉printf()语句;•利用调试器,调试器是一种程序,它能够运行另一个程序并检查该程序的变量。•编译器的警告消息•警告表明尽管代码正确,但有可能不是程序员所需要的。警告不终止编译。二、常见错误分析三、VisualC++6.0集成开发环境及其使用1.启动VisualC++6.0Windows2000(/Windowsxp)/开始/程序/MicrosoftVisualStudio6.0/MicrosoftVisualC++6.0VisualC++6.0集成开发环境及其使用1.启动VisualC++6.0启动后VisualC++6.0集成开发环境及其使用2.在指定位置D:\创建C源程序文件文件\新建\“文件”选项卡\C++sourceFile\xxx.c与目录VisualC++6.0集成开发环境及其使用3.输入C源程序VisualC++6.0集成开发环境及其使用4.编译,将C源程序文件翻译成目标文件.obj编译\编译xxx.cVisualC++6.0集成开发环境及其使用4.编译,将C源程序文件翻译成目标文件.obj编译前提示是否创建默认的项目工作区(workspace)?VisualC++6.0集成开发环境及其使用4.编译,将C源程序文件翻译成目标文件.obj•每创建一个c程序,VC都会创建一个相应的工作区(workspace)。•所谓“工作区”是一种管理C程序的方法。一个C程序通常包含源代码文件(.c)、工作区文件(.dsw)、工作区配置文件(.opt)等,还有调试子文件夹(debug)。•程序员通常只需创建源代码文件,其他文件在编译期间自动生成。VisualC++6.0集成开发环境及其使用4.编译,将C源程序文件翻译成目标文件.obj编译结果VisualC++6.0集成开发环境及其使用4.编译,将C源程序文件翻译成目标文件.obj编译通过时,可以在工作区视图中看到目前创建的模块和文件结构。VisualC++6.0集成开发环境及其使用5.连接,将目标文件.obj与系统文件连接成可执行文件xxx.exe编译\构件xxx.exeVisualC++6.0集成开发环境及其使用6.执行,将可执行文件xxx.exe装载到内存并执行编译\执行xxx.exeVisualC++6.0集成开发环境及其使用6.执行,将可执行文件xxx.exe装载到内存并执行执行的结果VisualC++6.0集成开发环境及其使用此时,在位置D:\创建了一个C程序\debuga.exea.dswa.c······D:\VisualC++6.0集成开发环境及其使用7.关闭工作

1 / 61
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功