1、湖北工业大学 C 语语 言言 程程 序序 设设 计计C C与与C+C+程序设计程序设计计算机学院计算机基础教研室C C语言程序设计课程概况语言程序设计课程概况l英文名:C Language Programming l开课单位:计算机学院计算机基础课部l课程编码:103001l学时:64学时,其中授课40学时,上机+机考24学时。l学分:4学分。l授课对象:机械学院05机自1、2、3、4班l教材:C及C+程序设计 钮焱、许新民主编 科学出版社l实验指导书:C及C+程序设计实验教程 徐振平、李振立主编 科学出版社l教学参考书:C程序设计谭浩强主编 清华大学出版社课程的重点与难点课程的重点与难点1、
2、数据类型、数据的存储,数据的输入输出格式。先掌握常用数据类型;2、常量、符号常量、变量的表示与定义;运算符及表达式,包括算术运算、赋值运算、关系运算、逻辑运算、逗号运算、强制类型运算、条件,求字节运算、位运算等运算符的运算级别、结合原则。3、程序的三种基本结构:顺序结构、分支选择结构、循环结构;算法分析和编程方法;4、函数定义、函数调用、函数声明、参数传递,值传送与地址传送,函数的嵌套调用与递归调用,局部变量与全局变量,变量的存储类别与作用域等。5、一维数组、二维数组、字符数组与字符串,数组作为函数的参数,数组与指针。6、指针与地址,变量的指针和指向变量的指针变量,数组的指针与指向数组的指针变
3、量,字符串的指针与指向字符串的指针变量,指针与函数,指针数组,指针的指针。7、结构体与共用体类型的说明、结构体和共用体变量的定义及初始化方法,类型定义typedef的作用;结构体与共用体变量成员的引用方法;数组、结构体、共用体等构造类型数据的使用方法;存储动态分配和释放;链表的基本概念和基本操作。8、文件类型指针,文件的打开与关闭,文件的读写,文件的基本处理函数。第一章 程序设计概念论本章主要介绍程序设计基本技术及本章主要介绍程序设计基本技术及C C语言语言一、一、程序设计语言程序设计语言二、二、程序设计的基本过程程序设计的基本过程三、三、算法及算法描述算法及算法描述四、四、结构化程序设计结构
4、化程序设计五、五、数制与编码数制与编码六、六、C C语言的起源及其特点语言的起源及其特点七、七、C C语言程序的基本构架及执行过程语言程序的基本构架及执行过程八、八、C C语言的基本字符集和保留字(关键字)语言的基本字符集和保留字(关键字)九、九、C C语言的上机环境简介语言的上机环境简介一、程序设计语言1、程序:指处理事情的先后次序。在计算机语言中,程序定义为完成特定任务的计算机指令的集合。2、程序类型:原程序:用户编写的程序称为源程序。目标程序:源程序通过翻译形成目标程序(.OBJ文件)。运行程序:将目标程序与函数库连接后,形成运行程序(.EXE文件)。程序设计:指用户通过编写源程序,翻译
5、源程序为目标程序,连接目标程序与函数库,形成运行程序并整理设计文档的全过程。计算机指令:是指挥计算机完成某一操作的命令,它由操作码和操作数组成。计算机指令的执行过程可分为4个基本操作:取指令、分析指令、执行指令、停止操作。l取指令:从存储器中取出要执行的指令,送往CPU内部的指令寄存器暂存。l分析指令:将指令送往指令译码器,译出指令对应的微操作。l执行指令:根据指令译码器向各部件发出的控制信号,完成指令规定的操作。(1)停止操作:检查是否有复位信号、中断请求、DMA传送等,为执行下一指令作准备。3、程序设计语言:是计算机能够接受,能够理解的全部指令的集合。分为机器语言、汇编语言、高级语言、专用
6、语言(指非过程化的高级语言)和面向对象程序设计语言等几类。机器语言:是机器指令的集合,用机器语言编写的程序计算机能够直接执行,执行速度快,效率高。它的缺点是可读性差,难于编程,容易出错,程序的检查和调试都很困难。机器指令的操作码和操作数都是由“0”、“1”二进制代码组成的序列。汇编语言:是一种用助记符表示的程序设计语言。用户编写汇编语言源程序,由汇编程序对源程序进行汇编,翻译成目标程序。l机器语言和汇编语言都属于低级语言,都是面向机器的语言。(3)高级语言:是接近于自然语言或数学语言的程序设计语言。它彻底摆脱了依赖于机器硬件的指令系统,使用自然语言中的英语单词和数字符号编写程序,它有专门的词汇
7、规则、语法规则,是面向应用的计算机语言。(4)专用语言:指为解决特定的应用而设计的非过程化的程序设计语言。例如,计算机辅助设计(CAD)系统中的绘图语言,数据库管理系统(DBMS)的数据查询语言等等。使用这类语言编程不需要描述为解决某一问题所需的具体实现过程,只需指出“做什么”即可。(5)面向对象程序设计语言l对象指人们进行研究的事情和物体,例如,计算机、显示器、打印机等。每个对象有各自的属性、方法、集合或事件。l属性用来描述对象的特性,方法用来描述执行对象的动作。l集合指多个对象构成的整体值。l事件指用户作用于对象的某一操作,如单击鼠标器的Click事件。l面向对象程序设计是将对象的属性值(
8、数据)和作用在这些数据的方法结合在一起的程序设计方法,对象包括数据和操作这些数据的方法,由事件驱动操作这些对象。二、程序设计过程二、程序设计过程1、确定问题要求2、建立数学模型3、算法设计4、编写源程序5、编译调试程序6、运行程序7、分析输出结果8、整理文档三、三、算法及算法描述1、算法:是为解决某一特定问题而进行一步一步操作过程的精确描述,是有限步、可执行、有确定结果的操作序列。2、算法的特征:(1)有穷性:每一个算法分成有限个操作步骤,每一步在有限的时间内完成。(2)确定性:算法的每一步都有明确的含义,不含歧义,每一步命令只能产生唯一的一组动作。(3)有效性:算法的每一步都能有效地执行,并
9、输出确定的结果。只要有一个不可执行的操作,该算法无效。(4)有零个或多个输入:可以没有输入,有一 个输入,也可以有多个输入。(5)有一个或多个输出:至少有一个输出,没有输出的算法是没有意义的。3、三种基本结构(1)顺序结构:是最基本、最简单的程序结构,在此结构内各语句块是按照它们出现的先后次序依次执行的。(2)分支选择结构:首先根据给定的条件判断条件是否为真,条件为真,选择满足条件的路径(语句块)执行,条件为假,选择不满足条件的路径(语句块)执行。(3)循环结构:是一种重复处理的程序结构。当满足(或不满足)某个指定的条件时反复执行语句块(循环体),否则跳出循环,执行循环体外的下一条语句。4、算
10、法的描述方法(1)自然语言)自然语言:指人们日常使用的语言加以简化来描述算法,自然语言通俗易懂,人们易于接受,但自然语言描述冗长、不严谨,有时有很大的随意性和歧义性。(2)传统流程图:)传统流程图:是用不同几何形状的线框、流线和文字说明来描述算法。传统流程图的常用符号及其意义见表1.1所示。(3)N-S流程图流程图:又称结构化流程图,N-S流程图由一系列矩形框顺序排列而成,各个矩形框只能顺序执行,每一个矩形框表示一个基本结构。矩形框内的分割线将矩形框分割成不同的部分,形成三种基本结构:顺序结构、分支结构、循环结构,表1.2所示为N-S流程图的基本结构框。(4)伪代码)伪代码:是一种过程设计语言
11、(PDL),它没有严格的语法规则,形式接近高级语言,用类似于PASCAL语言或C语言描述算法。四、结构化程序设计1、结构化程序的基本特点:(1)只有一个入口。(2)只有一个出口。(3)每一个处理框都有一条从入口到出口的路径通过(4)不包含死循环。2、程序结构:使用单一入口和单一出口的三种基本结构即顺序结构、选择结构、循环结构组成程序的算法。3、程序设计方法:编写程序采用工程化、规范化、模块化、结构化的设计方法,其设计思想是“自顶向下,逐步求精”。4、完成编程后,应该“自底向上,逐步求证”,检查每条语句是否正确,检查每个程序结构的逻辑是否正确,检查每个模块的功能是否正确,直到检查整个程序是否达到
12、问题的要求,通过编辑、编译、连接、运行、调试检查程序是否达到精度要求。五、数制与编码(略)1、十进制数的再认识2、二进制3、八进制4、十六进制5、二进制、八进制、十六进制之间的转换6、二进制、八进制、十六进制转换为十进制7、十进制转换为二进制、八进制、十六进制8、二进制数的算术和逻辑运算9、原码、反码、补码10、计算机字符编码方案六、C语言的起源及其特点1语言的诞生与发展(1)在C语言诞生以前,系统软件主要是用汇编语言编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级
13、语言特性的新语言。(2)语言是贝尔实验室于70年代初研制出来的,后来又被多次改进,并出现了多种版本。80年代初,美国国家标准化协会(ANSI),根据语言问世以来各种版本对语言的发展和扩充,制定了ANSI C标准(1989年再次做了修订)。2 2C C语言的特点语言的特点(1)语言简洁、紧凑,使用方便、灵活。(2)运算符极其丰富,表达能力强。(3)数据结构丰富,结构化程度高(4)具有汇编语言和高级语言的优势(5)生成的目标代码质量高,程序执行效率高。(6)可以直接操纵硬件,比汇编程度的可移植性好。七、语言程序的构架七、语言程序的构架l1、语言程序的构架 l一个完整的语言程序,是由一个main()
14、函数(又称主函数)和若干个其它函数结合而成的,或仅由一个main()函数构成。l例1.22 仅由main()函数构成的语言程序。l#include lmain()l l printf(This is a C program.n);l l程序运行结果:This is a C program.输出一个字符串例例1.231.23:求两个数中的较大数:求两个数中的较大数#include int max(int x,int y)/*定义max函数*/int z;if(xy)z=x;else z=y;return(z);/*将z的值返回*/main()/*定义主函数*/int a,b,c;scanf(%d
15、,%d,&a,&b);c=max(a,b);/*调用max函数*/printf(max=%d,c);/*输出c的值*/程序运行结果:键盘输入 5,9程序输出为 max=9 1.函数是语言程序的基本单位。函数是语言程序的基本单位。main()函数的作用,相当于其它高级语言中的主程序;其它函数的作用,相当于子程序。2.C语言程序总是从语言程序总是从main()函数开始执行。函数开始执行。一个语言程序,总是从main()函数开始执行,而不论其在程序中的位置。当主函数执行完毕时,亦即程序执行完毕。习惯上,将主函数main()放在最前头。2 2、函数的一般结构函数的一般结构 任何函数(包括主函数main
16、())都是由函数说明和函数体两部分组成。其一般结构如下:函数返回值的类型 函数名(函数参数表)说明语句部分;执行语句部分;函数首部函数体1.函数首部函数首部 由函数返回值类型、函数名和函数参数表三部分组成。函数参数表函数参数表的格式为:数据类型 形参1,数据类型 形参2例如,例如,例例1.231.23中的函数中的函数max()max(),其函数说明各部分如图,其函数说明各部分如图1-11-1所示。所示。函数返回值的类型 函数名 函数参数表 int max (int x,int y )图1-1 函数首部结构图2.函数体函数体在函数说明部分的下面、大括号(必须配对使用)内的部分。函数体一般由说明语
17、句和可执行语句两部分构成:(1)说明语句部分说明语句部分由变量定义、自定义类型定义、自定义函数说明、外部变量说明等组成。(2)可执行语句)可执行语句 一般由若干条可执行语句构成。图1-2是例例1.2的main()函数体的示意图。/*主函数main()*/main()int num1,num2;printf(Input the first integer number:);scanf(%d,&num1);printf(Input the second integer number:);scanf(%d,&num2);printf(max=%dn,max(num1,num2);图1-2 函数体结构
18、示意图 函数体变量定义部分可执行语句部分3、源程序书写格式1.所有语句都必须以分号;结束,函数的最后一个语句也不例外。2.程序行的书写格式自由既允许1行内写几条语句,也允许1条语句分写在几行上。3.允许使用注释C语言的注释格式为:/*/(1)“/*”和“*/”必须成对使用,且“/”和“*”、以及“*”和“/”之间不能有空格,否则都出错。例如,main()int num1,num2;printf(Input the first integer number:);scanf(%d,&num1);printf(Input the second integer number:);scanf(%d,&n
19、um2);printf(max=%dn,max(num1,num2);如果某条语句很长,一般需要将其分写在几行上。技巧技巧:为避免遗漏必须配对使用的符号,例如注释符号、函数体的起止标识符(花括号)、圆括号等等,在输入时,可连续输入这些起止标识符,然后再在其中进行插入来完成内容的编辑。在起止标识符嵌套时,以及相距较远时,这样做更有必要。(2)注释的位置,可以单占一行,也可以跟在语句的后面。(3)如果一行写不下,可另起一行继续写。(4)注释中允许使用汉字。在非中文操作系统下,看到的是一串乱码,但不影响程序运行。(5)使用/可以在一行内注释。例如:printf(max=%d,c);/输出c的值 八、
20、C语言的基本字符集和保留字1、C语言基本字符集C语言与其他程序设计语言一样,有一整套带有严格规定的符号体系来描述C语言的词法、语法、语义、语用。C语言的基本字符集是编写源程序时准用字符的集合,C语言编译程序能够识别集合中的字符。C语言编写源程序时使用的基本字符包括:(1)大写字母A B C D Z,小写字母a b c d e z(2)数字0 1 2 3 4 5 6 7 8 9(3)图形符号 !#%&?|*+-_ /“(),.:;?(4)转义符号:换行 n 水平制表位t 退格b 换页 f 回车r 垂直制表位v 反斜线 单引号 双引号”8进制数ddd 16进制数xhh 保留字又称关键字,是由编译程
21、序预定义具有固定含义的单词,保留字有特定的含义的专门的用途,用户不能用保留字作为常量、变量、类型或函数的名字。ANSI C标准中定义的32个保留字,在Turbo C中在存储类型说明中增加了7个保留字,具体见表1.7。九、C语言的上机环境简介1、Turbo C集成开发环境(1)进入命令行方式:“开始”“运行”打开“运行”对话框输入“cmd”进行命令行方式,显示提示符(2)在E盘建立TC子目录,将光盘或U盘中Turbo C的所有文件包括INCLUDE、LIB两个子目录都复制在到TC子目录中,运行TC程序:E:TCTC ;打开Turbo C 集成开发环境”Options”Directories”;设
22、置以下路径Include directories:E:TCINCLUDELibrary directories:E:TCLIBOutput directories:E:TCTURBO C directories:E:TCPick file name:Cirrent Pick file:3、保存配置”Options”Save Options”Config File:C:TC TCCONFIG.TC”完成设置后,保存配置文件后,运行以下小程序“Hello.c”用以下操作运行程序:RUNRUN ;运行正确后可以查看输出屏幕 RUNUser Screen ;程序显示“Hello!”表示设置正确。4、源
23、程序的装载和保存 在网络E盘上建立K12子目录,在该子目录下以学号建立学生子目录,如95000012。在该子目录下保存BLANK1.C、MODIFY1.C、READ1.C、PROGRAM1.C等源文件。(1)用菜单打开或装载源文件BLANK1.C的操作如下:”File”Load”*.C”BLANK1.C”编辑完成后按.”File”Save”存盘。(2)用快捷键打开或装载源文件MODIFY1.C 的操作如下:“Load”“*.C”“MODIFY1.C”编辑完成后按存盘。(3)用访问键打开或装载源文件READ1.C 的操作如下:“*.C”“READ1.C”编辑完成后按“D:TC READ1.C”存
24、盘。5、编译运行源程序并查看输出屏幕(1)用菜单命令编译运行源文件BLANK1.C的操作如下:“RUN”“RUN”(2)用菜单命令查看源文件BLANK1.C的输出屏幕操作如下:“RUN”“User Screen”(3)编译运行“MODIFY1.C”文件的快捷键为:(4)查看“MODIFY1.C”文件输出屏幕的快捷键为:(5)编译运行“PROGRAM1.C”文件的访问键为:(6)查看“PROGRAM1.C”文件的访问键为:2、上机环境与步骤 Visual C+集成开发环境(1)编辑方法一:先创建C源程序方法二:先创建空工程(2)编译和链接编译|编译 Ctrl+F7编译|构件 F7 (3)执行编译|执行 Ctrl+F5方法一:先创建C源程序文件文件标签标签文件文件类型类型文件名文件名目录目录方法二:先创建空工程步骤1工程工程标签标签工程工程类型类型工程名工程名目录目录方法二:先创建空工程步骤2选择空工程选择空工程方法二:先创建空工程步骤3文件文件标签标签文件文件类型类型文件名文件名选中此项选中此项
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。