第1章 C语言概述_第1页
第1章 C语言概述_第2页
第1章 C语言概述_第3页
第1章 C语言概述_第4页
第1章 C语言概述_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计课程性质“C语言程序设计”是大学生必修的计算机课程,是编写程序和开发软件的基础。通过学习,要求学生理解程序设计语言的基础知识,掌握基本的程序设计过程和技能,掌握常用的算法,具有初步的程序设计能力。指定教材C语言程序设计(第2版),何钦铭、颜晖主编,高等教育出版社,2012C语言程序设计实验与习题指导(第2版),颜晖、柳俊主编,高等教育出版社,2012参考教材C/C++程序设计教程王连相

中国铁道出版社C语言程序设计教程谭浩强高等教育出版社C高级实用程序设计王士元清华大学出版社………………学习方法不要胆怯动手动脑,理论指导下的实践自主学习重视上机实践在编写大量程序之后,才能感到运用自如如何尽快学会用C语言进行程序设计了解程序设计语言模仿、改写、编写通过不断的编程实践,逐步领会和掌握程序设计的基本思想和方法。课程内容第1章C语言概述第2章用C语言编写程序第3章分支结构第4章循环结构第5章函数第6章数据类型和表达式第7章数组第8章指针第9章结构第10章函数与程序结构第11章指针进阶第12章文件上机要求完成上机指导书的上机内容,调试运行教材及课后作业的程序,全部按章节题号存档,最后统一上交;上机考勤3次缺席,按不及格处理(不定期抽查);发现上机时间做与本课程无关的内容,按缺席一次处理重视上机实践,有效利用宝贵的上机时间第1章C语言概述1.1一个C语言程序1.2程序与程序设计语言1.3C语言的发展历史与特点1.4实现问题求解的过程本章要点什么是程序?程序设计语言包含哪些功能?程序设计语言在语法上包含哪些内容?结构化程序设计有哪些基本的控制结构?C语言有哪些特点?C语言程序的基本框架如何?形成一个可运行的C语言程序需要经过哪些步骤?如何用流程图描述简单的算法?1.1一个C语言程序

/*example1.1calculatethesumofaandb*/#include<stdio.h>/*Thisisthemainprogram*/main(){

int

a,b,sum;

a=10;

b=24;

sum=add(a,b);

