C语言中常量变量和表达式

合集下载

C语言程序设计教案第3讲 数据类型、运算符与表达式

C语言程序设计教案第3讲 数据类型、运算符与表达式
12
<
>
2,实型变量的分类
说明: C并没有具体规定每种类型的长度 并没有具体规定每种类型的长度, 说明:ANSI C并没有具体规定每种类型的长度,精度和数值 范围.下面是常用的C 范围.下面是常用的C编译系统的情况 类 型 字节数 有效数字 最小取值范围 float 4 6~7 -3.4*10-38~ 3.4*1038 double 8 15~16 -1.7*10-308~ 1.7*10308 long double 16 18~19 -1.2*10-4932~1.2*104932
8
取反
<
>
2.
整型变量分类
基本类型: 基本类型:int 根据数值的范围分为: , 根据数值的范围分为:int,short,long , 根据有无符号(singed/unsigned)及范围可分: 及范围可分: 根据有无符号 及范围可分
类 型 举例: 举例: [signed] int unsigned [int] [signed] short [int] unsigned short [int] [signed] long [int] unsinged long [int]
C 数 据 类 型
构造类型 指针类型 空类型 void
定义类型 typedef
<
>
2
2.2 常量与变量
一,标识符
定义:用来标识变量名,符号常量名, 定义:用来标识变量名,符号常量名,函数 数组名,类型名, 名,数组名,类型名,文件名的有效字符序 列称为标识符.(即一个名字) .(即一个名字 列称为标识符.(即一个名字) 使用规则
32767,32767,-32768,8
<

3 数据类型、运算符和表达式

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语言详解-表达式和语句

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章(谭浩强)

C语言第3章(谭浩强)
17





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语言的运算符

C语言的运算符
双目运算符
7
==
等于
表达式==表达式
左到右
双目运算符
!=
不等于
表达式!= 表达式
双目运算符
8
&
按位与
表达式&表达式
左到右
双目运算符
9
^
按位异或
表达式^表达式
左到右
双目运算符
10
|
按位或
表达式|表达式
左到右
双目运算符
11
&&
逻辑与
表达式&&表达式
左到右
双目运算符
12
||
逻辑或
表达式||表达式
左到右
双目运算符
整型表达式/整型表达式
双目运算符
4
+

表达式+表达式
左到右
双目运算符
-

表达式-表达式
双目运算符
5
<<
左移
变量<<表达式
左到右
双目运算符
>>
右移
变量>>表达式
双目运算符
6
>
大于
表达式>表达式
左到右
双目运算符
>=
大于等于
表达式>=表达式
双目运算符
<
小于
表达式<表达式
双目运算符
<=
小于等于
表达式<=表达式
单目运算符
--
自减运算符
--变量名/变量名--
单目运算符
*
取值运算符
*指针变量
单目运算符

C语言程序设计 第2章 数据类型

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

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语言常量

c语言常量

C语言常量
1. 常量的概念
在C语言中,常量是指在程序执行过程中其值不会发生改变的标识符,也可以理解为固定的值。

与常量相对应的是变量,变量的值是可以在程序执行过程中进行改变的。

2. 常量的分类
C语言中的常量可以被分为以下几类:
2.1 字符常量
字符常量是由一个字符或者一个转义序列组成的,用单引号括起来。

例如:'a' // 表示一个字符常量
'\
' // 表示换行符
'\\t' // 表示制表符
2.2 整数常量
整数常量是整数的字面值,可以是十进制、八进制或十六进制的形式。

例如:
10 // 十进制整数常量
014 // 八进制整数常量,表示十进制的12
0xA2 // 十六进制整数常量,表示十进制的162
2.3 浮点常量
浮点常量是用来表示实数的字面值,包括普通小数形式和科学计数法形式。

例如:
3.14 // 普通小数形式
6.02e23 // 科学计数法形式,表示6.02乘以10的23次方
2.4 字符串常量
字符串常量是由多个字符组成的,用双引号括起来。

例如: ```。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
<
字符常量
❖定义:用单引号括起来的单个普通字符或转义字符. ❖字符常量的值:该字符的ASCII码值
转义字符及其含义:
转义字符
\n
\v
\r
<
\a \‘
含义 换行 垂直制表 回车 响铃 单引号
转义字符 \t \b \f \\ \“
\ddd 3位8进制数代表的字符 \xhh
含义 水平制表
退格 换页 反斜线 双引号 2位16进制数代表的字符
2字节
…...
分c配ocu指ot定<u<t字<“节<“d的a内dtaa存=ta单”=元”<<<d<adtaa;ta;
< > }}
内存
随机数
整型变量
❖占字节数随机器不同而不同,一般占一个机器字 ❖short≤int≤long ❖可用sizeof(类型标识符)测量
实型变量
❖float:占4字节,提供7位有效数字 ❖double:占8字节,提供15~16位有效数字
地址
char ch=‘A’;
sfl地yo变可ma址量tb执ino定gb行l ‘p义语osiii句ntnnatttte-ixxn3n==tf1y’u,=ynz=ic=n1t1i,ofz;un=2n1字mc;t节iaoinn
ma
编译da程dta序a=t根a(a=据+(a变b+)量*b1定)*.义21;.为2其; c
-2147483648~2147483647
16
0~65535
无 unsigned short
16
0~65535
unsigned long来自320~4294967295
实有 型有
字有
符 型

float double char unsigned char
32
3.4e-38~3.4e38
64
1.7e-308~1.7e308
<>
}
整型常量(整常数)
❖三种形式:
十进制整数:由数字0~9和正负号表示.如 123,-456,0 八进制整数:由数字0开头,后跟数字0~7表示.如0123,011 十六进制整数:由0x开头,后跟0~9,a~f,A~F表示.
如0x123,0Xff
❖整型常量的类型
根据其值所在范围确定其数据类型 在整常量后加字母l或L,认为它是long int 型常量
<
变量
❖概念:其值可以改变的量 ❖变量名与变量值
Ch2_005.c
❖变量定义的一般格式:
数据类型 变量1[,变量2,…,变量n];
❖❖❖变变变决和定数量量量分的初的定配表始使义字示化用位节范:置:数围定:先义例定一时:if义般nl赋ota,放初at合,后在bd值法,ac使函t;标a地;用数识址符开头例int:inat =a1=,2b,b=,c-3=,4c;;
…...
例例12isnftlctao=daaset%tnm{uatbd=,m{ab;e1i,ainnfa9cnli=t(;;o/inaf;t)/n1lIa=(olt;)alt1e/a,/;gUabtd,a=anbdlt2d=aae;ut2;afs;i;neeodf
a floa1t data=3.672字; 节
8
-128~127
8
0~255
说明:数据类型所占字节数随机器硬件不同而不同,上表以IBM PC机为例:
<>
§2.2 常量与变量
标识符
❖定义:用来标识变量、常量、函数等的字符序列 ❖组成:
只能由字母、数字、下划线组成,且第一个字母必须是字母或下 划线
大小写敏感 不能使用关键字
❖长度:最长32个字符 ❖命名原则例::判断下列标识符号合法性
<
字符串常量
❖定义:用双引号(“”)括起来的字符序列
❖存储:每个字符串尾自动加一个 ‘\0’ 作为字 符串结束标志
例 字符串“hello”在内存中
h e l l o \0
例 空串 “”
\0
❖字符常量与字符串常量不同
例 ‘a’ a
“a” a \0
例例:: cchhaarr cchh;; cchh==“‘AA”’;;
见名知s意um Sum M.D.John day Date 3days 不宜混s淆tud如enl与t_In,aom与e0 #33 lotus_1_2_3
char a>b _above $123
<>
常量
❖定义:程序运行时其值不能改变的量(即常数)
❖分类:
符号常量:用标识符代表常量
定义格式: #define 符号常量 常量
第二节 常量,变量和表达式
数据类型 常量与变量 不同类型数据间的转换 运算符和表达式
基本数据类型
类型 符号
关键字
所占位数
数的表示范围
(signed)int 有 (signed)short
16
-32768~32767
16
-32768~32767

(signed)long

unsigned int
32
一般用大写字母 例 符号常量举例(ch2_1.c) 是如宏定义#预d处ef理ine命令P,R不IC是EC语句30
直接常量:
整型常量 > 实型常量 > 字符常量 > 字符串常量 >
#define PRICE 30
main() {
运行结果:total=300
int num,total;
num=10;
total=num*PRICE; cout<<"total=”<<total;
字符例型flo变at量a;
❖字ad=o符u11b变1le1量11b存.;11放1;字符A/*SCaI=I1码11111.1*/ ❖cbh=a1r1与11i1n1t.1数11据; 间可/*进b=行11算11术11运.1算11*/
没有例字符ax串==‘‘变DA’’量;+,5;用字//**符a数=x6=组86;5存+5*;放/ */
<
实型常量(实数或浮点数)
❖表示形式:
十进制数形式:(必须有小数点) 如0.123, .123, 123.0, 0.0, 123.
指数形式:(e或E之前必须有数字;指数必须为整数) 如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5
❖实型常量的类型
默认double型 在实型常量后加字母f或F,认为它是float 型
<>
s=‘!’+‘G’ /* s=33+71; */ Ch2_006.c
例 /*ch2_003.c*/ #define PRICE 12.5 main() { int num=3; float total; char ch1,ch2=‘D’;
宏定义 变量定义
total=num*PRICE; ch1=ch2-‘A’+‘a’;
相关文档
最新文档