C语言第一章C语言基础.ppt

上传人:小飞机 文档编号:6504267 上传时间:2023-11-07 格式:PPT 页数:49 大小:308KB
返回 下载 相关 举报
C语言第一章C语言基础.ppt_第1页
第1页 / 共49页
C语言第一章C语言基础.ppt_第2页
第2页 / 共49页
C语言第一章C语言基础.ppt_第3页
第3页 / 共49页
C语言第一章C语言基础.ppt_第4页
第4页 / 共49页
C语言第一章C语言基础.ppt_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《C语言第一章C语言基础.ppt》由会员分享,可在线阅读,更多相关《C语言第一章C语言基础.ppt(49页珍藏版)》请在三一办公上搜索。

1、第 2 章 C语言基础 2.1 基本概念 2.2 基本数据类型 2.3 运算符与表达式,2.1 基 本 概 念2.1.1 C语言字符集 任何一种语言都有它自己规定的一系列字符,计算机程序设计语言也不例外。利用这些字符,根据语法规则,组成各种不同的语句,最后形成具有某种功能的程序。C语言的字符集可分为以下4个类:(1)英文字母:大小写各26个,共计52个;(2)阿拉伯数:0、1、2、3、4、5、6、7、8、9共 10个数字;(3)下划线:_;,(4)特殊符号:通常由12个符号组成,主要用来表示运算符。例如:+-*/%+-=()?:.,2.1.2 标识符 标识符就是用来标识变量名、符号常量名、函数

2、名、类型名、文件名等的有效字符序列。简单的说,标识符就是用来标识名称的。C语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。下面列出的是合法的标识符:year,month,Day,student_name,myFile,_123 下面是一些非法的标识符:M.D.Jones,$123,#a,3b,?c,-aa,A Lot,2.1.3.关键字 所谓关键字(又称为保留字或保留关键字)就是在一种语言中具有特定含义的标识符,用来命名C语言中的语句、数据类型和变量属性等。用户只能按系统的规定来使用,不能另作它用。C语言中的所有关键字都是用小写字母表示的,初学者要特别注意。

3、由ANSI标准推荐的关键字只有32个,如下所示:auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while,2.1.4 常量 常量是指在程序运行过程中,其值不能被改变的量。常量也有类型之分,但这是由常量本身隐含决定的。整型常量:15,实型常量:1.414等。也可以

4、用一个标识符来代表一个常量,该常量被称为符号常量。定义形式:#define 标识符 常量数 例如:#define PI 3.14159 在程序预处理时,凡是出现标识符PI的地方都将用数据3.14159来替换。如:2*2.3*PI 就等价于 2*2.3*3.14159,2.1.5 变量 变量即是在程序运行过程中,其值可以被改变的量。在源程序中,变量名用标识符(以字母、数字、下划线组成,且第一个字符必须为字母或下划线)表示。合法变量名:sum,average,class,day,student_name,_above,lotus_1_2_3,basic 不合法的变量名:D.M.Ritchie,12

5、3,#33,3D64,ab,在同一程序块中,每个变量都有唯一的名字,不能被重复定义。使用变量时必须“先定义,后使用”。定义形式:类型标识符:变量名1,变量名2,变量名3.;例如:int a,b,c;float x,y;char c1,c2;或 int c1,c2;,注意,变量初始化 在说明变量的同时给变量一个初始值。int a=5,b=3;int a=b=c=3;int a,b,c;a=b=c=3;,例如,2.2 基本数据类型 字符型(char)整型(short,int,long,unsigned)基本类型 数值类型 单精度型(float)实型 双精度型(double)枚举类型(enum)数据

6、类型 数组类型()构造类型 结构体类型(struct)共用体类型(union)指针类型(*)空类型(void),2.2.1 整型数据 1整型变量 整型变量分为:基本型(int)、短整型(short)和长整型(long)。同样存储长度的数据又分无符号(unsigned)数和有符号(signed)数。定义格式如下:int i1,i2,i3;long int lv;short int sv;unsigned int uv;其中,long int、short int、unsigned int中的关键字int 可以省略。在Visual C+6.0中,基本整型(int)数据在内存中占4个字节。,Visua