printf(”sum=%d\n",sum);}/*Thisfunctioncalculatesthesumofxandy*/int

add(int

x,inty){

int

z;

z=x+y;

return(z);}运行结果:sum=34函数语句预处理命令注释函数与主函数程序由一个或多个函数组成,必须有且只能有一个主函数main()程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。程序语句C程序由语句组成用“;”作为语句终止符注释/**/为注释,不能嵌套不产生编译代码例:/*Thisisthemain/*ofexample1.1*/*/非法编译预处理命令1.2程序设计及算法程序:

人们为解决某种问题用计算机可以识别的代码编排的一系列加工步骤。程序的执行过程实际上是对程序所表达的数据进行处理的过程。程序设计语言(计算机语言):提供了一种表达数据与处理数据的功能要求程序员按照语言的规范编程程序=数据结构+算法+程序设计语言1.2.1程序设计语言的功能数据表达:表达所要处理的数据流程控制:表达数据处理的流程1、数据表达数据表达:一般将数据抽象为若干类型数据类型:对某些具有共同特点的数据集合的总称代表的数据(数据类型的定义域)在这些数据上做些什么(即操作或称运算)例如:整数类型包含的数据:{…,-2,-1,0,1,2,…}作用在整数上的运算:+、-、*、/等C语言提供的数据类型基本数据类型:程序设计语言事先定义好,供程序员直接使用,如整型、实型(浮点型)、字符型等。构造类型:由程序员构造,如数组、结构、文件、指针等。各种数据类型的常量与变量形式常量(常数)与变量

语句级控制:3种基本的控制结构顺序控制结构:自然顺序执行分支控制结构(选择结构):根据不同的条件来选择所要执行的模块循环控制结构:重复执行某个模块单位级控制:函数的定义与调用处理复杂问题时,将程序分为若干个相对独立的子程序(函数)2、流程控制1.2.2程序设计语言的语法

用程序设计语言所写的程序必须符合相应语言的语法。源程序(源代码)是一个字符序列,这些字符序列按顺序组成了一系列“单词”,“单词”的组合就形成了语言有意义的语法单位,一些简单语法单位的组合又形成了更复杂的语法单位,最后一系列语法单位组合成程序。C语言的主要“单词”:(1)标识符:C语言的标识符规定由字母、数字以及下划线组成,且第一个字符必须是字母或下划线(2)保留字(关键字):它们是C语言规定的、赋予它们以特定含义、有专门用途的标识符。(3)自定义标识符:包括在程序中定义的变量名、数据类型名、函数名以及符号常量名。有意义的英文单词(4)常量:常量是有数据类型的,如,123、12.34(5)运算符:代表对各种数据类型实际数据对象的运算。如,+(加)、-(减)、*(乘)、/(除)、%(求余)、>(大于)C语言的主要语法单位(1)表达式:运算符与运算对象组合就形成了表达试。如,2+3*4(2)变量定义:变量也有数据类型,所以在定义变量时要说明相应变量的类型。如:inti;(3)语句:语句是程序最基本的执行单位,程序的功能就是通过对一系列语句的执行来实现的。(4)函数定义与调用:完成特定任务的独立模块,函数的使用最主要涉及到函数的定义与调用。如:C语言没有输入输出语句,用库函数printf、scanf等实现。C语言中的语句:表达式语句:表达式加分号“;”分支语句:实现分支控制过程

if(a>b)x=a;elsex=b;循环语句:实现循环控制的过程

sum=0; /*初始化sum和i*/i=1;while(i<=100){/*while循环语句*/sum=sum+i;i=i+1;}复合语句:用一对“{}”,将若干语句顺序组合在一起就形成了一个程序段。1.2.3算法算法:在计算机中,为解决某一应用问题而采用的解题步骤。算法的描述方式:用自然语言描述算法用流程图描述算法用N-S结构图描述算法例如:输出两个数中的最大数1、用自然语言描述算法第1步:输入x和y的值第2步:比较x和y的值,如果x大于y,则输出x的值,否则输出y的值。易于理解,但冗长,不够精确,难于描述复杂算法。

例如当描述“输出10个数中最大数”的算法时,会冗长、难于理解2、用流程图描述算法NYz=yz=xx>y?开始输入x和y结束输出z起止框输入/输出框判断框处理框流程线3、用N-S结构图描述算法输入x、y的值x>y

真假

z=xz=y输出z的值已经证明,任何复杂的问题都可以三种基本算法结构来描述:顺序、选择、循环。因此用计算机语句描述的程序也包含三种基本结构。求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步骤太多NYx=x*i,i=i+1i<6?开始结束输出x判断框x=1,i=2x=1,i=2当i<6时x=x*ii=i+1输出xN-S图:传统流程图:1.4C语言的发展历史及特点B语言:Bell实验室,1970年在PDP机器上用其编写UNIX系统CPL语言:剑桥大学,1963年BCPL语言:剑桥大学,1967年C语言:Bell实验室,1972~1973年用其改写UNIX系统进一步简化保持精练、接近硬件的优点,克服数据类型过少的不足经简化C语言的特点1、C是中级语言计算机语言是人与计算机进行交流的工具计算机语言分为:机器语言机器指令(由0和1组成),可直接执行难学、难记依赖机器的类型汇编语言用助记符代替机器指令,用变量代替各类地址。克服记忆的难点其他与机器语言类似高级语言类似数学语言、接近自然语言、具有通用性和可移植性,不依赖具体的计算机类型。011000110000011001100101110011000000110000011011LOADXADDYSTOREZZ=X+YC语言属于高级语言,它具有高级语言的特点;C语言又允许对位、字节、字和指针这些计算机中的基本成分进行操作,使它又具有汇编语言的大部分功能。C语言是高级语言中的中级语言2、C语言是结构化语言结构化语言:一个入口,一个出口。便于编写程序,程序清晰易懂,便于维护顺序分支循环结构化程序设计程序设计的三种基本结构顺序结构程序:按照书写顺序依次执行语句选择结构程序:按照条件判断选择执行语句循环结构程序:通过条件控制循环执行语句三种基本结构的共同点:都是只有一个入口和一个出口;结构内的每一个框都有机会被执行;结构内没有死循环。结构化程序设计方法:

—采用模块化原则和方法进行设计将复杂程序划分为若干个相互独立的功能模块,每个模块又可以划分为若干子模块,然后分别进行模块程序的编写模块:一条语句、一段程序或一个函数(子程序)等3、C语言是编译型语言

机器语言是计算机唯一能够识别并执行的指令代码集。编译器程序————>计算机直接能理解的指令序列编译程序是一次读完全部程序,并把它转换成目标码,程序一旦编译后,源程序就对程序的执行毫无意义了。编译和解释是程序执行的两种方式。编译过程(.C或.cpp)编译程序连接程序编译连接高级语言源程序机器语言目标程序可执行程序(.OBJ)(.EXE)运行运行结果解释程序是一次读进一行源代码,然后执行一串由这些源代码确定的指令。解释程序高级语言源程序解释执行运行结果解释过程(.BAS)

对于一个大型工程软件,必须根据任务划分为若干块,分配给一组程序员分别编写,编写完毕以后,再链接在一起,调试通过。C允许将一个程序分解成若干块,装入若干文件,每一个文件可以单独编译,一旦所有的文件编译完毕,就可以将它们与函数库中的函数链接,形成完整的目标码。文件1目标码1(.OBJ)文件2目标码2······文件m目标码m

库函数优点:当一个文件中的代码改变后,不必重新编译全部程序,能节省大量时间。链接完整的目标码(.EXE)4、C语言的语法特点(1)C语言语句简洁、紧凑,使用方便、灵活

32个关键字,9种控制语句,程序书写形式自由,主要用小写字母(2)运算符丰富除了最基本的+、-、×、÷、%等运算外,还将括号、赋值、类型强制转换等均作为运算符,共有34种运算符。(3)数据结构丰富除基本类型外,还有指针、结构体、联合体等复合数据类型。(4)具有结构化的控制语句具有顺序、分支、循环三种结构化控制语言句,模块完整,控制中的语句可完整化。(5)语法严格,但有灵活性如:数据类型可相互通用:整型、字符型通用。(6)生成目标代码质量高,执行效率高。(7)可移植性优于汇编语言。1.4程序设计的步骤提出问题确定数据结构和算法编写程序调试和运行程序翻译(编译或解释)得到运行结果1.每个语句占一行;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论