收藏 分享(赏)

计算机二级C语言教学ppt.ppt

上传人:精品资料 文档编号:10343867 上传时间:2019-11-02 格式:PPT 页数:60 大小:802.50KB
下载 相关 举报
计算机二级C语言教学ppt.ppt_第1页
第1页 / 共60页
计算机二级C语言教学ppt.ppt_第2页
第2页 / 共60页
计算机二级C语言教学ppt.ppt_第3页
第3页 / 共60页
计算机二级C语言教学ppt.ppt_第4页
第4页 / 共60页
计算机二级C语言教学ppt.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

1、第一章 程序设计的基本概念,目标,了解C程序的一些基本概念 了解程序、算法和流程图的概念 了解C 程序的三大基本结构 掌握 C 程序的编译和运行过程 使用Visual C+ 6.0 创建 C程序,1.1程序和程序设计,一、基本概念 1.程序(program):为解决某一问题而设计的一系列指令,能被计算机识别和执行。2.程序设计语言:人与计算机打交道时交流信息的一类媒介和工具,由语句(statement)组成。,银行,带上存折去银行,3. 将存折和取款单递给银行职员,2.填写取款单并到相应窗口排队,4.银行职员办理取款事宜,日常生活中的程序,5. 拿到钱并离开银行,程序:为解决某一问题而设计的一

2、系列指令,能被计算机识别和执行。,什么是语句?,做口述笔记 键入信函的内容 发送传真,口述,2.信函,_ _ _ _,3.传真,语句被逐条执行,程序员,老板,秘书,3、语句:组成程序的基本单位,程序,4.机器语言:(machine language)计算机直接使用的二进制形式的程序语言或机器代码。 5.汇编语言:(assembler language)一种面向机器的用符号表示的低级程序设计语言。相当于机器指令的助记符号,与机器语言很接近。 6.高级语言:(highlevel language)是易为人们所理解的完全符号化的程序设计语言。 7.源程序:用户用高级语言编写的程序称为,C源程序文件名

3、字后缀一般必须为“.c“。 8.目标程序:由二进制代码组成的程序 9.编译程序:具有翻译功能的软件 10.连接(linker):将目标模块和其它一些必要的功能模块装配在一起,生成可执行文件,执行程序文件后缀为“.exe“。,算 法,计算长方形的面积,问题:,1.接收用户输入的长方形长度和宽度两个值; 2.判断长度和宽度的值是否大于零; 3.如果大于零,将长度和宽度两个值相乘得到面积,否则显示输入错误; 4.显示面积。,算法,算法:解决问题的具体方法和步骤,流程图,流程图是算法的一种图形化表示方式。 流程图直观、清晰,更有利于人们设计与理解算法。 它使用一组预定义的符号来说明如何执行特定任务。,

4、开始/结束,处理,输入/输出,判断/分支,连接符,流程线,C 语言简介,编程语言,低级,高级,C,C 语言是贝尔实验室的 Dennis Ritchie 在1973 年设计的。,C 最初用于开发系统级程序。,在微机上,有许多性能良好的商品C 语言系统可用。包括Turbo C、Borland C/C+;Microsoft Visual C/C+ 等。,结构化的程序设计语言:层次清晰,便于按模块化方式组织程序,易于调试和维护,语句简洁:学习时入门相对容易,C 语言很好地总结了其他语言提出的程序库概念,功能强大:既可用于系统软件的开发,也适合于应用软件的开发。,移植性好:只要对这种语言稍加修改,便可以

5、适应不同型号机器或各类操作系统。,特点,二、三大基本结构,1.顺序结构:(第三章),语句1,语句2,语句3,2.选择结构,判断表达式,满足,语句1,语句2,不满足,3.循环结构,判断表达式,循环条件,满足,不满足,第四章内容,第五章内容,高级语言的编译和执行,高级编程语言中的指令,哎呀 我理解不了,编译程序/解释程序,可以 我现在可以理解了,高级语言由编译/解释程序转换为机器代码,这种机器代码计算机可以理解,计算机硬件,高级语言程序,编译程序/解释程序(编译器/解释器),机器代码,编译和执行C程序,C语言函数库,编译,连接,源程序:是用户创建的文件,以“.c”为文件扩展名保存,目标文件:是编译