7、l C+6.0所支持的整型数据,2整型常量语言中整型常量通常用十进制、八进制或十六进制三种数制来表示。(1)十进制数形式:十进制整数表示方法与数学上的整数表示方法相同,例如:200,-100,0(2)八进制数形式:八进制整数在数码前加数字0(注意不是字母o)。例如:0144(3)十六进制数形式:十六进制整数在数码前加0X。例如:0 xFFFF另外,在整型常量的末尾加上字母L或l,就组成了长整型常量,如981016L、0L等。,2.2.2 实型数据 1实型变量C语言中,带有小数点的数称为实型数,也可称为浮点数。实型数的值域也受机器中的存储长度的限制,它只是数学中实数的一个子集。实型数据有:单精度

8、实数(float)、双精度实数(double)和长双精度实数类型(long double)。实型变量也分为单精度实型变量、双精度实型变量和长双精度实型变量。,Visual C+6.0所支持的实型数据,单精度实型变量的定义格式如下:float f1,f2;双精度实型变量的定义格式如下:double d1,d2;单精度实型变量和双精度实型变量之间的差异表现在数据精度上。,2实型常量 实型常量一般不分float型和double型,任何一个实型常量,既可以赋给float变量,又可赋给double型变量,它会根据变量的类型来截取相应的有效位数。实型数据有如下两种表示形式。(1)十进制小数形式:由数字和小

9、数点组成,如3.14159,4.,.3,-6.5。(2)指数法形式:指数法又称为科学记数法,它由“十进制小数”+“e(或E)”+“十进制数整数”三部分组成。,例如:3.12E-6表示3.1210-64E+3表示4103.05E6表示0.05106123.e-6表示12310-6注意:(1)e或E之前(即尾数部分)必须有数字,e或E后面的指数部分必须是整数。例如,6E0.2、E-2、1.25e1.5、e3都是不合法的实型常量。(2)精度又称有效位。如果要求的精确度高,就要使用double型数据。,2.2.3 字符型数据 C语言字符型数据包括ASCII字符表中的所有字符,字符数据包括可显示字符和非

10、可显示字符。1字符型变量 字符型变量用来存放一个字符。定义的一般格式如下:char c1,c2;c1,c2即为字符型变量。,2字符型常量有两种形式:(1)用一对单引号括起来的一个字符(注意:一定要是英文的单引号)。例如:A表示大写字母A;a表示小写的字母a;9表示字符9;表示空格符。(2)用单引号括起来的由反斜杠()引导的一个字符或一个数字序列。反斜杠引导的是转义字符,即反斜杠后面的字符转变成另外的意义。例如,n表示“回车换行”控制。,转义字符表,使用这种方法可以用来表示字符集中的任何一个字符,特别是“控制字符”。例如,7、07、007三个都表示响铃字符(bell)。101,x41都代表字母A

11、。,注意,3字符串常量 字符串常量是用双引号括起来的字符序列,如China、I am student等。字符串常量在内存中的存放:每一个字符均以其ASCII码存放,且最后添加一个0。字符串常量“CHINA”存放在内存中的情况是:C语言中没有专用的字符串变量,但是可以用字符数组来存放字符串。字符a和字符串a的区别?,2.3 运算符与表达式 按操作功能来对运算符进行分类,大致可分为以下几类:算术运算符 关系运算符 逻辑运算符 赋值运算符 按位运算符 其它运算符 表达式是由操作数和运算符组成的序列。,2.3.1 算术运算符和算术表达式 1、运算符+(加):3+4、+3-(减):3-5、-5*(乘):

12、3*5/(除):5/2的值为2;5.0/2的值为2.5;%(取余):5%3的值为2;-5%3的值为-2;5%(-3)的值为2;-5%(-3)的值为-2;12.3%3 若a能被b整除,则有:a%b=0,2、算术表达式 用算术运算符和括符将操作数连接起来的式子。优先级:()*、/、%+、-结合性:从左至右;表达式的值:数值型(int、long、unsigned、double);,例如:已知:float a=2.0;int b=6,c=3;求解:a*b/c-1.5+a+fabs(-5)=?,double float long unsigned int char,short,float a=2.0;i

