ImageVerifierCode 换一换
格式:PPT , 页数:49 ,大小:544.81KB ,
资源ID:16241267      下载积分:15 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-16241267.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言第一章C语言基础.ppt.ppt)为本站会员(聆听****声音)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

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

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,

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2