6、器的输出结果。这类文件的常见扩展名为.obj” 0 1 形式,头文件:含有函数的声明和预处理语句,用于帮助访问外部定义的函数。头文件的扩展名为“.h”。,可执行文件:是连接器的输出结果。可执行文件的扩展名为“.exe”。,演示下面例题,演示:使用Visual C+ 6.0编辑和运行程序的过程,main() int a,b,c; a=4; b=10; c=a+b; printf(“%dn”,c); ,总结 2-1,算法就是解决问题的具体方法与步骤 流程图是算法的一种图形化表示方式 程序是为让计算机完成某项任务而编写的逐条执行的指令序列 C语言的特点包括:结构化的程序设计语言、语句简洁、功能强大、

7、移植性好,总结 2-2,C程序编写完成后,首先需要通过编译转换成目标文件,然后通过连接创建可执行程序,最后才可以执行该程序 可以使用Visual C+ 6.0 IDE编辑和运行C程序 程序的三大结构是1、顺序结构 2、选择结构 3、循环结构,第二章C程序设计的初步知识,回顾 1、程序是为执行一项任务而编写的有序指令集 2、编译器将源程序转换成机器能理解的程序 3、连接器用于连接相关的目标文件以生成可执行程序问:1、C的源程序是后缀是什么?2、目标文件的后缀是什么?3、程序的三大结构是什么?,目标,理解C程序的基本结构 理解变量和常量的含义 熟悉基本数据类型 - int、char、float 和

8、 double,C语言的基本结构,#include void main() printf(“Hello Worldn“); ,以 # 开始的语句称为预处理器指令,#include语句不是必需的,但是,如果程序有该语句,就必须将它放在程序的开始处,以.h为后缀的文件被称为头文件,可以是 C 程序中现成的标准库文件,也可以是自定义的库文件。,stdio.h文件中包含了有关输入输出语句的函数,main() 函数是 C 程序处理的起点。,main() 函数可以返回一个值,也可以不返回值。如果某个函数没有返回值,那么在它的前面有一个关键字 void,在函数定义的后面有一个左大括号,即 ,它表示函数的开始

9、,后面是函数的主体,大括号也可以用于将语句块括起来,在函数定义的结尾处有一个右大括号,即 ,在屏幕上产生一行输出“Hello world”,并换行(n),函数主体中的每个语句都以分号结束。,C 程序中的一个语句可以跨越多行,并且用分号通知编译器该语句已结束。,C 程序中的注释,#include void main() printf(“Hello Worldn“); ,/ 此程序用来打印Hello World,单行注释,C 程序可以包含注释,以便向读者作一般说明,编译器并不处理这些注释,/* 此程序由 编写* 用来打印输出“Hello World”*/,多行注释,/* * 作者: 创建日期: 描

10、述: * */ #include void main() ,注释,在程序中添加注释是一个好的编程习惯,可以增强程序的可读性。,上机写一个错误的例子,给大家演示一下。 说明:1.必须使用main作为主函数名 ,程序是从主函数开始执行,具有唯一性 注意后面不能带“ ;”2.函数体用左花括号“”开始,用右花括号结束“”3.用分号“;”作为语句结束的标志 注意是语句的结束标志4.注释部分: 必须用/*和*/括起来必须成对出现,”/“和”*“之间不能有空格注释可以出现在程序的任何地方 注释部分对程序运行不起作用在注释之间不可以再嵌套/* */ (演示一下)5,预处理器指理必须以”#“开头,但不能加分号,

11、改错: include ; /*根据长方形的长和宽计算面积*/ Main int a,b,c;a=1;b=3;c=a*bprintf(“c的值是:%d”,c); ,什么是标识符,标识符:在C语言中,有许多符号的命 名,如变量名、函数名、数组名等,都必须 遵守一定的规则,按此规则命名的符号称为 标识符。,在 C 语言中,标识符命名需要遵循一定的规则,有效名称,principal,cost_price,marks_3,lastname,city,无效名称,123rate,currency$,discount%,zip code,标识符的命名规则: 标识符名可以由字母、数字和 _(下划线)组合而成

12、标识符不能包含除 _ 以外的任何特殊字符,如:%、# 、逗号、空格等 标识符必须以字母或 _(下划线)开头 标识符不能包含空白字符(换行符、空格和制表符称为空白字符) C 语言中的某些词(例如 int 和 float 等)称为保留字,具有特殊意义,不能用作标识符名 C 语言区分大小写,因此标识符price 与标识符PRICE 是两个不同的标识符,一、标识符 1.分类:,关键字:c语言规定了一批标识符,他们在c语言中代表着固定的含义,不能 另做它用 auto break case char const continue default do double else enum extern flo