13、nt b=6,c=3;a*b/c-1.5+a+fabs(-5),12.0/3,5,4.0-1.5,2.5+97(int),99.5+5,104.5(double),3、自增与自减运算符+i,-i:使用之前使i的值增1(或减1);i+,i-:使用之后使i的值增1(或减1);,i=i+1;,j=i;i+;所以i的值为4,j的值为3。,i+;j=i;所以i的值为4,j的值为4。,例如:,(1)i+;+i;等价于(2)i=3;j=i+;等价于(3)i=3;j=+i;等价于,结合性:自右至左。如:i=2;j=-i+;等价于:j=-(i+);即:j=-i;i+;“+”与”-“是同优先级 所以i的值为3,j

14、的值为-2。,设初值a=3;b=5;1.c=(a+)*b;c=a*b a=a+1 2.c=(+a)*b;a=a+1 c=a*b,/c=15,a=4,/c=20,a=4,2.3.2 关系运算符和关系表达式 1、6种关系运算符:=!=2、关系表达式:用关系运算符将表达式连接起来的式子 优先级:(=)(=!=)结合性:自左至右;表达式的值:若为真,则结果为1;若为假,则结果为0。,35 的值为;32 的值为;3+(43)*4的值为;3+43*4 的值为;算术运算符优先级高于关系运算符,例如,0,0,3,1,注意:数学表达式11是否成立,再判断05或15是否成立。,例 若a=0;b=0.5;x=0.3

15、;则 a=x=b的值为,0,例 5278在C中是允许的,值为,0,例 应避免对实数作相等或不等的判断如 1.0/3.0*3.0=1.0 结果为可改写为:fabs(1.0/3.0*3.0-1.0)1e-6,0,例 int a=3,b=2,c=1,d,f;(ab)=c f=abc,1,0,2.3.3 逻辑运算符和逻辑表达式 1、3种逻辑运算符:&|!(与、或、非)逻辑量:可以是整型、实型、字符型和指针类型,0假 非0真;如:0,0.0,0,NULL都代表假。2、逻辑表达式:用逻辑运算符将表达式连接起来的式子 优先级:!&|结合性:自左至右;表达式的值:若为真,则结果为1;若为假,则结果为0。,in

16、t a=5;float b=3.5;!a(0)!(a 0)(0)(a 0)(1),例如,!高 算术运算符 关系运算符&和|赋值运算符 低,4-0,1&2,8 4,1,0,1,5 3&2|8 4-!5,注意:在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。例如:(1)a=0;b=1;c=a+结果:a为0,b为0,c为0,d为1。逻辑表达式一般用于控制语句中的条件:例如:n是小于m的偶数:nm&n%2=0 year是闰年(能被4整除但不能被100整除或能被400整除):year%4=0&year%100!=0|year%40

17、0=0,2.3.4 赋值运算符和赋值表达式 1、赋值运算符=2、赋值表达式:用赋值运算符将变量和表达式连接起来的式子 形式:=求值规则:将“=”右边表达式的值赋给左边的变量。注意:左侧必须是单个变量,不能是常量或表达式。优先级:!算术关系&和|赋值 结合性:自右至左;表达式的值:被赋值变量的值。例如:(1)x=(y=12)/4 y值为12,x值为3,表达式的值为3(2)x=y=12/4 y值为3,x值为3,表达式的值为3(3)x=(y=12/4)y值为3,x值为3,表达式的值为3(4)(x=y)=12/4,赋值类型转换:当赋值运算符两边类型不一致时,会自动进行类型转换。,例如,已知:int a

