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

上传人:聆听****声音 文档编号:16241267 上传时间:2023-07-12 格式:PPT 页数:49 大小:544.81KB
下载 相关 举报
C语言第一章C语言基础.ppt.ppt_第1页
第1页 / 共49页
C语言第一章C语言基础.ppt.ppt_第2页
第2页 / 共49页
C语言第一章C语言基础.ppt.ppt_第3页
第3页 / 共49页
C语言第一章C语言基础.ppt.ppt_第4页
第4页 / 共49页
C语言第一章C语言基础.ppt.ppt_第5页
第5页 / 共49页
C语言第一章C语言基础.ppt.ppt_第6页
第6页 / 共49页
C语言第一章C语言基础.ppt.ppt_第7页
第7页 / 共49页
C语言第一章C语言基础.ppt.ppt_第8页
第8页 / 共49页
C语言第一章C语言基础.ppt.ppt_第9页
第9页 / 共49页
C语言第一章C语言基础.ppt.ppt_第10页
第10页 / 共49页
C语言第一章C语言基础.ppt.ppt_第11页
第11页 / 共49页
C语言第一章C语言基础.ppt.ppt_第12页
第12页 / 共49页
C语言第一章C语言基础.ppt.ppt_第13页
第13页 / 共49页
C语言第一章C语言基础.ppt.ppt_第14页
第14页 / 共49页
C语言第一章C语言基础.ppt.ppt_第15页
第15页 / 共49页
C语言第一章C语言基础.ppt.ppt_第16页
第16页 / 共49页
C语言第一章C语言基础.ppt.ppt_第17页
第17页 / 共49页
C语言第一章C语言基础.ppt.ppt_第18页
第18页 / 共49页
C语言第一章C语言基础.ppt.ppt_第19页
第19页 / 共49页
C语言第一章C语言基础.ppt.ppt_第20页
第20页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

第2章C语言基础2.1基本概念2.2基本数据类型2.3运算符与表达式,2.1基本概念2.1.1C语言字符集任何一种语言都有它自己规定的一系列字符,计算机程序设计语言也不例外。

利用这些字符,根据语法规则,组成各种不同的语句,最后形成具有某种功能的程序。

C语言的字符集可分为以下4个类:

(1)英文字母:

大小写各26个,共计52个;

(2)阿拉伯数:

0、1、2、3、4、5、6、7、8、9共10个数字;(3)下划线:

_;,(4)特殊符号:

通常由12个符号组成,主要用来表示运算符。

例如:

+-*/%+-=()?

:

.,2.1.2标识符标识符就是用来标识变量名、符号常量名、函数名、类型名、文件名等的有效字符序列。

简单的说,标识符就是用来标识名称的。

C语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。

下面列出的是合法的标识符:

year,month,Day,student_name,myFile,_123下面是一些非法的标识符:

M.D.Jones,$123,#a,3b,?

c,-aa,ALot,2.1.3.关键字所谓关键字(又称为保留字或保留关键字)就是在一种语言中具有特定含义的标识符,用来命名C语言中的语句、数据类型和变量属性等。

用户只能按系统的规定来使用,不能另作它用。

C语言中的所有关键字都是用小写字母表示的,初学者要特别注意。

由ANSI标准推荐的关键字只有32个,如下所示:

autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile,2.1.4常量常量是指在程序运行过程中,其值不能被改变的量。

常量也有类型之分,但这是由常量本身隐含决定的。

整型常量:

15,实型常量:

1.414等。

也可以用一个标识符来代表一个常量,该常量被称为符号常量。

定义形式:

#define标识符常量数例如:

#definePI3.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,123,#33,3D64,ab,在同一程序块中,每个变量都有唯一的名字,不能被重复定义。

使用变量时必须“先定义,后使用”。

定义形式:

类型标识符:

变量名1,变量名2,变量名3.;例如:

inta,b,c;floatx,y;charc1,c2;或intc1,c2;,注意,变量初始化在说明变量的同时给变量一个初始值。

inta=5,b=3;inta=b=c=3;inta,b,c;a=b=c=3;,例如,2.2基本数据类型字符型(char)整型(short,int,long,unsigned)基本类型数值类型单精度型(float)实型双精度型(double)枚举类型(enum)数据类型数组类型()构造类型结构体类型(struct)共用体类型(union)指针类型(*)空类型(void),2.2.1整型数据1整型变量整型变量分为:

基本型(int)、短整型(short)和长整型(long)。

同样存储长度的数据又分无符号(unsigned)数和有符号(signed)数。

定义格式如下:

inti1,i2,i3;longintlv;shortintsv;unsignedintuv;其中,longint、shortint、unsignedint中的关键字int可以省略。

在VisualC+6.0中,基本整型(int)数据在内存中占4个字节。

VisualC+6.0所支持的整型数据,2整型常量语言中整型常量通常用十进制、八进制或十六进制三种数制来表示。

(1)十进制数形式:

十进制整数表示方法与数学上的整数表示方法相同,例如:

200,-100,0

(2)八进制数形式:

八进制整数在数码前加数字0(注意不是字母o)。

例如:

0144(3)十六进制数形式:

十六进制整数在数码前加0X。

例如:

0xFFFF另外,在整型常量的末尾加上字母L或l,就组成了长整型常量,如981016L、0L等。

2.2.2实型数据1实型变量C语言中,带有小数点的数称为实型数,也可称为浮点数。

实型数的值域也受机器中的存储长度的限制,它只是数学中实数的一个子集。

实型数据有:

单精度实数(float)、双精度实数(double)和长双精度实数类型(longdouble)。

实型变量也分为单精度实型变量、双精度实型变量和长双精度实型变量。

VisualC+6.0所支持的实型数据,单精度实型变量的定义格式如下:

floatf1,f2;双精度实型变量的定义格式如下:

doubled1,d2;单精度实型变量和双精度实型变量之间的差异表现在数据精度上。

2实型常量实型常量一般不分float型和double型,任何一个实型常量,既可以赋给float变量,又可赋给double型变量,它会根据变量的类型来截取相应的有效位数。

实型数据有如下两种表示形式。

(1)十进制小数形式:

由数字和小数点组成,如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字符表中的所有字符,字符数据包括可显示字符和非可显示字符。

1字符型变量字符型变量用来存放一个字符。

定义的一般格式如下:

charc1,c2;c1,c2即为字符型变量。

2字符型常量有两种形式:

(1)用一对单引号括起来的一个字符(注意:

一定要是英文的单引号)。

例如:

A表示大写字母A;a表示小写的字母a;9表示字符9;表示空格符。

(2)用单引号括起来的由反斜杠()引导的一个字符或一个数字序列。

反斜杠引导的是转义字符,即反斜杠后面的字符转变成另外的意义。

例如,n表示“回车换行”控制。

转义字符表,使用这种方法可以用来表示字符集中的任何一个字符,特别是“控制字符”。

例如,7、07、007三个都表示响铃字符(bell)。

101,x41都代表字母A。

注意,3字符串常量字符串常量是用双引号括起来的字符序列,如China、Iamstudent等。

字符串常量在内存中的存放:

每一个字符均以其ASCII码存放,且最后添加一个0。

字符串常量“CHINA”存放在内存中的情况是:

C语言中没有专用的字符串变量,但是可以用字符数组来存放字符串。

字符a和字符串a的区别?

2.3运算符与表达式按操作功能来对运算符进行分类,大致可分为以下几类:

算术运算符关系运算符逻辑运算符赋值运算符按位运算符其它运算符表达式是由操作数和运算符组成的序列。

2.3.1算术运算符和算术表达式1、运算符+(加):

3+4、+3-(减):

3-5、-5*(乘):

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);,例如:

已知:

floata=2.0;intb=6,c=3;求解:

a*b/c-1.5+a+fabs(-5)=?

doublefloatlongunsignedintchar,short,floata=2.0;intb=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的值为-2。

设初值a=3;b=5;1.c=(a+)*b;c=a*ba=a+12.c=(+a)*b;a=a+1c=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;则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,例inta=3,b=2,c=1,d,f;(ab)=cf=abc,1,0,2.3.3逻辑运算符和逻辑表达式1、3种逻辑运算符:

&|!

(与、或、非)逻辑量:

可以是整型、实型、字符型和指针类型,0假非0真;如:

0,0.0,0,NULL都代表假。

2、逻辑表达式:

用逻辑运算符将表达式连接起来的式子优先级:

!

&|结合性:

自左至右;表达式的值:

若为真,则结果为1;若为假,则结果为0。

inta=5;floatb=3.5;!

a(0)!

(a0)(0)(a0)

(1),例如,!

高算术运算符关系运算符&和|赋值运算符低,4-0,1&2,84,1,0,1,53&2|84-!

5,注意:

在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。

例如:

(1)a=0;b=1;c=a+结果:

a为0,b为0,c为0,d为1。

逻辑表达式一般用于控制语句中的条件:

例如:

n是小于m的偶数:

nm&n%2=0year是闰年(能被4整除但不能被100整除或能被400整除):