13、at or goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while预定义标识符:c语言语法允许用户把这类标识符另做它用,但是这些标识 符将失去系统规定的原意。比如:printf define用户标识符:由用户根据需要定义的标识符称为用户标识符,习题: 1.以下选项中不合法的用户标识符是 ( ) A._123 B.printf C.A$ D.Dim2.可在c程序中用作用户标识符的一组标识符是 ( )A.void B.as

14、_b3 C.For D.2cdefine _123 _abc DOWORD If (大写) case SIG,程序,指令,常 量,标识符 关键字 常量 运算符 分隔符 等,常量是在程序中保持不变的量,常量用于定义具有如下特点的数据: 在程序中保持不变 在程序内部频繁使用 需要用比较简单的方式替代某些值,二、常量 1.分类:整型常量(+5,-6)、实型常量(23.5,-0.32,5e3)、字符常量(a,A)、字符串常量(“abc”,”二级考试”) 2.用定义一个符号名的方法来代表一个常量 例2.2 计算圆的面积 #include “stdio.h” #define PI 3.14159 /*不加

15、分号,常量名大写,定义PI为3.14159*/ main() float r; double s; r=5.0;s=PI*r*r;Printf(“s=%fn”,s); (演示一下) ,说明:1、在整型常量的后面加一个字母L(大小写均可)这个常量就成为长整型常量在内存中占四个字节。2、 无符号整数在数的未尾应该加上字母后缀u(大小写均可),若是长整型无符号整型常量,则可以加后缀lu或LU。,二、变量 1.定义:在程序的运行过程中,值可以改变的量 2.说明 (1)每个变量有一个名字作为标识,它是属于用户标识符(2)变量必须先定义后使用(定义后还得赋值才能用),3.变量的定义与使用 定义变量后,初始

16、化变量。 int a;int b,c; a=1; b=2; c=3; 定义时初始化变量: int a=1; int b=2,c=3; 如下定义方式是否正确: 1. int b=c=5; 2. int b,c;b=c=5;,2.3整 型 数 据 一、整型常量整数的表示,(1)十进制表示:用一串连续的数字表示十进制数。 例:345 31684 0 -23456(2)八进制表示:以数字0开头的一个连续数字序列,序列中只能有0-7这八个数字。 例:045 -078 06745l 而019、423是非法的八进制数。(3)十六进制表示:以0X或0x开头的连续数字和字母序列,序列中只能有0-9、A-F和 a

17、-f这些数字和字母,字母a、b、c、d、e、f分别对应数字10、11、12、13、14、15,大小写均可。,说明:1、在整型常量的后面加一个字母L(大小写均可)这个常量就成为长整型常量在内存中占四个字节。2、 无符号整数在数的未尾应该加上字母后缀u(大小写均可),若是长整型无符号整型常量,则可以加后缀lu或LU。,二、整型变量 可以分为基本型、短整型、长整型和无符号型四种,三、整数在内存中的存储形式(包括一下各种进制的转换) 位(bite):计算机里最小的存储单元 字节(byte):8个二进制组成一个字节 字(word):若干个字节组成一个字,16个二进制位 2个字节,最高位,最低位,0表示正

18、数 1表示负数,以短整形short为例,(一)、正整数 以原码形式存储 例 正整数5的二进制代码:,(二)、负整数 1.以补码形式存储 反码:1和 0 互换 补码:对原码取反加1(符号位不参加取反) 例 负整数-5的二进制代码:,2.补码形式存储的二进制转换成负整数,(1)对补码取反 (2)转换成十进制 (3)对十进制数加负号,减1,-5的补码,取反,转换成十进制4,-4,加负号后,减1,-5,(三)、无符号整数,不在是符号位 参与数值的大小中,2.4实型数据,一、实型常量1.小数形式:由数字和小数点组成,必须有小数点。例:4.23、0.15、.56、78.、0.0 2.指数形式:以幂的形式表

19、示,以字母e或E后跟一个以10为底的幂数。字母e或E之前必须要有数字,且字母e或E后面的指数必须为整数,字母e或 E的前后及数字之间不得有空格(实型变量也遵守这个规则)。例:2.3e5、500e-2、.5E3、4.5e0,而e4、.5e3.6、.e5、e都不合法二、实型变量1.单精度:关键字为 float 2.双精度: 关键字为 double 定义的一般形式 float a,b,c; 定义的一般形式 double a,b,c;float a=4.5,b=5.6; double a=5.9,b=45.36注: (1)占四个字节 32位 注: (1)占八个字节 64位(2)7位有效数字 -1038

