版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
§2.2常量、变量和标识符(
-、标识符\
和其他高级语言一样,用来标识常量名、变量名、函数名、数组名、类型名
文件名等对象的有效字符序列称为标识符。简单的说,标识符就是一个名字。
1.标识符的命名规则
(1)C语言规定标识符只能由字母(大小写均可)
、数字和下划线3种字符组成。
(2)第1个字符必须为字母或下划线。
2、组成:
(1)只能由字母、数字、下划线
标识符有什么组成,目第一个字母必须是
字母或下划线。
组成?
(2)大小写敏感
(3)不能使用关键字
(4)长度:最长32个字符
⑸命名原则:
见名知意(name、time)
不宜混淆如1与I,。与0
3.注忌事项卡
(1)标识符的命名是区分大小写的,例如NAME、name及Name为3个不同的标工
习惯上变量名用小写字母表示,符号常量一般使用大写英文字母。、
(2)C语言中的关键字是一类特殊的标识符,它们具有特定的含义,已被C语言
本身使用,不能用作变量名、常量名、函数名等。
(3)C语言中提供了大量的库函数与头文件,这些库函数名和头文件中定义的一
些标识符都统称为预定义标识符。用户定义标识符时应注意避免和预定义标
识符重名。
4.标识符的分类
(1)关键字V
关键字在程序中代表着固定的含义,不能另作他用。如用来说明变量类或
标识符char、float以及for、if等都已有专门的用途,它们不能用作变量名
或函数名。
autobreakcasecharconstcontinuedefaultdo
doubleelseenumexternfloatforgotoif
intlongregisterreturnshortsignedsizeofstatic」
structswitchtypedefunionunsignedvoidvolatilewhile、
注:C语言的关键字都是小写的。
(2)预定义标识符V
预定义标识符在C语言中也有特定的含义,如库函数的名字和预编译显
理命令等。C语言语法允许用户把这类标识符另作他用,但是失去了在
系统中规定的原意。为了避免误解,建议用户不要把这些预定义标识符
另作它用。
(3)用户标识符N
由用户根据需要定义的标识符称为用户标识符。一般用来给变量、函数N
组或文件等命名。、
如果用户标识符与关键字相同,程序会给出出错信息;若与预定义标识符
同,则预定义标识符将失去原来的含义。
※重点提示:
标识符的命名规则:(1)C语言规定标识符只能由字母(大小写均可,但区
分大小写)、数字和下划线3种字符组成(2)第1个字符必须为字母或下划线
(3)已被C语言本身使用,不能用作变量名、常量名、函数名等。
—、基本数据类型
数据为什么有]
类型之分?]
处理规律相
同,存储格式、取值范围也相
A^3数据类型
富的麴据德蛰,曹眼要遂复禁曲据据蛰构
,整型
基本类型J字符型
浮点型(实型)
双精度型
C
语
数
数组类型言
据
的
类构造类型・结构类型
数
型
共用体类型据
类
型
空举刑
指针类型
在计算机中存储的数据,按存1
分,可分为:
•常量•车量
1、常量类型
十进制:以非0开始
八进制:以“0“开始
整型常量
十六进制:以“Ox“开始
常
量
类,」\数形式表示
型
实型常量v
指数形式表示
字符型常量
1、常量
在程序执行过程中,其值始终不
变的量,常量不占用存储空间。
整型常数、实型常数、字符常数。
符号常量
用一个符号名来表示一个常量。符合标示符的命名规则。
IT整型常量
是由数字串组成的数据。
・进制常数、八进制常数和十六进制常数。
十六进制数
例如:0x120x0-0xc4
12实型常量
规定:实型常量只能用十进制形式表示,不能用八进制或十六进制君垂3
实数在C语言中又称浮点数,它有两种表示形式:飞
1.十进制〃'数形式:由0一9数字和〃'数点组成(注意必须有〃'数点)如:.1分
0.123,123.0,123.,0.0
2.指数形式:就是用dEn的形式表示自然表示法的实型常数,其中:d为
值部分;n为指数部分,必须为整数。
注意:1、e或E之前必须有数字,。后面必须有数字且指数
必须为整数。e3,2.Ie3.5,e□
2、实数在用指数形式输出时是按规范化的指数形式
输出。
:C语言中一些以开头的字符串具有特殊意义,,这些字符串
称为,用单引号括起。
常用的以'\'开头的特殊字符如表2.3所示。
字符形式功能?
换行\
\n
\t横向跳格(跳到下一个输出区)
\v竖向跳格
\b退格
\r回车
\f走纸换页
\\反斜杠字符
\,单引号字符
双引号字符
\a报警
空值
\0____________________
埔里\ddd1到3位8进制数所代表的字符
M\xhh____________
1到2位16进制数所代表的字符
1-4字符串常量
每个字符串尾自动加一个,\0,作为字符串结束标志.
字符串“hello”在内存中:he11
例空串\0
♦字符常量与字符串常量不同
球IaIa”a
没有字符串变量,用字符串用数组存放
2、变量
在程序中对变量的访问(存入,读取)
都是通过变量名进行的。变量在内存占据
存储空间,变量实质上是代表内存中的某
个存储单元。
abcde
口口口□□
实质:把数据7存入c所代表的存储单元中。
□2、变量、
♦在C语言程序中,所有的变量必须加以说明,没有任何隐含
的变量。变量说明主要是指出变量的名称,确定变量的数据类
型。
♦在C语言程序中,变量必须
“先定义、后使用”。
数据类型变量”,变量2,…,变量n];
inta,b,c;
变量类型
基本型:用“int”表示
短整型:用“short”表示
整型变量<
长整形:用“long”表示
无符号型:用“unsigned”表示
变
量
类单精度型:用“float”表示
型
实型变量
、上双精度型:用“double”表示
字符型变量:用“char”表示
基本数据类型的修饰符
修饰符含义
signed带符号修饰符
unsigned无符号修饰符
long长型修饰符
short短型修饰符
表1
2-1短整型
[-Ishortint变量名表;
shortinti,j,k;
IBBlshortn;
当n二5时:
当n二-5时:
2字节(16位):-32768—32767
shortinta=123;
2-2基本整型
[ZZ]int变量名表;
inti,j,k;
IZZIintn=5;〃定义变量同时进行初始化
011
当n=5时:001
当n=-5时:111]
4字节(32位):-231-231
2-3长整型
[ZZ]longint变量名表;
IZZIlonginti,j,k;
longn;
11
当n=5时:0o01
当n=-5时:111]
31-31
4字节(32位):-22
longinti=1234567;
2-4无符号整数
IZZIunsignedint变量名表;
unsignedinti,j,k;
IZZIunsignedn;
当n=5时:
2字节(16位):0—65535大于等于零
unsignedintn=-29;
unsignedintn=1234;
2一5实型数据
实型数分类实型数据(又称:浮点型)
产单精度:float:占4字节,提供7位有效数字
双精度
Vdouble:占8字节,提供15〜16位有效数字
floata,b,c;
doublex,y;
例f1oata;
a二linn,in;/*a=iiiin.iv
doubleb;
b=llllll.Ill;/*111V
2-6字符变量
[-Ichar变量名;
charcl,c2,c3;
IBBlcharc4;
II一个字符变量在内存中占一个字节。字符变量
只能存放一个字符。字符在内存中以ASCH码
值的形式存储,因此可以像整数一样运算。
不能把字符串常量赋给字符变量。
没有字符串变量,用字符串用数组存放
I-------1
♦按作用域的不同,变量分为局部变量和全局变量。
♦在函数内部说明的变量称为局部变量。局部变量仅由其被定义的模块
内部的语句所访问。
♦全局变量又称全程变量或外部变量。全局变量贯穿整个程序,并且可
被任何一个模块使用。
§2.5算术表达式
算术运算符
J关系运算符
按性质分类
逻辑运算符
运s----
算
符
・单目运算符:一个运算对象
按操作个数分
双目运算符:两个运算对象
运算规则
1.运算的优先顺序为先*、/、%,后+、-
同等优先级从左到右运算。优先级别相同时,则按规定“自左至右”,即先左
右。
2.两个类型相同的操作数,运算结果类型
也相同。一一类型匹配的原则!!!
举例:1/21.0/2.02.5*8.0
考点1
运算,则
3.两个类型不同的操作数,运算结果类型
与其中类型较高的类型相同。
举例:1.0/21/2.02.5*8
4.求余运算(%)的运算结果其值为相除所得
余数,而符号与被除数的符号相同。
注:运算对象都是整型。
考点2
举例:-13%5二-313%(-5)=3
算术表达式
I定义!
其中:运算对象包括常量、变量、函数等。
a+b/c+d(a+b)/(c+d)
c+d
(a+b)/2c(a+b)/2*c
(a+b)/(2*c)
§2.5.3强制类型转换
1、C语言允许双精度、单精度、整型及字符数据之间混合运算
10+'a'+1.5-8765.1234□'b'
是允许的。
但有一个规则:先转换成同一类型,再计算。
2、强制类型转换表达式:(类型名)(表达式)
例:(double)(10%3)=l.0(int)(3.14)=3
转换方法:double□float
八
覆)
□
unsigned
□
低int□char,short
图中“□”
表示必定转换。如‘a'+'b',先转换为int。结果为into
§2.6赋值运算符
其他语言的赋值语句aC语言的赋值表达式
]变量名二表达式
I1.赋值。2.求表达式值。
1=1a=10
Y=l+3*sin(x)*cos(x)
赋值运算符的优先级别只高于逗号
运算符比其他的运算符都低。
赋值运算的说明
1.“二”不是等于号,而是赋值运算符。
2.赋值运算符左边必须是变量,不能是表
达式,并且赋值运算要由右向左进行。
A+B=3;A=2+C=3;
3.赋值运算符的右边还可是一赋值表达式,
称为多重赋值表达式。
4.赋值运算符右侧表达式的值即为赋值表
达式的值。
■5.“二”是赋值运算符,不能写成“二二”O
§2.6.2复合赋值运算符
•定义:在赋值符“日之前加上其他运算符,可以构成复合的运算
符。
例如:
x+二5等价于x=x+5
x*=y+8等价于x=x*(y+8)
x%二3等价于x二x%3
a*二b等价于a=a*b
复合赋值运算符
c语言可使用的复合赋值运算符有10种。
1、与算术运算符组合:+二-二、*二、/二、%=
2、与移运算符组合:〈(二、»=
3、位逻辑运算符组合:&二、△=、I=
复合赋值表达式格式:
〈变量名〉〈复合赋值运算符X表达式》\
复合的赋值表达式
等价语句V
复合赋值运算符表JA式
+二a=a+3;
a+=3
*二x*=y+8
%二
x%二3x=x%3;
复合赋值表达式
例如:x+=a+y*3等价于x=x+(a+y*3)
若a的初值为12,贝!]a+二a-=a*a的求解过程为:
(1)先进行a-二a*a的运算,它相当于a=a-a*a=12T44=T32
(2)再进行a+=-132的运算,它相当于a=a+(-132)=-132T32二-264
§2.7增1和减1运算符
自增:使变量的值加1;
自减:使变量的值减1。
++i;/*在使用i之前使i加1*/
-i;/*在使用i之前使i减1*/
i++;/*在使用i之后使i加1*/
i—;/*在使用i之后使i减1*/
增1和减1运算符是单目运算符,且操作对
象只能是变量,不能是常量或表达式。
I例:I
j=3;
j=++i;/*先使i加1,再赋给j。执行后j=4,i=4*/
j=3;
j=i++;/*先把i赋给j,再使i加1。执行后:j=3,i=4*/
汪忌:
(TT++和一只能用于变量,不能用于常量和表达式。
例:
5++;
(a+b)++;
^defineONX;ONE++;
X
结合方向为“自右至左”
例:
(-i)++
潮
—i++
负值运算符-和自增运算符优先级相同
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 分家协议的内容
- 个人的居间协议模板
- 2023装修房子协议书七篇
- 银屑病甲病因介绍
- 竣工验收要点培训课件
- (范文)雕刻机项目立项报告
- 公路工程竣工资料管理 黄 00课件讲解
- 2024年秋江苏名小四年级语文12月月考试卷-A4
- 2023年废弃资源和废旧材料回收加工品项目融资计划书
- 2023年家庭投影仪项目融资计划书
- 内科学糖尿病教案
- 《高尿酸血症》课件
- 微量泵的操作及报警处置课件查房
- 云南省昆明市西山区2023-2024学年七年级上学期期末语文试卷
- 人教版小学数学四年级上册5 1《平行与垂直》练习
- 市政设施养护面年度计划表
- 公差配合与技术测量技术教案
- 坚持教育、科技、人才“三位一体”为高质量发展贡献高校力量
- 污水处理厂工艺设计及计算
- 杭州宇泰机电设备有限公司X射线机室内探伤项目(新建)环境影响报告
- 2023年冷柜行业专题研究报告
评论
0/150
提交评论