18、=3,b;float x1=65.5,x2;char c1=a,c2;则:b=x1;b的值为;x2=a;x2的值为;c2=x1;c2的值为;x2=c1;x2的值为;,65,3.000000,A,97.000000,3、复合赋值运算符*=、/=、%=、+=、-=,=,&=、=、=注意:复合运算符是一个运算符,但功能上,是两个运算符功能的组合。例如:a+=b 相当于 a=a+ba*=b 相当于 a=a*ba*=b+c 相当于 a=a*(b+c)而不是 a=a*b+c,例:int a=2;1.a%=4-1;2.a-=a*=3;3.a+=a-=a*a,/a=-4 等价于a=a+(a=a-(a*a),/

19、a=0 等价于a=a-(a=a*3),/a=2 等价于a=a%(4-1),2.3.5 其它运算符 1.条件运算符?和:,它们与三个操作数组组成三元运算。形式为:?:求值规则和表达式的值:真(非0),求解表达式2 求解表达式1 条件表达式的值 假(0),求解表达式3例如:int max,a=5;b=3;max=ab?a:b max及赋值表达式的值均为5;ab?a:b+1 条件表达式的值为4。,又如:-a=b+?a+:b+(a=a-1;)4=3(b=b+1;)?a+:b+a为4 b为4 0 4(b=b+1;)表达式值为4 b为5 a值为4,b值为5,条件表达式的值为4。优先级:逻辑条件赋值,结合性

20、:自右至左;y=x10?x/10:x10?x/10:(x0?x:-x);当x的值为15时,表达式的结果为:1 当x的值为5时,表达式的结果为:-52.逗号运算符:,形式:逗号表达式1,逗号表达式2,逗号表达式n 求值规则:从左至右依次计算各表达式的值;优先级:最低;结合性:自左至右;表达式的值:最后一个表达式的值。,例如:a b y 表达式 y=a=4,b=5,a+b;4 5 4 9 y=(a=4,b=5,a+b);4 5 9 9 y=(a=4,b=5),a+b;4 5 5 9 y=a=(4,b=5),a+b;5 5 5 10注意:C语言常用逗号作为分隔符,例如:int a=3,b=4,c=5

21、;printf(“%d,%d,%d”,(a,b,c);printf(“%d,%d,%d”,a,(a,b,c),c);结果为3,5,53.求字节运算符:sizeof 作用:求得变量或某种数据类型所需的字节数。,形式有两种:sizeof 变量名 sizeof(类型名)结果为整型数。,int a;float x;printf(“%d,%d”,sizeof a,sizeof x);printf(“%d,%d”,sizeof(int),sizeof(float);以上两个printf语句结果均为4,4。,例如,数据类型转换 C语言允许整型、实型、字符型数据进行混合运算。有3种转换方式:自动转换、赋值转换

22、和强制转换。1、类型自动转换,double float long unsigned int char,short,int x=2;float y=1.6;char c=A;则:c+x*y=c+x*y 65(int)+2(int)*1.6(double)=68.2(double)*运算时所有 float 都自动转换为 double2、赋值转换 在赋值时将赋值符右边值的类型转换成与其左边变量类型一致的类型。有下列几种情况:(1)实型 整型(字符型):去掉小数部分;,例如,char c=68.5;printf(“%c”,c);,(2)整型(字符型)实型:补足有效位;(3)对char、int、shor

23、t、long、unsigned型数据:赋值符右边数据(a位)赋值符左边的变量(b位)若 a=b 原样照赋;ab 截断高a-b位,送低b 位;有符号数据 有符号变量:符号扩展;其他情况:高a-b位全补0。符号扩展:符号位为0,剩余的高位补0;符号位为1,剩余的高位补1。,ab,float f=23;23.00000 f(7位)double f=A;23.0000000000000 f(15位),1.short a=289;char c;c=a;a:0000 0001 0010 0001c:0010 0001,例如,2.char a=A;short b=-1,c;int d;c=a;d=b;a:0100 0001c:0000 0000 0100 0001b:1111 1111 1111 1111d:1111 1111 1111 1111 1111 1111 1111 1111,3、强制类型转换 形式:(类型名)表达式 强制类型转换时,得到所需类型的中间变量,原来变量的类型不会改变。例如:int a=2,b=5;float x=4.4;则有:表达式 结果 b/a(float)b/a(float)(b/a)(int)x%a+x(int)x%(a+x),2,2.5,2.0,4.4,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号