20、1038 (2)1516位有效数字 -1030810308,说明: 1.在内存中,实数一律以指数形式存放 2.在内存中,整数可以精确存放,实型数据存在误差3.实型常量默认为double类型,加上后缀f,为float类型。 4.定义变量的同时可以赋初值,三、习题 1.下面四个选项中,那一组全是不合法浮点数的选项是 A.160. B.123 C.-.18 D.-e3 0.12 2e4.2 123e4 .234e3 .e5 0.0 1e3 2.下面四个选项中,均是合法浮点数的选项是 A.+1e+1 B.-.60 C.123e D.-e3 5e-9.4 12e-4 1.2e-.4 .8e-43e2 -

21、8e5 +2e-1 5.e-0,2.5 字符型数据,一、字符型常量 1 字符常量单引号括起来。例如:a, b ,c, ? ,A,B,C ,A。说明 (1) 区分大小写。(2) 空格符也是字符常量。 (3) 只能包含一个字符。abc非法(4) 必须用单引号,双引号是字符串常量。“a”字符串。在内存中的表示:占一个字节,存放字符的ASCII,附录7。运算时按照整形处理。例如 A在内存中的存放为0 1 0 0 0 0 0 1 转化为十进制数便是65,运算时当成65。A+32,0-0,2 转义字符常量由反斜杠 跟特定的字符构成。(1). n 回车到下一行 反斜杠r 回行首 单引号t 跳到下一个制表位

22、0 空值 (字符串结束)b 退格(2). 101 101为8进制,转化为十进制为65,代表 A。(3). x41 x41为16进制,转化为十进制为65,代表A。 3 字符串常量用“”括起来的一串字符。“A” ,”x11” ,”String”,”(空串)。,二、字符变量char ch1=*,ch2=A, ch3;变量在内存中占一个字节,可以参加算术运算,运算时使 用ASCII码。char c1,c2;int k=5;c1=A;c2=Z;c2-c1; c1+;c3=(c2+32-k);,总结: 1、 c语言是区分大小写的 2、常量的分类:整型常量、实型常量、字符常量、字符串常量 3、变量的分类:(

23、1)、整型变量:基本型、短整型、长整型和无符 号型四种(2)、实型变量分类:单精度、双精度(3)、字符变量 :char 4、指数形式:字母e或E之前必须要有数字,且字母e或E后面的指数必须为整数,字母e或E的前后及数字之间不得有空格(实型变量也遵守这个规则),2.6 算术表达式,算术,一元,二元,操作数,操作数,运算符,二元运算符,+,-,*,/,%,一. 算术运算符的优先级( )、 +、 -、 *、 /、 %、 +、 -,高 底,同 级,同 级,同 级,单目,双 目,二. 算术运算符和圆括号的结合性正负运算符: 右,左,其它算术运算符:左,右,Sum,=,num1,+,num2,表达式,Z

24、= ( X * 2 ) + ( 5 Y ),#include void main() int a = 5, b = 3, c = 25, d = 12;float qu;int re,in,de;/* 使用算术运算符 */qu = a / b; / 除法re = a % b; / 求模in = +c;de = -d;printf (“商为 %fn“,qu);printf (“余数为 %dn“,re);printf (“加 1 后为 %dn“,in);printf (“减 1 后为 %dn“,de); ,算术运算符示例,输出: 商为 1.000000 余数为 2 加 1 后为 26 减 1 后为

25、 11,说明:% 取模或求余运算符 1.运算对象必须为整型 2.符号与被除数相同,例如:-5%3 值为-2,三 算术运算中的类型转换 1.自动类型转换(双目运算符两边运算数的类型必须一致,当不一致时自动转换 ) 原则:把表示范围小的类型的值转换到表示范围大的类型的值 int a=5; a+3.5; 转换级别:short int long float double,2.强制类型转换一般形式: (类型名)(表达式) (int)3.56 , (double)x作用: 将一个表达式转换所需类型,说明: 1. (类型名)(表达式),括号不能省略,(int)(x+y) (int)x+y,对x、y整体,只对

