版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C/C+程序设计,2011.03,课程性质,“C/C+程序设计”是大学生必修的第二门计算机基础教育课程,是大学公共基础课程的教学重点,要求学生理解程序设计语言的基础知识,掌握基本的程序设计过程和技能,初步具备利用程序设计求解本专业实际问题的能力。本课程的大学计算机基础教育的第二阶段(第一阶段是上学期学习的“大学计算机基础A”)。,指定教材,王连相、赵付青主编C/C+程序设计教程(第二版).中国铁道出版社,2011.2C/C+程序设计上机指导与测试(第二版).中国铁道出版社,2011.1,参考教材:,C语言程序设计教程谭浩强高等教育出版社C高级实用程序设计王士元清华大学出版社C程序设计试题汇编谭
2、浩强清华大学出版社,学时分配,理论教学总学时:32学时实验教学总学时:24学时,上机和考试环境:VisualC+6.0(中文版),课程网站,兰州理工大学精品课程平台:JPKC.LUT.CN精品课程名称:计算机高级语言程序设计(2008)学习内容:课程网站,考核,总评成绩由以下两部分构成:总评成绩=期末成绩+平时成绩期末成绩80分考试形式:上机考试(80分)平时成绩20分书面作业(5分)+上机(15分)说明:按照学校教务处的要求,期末考试考试在教学计划结束后很快安排,以免影响期末选课使用机房,课程内容,第1章C语言概述第2章数据类型和表达式第3章结构化程序设计第4章函数第5章编译预处理第6章复合
3、数据类型第7章文件及其操作第8章基本应用综合举例,重点掌握,了解、自学,第9章C+概述第10章类与对象第11章C+上机预备知识,上课及上机安排,上课时间:周五1、2节(8:009:35)116周上机时间:周二6、7节(14:3016:05)116周上机地点:西教B实验楼501,上机要求,完成上机指导书的上机内容,调试运行教材及课后作业的程序,全部按章节题号存档,最后统一上交;上机考勤3次缺席,按不及格处理(不定期抽查);发现上机时间做与本课程无关的内容,按缺席一次处理重视上机实践,有效利用宝贵的上机时间,学习方法,不要胆怯动手动脑,理论指导下的实践自主学习重视上机实践在编写大量程序之后,才能感
4、到运用自如,如何尽快学会用C语言进行程序设计,了解程序设计语言模仿、改写、编写通过不断的编程实践,逐步领会和掌握程序设计的基本思想和方法。,第1章C语言概述,程序设计及算法,程序:人们为解决某种问题用计算机可以识别的代码编排的一系列加工步骤。程序的执行过程实际上是对程序所表达的数据进行处理的过程。程序设计语言(计算机语言):提供了一种表达数据与处理数据的功能要求程序员按照语言的规范编程,程序=数据结构+算法+程序设计语言,程序设计语言的功能,数据表达:表达所要处理的数据流程控制:表达数据处理的流程,1、数据表达,数据表达:一般将数据抽象为若干类型数据类型:对某些具有共同特点的数据集合的总称代表
5、的数据(数据类型的定义域)在这些数据上做些什么(即操作或称运算)例如:整数类型包含的数据:,-2,-1,0,1,2,作用在整数上的运算:+、-、*、/等,C语言提供的数据类型基本数据类型:程序设计语言事先定义好,供程序员直接使用,如整型、实型(浮点型)、字符型等。构造类型:由程序员构造,如数组、结构、文件、指针等。各种数据类型的常量与变量形式常量(常数)与变量,语句级控制:3种基本的控制结构顺序控制结构:自然顺序执行分支控制结构(选择结构):根据不同的条件来选择所要执行的模块循环控制结构:重复执行某个模块单位级控制:函数的定义与调用处理复杂问题时,将程序分为若干个相对独立的子程序(函数),2、
6、流程控制,程序设计语言的语法,用程序设计语言所写的程序必须符合相应语言的语法。源程序(源代码)是一个字符序列,这些字符序列按顺序组成了一系列“单词”,“单词”的组合就形成了语言有意义的语法单位,一些简单语法单位的组合又形成了更复杂的语法单位,最后一系列语法单位组合成程序。,C语言的主要“单词”:(1)标识符:C语言的标识符规定由字母、数字以及下划线组成,且第一个字符必须是字母或下划线(2)保留字(关键字):它们是C语言规定的、赋予它们以特定含义、有专门用途的标识符。(3)自定义标识符:包括在程序中定义的变量名、数据类型名、函数名以及符号常量名。有意义的英文单词(4)常量:常量是有数据类型的,如
7、,123、12.34(5)运算符:代表对各种数据类型实际数据对象的运算。如,+(加)、-(减)、*(乘)、/(除)、%(求余)、(大于),C语言的主要语法单位(1)表达式:运算符与运算对象组合就形成了表达试。如,2+3*4(2)变量定义:变量也有数据类型,所以在定义变量时要说明相应变量的类型。如:inti;(3)语句:语句是程序最基本的执行单位,程序的功能就是通过对一系列语句的执行来实现的。(4)函数定义与调用:完成特定任务的独立模块,函数的使用最主要涉及到函数的定义与调用。如:C语言没有输入输出语句,用库函数printf、scanf等实现。,C语言中的语句:表达式语句:表达式加分号“;”分支
8、语句:实现分支控制过程if(ab)x=a;elsex=b;循环语句:实现循环控制的过程sum=0;/*初始化sum和i*/i=1;while(i=100)/*while循环语句*/sum=sum+i;i=i+1;复合语句:用一对“”,将若干语句顺序组合在一起就形成了一个程序段。,程序设计的步骤,提出问题,确定数据结构和算法,编写程序,调试和运行程序,翻译(编译或解释),得到运行结果,算法,算法:在计算机中,为解决某一应用问题而采用的解题步骤。算法的描述方式:用自然语言描述算法用流程图描述算法用N-S结构图描述算法,例如:输出两个数中的最大数,1、用自然语言描述算法,第一步:输入x和y的值第二步
9、:比较x和y的值,如果x大于y,则输出x的值,否则输出y的值。易于理解,但冗长,不够精确,难于描述复杂算法。,例如当描述“输出10个数中最大数”的算法时,会冗长、难于理解,2、用流程图描述算法,3、用N-S结构图描述算法,已经证明,任何复杂的问题都可以三种基本算法结构来描述:顺序、选择、循环。因此用计算机语句描述的程序也包含三种基本结构。,求1*2*3*4*5=5!用自然语言描述:第1步:求1*2得2第2步:第1步的结果2乘3得6第3步:第2步的结果6乘4得24第4步:第3步的结果24乘6得120缺点:若算1*2*3*10000步骤太多,N-S图:,传统流程图:,C语言的发展历史,B语言:Be
10、ll实验室,1970年在PDP机器上用其编写UNIX系统,CPL语言:剑桥大学,1963年,BCPL语言:剑桥大学,1967年,C语言:Bell实验室,19721973年用其改写UNIX系统,进一步简化,保持精练、接近硬件的优点,克服数据类型过少的不足,经简化,C语言的特点,1、C是中级语言计算机语言是人与计算机进行交流的工具计算机语言分为:,011000110000011001100101110011000000110000011011,LOADXADDYSTOREZ,Z=X+Y,C语言属于高级语言,它具有高级语言的特点;C语言又允许对位、字节、字和指针这些计算机中的基本成分进行操作,使它又
11、具有汇编语言的大部分功能。,C语言是高级语言中的中级语言,2、C语言是结构化语言,结构化语言:一个入口,一个出口。便于编写程序,程序清晰易懂,便于维护顺序分支循环,结构化程序设计,程序设计的三种基本结构顺序结构程序:按照书写顺序依次执行语句选择结构程序:按照条件判断选择执行语句循环结构程序:通过条件控制循环执行语句,三种基本结构的共同点:都是只有一个入口和一个出口;结构内的每一个框都有机会被执行;结构内没有死循环。,结构化程序设计方法:采用模块化原则和方法进行设计将复杂程序划分为若干个相互独立的功能模块,每个模块又可以划分为若干子模块,然后分别进行模块程序的编写,模块:一条语句、一段程序或一个
12、函数(子程序)等,3、C语言是编译型语言,机器语言是计算机唯一能够识别并执行的指令代码集。编译器程序计算机直接能理解的指令序列编译程序是一次读完全部程序,并把它转换成目标码,程序一旦编译后,源程序就对程序的执行毫无意义了。,编译和解释是程序执行的两种方式。,解释程序是一次读进一行源代码,然后执行一串由这些源代码确定的指令。,对于一个大型工程软件,必须根据任务划分为若干块,分配给一组程序员分别编写,编写完毕以后,再链接在一起,调试通过。C允许将一个程序分解成若干块,装入若干文件,每一个文件可以单独编译,一旦所有的文件编译完毕,就可以将它们与函数库中的函数链接,形成完整的目标码。文件1目标码1(.
13、OBJ)文件2目标码2文件m目标码m库函数优点:当一个文件中的代码改变后,不必重新编译全部程序,能节省大量时间。,链接,完整的目标码(.EXE),4、C语言的语法特点(1)C语言语句简洁、紧凑,使用方便、灵活32个关键字,9种控制语句,程序书写形式自由,主要用小写字母(2)运算符丰富除了最基本的、%等运算外,还将括号、赋值、类型强制转换等均作为运算符,共有34种运算符。(3)数据结构丰富除基本类型外,还有指针、结构体、联合体等复合数据类型。,(4)具有结构化的控制语句具有顺序、分支、循环三种结构化控制语言句,模块完整,控制中的语句可完整化。(5)语法严格,但有灵活性如:数据类型可相互通用:整型
14、、字符型通用。(6)生成目标代码质量高,执行效率高。(7)可移植性优于汇编语言。,/*example1.1calculatethesumofaandb*/#include/*Thisisthemainprogram*/main()inta,b,sum;a=10;b=24;sum=add(a,b);printf(”sum=%dn,sum);/*Thisfunctioncalculatesthesumofxandy*/intadd(intx,inty)intz;z=x+y;return(z);,运行结果:sum=34,函数与主函数程序由一个或多个函数组成,必须有且只能有一个主函数main()程序执
15、行从main开始,在main中结束,其它函数通过嵌套调用得以执行。程序语句C程序由语句组成用“;”作为语句终止符注释/*/为注释,不能嵌套不产生编译代码,例:/*Thisisthemain/*ofexample1.1*/*/,编译预处理命令,1.每个语句占一行;2.同一层次的语句从同一位置处开始书写;3.同一层次中嵌套的结构,应从不同位置开始书写;4.编译控制行、外部数据定义、函数定义之间空一行书写;5.对于函数体的大括号的书写约定;6.学会使用注释。,良好的程序设计风格,main().,main()inti,j,sum;sum=0;for(i=1;i10;i+)for(j=1;j10;j+)sum+=i*j;printf(“%dn”,sum);,优秀程序员的素质之一:使用TAB缩进对齐有足够的注释有合适的空行,C程序的上机步骤C程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沈阳师范大学《企业财务会计》2025-2026学年期末试卷
- 乌海职业技术学院《当代西方经济学流派》2025-2026学年期末试卷
- 上海南湖职业技术学院《物流经济学》2025-2026学年期末试卷
- 上海南湖职业技术学院《税收学》2025-2026学年期末试卷
- 上海思博职业技术学院《编译原理》2025-2026学年期末试卷
- 上海体育大学《西医诊断学》2025-2026学年期末试卷
- 山西电子科技学院《危重病学》2025-2026学年期末试卷
- 三江学院《投资学》2025-2026学年期末试卷
- 上海海关学院《中药药理学》2025-2026学年期末试卷
- 上海外国语大学贤达经济人文学院《毒理学》2025-2026学年期末试卷
- AQ 3067-2026 《化工和危险化学品生产经营企业重大生产安全事故隐患判定准则》解读
- (通桥【2018】8370)《铁路桥梁快速更换型伸缩缝安装图》
- 2023年广西中烟招聘笔试参考题库附带答案详解
- 初中语文修改病句专题课件
- 夯实基础总结反思+课件 高三学习主题班会
- GB/T 6742-2007色漆和清漆弯曲试验(圆柱轴)
- 摩擦学原理第3章固体摩擦课件
- 建设工程竣工图的编制 课件
- 试验及调试检验批质量验收记录
- DB3307071-2018金华猪(金华两头乌猪)养殖技术规范
- 紫外线消毒设备使用维护手册
评论
0/150
提交评论