C语言(常量、变量及表达式)
标识符规定: 1. 标识符由字母、下划线、数字三种字符组成,且 第一个字符必须是字母或者下划线。 + * . 汉字等 均不能出现。 2. 字母区分大小写; 3. 标识符不能是关键字。
例:sun,day,month,student_name, c1string_2。
错: 12cd, $123,#11, M.D.Ritchie。
这里所表示的标识符都是错误的。
整理ppt
13
2.3.1 变量的数据类型
1、整型变量:表示整型数据(整数)的变量。
1)按照存储空间分三种(限制了表达范围):
基本型: int 变量名
2个字节。
短整型: short [int] 变量名 2个字节。
长整型: long [int] 变量名 4个字节。
2)符号(正负号) : 无符号型: unsigned
存取。 • 要先定义变量的类型,决定占用的内存空间,才能存取。
整理ppt
11
2.3 变量
2.3.1 变量的数据类型 2.3.2 变量的使用 2.3.3 变量数据的存储与读取 2.3.4 其它变量
整理ppt
12
返回
变量: 程序运行中其值改变的量。
变量名: 变量的名字。用标识符标识变量名。
标识符:用来标明变量名、函数名、数组名、结构体名、文件名、类
例:1E3 表示整:理1pp乘t 10的三次方(1103)。 6
返回
3、字符型数据
字符常量
即普通字符用单引号括起来。在C语言中,字符型数据 是用ASCII码来表示(储存)的。
例:‘A’ (65),‘a’ (97)。
在C语言中,字符型数据与整型数据可通用:10+‘R’
字符串常量 即一串普通字符用双引号括起来。 例:“ Turbo C ”,“ China ”。
int变量名 short [int] 变量名 long [int] 变量名
2、实型变量:
表示实型数据(实数)的变量。
单精度型:float 变量名 4个字节。 双精度型:整d理opupbt le 变量名 8个字节。 14
2.3.1 变量的数据类型
3、字符型变量: 表示字符型数据的变量。
char 变量名
1个字节 。
4、字符串数组: 表示字符串型数据的数组。 char 变量名 [ 下标 ] 字符串数组:是一个地址量。字符串数 组表示字符串的第一个字符的地址。
整理ppt
பைடு நூலகம்
15
5、表 —— 变量的数据类型、字节长度、位数、数据范围
符字 位 号节 数
数据类型标识符
2. 可维护性,避免多处修改(如:求周长,体积)。
整理ppt
10
常量与变量
常量的本质 • 不占据任何存储空间 • 属于指令的一部分,编译后不再更改
变量:程序运行时可以随时改变 • 定义变量时,给变量分配存储单元(如:一个字节),如宿舍
号码对应一个房间,变量名对应一段存储空间。 • 通过变量对内存修改、存取;对变量的存取就是对存储单元的
型名等的符识。名字。英文!
标识符规定:标识符由字母(区分大小写)、下划线、数字三种字符
组成,且第一个字符必须是字母或者下划线。 书P5,表1-2,C语言的31个保留字。
例:sun,day,month,student_name, c1string_2。
错: 12cd, $123,#11, M.D.Ritchie。
《C语言程序设计》
第四章
数据类型、运算符、表达式及简单 的输入输出函数
整理ppt
1
第四章
数据类型、运算符、表达式及简单的输入输出函数
数据类型 常量 变量 运算和运算符 运算表达式 简单的输入输出函数
整理ppt
2
C语言程序的基本标识符
■ 字符集:编程可使用的字符
英文字母 a ~ z,A ~ Z; 阿拉伯数字 0 ~ 9; 特殊符号
功能定义的字符 如: 字符 功能
\n 回车换行
\r 回车
\t 水平制表
\b 退格
\v 垂直制表
\f 换页
\a 响铃警报
\“ 双引号字符
\101 A
\x41 A
整理ppt
9
符号常量
• 对常量命名,即用符号代替常量; • 先定义后使用; • 格式: #define 符号常量 常量
例: #define PI 3.1415926 • 宏定义,不用分号; • 好处:1. 增强可读性
这里所表示的标整理识ppt 符都是错误的。
4
4.2 数据类型 基本类型
构造类型
整型 实型(浮点型) 字符型(字符串) 枚举型
常量形式 变量形式 单精度型
双精度型
数组
类型相同的数据集合
数组类型
结构体类型
结构体
共同体类型 类型不同的数据集合
指针类型
整理ppt
5
4.3 常量 程序运行中数值不改变的量 1、整型数
按进制分类:
十进制。例:10 , 35, -1289。 八进制,以 0 开头。 例:010(o是字母)。对应十进制 8 十六进制,以 0x 开头。例:0x10。 对应十进制 16 按字节长度分类:
短型 2个字节。 长型 4个字节。长型常量后加字母L。 例:15L , 0x10, 010。 2、实型(浮点数)数 十进制数形式,由数字和小数点组成。 例:1. 3415926 指数形式, 由尾数、字母e或E和指数组成。
123.5, 1.235e+2 10-38~1038
(2)字符常量 单一字符,用‘ ’包围, 如:‘A’,‘8’
(3)字符串常量 用“”包围的一个或多个字符 ,如 :“ hello”
注 意
‘A’和 “A”不相同!!!
整理ppt
8
(4)特殊的字符常量(转义字符)
\ 后跟一个字符或一个数字,表示控制代码和用于
转义字符
以“ \ ”开头的字符表示特定的含义。
此时字符转变为另外的意义。
例:‘\ n’ 表示回车换行 , ‘ \ r’ 表示回车 。
整理ppt
7
小结
(1)数 类 型
进制
整型数 八、 十、十六 长整型数 八、 十、十六 实型数 十
表示
范围
015, 15, 0x15
-215~ 215-1
015L, 15L, 0x15L -231~ 231-1
(~!%*{}:;<>?/以及空格、换行等)
整理ppt
3
标识符: 用来标明变量名、函数名、数组名、结构体名、文件 名、类型名等的符识。标识符就是有效字符的序列, 一个名字。用英文!
保留字(关键字)(见书P43 表4-1 C语言的保留字) 预定义标识符(库函数名,如:stdio;预编译命令,如:include) 用户定义标识符
3 数据类型、运算符和表达式
三、整型数据
3.1.整型常量 整型常量即整常数按不同的进制区分, 整型常量即整常数按不同的进制区分 , 整型常数 有三种表示方法: 有三种表示方法:
十进制数: 以非0 220, 560, 十进制数: 以非0开始的数 如:220, -560, 45900 八进制数: 06; 0106, 八进制数: 以0开始的数 如:06; 0106, 十六进制数: 十六进制数: 以0X或0x开始的数 如:0X0D, 0XFF, 0x4e
一般情况下,符号常量名用大写、变量用小写。 一般情况下,符号常量名用大写、变量用小写。
3、符号常量的声明和使用 一般放在程序的前端, <…>在一块: 一般放在程序的前端,与#include < >在一块: #define 符号常量名 值 如:#define Zero 0 好处: 好处: 含义清楚 (#define Second 60) (#define (#define 一改全改 (#define PI 3.14)
3. 整型变量的溢出
main(){ i,j; int i,j; unsigned k,l,m; k,l,m; i=32767 32767; i=32767; j=i+1 j=i+1; l=65535 65535u l=65535u; m=l+2 m=l+2; printf("j=%d\n",j); printf("j=% n",j); printf("l=% n",l); printf("l=%u\n",l); printf("m=% n",m); printf("m=%u\n",m); }
3.2、整型变量 整型变量的分类:加上不同的修饰符 1 . 整型变量的分类 : 加上不同的修饰 符 , 整型变 量有以下几种类型; 量有以下几种类型; C 语言标准没有规定整型变量在计算机内存中所 占的字节数,它与具体的机器和操作系统有关: 占的字节数,它与具体的机器和操作系统有关:
C语言详解-表达式和语句
C语⾔详解-表达式和语句1. 什么是表达式?C语⾔中的表达式⼀种有值的语法结构,它由运算符将变量、常量、函数调⽤返回值结合⽽成。
1.1 变量变量名本⾝是⼀个表达式,表达式的值是变量当前的值。
复杂的表达式由[], ->, ., 和单⽬运算符*构成。
1.2 常量常量名本⾝是⼀个表达式,字⾯常量也是表达式。
对于这两者,表达式的值是常量当前的值。
1.3 函数调⽤对于返回值不为void的函数,对它的正确调⽤也是表达式。
表达式的值为函数的返回值。
1.4 操作符运算符⽤于连接表达式中的值。
以下是C语⾔中的运算符,运算符的优先级,及运算符的结合顺序OrderCategory Operator Operation Associativity1Highest precedence( )[ ]→: :.Function call L → RLeft to Right2Unary!~+-++- -&*Size of Logical negation (NOT)Bitwise 1’s complementUnary plusUnary minusPre or post incrementPre or post decrementAddressIndirectionSize of operant in bytesR → LRight -> Left3Member Access.*→*DereferenceDereferenceL → R4Multiplication*/%MultiplyDivideModulusL → R5Additive+-Binary PlusBinary MinusL → R6Shift<<>>Shift LeftShift RightL → R7Relational<<=>>=Less thanLess than or equal toGreater thanGreater than or equal toL → R8Equality==!=Equal toNot Equal toL → R9Bitwise AAND&Bitwise AND L → R 10Bitwise XOR^Bitwise XOR L → R 11Bitwise OR|Bitwise OR L → R 12Logical AND&&Logical AND L → R 14Conditional? :Ternary Operator R → L15Assignment=*=%=/=+=-=&=^=|=<<=>>=AssignmentAssign productAssign reminderAssign quotientAssign sumAssign differenceAssign bitwise ANDAssign bitwise XORAssign bitwise ORAssign left shiftAssign right shiftR → L>>=Assign right shift16Comma,Evaluate L → R1.5 实例/* 变量常量表达式 */asum10.5PI/* 算术表达式 */a + ba -b + ca *b + 'A'a /b -c + 10i++ + i++ + ++i/* 赋值表达式 */a = ba *=b += 20a =b =c = 10a = (b=4) / (c=2)/* 逗号表达式 */1+2, 3+4(10, a*5), a+10/* 关系表达式 */x == yx <= yx != y/* 逻辑表达式 */10 && 200 || 1(a>b) && (!0)/* 复合表达式 */x = ( y = (a + b), z=10)/* 表达式的应⽤ */if( !100 ) //!100为逻辑表达式printf("expression show!");for(int i=10; i<10; i++)//for包含3个表达式,分别为i=10 i<10 i++printf("expression show!");while( 1 ) //1也是⼀个表达式{printf("death loop!");}2. 语句语句指的是当程序运⾏时执⾏某个动作的语法结构。
C语言第3章(谭浩强)
void main( ) { int a,b,c,d; unsigned u; a=12;b=-24;u=10; c=a+u;d=b+u; printf(“a+u=%d,b+u=%d\n”,c,d); } 运行结果:a+u=22,b+u=-14 结论:不同类型的整型数据可以进行算 术运算。
位数 16
取值范围 -215-(215-1) -32768—+32767 -32768—+32767
Short [int] Long [int]
短整型 长整型
16 32
16 16 32
Unsinged int 无符号整型 Unsinged short [int] Unsinged long [int] 无符号短整 型 无符号长整 型
8
④大写字母与小写字母意义不同, 被认为是两个不同的字符。一般变 量名用小写字母表示。 注意:常量名常用大写、变量名常 用小写!
year Day a_12 _abcdef #123 .com $100 1999Y a=b 1_2_3 +abcedfghi ∏ -5 等
9
3、变量要先定义后使用
可以改为double型) void main( ) {float x;double y; x=123456.789;y=123456.789; printf(“%f, %f”,x,y);} 结果为: 123456.789062, 123456.789000
29
§3.5
字符型数据
一、字符常量 1、在C语言中字符型常量是用单引号括 起来的一个字符。 如:’a‟、’A‟、’3‟、’?‟、’ ’、 ’$‟等。 2、以‚\”开头的转义字符,如\n不代表 字母n,而是代表换行。
c语言第3章 数据类型及表达式
•除 当除号两边都是整型量时,叫做整除 整除, 当除号两边都是整型量时,叫做整除,运算结果只保 留整数部分。 留整数部分。 当除号任何一边有实型量时,运算结果是实数。 当除号任何一边有实型量时,运算结果是实数。 #include <stdio.h> main() main() { float div; div=1/2; printf( %f %f\ ,div); printf(“%f\n”,div); }
–规则: 规则: 规则
–见名知意 见名知意 –不宜混淆 不宜混淆
请指出下列标识符的正误: 请指出下列标识符的正误: main、count、!count、new、5abc、if、do、L_5、who、a123、 main、count、!count、new、5abc、if、do、L_5、who、a123、 _A、_123、c#、 _A、_123、c#、r-3、printf
h e l l o , w o r l d \0 • 注意: 注意: 字符常量和字符串常量是两个不同的概念 字符常量和字符串常量是两个不同的概念
char ch; ch=‘A ; ch= A’; char ch; ch=“A ;// ;//错误 ch= A”;//错误
A
\0
\0
3.7 字符型数据
3.7.3 字符型变量
3.3 常量
常量 • 定义:程序运行时值不能改变的量,即常数。 定义:程序运行时值不能改变的量,即常数。 • 分类: 分类: 符号常量: 符号常量:用标识符表示具体值 • 定义格式: 定义格式: • 一般用大写字母 直接常量: 直接常量:直接写出具体值 • 整型常量 • 实型常量 • 字符常量 • 字符串常量 常量值 #define 标识符 常量值
C语言程序设计 第2章 数据类型
2.2常量和变量 变量名与变量值的关系:
2.2常量和变量
变量的使用:先定义后使用
变量定义的一般形式:
数据类型 变量名1,变量名2,…,变量名n;
2.2常量和变量
➢ 凡未被事先定义的,系统不把它认作变量名,这就 能保证程序中变量名使用的正确
例:varname,在使用的时候误写成vaname
➢ 在定义变量时要指定变量的类型,在编译时就能为 变量分配相应的存储单元
5
2.2常量和变量
甘草 三七 干姜 葛根
枸杞 人参 陈皮 地黄
山药 当归 谷芽 黄连
贴上标签 加以区分
用标识符给变量起名字
2.2常量和变量 变量命名规则
➢ 只能由字母(a~z,A~Z)、数字(0~9)和下划线(_)构 成
➢ 第一个字符不能为数字 ➢ 不能与关键字同名
例:a9,_a, A_num √ 9a, a*num,int ×
控制语句:控制语句用于控制程序的流程。 C语言提供三类控制语句: ➢ 选择语句 ➢ 循环语句 ➢ 转移语句。 控制语句会在第三章和第四章详细介绍。
2.7 表达式与语句
复合语句: 复合语句由一对大括号括起来的一 条或多条语句组成。 例:{
turnOn(0,3); turnOn(0,4); turnOn(0,5); turnOn(1,4); }
2.7 表达式与语句
表达式语句:表达式末尾加上“;”就构成一条 表达式语句。 例:
s = 3.14 * r * r; 就是一条赋值表达式语句。表达式语句最后的 分号是语句中必不可少的一部分。
2.7 表达式与语句
函数调用语句:函数调用语句由函数调用加分 号构成。 例:
turnOn(1,1);
C语言(常量、变量及表达式).ppt
+ + * /
取原值 取负值 加法 + 减法 乘法 * 除法 /
注:避免除数为0
模
%
对于整数,则为整除,余数舍去; 实数则不然。 例: 1/3*3=0 1.0/3.0*3.0=1.0 整除取余 (只适用于整数) 分子>分母 ,结果=余数。例: 12%5 分子<分母 ,结果=分子。例: 2%5
注意:C 语言中乘法、除法运算符的表示与数学中的表示不同。 ( 乘法不 能写成mn, m ×n, m· n ;没有乘方运算符。 除法不能写成m ÷n)
1
8 char
2 16 short [int] 2 16 int 4 32 long [int] 1 8 unsigned char
型 无 符 号 实 带 符 型 号
2 16 unsigned short [int] 0~65535 2 16 unsigned int 4 32 unsigned long [int] 4 32 float 8 64 double
5、表 —— 变量的数据类型、字节长度、位数、数据范围
符 号
带 符 整 号
字 节
位 数
数据类型标识符
数据范围
-128~127 -32768~32767 -32768~32767 0~255 0~65535 0~4294967295 -27~27-1 -215~215-1 -215~215-1 -231~231-1 0~28-1 0~216-1 0~216-1 0~232-1 10-38~1038 10-308~10308
2、实型变量:
表示实型数据(实数)的变量。
单精度型:float 变量名 双精度型:double 变量名 4个字节。 8个字节。
C语言第02章 数据类型、运算符与表达式
回到 首页
运算符和结合性 P325,附录3
2.8 算术运算符和算术表达式
3、自增、自减运算符
自增运算符++和自减运算符--均是单目运算符, 功能是使变量的值增1或减1。其优先级高于所有 双目运算符,结合性为右结合性(自右至左)。
回到 首页
例如:++i或i++ 等价于i=i+1; --i或i-- 等价于i=i-1;
2.7数值型数据之间的混合运算
回到 首页
1、整型、实型、字符型数据之间可以混合运 算
整型(包括int,short,long)和实型(包括float,double)数据可 以混合运算,另外字符型数据和整型数据可以通用,因此,整 型、实型、字符型数据之间可以混合运算。 例如,表达式10+'a'+1.5-8765.1234*'b'是合法的。
2.9赋值运算符和赋值表达式
1、赋值运算符和赋值表达式
赋值运算符:“=”为双目运算符,右结合性。 赋值表达式:由赋值运算符组成的表达式称为赋值表达 式。 赋值表达式一般形式: 变量 赋值符 表达式 如 a=5 类型转换:将高精度的数据类型赋值给低精度的数据类 型,可能出错。
回到 首页
2.9赋值运算符和赋值表达式
2.8 算术运算符和算术表达式
3、自增、自减运算符
回到 首页
y=++x;等价于先计算x=x+1(结果x=6),再执行y=x,结果y=6。 y=x++;等价于先执行y=x,再计算x=x+1,结果y=5,x=6。 y=x++*x++;结果y=25,x=7。x++为后缀形式,先取x的值进行“*” 运算,再进行两次x++。 y=++x*++x;结果y=49,x=7。
c语言
第一章1,整型常量(整常数):占2个字节;定点实数(一般形式的实数)2,实型常量(只用十进制数) 浮点实数(带指数的实数):它由前置数,小写字母e 或大写 E ,指数 三部分组成:33310e 1e 正确,表示错误,(占用4个字节 有效数字是7位,12.3456789=12.34567)常 3,字符型常量(用单引号括起来的单个字符) ‘a ’ ‘2’ ‘*’‘!’量 转义字符常量:\n \0 \f 区分字母大小写‘a ’与‘A ’ (在内存中均占一个字符) 是不同的字符常量4,字符串常量(用双撇号括起来的若干个字符序列) “a ”“xyz ”字符串的长度为串中字符的个数,但是在内存中所占的字节数比长度多1, 因为‘\0’还占一个字节(‘a ’是字符常量占一个字节,而“a ”占两个字节('\0'占一个)'\0'是个空操作字符,输出时不含'\0'。
变量的主要作用时存放响应的常量(字符串常量是用字符数组来存放的)标识符(变量名:字母,数字,下划线)不能与专有名词重复,大小写不同Max 与max 是不同变量整型变量:int 基本整型 long 长整型 short 短整型(占2字节)(占4字节)实型变量:float 单精度实型 double 双精度变 类型 (系统分配4字节的存储空间)(占8字节)量 说明符(类型名) 字符型变量:char 占1字节char ch1='a' ,ch2='a';不能写成char ch1=ch2='a'双目运算符:+ - * / %(求余)/ 两整数相除其商为整数(取商的整数部分) 1/2结果为0% 两边的运算对象应为整数,其余数也为整数2mv 21写成0.5*m*v*v 或1.0/2*m*v*v 或m*v*v/2.0不要写成1/2*m*v*v 因为1/2结果为0算术运算符 c 中允许不同类型的量混合运算1,隐式转换(系统自动转换)2,显式转换(强制类型转换)单目运算i++,i--(使用i 值之后,是变量i 的值加1或减1)++i ,--i (在使用i 之前,先使i 值加1或减1)int i=5,j;J=i++ 得到j=i,再执行i++赋值运算符复合赋值:a+=b a=a+ba*=b a=a*ba%=b a=a%b!(逻辑非) &&(逻辑与) ||(逻辑或)单目 双目逻辑运算符用它将若干个表达式连接起来就形成了逗号表达式X = 3 + 5 , 4 + 6赋值表达式算术表达式结果为4+6的值10逗号表达式逗号运算符(a=5,a+8),a*4 由逗号表达式(a=5,a+8)和算术表达式a*4构成逗号表达式,整个表达式值为a*4的值即20X=3+5,4+6 和x=(3+5,4+6)逗号赋值结果都为10=的优先级大于逗号的优先级第二章一、赋值语句的功能是把表达式值算出后赋给变量二、字符输入/输出函数getchar:只能接收一个字符变量=getchar()圆括号内无参数Char ch:执行“ch=getchar();”时暂停程序的执行出现一个闪动的光标,键入一个字符后,程序继续向下运行若键入1234 则ch='1'putchar(c):c可以是:1,字符常量或已有值的字符变量2,整型常量或已有值的整型变量3,整型表达式换行putchar('a');putchar('\n');putchar(97);结果:aa程序中若出现getchar(),putchar()等函数时,前面须写”包含命令“#include<stdio.h>三、格式输入、输出函数printf("格式控制字符串",输出数据表列);%d 十进制整型格式%f 实型格式%c 字符型格式实际长度输出%md 指定长度输出若m大于输出数的位数则在输出数的前面补空至m位若m小于输出数的位数则按实际位数输出,即m失效%f 实型格式float x=234.567890printf("%10.3f\n",x);结果为———234.567(结果中的—代表一个空格符)%10.3f 指整个输出10位(含小数点一位,小数3位)%f 系统指定输出长度,整数部分全部输出,并输出六位小数,单精度除外,因为它的有效位数为7位若有定义语句:char ch1='a',ch2='b',ch3'c';printf("%c%c%c\n",ch1,ch2,,ch3);结果为abcscanf("格式控制字符串",输入对象地址表列)Scanf("%2d,%3d,%4d",&a,&b,&c);1,scanf函数输入实型数据时不能规定精度Scanf("%7.2f",&x) 是错误的2,scanf格式控制字符串后面对应的是”变量地址“而不是变量名3,“%c”格式输入时只能接收一个字符Scanf("%c%c%c",&ch1,&ch2,&ch3);程序结构表达式值为0代表“假”;表达式值非0代表“真”设x是一个整数,若!X值为0,则x值为非0,不能简单的说x值为1,因为非0也包含11,if (a<b){m=a;a=b;b=m;} 复合语句2,if (a<b)m=a,a=b,b=m; 逗号语句1,2等价If和(表达式)及语句s之间要留空(一个即可)常量,变量和函数也是表达式,他们是表达式的特例;If (3)语句s;if(a)语句s,等均为正确的if语句;实行运算中,常量尽可能的写成小数,如23写成23.0 减少系统类型转换时间条件运算符“?:”为条件运算符表达式1?表达式2:表达式3C中唯一一个三目运算Eg:w=p<=20.0?0.0:(p-20.0)*0.5;Y=x<0-1:(x==0?0:1);A b 两数求最大数值max,也可以用Max=a>b?a:b;等价于if (a>b) max=a;else max=b;SwitchSwitch(表达式){case 常量表达式1:语句1;break;Case 常量表达式2:语句2;break;Case 常量表达式3:语句3;break;、、、、、、、、Default :语句组n+1;}Eg:main(){int x,,i;char ch;Scanf("%d",&x);I=x/10;Switch(i)case 10:ch='A';break;Case 9:ch='B';break;Case 8:ch='C';break;case 7:ch='D';break;Case 6:ch='E';break;Default :ch='F';}Printf("%d--%c\n",x,ch);}Main(){int a=1,b=0;Switch(a){case 1:switch(b){case 0:a++;b++;Case 1:a++;break;Case 2:b++;}Case 2:a++;b++;break;Default:a++;}Printf("a=%d,b=%d\n",a,b);}程序的执行过程是这样的:最外层switch中表达式a等于1,执行case1后面的switch(b),表达式b等于0;执行a++,b++和case1后面的a++,终止里层switch,继续执行外层case2后面的“a++;b++”,终止外层switch,最后输出结果。
C语言第03章--数据类型和表达式
char int
ch = 'a'; i = 1;
17
变量的属性
例:
int sum=10; 类型
内存存放说明: 内存存放说明: 存放说明 变量名 1001 sum 10 变量值
存储单元的地址
二、 变量
命名规则 在C中变量名 函数名 文件名 数组名 等均称标识符 变量名, 函数名, 文件名, 数组名, 变量名 标识符 (identifier), 可由字母 数字 下划线 字母,数字 下划线组成,且第一个必 字母 数字和下划线 须为字母或下划线 字母或 字母 下划线,前8或32个有效。 注意: 字母大小写敏感; 注意 字母大小写敏感 不可用关键字; 不可用关键字 不可出现空格; 不可出现空格 见名知意; 见名知意 如: a1与A1为不同的变量名 如: int, for, if 等 如: stu 1, a 1等 如: sum, sort 等
e前必须有数 前必须有数 字,e后必须 后必须 有整数
合法:0.123、.123、123.0、123.、0.0 合法: 、 、 、 、 错误: 错误 - 2.0e2.5 e8
(3)字符常量 字符常量 —— 用单引号括起来的一个字符或转义字符 括起来的一个字符或转义字符 一个字符或转义字符. 例: ‘A’, ‘o’ , ‘1’, ‘#’, ‘a’ 等
float
必转
char, short long unsigned int 低
double 高
自动类型转换
34
例:
若:i 为 int , f为float ,d 为 double e 为long
字节数
c语言常量表达式
c语言常量表达式C语言中常量表达式是指在编译时就能确定值的表达式,常用于定义常量、数组长度、枚举值等。
常量表达式在编译时就被计算,可以提高程序的效率和可读性。
常量表达式可以使用任何C语言中的常量和运算符,包括整型、浮点型、字符型、枚举、sizeof、_Alignof等。
以下是常用的常量表达式:1. 整型常量表达式整型常量表达式由整型常量、运算符、括号组成,例如:const int a = 5;const int b = 2;const int c = (a + b) * 3;在上面的例子中,c的值为21,因为(a+b)*3=21。
2. 浮点型常量表达式浮点型常量表达式由浮点型常量、运算符、括号组成,例如:const float pi = 3.14f;const float r = 2.0f;const float area = pi * r * r;在上面的例子中,area的值为12.56f,因为pi*r*r=3.14f*2.0f*2.0f=12.56f。
3. 字符型常量表达式字符型常量表达式由字符常量、运算符、括号组成,例如:const char ch1 = 'a';const char ch2 = 'b';const char ch3 = ch1 + ch2;在上面的例子中,ch3的值为'ab',因为ch1+ch2='a'+'b'='ab'。
4. 枚举常量表达式枚举常量表达式由枚举常量、运算符、括号组成,例如:enum color {RED, GREEN, BLUE};const int a = RED;const int b = GREEN;const int c = a + b;在上面的例子中,c的值为1,因为a+b=0+1=1。
5. sizeof常量表达式sizeof常量表达式用于计算变量或类型的大小,例如:const int a = 5;const int b = sizeof(a);在上面的例子中,b的值为4,因为int类型占4个字节。