26、x,2. 强制类型转换运算得到一个中间变量,不改变原来变量的类型。,习题:已知 a=7, b=3, x=3.5, y=2.5(1). x+a%3*(int)(x+y)%2/4(2). (float)(a+b)/2+(int)x%(int)y,2.7 赋 值 表 达 式,一、赋值运算符和赋值表达式1. 赋值运算符和赋值表达式 赋值运算符:=赋值表达式:由赋值运算符组成的表达式形式: 变量名=表达式 说明:1.优先级倒数第二,结合方向 右,左,2.是一种赋予的关系而不是等价的关系x=5 y=8 怎么样交换x、y中的数值? 3.赋值运算符的左侧只能是变量不能是表达式a+b=c非法 4.赋值号右边的表

27、达式也可以是一个赋值表达式a=b=c=7+5,a=b=c=5 都为5 a=5+(c=6) a=11 a=(b=4)+(c=6) 10 a=(b=10)/(c=2) 5,练习:,二、复合赋值表达式,1. 复合赋值运算符:+=、 -=、 *=、 /=、 %=、 =、 &=、 =、 |=(两个运算符之间不能有空格)将形如: 变量名=变量名+表达式 的表达式简化成: 变量名+=表达式 的形式,a=a+3,例:a+=3,x*=y+8,x=x*(y+8),x%=3,x=x%3,理解: a+=b,移到=右侧,=a+b,=左侧补变量名,a=a+b,例:已知变量a=6,计算表达式 a+=a-=a*a 结果为:-

28、60,练习: 已知 a=12 求运算后a的值 (1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2) n=5 (6)a+=a-=a*=a,说明:凡是有赋值运算符参加的运算都是从右往左算,2.8 自加(+)和自减(-)运算符,1.作用:使运算对象的值增加1或者减少1例 i+ i=i+1,i- i=i-1, 2.使用,i+,先使用i的值,在让i 增加1,+i,先让i增加1,再使用i的值,习题:int a,b; b=3; a=b+; a的值是多少,b的值是多少a=+b; a的值是多少,b的值是多少,习题:int i=10,j=5,b;b=+i-j; prin

29、tf(“b=%dn“,b);int i=10,j=5,b;b=i+-j;printf(“b=%dn“,b);,2.9、逗号运算符和逗号表达式 1.定义:用逗号将表达式连接起来的式子一般形式:表达式1,表达式2,表达式3,,表达式n 2.求解过程: 从左到右一个一个求解 ,最后一个表达式的值就是整个逗号表达式的值 3.说明: (1)结合方向 左 右,(2)优先级最低 例如:已知a=3a=3,a+3 结果:表达式的值为6b=a+3,a-3 结果:表达式的值为0,2.9 位运算,一、位运算符(操作数必须是整形和字符型,转化为二进制再运算) (按位取反) (右移) &(与) (异或) | (或) 二、

30、各运算符的功能1. 0变1,1变0 例: 0115 2. 整体向右移动,低位移出,无符号和正整数高位补0,负整数 补1.参见书P2104. & 同时为1才为1,其余都为05. 相同为0,不同为1。或者遇0不变,遇1则反。6. | 有一个为1就为1。,总结:,1、正整数以原码形式存储 2、负整数以补码形式存储 3、% 取模或求余运算符:1.运算对象必须为整型 2.符号与被除数相同 4、双目运算符自动转换原则:把表示范围小的类型的值转换到表示范围大的类型的值 5、反是有赋值运算符参加的运算都是从右往左算 6、i+表达式的值:先用后加 7、+i表达式的值:先加后用,习题: 1、表达式13%5的值是多

31、少() a.2 b.3 c.5 d.12、要存储一个双精度浮点型的值,需要()字节的内存空间 a.6 b.2 c.4 d.83、表达式a+=a-=a+a的值是多少?已知a=9 a.12 b.18 c.-18 d.0 4、计算机里最小的存储单元是() a. 位 b.字节 c. 单元 d.kb,1、写出程序运行结果main() int I,j,m,n;i=8;j=10;m=+i;n=j+;printf(“%d,%d,%d,%d”,I,j,m,n); 2、写出下列表达式的结果 已知:A=3; 1、A=A-3,A+3 2、B=A+3,A-3 3、C=A+3,A+B(B的值接上一题),1、写出程序运行结果main() int i,j,m,n;i=8;j=10;float k=2.0;m=j/i;n=j/k;printf(“%d,%d”,m,n); 2、写出下列表达式的结果 已知:A=3; 1、A-=3*6/5; 2、A*=6-3; 3、A%=7+2;,前两章内容涉及真题,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报