C语言程序设计完整版课件全套ppt整本书电子讲义全书ppt电子课件最全教学教程.ppt
《C语言程序设计完整版课件全套ppt整本书电子讲义全书ppt电子课件最全教学教程.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计完整版课件全套ppt整本书电子讲义全书ppt电子课件最全教学教程.ppt(470页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第1章章 程序设计基础程序设计基础网络信息中心教研室网络信息中心教研室大学计算机基础网络信息中心教研室2主要内容主要内容1.1程序设计语言的发展1.2算法与程序设计1.3C语言简介1.4C语言的结构与执行1.5C语言的运行与调试大学计算机基础网络信息中心教研室3教学目的和基本要求:教学目的和基本要求:要求学生了解程序语言及算法的概念,C语言特点,C程序开发过程,简单C程序结构。教学重点:教学重点:算法的概念、C程序开发过程、简单C程序结构。大学计算机基础网络信息中心教研室41.1 程序设计语言的发展程序设计语言的发展v机器语言:计算机可以直接识别、执行的二进制代码。其优点是执行速度快;但难写
2、、难读、难理解和难修改。v汇编语言:使用助记符来代替机器语言中复杂、繁琐的指令的语言。如Z-80机中加法指令为ADD。其特点是过分依赖于机器码,即仅适合某类相同或相似的计算机,因此不易移植。大学计算机基础网络信息中心教研室51.1 程序设计语言的发展程序设计语言的发展v高级语言:独立于计算机硬件结构,让用户使用面向问题的形式,更加方便编程人员的语言。高级语言分为如下两类(1)编译型:“先编译后执行”,过程为:源代码-目标代码-机器代码,其执行与源程序相互独立。比如PASCAL,C等。(2)解释型:“边解释边运行”,程序执行离不开源代码的支持,不利于源程序的保护和保密。比如BASIC,FoxBA
3、SE+等。大学计算机基础网络信息中心教研室61.1 程序设计语言的发展程序设计语言的发展v面向结构(面向过程)的设计语言有:BASIC,FORTRAN,COBOL:v面向事务处理的高级语言,适合于编写管理信息系统方面的程序有:PASCAL,C语言,PROLOG,FoxBASE+等v面向对象和可视化语言:C+,Java,VisualBASIC,VisualC+,VisualFoxpro,VisualJ+,Delphi,PowerBuilder等。v网页(Web)/网络(Network)编程语言:HTML,DHTML,JavaScript/Jscript,VBScript,JavaApplet,J
4、ava等。大学计算机基础网络信息中心教研室71.2 算法与程序设计算法与程序设计1 1算法及其表示算法及其表示 2 结构化程序设计结构化程序设计与面向对象程序设计与面向对象程序设计大学计算机基础网络信息中心教研室81.2.1、算法及其表示、算法及其表示算法是计算机科学中的重要概念之一,它指明了问题的计算过程,是对给定问题解题方案的准确而完整的描述。计算机没有软件的支持将无法工作,软件是计算机的灵魂,而软件的核心是算法。用计算机解决问题的方法和步骤就是算法,计算机执行算法,用计算机解决各种数据处理问题的主要方式就是寻找和设计各种算法,将算法变成代码的过程即程序设计。算法及其表示1大学计算机基础网
5、络信息中心教研室91.2.1、算法及其表示、算法及其表示算法具备如下5个特征:有穷性确定性输入输出可行性算法特征2大学计算机基础网络信息中心教研室101.2.1、算法及其表示、算法及其表示算法可以用多种方法描述,常见的表示方法有:自然语言描述法、伪代码表示法、传统流程图表示法、N-S流程图表示法等。【例例1-1】已经杯A中盛放的是油,杯B中盛放的是水,另有一个空杯C,三个杯容积相同,请用自然语言表示算法。【解答解答】第1步:将A中的油全部倒入C中,使A成为空杯;第2步:将B中的水全部倒入A中,使B成为空杯;第3步:将C中原在A中的油,倒入B中,完成A与B中液体的交换。算法的表示算法的表示3大学
6、计算机基础网络信息中心教研室111.2.1、算法及其表示、算法及其表示符号符号名称含义起止框开始和结束输入/输出框输入/输出操作处理框内容进行处理判断框条件进行判断流程线流程的方向连接点使流程图清晰(1)使用传统流程图表示算法)使用传统流程图表示算法大学计算机基础网络信息中心教研室12真给a和b赋值a、?、等;v转义字符:n、t、v、b、r、f、0、”、ddd、xhh等。大学计算机基础网络信息中心教研室432.2.2 标识符的分类标识符的分类v标识符可分如下几类:关键字亦称保留字,关键字在C语言中有特定的含义,用户在使用自定义的常量名、变量名、函数名、类型名、文件名时,要绝对避免使用关键字,C
7、语言中的保留字32个,保留字用小写字母表示,大写的可以由用户自由使用,尽量不用,以免与系统保留字混淆.大学计算机基础网络信息中心教研室44关键字关键字12.2 标识符标识符描述数据类型定义的有:typedef、void;描述存储类型的有:auto、extern、register、static、volatile;描述数据类型的有:char、int、float、double、long、short、signed、struct、union、unsigned、const、enum;描述语句:break、case、continue、default、if、else、switch、for、do、while、r
8、eturn、sizeof、goto。大学计算机基础网络信息中心教研室452.2 标识符标识符预定义标识符包括C语言中提供的一些库函数的名字(如printf,scanf,getchar,putchar等)和编译预处理命令(defineinclude等),建议用户在自定义常、变量时,也要避免与这些标识符冲突。用户在程序设计过程中,会经常用到常量、变量、自定义函数、文件名、类型名等,这些要用户定义。大学计算机基础网络信息中心教研室46预定义标识符预定义标识符2用户定义标识符用户定义标识符32.2 标识符标识符下面给出一些合法的标识符:sum,average,_total,temp,a_1,char1
9、,Max,min下面这些是不合法的标识符:1a,$total,a,a.next在使用标识符的时候尽量采取“见名识义、常用从简”的原则,保证变量具有可读性,又不要让变量名过长。大学计算机基础网络信息中心教研室472.3 常量常量v常量常量程序执行过程中,其值不能被改变的量称为常量,C语言中出现的常量有如下类型:整型常量、实型常量、字符常量、字符串常量等。大学计算机基础网络信息中心教研室48大学计算机基础网络信息中心教研室492.3 常量常量1 1整型常量整型常量2 2实型常量实型常量3 3字符常量字符常量4 4字符串常量字符串常量5 5符号常量与预处理简介符号常量与预处理简介2.3.1 整型常量
10、整型常量2.3.1整型常量整型常量整型常量在C语言中又分:十进制整数八进制整数十六进制整数十进制整数以人们通常习惯的十进制整数形式给出.八进制整数必须以0开头,其数码取值范围为07.以下是合法的八进制数:012(对应十进制整数10),-012(对应十进制数-10),0177777(对应十进制数65535),0177777(对应十进制数-65535)。大学计算机基础网络信息中心教研室50十进制整数十进制整数1八进制整数八进制整数22.3 常量常量以下是不合法的八进制整数:255(无前缀0),03A2(包含非法数码)【例例2-1】输出八进制数。#include/*在在visualC+6.0下调试通
11、过下调试通过*/main()intx,y;x=012;y=-0177777;printf(x=%d,y=%dn,x,y);大学计算机基础网络信息中心教研室512.3 常量常量十六进制整数的前缀为十六进制整数的前缀为0 x或或0X,其数码取值,其数码取值范围为范围为09,AF,af。以下是合法的十六进制整数:0X12(十进制数18),-0 x12(十进制数-18),0XA1,0Xffff(十进制数为65535)以下各数不是合法的十六进制整数:6B(无前缀0 x),0 x5H(含有非法数码H)在整型数据的后边加上后缀“L”或“l”(小写字母l)来表示的该数据是一个长整型的数据。例如:大学计算机基础
12、网络信息中心教研室52589L十进制012L八进制0X17L十六进制十六进制整数十六进制整数32.3.2 实型常量实型常量也称为浮点型。有两种形式:十进制小数形式和指数形式。十进制小数形式:由数码09和小数点组成。如下均为合法的实数:0.12,1.23,-2.5145,125.0指数形式:,由十进制数,加上阶码标志“e”或“E”及阶码(只能为整数,可以带符号)组成。大学计算机基础网络信息中心教研室53如:指数值如:指数值1.2E6等于1.21065.21E-2等于5.2110-20.91E8等于0.91108-1.8E-9等于-1.810-92.3.3 字符常量字符常量字符常量是用西文半角单引
13、号括起来的一个字符。在C语言中,字符常量有以下特点:(1)字符常量只能用单引号“”括起来,不能用双引号或括号。(2)字符常量只能是单个字符,不能是字符串。(3)字符可以是字符集中任意字符,但数字被定义为字符型之后就不能参与数值运算。大学计算机基础网络信息中心教研室542.3.3 字符常量字符常量除了以上形式的字符常量外,C语言还允许使用一种特殊形式的字符常量,即转义字符,它以一个反斜线“”开头,后跟一个或几个字符的字符序列。转义字符转义字符转义字符转义字符的意义的意义ASCII代码代码n换行换行10t水平制表水平制表9b退格退格8r回车回车13f换页换页12反斜线符反斜线符92单引号符单引号符
14、39”双引号符双引号符34ddd13位八进位八进制数制数xhh12位十六位十六进制数进制数大学计算机基础网络信息中心教研室552.3.3 字符常量字符常量【例例2-2】输出转义字符。【程序分析与解答程序分析与解答】#include/*visualC+6.0*/main()printf(abctderftgn);printf(1234567812345678n);/*参照物*/printf(htibbjk);printf(1234567812345678n);/*参照物*/大学计算机基础网络信息中心教研室56输出结果为:fgde1234567812345678hjk123456781234567
15、8Pressanykeytocontinue2.3.4 字符串常量字符串常量是由一对双引号括起的字符序列。例如,“211Project”,“Chinese”,“college”等都是合法的字符串常量。字符串常量和字符常量的数据结构不同,其主要区别如下:(1)字符常量由单引号括起来,字符串常量由双引号括起来;(2)字符常量只能是单个字符,字符串常量含一个或多个字符。大学计算机基础网络信息中心教研室572.3.4 字符串常量字符串常量C在内存中占一个字节,表示为:“C”在内存中占两个字节,表示为:可以把一个字符常量赋予一个字符变量,但是不能把一个字符串常量赋予一个字符量。字符串常量占的内存字节数等
16、于字符串半角字符数加1,因为在增加的一个字节中存放字符“0”(ASCII码值为0),这是字符串结束的标志。CC0大学计算机基础网络信息中心教研室582.3.5 符号常量与预处理符号常量与预处理在C语言中,可以用一个标识符来表示一个常量,称为符号常量。符号常量在使用之前必须先定义,其一般形式为:#define标识符标识符常量常量其中,#include也是一条预处理命令(预处理命令都以“#”开头),称为宏定义命令,其功能是把该标识符定义为常量。一经定义,以后程序中所有的标识符都代表该常量,如果要修改这个常量,可以实现整个程序中“一改全改”。经常将符号常量的标识符用大写字母,变量标识符用小写字母,以
17、示区别。大学计算机基础网络信息中心教研室59大学计算机基础网络信息中心教研室602.4 变量变量1 1整型变量整型变量2 2实型变量实型变量3 3字符变量字符变量2.4 变量变量变量是指在程序执行过程中可以被改变和赋值的量。程序中每一个变量有一个符合C语言标识符规范的名称,在内存中占据一定的存储单元。变量的使用方法是先声明(定义变量),后使用。变量名与变量值是有区别的,变量的“名”是指变量所代表的存储单元的标志,而“值”是指存储单元的内容.例:大学计算机基础网络信息中心教研室61A_变量变量值32.4.1 整型变量整型变量如:shortintx;/*变量的声明,定义整型变量*/x=10;/*变
18、量赋值*/0000000000001010变量x在内存中的地址是0 x0013ff70数据在内存中的二进制存储示意图(1)基本型:类型说明符为int,在内存中占4个字节。(2)短整型:类型说明符为shortint或short,占2个字节。(3)长整型:类型说明符为longint或long,4个字节。(4)无符号型:类型说明符为unsigned,。无符号型又可与上述三种类型匹配而构成,不能表示负数:大学计算机基础网络信息中心教研室62整型数据在内存中的存储形式整型数据在内存中的存储形式1整型变量的分类整型变量的分类22.4.1 整型变量整型变量【例例2-3】测试当前C编译环境下数据类型占用的字节
19、数。【程序分析与解答程序分析与解答】#includemain()printf(“int占%d字节。n”,sizeof(int);printf(“longint占%d字节。n”,sizeof(longint);printf(“shortint占%d字节。n”,sizeof(shortint);printf(“unsignedint占%d字节。n”,sizeof(unsignedint);printf(“unsignedlongint占%d字节。n”,sizeof(unsignedlongint);printf(“unsignedshortint占%d字节。n”,sizeof(unsignedsh
20、ortint);大学计算机基础网络信息中心教研室63输出结果为:int占4字节。longint占4字节。shortint占2字节。unsignedint占4字节。unsignedlongint占4字节。unsignedshortint占2字节。2.4.1 整型变量整型变量变量定义的一般形式为:类型说明符变量名标识符1,变量名标识符2,;例如:intx,y,z;/*x,y,z为整型变量*/longintn,m;/*n,m为长整型变量,longint可简写为long*/unsignedinta,b;/*a,b为无符号整型变量,unsignedint可简写为unsigned*/大学计算机基础网络信息
21、中心教研室64注意:(1)允许在一次定义相同类型的多个变量(2)最后一个变量名之后必须以分号结尾。整型变量的定义整型变量的定义32.4.2 实型变量实型变量实型数据一般占用4个字节(32位)的内存空间,按指数形式存储。例如,实数12.345在内存中的存储形式如图2-4所示:图2-4实型数据的表示+/-,用0,1表示(数符)0.12345+/-,用0,1表示(阶符)2大学计算机基础网络信息中心教研室65实型数据在内存中的存放形式实型数据在内存中的存放形式12.4.2 实型变量实型变量实型变量分为单精度(float型),长单精度型(longfloat),双精度(double型)和长双精度(long
22、double型)4类,其中float型占用4个字节,其它数据类型均占用8个字节。由于实型变量由有限的存储单元组成,因此能提供的数字是有限的,而在有效位以外的数字将被舍去。这样可能会产生一些误差,例如,a+20的显然就应该比a大。请分析下面的程序。大学计算机基础网络信息中心教研室66实型变量数据的分类实型变量数据的分类2实型数据的舍入误差实型数据的舍入误差32.4.2 实型变量实型变量【例2-4】实型数据的舍入误差。【程序分析与解答】#includemain()floata,b;a=123456.789e5;/*12345678900*/b=a+20;printf(%fn,b);大学计算机基础网
23、络信息中心教研室67输出结果为:12345678868.0000002.4.3 字符变量字符变量字符变量用来存储字符常量,其说明符是char.字符变量的赋值有如下方式:(1)若ch_a是一个字符变量,ch=ch_a;(2)将字符常量a赋值给ch,ch=a;(3)将某个字符的ASCII码赋给ch,ch=65,则ch的内容为A,但由于整型变量在存储上均超过1个字节,如果将一个整型变量赋值给一个字符变量时,只会将其最低8个位赋值给ch。而ch=A则是错误的.大学计算机基础网络信息中心教研室68如下字符变量的输出形式:(1)printf(%c,ch);(2)printf(%d,ch);(3)putch
24、ar(ch);大学计算机基础网络信息中心教研室692.5 数据间的混合运算数据间的混合运算1 1各数据类型转换规则各数据类型转换规则2 2自动类型转换与强制转换自动类型转换与强制转换2.5.1 各数据类型转换规则各数据类型转换规则v不同数据类型转换规则不同数据类型转换规则整型、单精度型、双精度型数据可以混合运算。字符型数据可以与整型通用,因此,整型、实型(包括单、双精度)、字符型数据间可以混合运算。在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则按图所示大学计算机基础网络信息中心教研室70doublefloatlongunsignedintchar,short2.5.2
25、 自动类型转换与强制转换自动类型转换与强制转换变量的数据类型的转换方法有两种,一种是自动转换,一种是强制转换。自动转换遵循以下规则:v若参与运算量的类型不同,则先转换成同一类型,然后进行运算。v转换按照数据长度增加的方向进行,以保证运算精度不降低。v所有的浮点运算都是以双精度进行的。vchar型和short型运算时,必须先转换成int型。v赋值运算中,赋值号两边的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。大学计算机基础网络信息中心教研室71自动类型转换自动类型转换12.5 数据间的混合运算数据间的混合运算其一般形式为:其一般形式为:(类型说明符)(表达式)例如:(float)a/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 完整版 课件 全套 ppt 电子 讲义 全书 教学 教程
限制150内