year%4=0&year%100!

=0|year%400=0,2.3.4赋值运算符和赋值表达式1、赋值运算符=2、赋值表达式:

用赋值运算符将变量和表达式连接起来的式子形式:

=求值规则:

将“=”右边表达式的值赋给左边的变量。

注意:

左侧必须是单个变量,不能是常量或表达式。

优先级:

!

算术关系&和|赋值结合性:

自右至左;表达式的值:

被赋值变量的值。

例如:

(1)x=(y=12)/4y值为12,x值为3,表达式的值为3

(2)x=y=12/4y值为3,x值为3,表达式的值为3(3)x=(y=12/4)y值为3,x值为3,表达式的值为3(4)(x=y)=12/4,赋值类型转换:

当赋值运算符两边类型不一致时,会自动进行类型转换。

例如,已知:

inta=3,b;floatx1=65.5,x2;charc1=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,例:

inta=2;1.a%=4-1;2.a-=a*=3;3.a+=a-=a*a,/a=-4等价于a=a+(a=a-(a*a),/a=0等价于a=a-(a=a*3),/a=2等价于a=a%(4-1),2.3.5其它运算符1.条件运算符?

和:

它们与三个操作数组组成三元运算。

形式为:

?

:

求值规则和表达式的值:

真(非0),求解表达式2求解表达式1条件表达式的值假(0),求解表达式3例如:

intmax,a=5;b=3;max=ab?

a:

bmax及赋值表达式的值均为5;ab?

a:

b+1条件表达式的值为4。

又如:

-a=b+?

a+:

b+(a=a-1;)4=3(b=b+1;)?

a+:

b+a为4b为404(b=b+1;)表达式值为4b为5a值为4,b值为5,条件表达式的值为4。

优先级:

逻辑条件赋值,结合性:

自右至左;y=x10?

x/10:

x10?

x/10:

(x0?

x:

-x);当x的值为15时,表达式的结果为:

1当x的值为5时,表达式的结果为:

-52.逗号运算符:

,形式:

逗号表达式1,逗号表达式2,逗号表达式n求值规则:

从左至右依次计算各表达式的值;优先级:

最低;结合性:

自左至右;表达式的值:

最后一个表达式的值。

例如:

aby表达式y=a=4,b=5,a+b;4549y=(a=4,b=5,a+b);4599y=(a=4,b=5),a+b;4559y=a=(4,b=5),a+b;55510注意:

C语言常用逗号作为分隔符,例如:

inta=3,b=4,c=5;printf(“%d,%d,%d”,(a,b,c);printf(“%d,%d,%d”,a,(a,b,c),c);结果为3,5,53.求字节运算符:

sizeof作用:

求得变量或某种数据类型所需的字节数。

形式有两种:

sizeof变量名sizeof(类型名)结果为整型数。

inta;floatx;printf(“%d,%d”,sizeofa,sizeofx);printf(“%d,%d”,sizeof(int),sizeof(float);以上两个printf语句结果均为4,4。

例如,数据类型转换C语言允许整型、实型、字符型数据进行混合运算。

有3种转换方式:

自动转换、赋值转换和强制转换。

1、类型自动转换,doublefloatlongunsignedintchar,short,intx=2;floaty=1.6;charc=A;则:

c+x*y=c+x*y65(int)+2(int)*1.6(double)=68.2(double)*运算时所有float都自动转换为double2、赋值转换在赋值时将赋值符右边值的类型转换成与其左边变量类型一致的类型。

有下列几种情况:

(1)实型整型(字符型):

去掉小数部分;,例如,charc=68.5;printf(“%c”,c);,

(2)整型(字符型)实型:

补足有效位;(3)对char、int、short、long、unsigned型数据:

赋值符右边数据(a位)赋值符左边的变量(b位)若a=b原样照赋;ab截断高a-b位,送低b位;有符号数据有符号变量:

符号扩展;其他情况:

高a-b位全补0。

符号扩展:

符号位为0,剩余的高位补0;符号位为1,剩余的高位补1。

ab,floatf=23;23.00000f(7位)doublef=A;23.0000000000000f(15位),1.shorta=289;charc;c=a;a:

0000000100100001c:

00100001,例如,2.chara=A;shortb=-1,c;intd;c=a;d=b;a:

01000001c:

0000000001000001b:

1111111111111111d:

11111111111111111111111111111111,3、强制类型转换形式:

(类型名)表达式强制类型转换时,得到所需类型的中间变量,原来变量的类型不会改变。

例如:

inta=2,b=5;floatx=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