1、精选精选ppt1精选精选ppt2第一章第一章 程序设计基本概念程序设计基本概念 1.1.1算法算法1.算法(算法(Algorithm)概述概述 程序设计中的算法是指使用计算机完成一个任务所采取的方法和执行的步骤,。2.算法的特性1)有穷性 在执行若干个操作步骤之后,算法将结束2)确定性 每条指令必须有确切的含义,不能有二义性3)可行性 4)有0个或多个输入 (重点掌握4、5点)5)有一个或多个输出精选精选ppt31.1 1.1 基本语句简介基本语句简介1.1.1基本语句 语言语句都以分号“;”为语句结束标志,有一个分号就代表一个语句的结束。1.1.2复合语句 在程序中将若干语句用一对花括号“”
2、括起来构成的语句称为复合语句。如:#include main()s=3.14159*4;v=s*h;printf(%f,v);复合语句在语法上它被认为是一条语句,复合语句中语句数量不限,而且最后一个语句的分号也不能省略。精选精选ppt41.2 算法和流程图算法和流程图 1.2.2结构化程序设计和流程图结构化程序设计和流程图1.结构化程序设计结构化程序设计(考点,考点,2分填空分填空)三个基本结构:顺序结构 选择结构 循环结构精选精选ppt5l简单简单C程序构成程序构成(顺序结构)(顺序结构)l#include lmain()l double a,b,area;/*定义部分*/l a=1.2;/
3、*将矩形的两条边长分别赋给a和b*/l b=3;l area=a*b;l printf(“a=%f,b=%f,area=%fn”,a,b,area);ll1.main是主函数名,C语言规定必须用main作为主函数名。l2.其后一对括号可以是空的,但不能省略。l3.main()是主函数的起始行,也是c程序的起始行。c程序总是从主函数开始运行。l4.每一个可执行的c程序都必须有一个且只能有一个主函数。但可以有多个不同名的函数。精选精选ppt6选择结构(选择结构(简单例题分析简单例题分析)l#includelmain()llint x=3,y=8;l if(xy)printf(x=%dn,x);li
4、f(yx)printf(y=%dn,y);lif(x=y)printf(x=y%d:n,x);l程序输出:程序输出:y=8 y=8 精选精选ppt7循环结构(循环结构(简单例题分析简单例题分析)l#includelmain()ll int k=0;l while(k5)l printf(“*”);l k=k+1;l l程序输出:程序输出:*精选精选ppt81.2 算法和流程图算法和流程图 1.2.2结构化程序设计和流程图结构化程序设计和流程图2.流程图基本图形流程图基本图形 符号符号作用作用符号符号作用作用起止框起止框输入输入/输出框输出框处理框处理框流程线流程线判断框(判断框(2010年考点
5、)年考点)连接点连接点精选精选ppt9编辑链接编译执行C程序开发步骤程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe源程序目标程序可执行程序内容程序设计语言机器语言机器语言可执行不可以不可以可以文件名后缀.c.obj.exe精选精选ppt10l(2008年年9月月12题)计算机能直接执行的程序题)计算机能直接执行的程序是(是()。)。lA)源程序)源程序 B)目标程序)目标程序l C)汇编程序)汇编程序 D)可执行程序)可执行程序答案:答案:D D 精选精选ppt11第二章第二章C语言设计的初步知识语言设计的初步知识
6、2.1.1 标识符和关键字标识符和关键字 1.关键字关键字 关键字也称为系统保留字,它是具有特殊含义的系统保留标识关键字也称为系统保留字,它是具有特殊含义的系统保留标识符,仅供符,仅供C语言系统专用。语言系统专用。C语言关键字都用小写字母表示。语言关键字都用小写字母表示。2.预定义标识符C语言中提供的库函数名和预编译处理命令都属于预定义标识符,例如include、define、sin、sqrt等 3.用户标识符 用户标识符用来命名程序中所用到的变量、符号常量、函数、数组、指针等名字。32个关键字:(auto break case char constcontinue default do do
7、uble elseenum extern float for gotoif int long register returnshort signed sizeof static structswitch typedef unsigned union voidvolatile whilev 用户标识符命名规则如下:(1)由英文字母、数字和下划线“_”组成;(2)第一个字符不能是数字;(3)用户标识符长度为18个。不同的编译系统识别标识符的长度不一样,有的编译系统可以识别32个字符。但通常的编译系统只识别前8个字符;(4)C语言区分大小写。英文字母大小写不同,表示的标识符也不同。如A和a、Prin
8、t和print、Year和year等分别代表不同的标识符;(5)不能使用保留关键字和预定义标识符作为用户标识符。精选精选ppt12练习练习l4以下不合法的用户标识符是以下不合法的用户标识符是l A abc.c B file C Main D PRINTF l 5以下不合法的用户标识符是以下不合法的用户标识符是l A _123 B printf C A$D Dim l7可以在可以在C语言中作用户标识符的一组标识符是语言中作用户标识符的一组标识符是l A void define WORD B as_3 _123 If lC For -abc case D 2c DO SIG l(2010年三月)以
9、下语言用户标识符,不合法的年三月)以下语言用户标识符,不合法的l )l )精选精选ppt132.2C语言基本元素语言基本元素 2.2.1C语言基本数据类型语言基本数据类型 1.整型整型类型类型 表示表示 字长字长 取值范围取值范围 有符号有符号(短)(短)整整型型 intint、short short intint 2 2个字节个字节-32768-32768 32767 32767 有符号长整型有符号长整型 long intlong int 4 4个字节个字节-2,147,483,648-2,147,483,648 2,147,483,6472,147,483,647 无符号(短)整无符号(短
10、)整型型 unsigned unsigned shortintshortint 2 2个字节个字节0 0 65535 65535 无符号长整型无符号长整型 unsigned long unsigned long intint 4 4个字节个字节0 0 4,294,967,2954,294,967,295 精选精选ppt142.2C语言基本元素语言基本元素 2.2.2C语言基本数据类型语言基本数据类型 2.2.实型(浮点型)实型(浮点型)类型表示字长取 值 范 围单精度float4个字节-33.4E-38 3.4E+387位有效位双精度double8个字节-31.7E-308 1.7E+3081
11、5位有效位精选精选ppt152.3C语言基本元素语言基本元素 2.2.2C语言基本数据类型语言基本数据类型 3.3.字符型字符型 类型表示字长取 值 范 围有 符 号 字符型Char1个字节-128 127无 符 号 字符型Unsigned char1个字节0 255精选精选ppt16练习练习lint a=2;lchar ch=x;lfloat b=3.14;ldouble c=5.678;l10.0中中int 类型变量所占字节数是类型变量所占字节数是l A 1 B 2 C 3 D 4精选精选ppt172.3C语言基本元素语言基本元素 2.3.1常量常量 常量是在程序运行过程中其值保持不变的量
12、。常量是在程序运行过程中其值保持不变的量。1.整型常量整型常量(整数)(1 1)十进制整型常量)十进制整型常量。如918,-77,0。注意:由于以数字0开头的常数代表八进制数据,所以十进制整型常量不能以0开头。(2 2)八进制整型常量。)八进制整型常量。以数字0开头,后面数字可由07八个数字组成,如:0624,-0513,-0513等,而083,0912是错误的,因为八进制中不使用8和9。(3 3)十六进制整型常量。)十六进制整型常量。以0 x(零X)或0X开头,后面由数字09中和字母AF共16个符号组成,字母不区分大小写,如:0X52,-0X5F,-0X5F,-0 xCDe等。精选精选ppt
13、18练习练习l以下选项中正确的整型常量是以下选项中正确的整型常量是l A 12.B -20 C1,000 D 4 5 6 l11合法的八进制数是合法的八进制数是l A 0 B 028 C -077 D 01.0l 12不合法的十六制数是不合法的十六制数是l A oxff B 0 xabc C 0 x11 D 0 x19答案:答案:B B、C C、A A精选精选ppt192.4C语言基本元素语言基本元素 2.4.2常量分类常量分类 2.实型常量 (1)十进制小数形式。)十进制小数形式。由整数部分、小数点和小数部分组成,如:2.37,-5.244,0.5等。(2)指数形式。)指数形式。例如1e2表
14、示1102,2.3e-4表示2.310-4,它由有效数字、E(或e)和指数三部分组成。有效数字可用整型数或小数形式的实型数表示,有效数字前的正(负)号表示整个数的正(负);E(或e)是有效数字和指数的分隔标志,前后不能插入空格;指数部分必须是整型数,用来表示10的整数次幂,而且E(或e)前面必须有数字。精选精选ppt20练习练习l2.以下选项中正确的实型常量是以下选项中正确的实型常量是l A 0 B 3.1415 C 0.329*10 D l 3.以下选项中正确的实型常量是以下选项中正确的实型常量是l A 2.607 E-1 B 0.8103e2 l C -77.77(e)2 D 456e-2
15、.3 答案:答案:B B、B B精选精选ppt212.4C语言基本元素语言基本元素 2.4.3常量常量 3.字符常量字符常量是指括在单字符常量是指括在单引号内的一个字符。引号内的一个字符。如X、6、&等。0-9A-Za-z 字符常量也可以作为整型常量,它的值就是该字符ASCII十进制编码值,如:A的值为65,所以字符常量也能参加数值运算。精选精选ppt22l(2009年年3月月23题)有以下程序题)有以下程序l#include lmain()l char c1,c2;l c1=A+8-4;l c2=A+8-5;l printf(“%c,%dn”,c1,c2);ll已知字母已知字母A的的ASCI
16、I码为码为65,程序运行后的输出结果是,程序运行后的输出结果是l A)E,68l B)D,69l C)E,DlD)输出无定值)输出无定值 答案:答案:A A精选精选ppt232.4C语言基本元素语言基本元素 2.4.4 转义字符转义字符注意注意:转义字符以反斜杠(转义字符以反斜杠()开头)开头,后面跟一个字符后面跟一个字符,或者是一个八进制常数或者是一个八进制常数或十六进制常数,其功能是将反斜杆或十六进制常数,其功能是将反斜杆()()后面的字符转换成另一种含义。后面的字符转换成另一种含义。占一个字节空间占一个字节空间。精选精选ppt242.4C语言基本元素语言基本元素 2.4.4常量常量 4.
17、字符串常量 字符串常量是一对双引号括起来的字符序列,如This is a string。注意:1)字符串常量中可以包含转义字符、空格符或其他字符。2)字符常量与字符串常量的区别 (1)定界符不同(单引号和双引号)(2)存放格式不同精选精选ppt252.4C语言基本元素语言基本元素 2.4.5常量常量 5.符号常量 C C语言中可以用一个标识符代表某个常量,这语言中可以用一个标识符代表某个常量,这个标识符就称符号常量个标识符就称符号常量,习惯上用大写字母来表示。符号常量需要使用编译预处理命令#define定义,也称宏定义。#define TRUE 1#define FALSE 0#define
18、PRICE3+6 注意:用宏定义宏定义仅仅是起到字符替换的作用,没有运算功能!精选精选ppt26练习练习l#include “stdio.h”(等价于等价于#include)l#define X 3+1 lmain()lint y;l y=X*X;l printf(“y=%dn”,y);l结果为:结果为:y=7y=7精选精选ppt272.5C语言基本元素语言基本元素 2.5.1变量及初始化变量及初始化 1.变量 变量是在程序运行过程中其值可不断变化的量。变量有变量名、变量类型和变量值三个要素。一个变量的实质上是代表了内存中的某个存储单元。C语言变量遵循“先定义,后使用”的原则,变量的命名应符合
19、标识符的命名规则。精选精选ppt282.5C语言基本元素语言基本元素 2.5.2变量及初始化变量及初始化 2.变量定义格式 数据类型 变量名表;其中,变量名表可以由一个或多个用逗号分隔的变量名构成,例如:int i;/*i为整型变量*/float c,d,e;/*c,d,e为单精度型变量*/double z;/*z为双精度型变量*/3.变量的初始化 (1)先定义一个变量,然后再给它赋一个值。(2)在定义变量的同时就对变量进行初始化。精选精选ppt29变量名:变量名:习惯用小写字母表示,见名知义习惯用小写字母表示,见名知义常用类型名:常用类型名:整型:int实型:(浮点型)float doubl
20、e字符型:char1、int a=7;2、int a;a=7;精选精选ppt30变量的定义与使用变量的定义与使用变量必须变量必须 先先定义,后后使用。#include void main()int x,y;x=3;y=x*x;printf(“%d”,y);一个变量名只能定义一次。变量一般都定义在程序的头上,不能定义在程序的中间或后面。精选精选ppt312.5C语言基本元素语言基本元素 2.5.3数值型表达式的混合运算数值型表达式的混合运算 同一个表达式中出现多种数值型数据类型,就是数值型表达式的混合运算。混合运算需要进行类型转换,编译系统自动先将各种类型数据转换成同一类型后再运算求值。类型转换
21、规则如图所示。高 double float long unsigned 低 int char、short 表示必定进行的转换精选精选ppt322.5C语言基本元素语言基本元素 2.5.3基本运算符与表达式基本运算符与表达式1.算术运算符与表达式算术运算符与表达式 C语言的二元算术运算符有5个,如表所示。由各种算术运算符算术表达式将常量、变量和括号联接起来的式子称为算术表达式。表 算术运算符 运算符名称举例运算功能设a=7,b=2+加a+b求a与b的和9-减a-b求a与b的差5*乘a*b求a与b的积14/除a/b求a除以b的商3%取余a%b求a除以b的余数1 说明:(1)除运算符(/)要求除数不
22、能为零。当它作用于两个整型和字符型数据时,运算结果只取整数部分,例如,6/4=1。所以在编程时应注意,要得到正确结果,需要定义除数和被除数中一个为实数,则运算结果为double型,如6.0/4=1.5。(2)取余运算符(%)的运算结果为两个整数相除后所得的余数,%不能用于实型数据。精选精选ppt33练习练习l6C语言中运算对象必须是整型的运算符是语言中运算对象必须是整型的运算符是l A%B /C !D *l表达式表达式3.5+1/2的计算结果是的计算结果是_.l表达式表达式3.5+1.0/2的计算结果是的计算结果是_.精选精选ppt342.5C语言基本元素语言基本元素 2.5.3基本运算符与表
23、达式基本运算符与表达式3.3.赋值运算符与表达式赋值运算符与表达式 赋值运算符“=”是最基本的运算符,由赋值运算符将变量和表达式组合起来就构成赋值表达式,其一般形式如下:变量=表达式;表达式可以是一个常量、变量或表达式。但赋值运算符左边必须是变量,例如:a=b+3;注意:=表示赋值功能,而=表示判断两个元素值是否相等。如:a=b;精选精选ppt352.6C语言基本元素语言基本元素 2.6.1基本运算符与表达式基本运算符与表达式1.1.复合运算符与表达式复合运算符与表达式 在赋值运算符前加上二元运算符(+,-,*,/,%),就形成了复合运算符(算术赋值运算符),如表所示。运算符名称举例运算功能设
24、i=5,j=2+=加赋值i+=ji=i+j7-=减赋值i-=ji=i-j3*=乘赋值i*=ji=i*j10/=除赋值i/=ji=i/j2%=取余赋值i%=ji=i%j1精选精选ppt36l(2009年年9月月15题)若有定义语句:题)若有定义语句:lint x=10;,则表达式,则表达式 x-=x+x的值为的值为l A)-20l B)-10l C)0l D)10答案:答案:B B精选精选ppt372.7C语言基本元素语言基本元素 2.7.1基本运算符与表达式基本运算符与表达式1.1.自增、自减和取负运算符自增、自减和取负运算符 一元算术运算符有自增、自减和取负3个运算符。自增运算符(+)将它的
25、操作数加1;自减运算符(-)将它的操作数减1。运算符名称举例运算功能设a=3+自增+a或a+a=a+14-自减-a或a-a=a-12-取负-a符号取反-3说明:(1)自增、自减运算符只能用于变量,它位于变量前或后对变量来说都是做增1(减1)运算。将运算符放在变量前面,称为前置运算;将运算符放在变量的后面,称为后置运算。(2)自增运算符和自减运算符在C程序中常用于循环结构中,使循环变量自动加1或减1。精选精选ppt38l练习题练习题l#include lmain()llint a=2,b=5,c,d,e,f;lc=a+;ld=+a;le=a-;lf=-a;ll(2008年年4月月7题)设变量已正
26、确定义为整型,则表达题)设变量已正确定义为整型,则表达式式n=i=2,+i,i+的值为的值为【7】。答 案:答 案:c=2 d=4c=2 d=4e=4 f=2 e=4 f=2 答案:答案:3 3 精选精选ppt392.7C语言基本元素语言基本元素 2.7.2基本运算符与表达式基本运算符与表达式2.2.逗号运算符与表达式逗号运算符与表达式 将若干个表达式用逗号“,”结合成一个表达式,称为逗号表达式。其一般格式为:表达式1,表达式2,表达式3,表达式n;逗号表达式的求值是从左到右计算,最后一个表达式的值即为整个逗号表达式的值。例如:#include main()int a=3,b=8,t;t=a,
27、a=b,b=t;printf(“a=%d,y=%d”,a,b);结 果:结 果:a=8,b=3a=8,b=3精选精选ppt40 2.7.2运算优先级与结合性运算优先级与结合性 算术运算符的优先级和结合性算术运算符的优先级和结合性l()l-+(正负号正负号)+-l*/%l+-l=+=-=*=/=%=l,高高低例如:-5+3%2=(-5)+(3%2)=-4 3*5%3=(3*5)%3=0精选精选ppt41l(2009年年9月月填空填空6题)若有定义语句:题)若有定义语句:int a=5;,则表达式:,则表达式:a+的值是的值是【6】。l(2009年年3月月单选单选14题)设有定义:题)设有定义:l
28、int x=2;,以下表达式中,值不为,以下表达式中,值不为6的是的是A)x*=x+1B)x+,2*xC)x*=(1+x)D)2*x,x+=2答案:答案:5 5答案:答案:D D精选精选ppt42练习练习l#include “stdio.h”lmain()l int a=9,b=5,c=8,d,e,f;l d=a+b*c;l e=(a+b)*c;l f=a+b/c;l d=a-c%b;l精选精选ppt43小结小结 (1)C语言是一种结构化程序设计语言,结构化程序语言是一种结构化程序设计语言,结构化程序主要由顺序结构、选择结构和循环结构三种基本结构组主要由顺序结构、选择结构和循环结构三种基本结构
29、组成。这三种基本结构可以组成各种各样的程序模块,实成。这三种基本结构可以组成各种各样的程序模块,实现任何复杂的算法。现任何复杂的算法。(2 2)C C语言的特点是简洁、紧凑、方便、灵活。它既语言的特点是简洁、紧凑、方便、灵活。它既具有高级语言的特性,又具有低级语言的功能,既可以具有高级语言的特性,又具有低级语言的功能,既可以用来写应用软件,又可以用来写系统软件。用来写应用软件,又可以用来写系统软件。C C程序是由函程序是由函数构成的,一个数构成的,一个C C程序由一个程序由一个main()main()函数和多个其他函数函数和多个其他函数组成的。这些函数可以放在一个程序文件中,也可以放组成的。这些函数可以放在一个程序文件中,也可以放在多个程序文件中,但是整个程序总是从在多个程序文件中,但是整个程序总是从main()main()主函数主函数开始执行的。开始执行的。精选精选ppt44