第2章_数据类型、运算符和表达式

合集下载

第2章 c语言基本数据类型、运算符和表达式

第2章 c语言基本数据类型、运算符和表达式
负整数的补码是①将此数绝对值的二进制形式(原码);②除最高位符号位外其他数取反 (反码);③加1(补码)。 -5的补码:
1000000000000101
1111111111111010
1111111111111011
整型数据所分配的字节数及数的表示范围(16位系统)
整型数据类型
[signed ]int unsigned [int] [signed] short [int] unsigned short [int] [signed ]long [int] unsigned long [int]
制和十六进制只是整型数值的三种表现形式而已。 整型常量类型的确定:根据值大小默认类型。 整型常量后面加后缀1或L,则认为是long int型。 无符号数也可以用后缀表示,整型常数的无符号数的后缀为“U”或“u”。 注意:在程序中是根据前缀来区分各种进制数的。因此在书写时不要把前缀弄错造
成结果不正确。
缺省形式的 整型数据类型
int unsigned short int unsigned short int long int unsigned long
字节数
取值范围
2
-32768~32767(-215~215-1)
2
0~65535
2
-32768~32767(-215~215-1)
2
0~65535(0~216-1)
3.字符型常量
字符常量是用单引号括起来的一个字符。它有二种形式:可视字符常量、转义字符常量。 (1)可视字符常量:单引号括起来的单个可视字符。
大多数字符常量都可以通过加单引号的方式表示,但有些特殊字符,如单引号本身和有些不 可见的特殊字符,就无法通过这种方法表示,为了解决这一问题,C语言引入了“转义字符”。

C语言教程课件第二章 数据类型、运算符和表达式

C语言教程课件第二章 数据类型、运算符和表达式

例 整型变量的定义与使用
#include <stdio.h> void main() { int a,b,c,d; /*指定a、b、c、d为整型变量*/ unsigned u; /*指定u为无符号整型变量*/ a=12;b=-24;u=10; c=a+u;d=b+u; printf("a+u=%d,b+u=%d\n",c,d); }
例 向字符变量赋以整数。 • 运行结果: #include <stdio.h> a b void main() 97 98 { char c1,c2; c1=97; c2=98; printf("%c %c\n",c1,c2); printf("%d %d\n",c1,c2); }
• 说明:在第4和第5行中,将整数97和98分别赋给c1和c2,它 的作用相当于以下两个赋值语句: c1='a';c2='b'; 因为'a'和'b'的ASCII码为97和98
• 字符型变量用来存放字符常量,注意只能放一个字符。 • 字符变量的定义形式如下:char c1,c2; • 在本函数中可以用下面语句对c1,c2赋值: c1='a';c2='b'; • 一个字符变量在内存中占一个字节; • 将一个字符常量放到一个字符变量中,是将该字符的 相应的ASCII代码放到存储单元中,这样使字符型数据 和整型数据之间可以通用。一个字符数据既可以以字 符形式输出,也可以以整数形式输出。
运行结果: total=300 例2.1 符号常量的使用 #define PRICE 30 #include <stdio.h> void main ( ) 说明:如再用赋值语句给PRICE赋值是错的 { PRICE=40;/*错误,不能给符号常量赋值*/ int num, total; num=10; total=num * PRICE; printf(″total=%d\n ″,total); } 说明: 程序中用#define命令行定义PRICE代表常量30,此后凡在 本文件中出现的PRICE都代表30,可以和常量一样进行运算

第二章+数据类型、运算符和表达式

第二章+数据类型、运算符和表达式
2019/7/20
格式项的一般形式为:
%[附加格式] 格式控制符
方括号中的内容可以缺省。
附加格式控制
含义说明
l(小写字母)
m
数据最小输出宽度(一个具体正整数)
.n(一个具体 对实数,表示输出几位小数;对字 正整数) 符串,表示截取的字符个数
-(负号) 输出的数据域内向左对齐
+(正号) 要求正数和0带正号输出,负数带符 号输出
变量的定义 格式为: 类型 变量列表;
可同时定义多个同类型的变量,之间用逗 号分隔。 变量的初始化 1. 变量定义时:格式为 类型 变量名=常数; 2. 变量定义后:通过赋值语句实现
2019/7/20
变量的作用域:变量能够起作用或者 可以被使用的程序范围。由定义的位 置决定
1. 局部变量:在函数内部定义的变量, 只在其定义的某个函数或复合语句范 围内有效。
3) 例题分析:example25
2019/7/20
4. 寄存器变量:程序运行时存储在CPU寄 存器中的变量,只用于局部变量,要求 是整型和字符型变量。说明符“register”
5. 外部变量:表示该变量可以在程序中的 任何地方使用,包括定义此变量的源文 件之外,作用域为整个工程。只能用于 全局变量。说明符为“extern”。
a string”
2019/7/20
注意:“A”与‘A’完全不同,前者是字 符串,后者是字符,它们在内存中的存 贮空间并不相同。 在字符串中使用双引号必须以“\”” 表示。
实例 example22 符号常量:用标识符命名的常量,可代
替常量 在程序中直接使用。 1. 使用C语言中的一个预编译指令#define
整型常量:可以用十进制、八进制和十 六进制来表示。 a.十进制整数:[ ± ]若干各0~9的数字。 如12, 0 ,-234等

数据类型、运算符与表达式

数据类型、运算符与表达式
上一页 下一页 返回
6.1 一维数组
例6.4程序中第一个for语句逐个输入10个数到数组a中,然后把a[0]送 入max中。在第一个for语句中,a[1]到a[9]逐个与max中的内容比 较,若比max的值大,则把该下标变量送入max中,因此max在己 比较过的下标变量中总是为最大者。比较结束,输出的max值即 为10个整数的最大值。
2.5 字符型数据
2.5.1 字符常量
1.字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。例如,'
A','6','+'等。 2.转义字符
C语言还允许使用一种特殊形式的字符常量,就是以反斜杠 “\”开头的转义字符,该形式将反斜杠后面的字符转变成另外的 意义,因而称为转义字符。
下一页 返回
第2章 数据类型、运算符与表达式
2.1 C语言的数据类型 2.2 标识符、常量和变量 2.3 整型数据 2.4 实型数据 2.5 字符型数据 2.6 算术运算与算术表达式 2.7 赋值运算与赋值表达式 2.8 自增、自减与逗号运算
2.1 C语言的数据类型
C语言提供有丰富的数据类型。其数据类型及其分类关系如 图2-1所示。
int i,max,a【10」; printf(”input 10 numbers:\n");
上一页 下一页 返回
6.1 一维数组
for(1=0;1<10;1++) scanf(”%d”,&a[i]);
max=a[0]; for(i=1;i<10;i++)
if(a[i]>max) max=a[i]; printf("maxnum=%d\n",max);
形பைடு நூலகம்输出。

第2章 数据类型运算符和表达式

第2章 数据类型运算符和表达式

(1.5)字符型类型
字符常量
C的字符常量是用单引号(即撇号)括起来的一个字 符。
如: ‘a’,‘x’,‘d’,‘?’,‘$’等都是字符常量。 注意,‘a’和‘A’是不同的字符常量。
特殊字符常量
以反斜杠字符“\”开头的字符序列:
字符形式 \n \t \b \r \f \\ \’ \”
\ddd \xhh
浮点型数据在内存中的存放形式
在常用的微机系统中,一个实型数据在内存中 占4个字节(32位)。与整型数据的方式不同,实 型数据是按照指数形式存储的。系统把一个实 型数据分成小数部分和指数部分,分别存放。 指数部分采用规范化的指数形式。
浮点型数据在内存中的存放形式
在4个字节(32位)中,究竟用多少位来表示小数 部分,多少位来表示指数部分,标准C并无具 体规定,由各C编译系统自定。 不少c编译系统以24位表示小数部分(包括符号), 以8位表示指数部分(包括指数的符号)。
3)在一个整型常量后面加一个字母l或者L,则认为是 long int型。 例如:用预处理指令#define 声明一个常数,用以表明1 年中有多少秒(忽略闰年问题)
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
(1.4)浮点型数据
浮点型常量表示方法
浮点数即平时所说的实数,有两种表示方法:
1)十进制表示:由数字和小数点组成。
如:0.123
12345 0.0
2)指数形式: 如:123e3或者123E3都代表123×103
注意字母e(或E)之前必须有数字,且e后面的指数必须为 整数,如e3、2.1e3.5、.e3、 e等都不是合法的指数形式。
规范化的指数形式:在字母e(或E)之前的小数部分中, 小数点左边应有一位(且只能有一位)非零的数字。 如:1.23456e2

C语言第02章 数据类型、运算符与表达式

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。

第2章数据类型、运算符和表达式

第2章数据类型、运算符和表达式

(2)预定义的标识符 预定义的标识符在C语言中都有特殊含义,如 scanf和 printf 是库函数名,系统中用来作为输入输出函数。用户一般不要用 它们作为自定义标识符。 (3)用户自定义标识符 在程序中使用的变量名、符号常量名、函数名、数组名、类 型名、文件名、标号名等有效的字符序列,除库函数的函数名、 关键字由系统定义外,其余都由用户自定义,统称为用户自定 义标识符。 例如: total,area,_ab,sum,average,student_name,等 都是合法的标识符。 标识符虽然可由程序员随意定义,但标识 符是用于标识某个量的符号。因此,命名应尽量有相应的意义, 以便阅读理解,做到“见名知义”。 变量名要用小写字母,符号常量名要用大写字母。即在标识 符中,大小写是有区别的。例如:A和a是两个不同的标识符。
数据类型 类型说明符 数值范围
整型 int -32768~32767 -215~215-1 0~65535 -32768~32767 -215~215-1
字节
2 2 2 2 4
无符号整型 unsigned int 短整型 short
无符号短整 unsigned short 型 long 长整型 无符号长整 unsigned ong 型
2.2.4 字符串常量
字符串常量是由一对双引号括起的字符序列。例如: "CHINA" ,"C program." , "$12.5" 等都是合法的字符串常 量。字符串常量和字符常量是不同的量。它们之间主要有以下 区别: ①字符常量由单引号括起来,字符串常量由双引号括起来。 ②字符常量只能是单个字符,字符串常量则可以含零个或多个 字符。
3、十进制整常数 十进制整常数没有前缀。其数码为0~9。 以下各数是合法的十进制整常数:237,-568 ,65535 4、整型常数的后缀 在16位字长的机器上,基本整型的长度也为16位,因此表 示的数的范围也是有限定的。十进制无符号整常数的范围为 0~65535,有符号数为-32768~+32767。如果使用的数超过了 上述范围,就必须用长整型数来表示。长整型数是用后缀“L” 或“l”来表示的。例如: 十进制长整常数 158L (十进制为158) 358000L (十进制为358000) 八进制长整常数 012L (十进制为10) 077L (十进制为63) 0200000L (十进制为65536) 十六进制长整常数 0X15L (十进制为21) 0XA5L (十进制为165) 0X10000L (十进制为65536

第2章 C语言,数据类型、运算符和表达式

第2章  C语言,数据类型、运算符和表达式
运算符功能 对运算量(操作数)要求 运算符优先级别 结合方向 运算结果的取值 操作数个数 操作数类型 操作数形式(常量 or 变量) ( )
(C语言运算符总表见教材P26或P325附录C) return 31
C语言程序设计
算术运算符
+ - * / % 功能: 操作数要求: 结合性: 优先级: 注意事项: 算术运算 两个操作数 (当-用作负号时除外) 自左至右(当-用作负号时除外) -(负号) —— * / % —— + - (由高→低) ① 两个整数相除,结果为整数! 例: 3/2=1 ② %要求两个操作数均为整型数据! 且余数与被除数同号!
说明: ① 字符变量中存放的是字符ASCII码值! ② char与int数据间可进行算术运算!
char choice = 'A';
return24
C语言程序设计
字符串常量
字符常量是用双引号括起来的字符序列. 例如: "hello!" , "0" (1) 字符串常量在内存中的存储 (2) 字符串常量.vs.字符常量
整型
浮点型 字符型 说明:
① 数据类型所占字节数随机器硬件不同而不同! ② 可用sizeof(数据类型说明)来计算某一数据类型占内存的字节数! return
C语言程序设计 next part
2. 常量与变量
标识符命名 常量 变量
go go go
6
C语言程序设计
标识符命名
例: 判断下列标识符号合法性
next
ห้องสมุดไป่ตู้
20
C语言程序设计
字符常量
转义字符是用反斜杠\后面跟一个字符或一个八进制或十 六进制数表示的ASCⅡ码值。例如: '\n', '\101' (1) C语言中常用的转义字符 (2) 转义字符使用实例

第2章数据类型、运算符和表达式

第2章数据类型、运算符和表达式

int a,b,c; a=b=c=1;
2019/10/27
C程序设计
26
§2.6 混合运算
整型、实型(单、双精度)、字符型数据间可以混 合运算。如:’a’+2*3.5+6.7*2
规则:不同类型先转换成同一类型,再进行计算
double
float
高 Float型数据在运算时一
律先转换成double型
long
x,y
120,121 说明:字符型数据和整型数据是通用的
2019/10/27
C程序设计
25
§ 2.5 变量赋初值
变量初始化的方法: 1、先定义变量,后赋值
int a,b; a=123;b=456; 2、 定义变量,部分赋值 float a,b=0.5,c; 3、 定义变量赋初值同步 float a=0.1,b=0.5,c=4.3; 注意:变量赋初值时不允许连等 int a=b=c=4; ×
2019/10/27
C程序设计
7
§2.2 标识符
1、标识符的定义 用来标识变量名、符号常量名、函数名、数
组名、类型名、文件名的有效字符序列称为标识 符。简单地说,标识符就是一个名字。
C语言规定标识符只能由字母、数字和下画 线三种字符组成,且第一个字符必须为字母或下 画线。
2019/10/27
C程序设计
无符号短整型: 用 unsigned short 说明
无符号长整型: 用 unsigned long 说明
如: unsigned int c, d;
2019/10/27
C程序设计
20
§2.4 变量
3、整型变量的定义格式
类型说明符 变量名标识符,变量名标识符;

C++程序设计第2章数据类型、运算符和表达式

C++程序设计第2章数据类型、运算符和表达式
空间、所表示的数据 范围和精度、以及所能进行的运算。C++语言的数据类 型大致可分为两类:一类是基本数据类型,另一类是非基 本数据类型。基本数据类型包括整型、字符型、浮点型和 布尔型等。非基本数据类型包括由基本数据类型构造出来 的构造类型、指针类型、引用类型和空类型等。如图2-1 所示。
11
2.2 C++的基本数据类型

不同计算机系统可能存在数据类型的长度不一样可用sizeof(数据类 型)测试某数据类型的字节长度。 cout<<“size of int is”<<sizeof(int)<<endl; 在16位计算机结果:
在32位计算机上输出:
size of int is 2
size of int is 4
3
2.1 保留字和标识符
2.1.1 保留字 C++中保留字(Reserved word)也称为关键字 (Keyword),它们是预先定义好的字符集合,对C++ 编译程序有着特殊的含义。表2-1给出了C++和Visual C++兼容的保留字。 保留字是语言系统的保留成分,编程者不能使用它们作为 自己的变量名或函数名等。
7
2.2 C++的基本数据类型
基本类型 整型 字符型 浮点型 布尔型 枚举类型 数组类型 结构体类型 共用体类型 类类型
数据类型
构造类型
指针类型 引用类型 空类型(void) 图2-1 C++的数据类型
8
2.2 C++的基本数据类型
C++语言的基本数据类型有如下四种: 整型,说明符为int; 字符型,说明符为char; 浮点型(实型),分为float(单精度浮点型),double(双精度 浮点型); 布尔型,说明符为bool。它的值是true和false。 教材中表2-2列出了Visual C++6.0中基本数据类型的情况。 注意:不同数据类型其值域不同,应住这些值域,在程序设计中, 要估计变量的值不应超过这些值域,否则将产生数值溢出现象,产 生编译器无法检测的错误。

C语言教程第2章数据类型、运算符与表达式

C语言教程第2章数据类型、运算符与表达式
const float pi = 3.1425926;
常量只能在定义时赋值,然后不能再改变 其值 常数、 const常量、宏常量和枚举常量, 都可以用来表示一个永远不会改变的数
前者不建议直接使用,而用后三者代替
C语言大学实用教程
2.5 变 量
变量是在程序执行过程中可以改变、可以赋 值的量。
在程序中每一个变量都有一个名子即变量名, 程序对该变量访问(存入、读取)都是通过变 量名进行的。
运行结果: 1234567936.000000
1234567890.000000
}
C语言大学实用教程
2.6 常用运算符及表达式
算术运算符
+,-,*,/,%
加、减、乘、除、求余运算 四则混合运算中,先算乘除,后算加减, 按从左向右的顺序计算,左结合
#include <math.h>
常用的标准数学函数
C语言大学实用教程
#include <stdio.h> /*函数功能:计算两个整数相加之和 入口参数:整型数据a和b 返回值: 整型数a和b之和 */ int Add(int a, int b) { return (a + b); }
2.1 一个简单的C程序例子
/*主函数*/ ) { int x, y, sum = 0;
022、-037 010和10大小不一样 因为八进制并不常用,所以此种表示法比较少见
以“0x”或者“0X”开始的整型常数是十六进 制
A~F和a~f用来表示十进制的10~15
十六进制的形式比较常用,尤其在进行位一级的 控制的时候 0x12、-0x1F, -0x1f
C语言大学实用教程
2.4 常量
字符常量

第2章 数据类型、运算符和表达式

第2章 数据类型、运算符和表达式

2.3.3
实型变量
⒈实型变量的说明 实型变量说明语句的一般形式为: float 变量名表; double 变量名表; 如: float temp; double width; ⒉实型变量的分类
实型变量根据精度及范围分为两类: ⑴单精度浮点型:以float说明; ⑵双精度浮点型:以double说明; double类型变量的精度和范围要比float大,需占用更多的内存。
a是单精度浮点型,其只能保留7位有效数字,当为a赋值为123456789.00时, 超出有效位数的数字89将丢失,a实际得到的值为1234567??,其中前7位是 精确的,而后2位将是随机值。
2.3.4
字符型变量
⒈字符变量的说明 字符变量说明语句的一般形式为: char 变量名表;
如: char c; /* 说明字符变量c */ char ca = „A‟; /* 说明字符变量ca ,且为其赋初值‘A‟ */
⒉字符变量的存储
字符变量一经说明,计算机系统为其分配一个字节,用于存放 这个字符,计算机系统中存储的不是这个字符本身,而是这个字符 对应的ASCII码。 如:char ca = „A‟; 则计算机系统为其分配一个字节,存储字 符‘A‟ 的ASCII码值,即二进制0100 0001(八进制101、十进制65、 十六进制41) 。
short
long unsigned int unsigned short Unsigned long
2
4 2/4 2 4
-32768~32767
-2147483648~2147483647 0~65535/0~4294967295 0~65535 0~4294967295
其中,int和unsigned int在不同的系统中可能用2个字节(TC),也可能用4 字节(VC6.0)为变量分配内存。

C语言知识点:第2章 数据类型、运算符与表达式

C语言知识点:第2章 数据类型、运算符与表达式
C 语言程序设计知识点
主讲教师:杨剑
第 2 章:数据类型、运算符与表达式
1. 本章目标:
理解变量和常量的含义 熟悉基本数据类型 - int、char、float 和 double 使用算术运算符 理解类型转换 使用关系和逻辑运算符
2. 内存如何存放数据
电脑使用内存来记忆计算时所使用的数据 内存如何存储数据? 内存像旅馆.数据各式各样,要先根据数据的需求(即类型)为它申请一块合适的空
23. 复合赋值表达式
24. 赋值表达式和逗号运算符
赋值表达式 a=b=c=5;(从右向左计算) a +=a-=a*a
逗号运算符和逗号表达式 3+5,6+8 a=3*5,a*4
25. 习题
~7~
C 语言程序设计知识点
主讲教师:杨剑
有以下程序
main()
{
char a1=’M’,a2=’m’;
12. 单精度浮点型
float 在 C 语言中用于存储单精度浮点数 float 32 位 10-38 至 10+38 ,7 位有效数字 声明:
float price; 初始化:
float score = 11.3; score = 65.90;
13. 双精度浮点型
double 32 位 16 位有效数字 声明:
const float PI=3.14; S=PI*r*r; //等价于 3.14*r*r const 关键字的作用就是“冻结”一个量,它的值不能被修改,是一个只读(read only) 量。 优点:比数值常量可读性好、修改容易
18. 符号常量 2(宏常量)
还可用宏定义符号常量 语法:#define 符号名 常量值 例: 计算圆的周长时

第2章 数据类型、运算符、表达式

第2章 数据类型、运算符、表达式

第二章 数据类型、运算符、表达式一、数据类型C 语言中的数据类型比别的语言丰富。

基本类型的数据又可分为常量和变量,它们可与数据类型结合起来分类,即为整型常量、整型变量、实型(浮点型)常量、实型(浮点型)变量、字符常量、字符变量、枚举常量、枚举变量。

1、常量与符号常量常量:在程序执行过程中,其值不发生改变的量称为常量。

常量区分为不同的类型,如68、0、-12为整型常量,3.14,9.8为实型常量,‘a ’,‘b ’,‘c ’则为字符常量。

常量即为常数,一般从其字面即可判别。

符号常量:有时为了使程序更加清晰和便于修改,用一个标识符来代表常量,即给某个常量取个有意义的名字,这种常量称为符号常量。

如:#define PI 3.142、变量变量:程序执行过程中其值可以改变的量。

定义方法定义形式:数据类型 变量名1,变量名2,……变量名n ;整型(int )数据类型 基本类型 整型 单精度型(float )字符型(char )长整型(long )短整型(short )实型 双精度型(double )枚举类型(enum )共用体类型(union )构造类型结构体类型(struct )数组类型空类型(void )指针类型(*)如:char ch1, ch2; /* ch1,ch2为变量*/float x, y; /* x ,y 为实型变量*/int a, b, c; /* a,b,c 为整型变量*/在书写变量说明时,应注意以下几点:(1) 允许在一个类型说明符后,说明多个相同类型的变量。

各变量名之间用逗号间隔。

类型说明符与变量名之间至少用一个空格间隔。

(2) 最后一个变量名之后必须以“;”号结尾。

(3) 变量说明必须放在变量使用之前。

一般放在函数体的开头部分。

另外,也可在说明变量为整型的同时,给出变量的初值。

其格式为:类型说明符 变量名标识符1=初值1,变量名标识符2=初值2,...;3、数据在内存中的表示整型数据:以二进制的形式表示(1) int 类型正数: 如 123 (+123)用 16 位二进制(二个字节)表示原码 反码(原码同) 补码(原码同)最大正整数 215-1=214+213+212+211+210+29+2827+26+25+24+23+22+21+20=32767负数:如 –123原码补码(补码加 1)1取反加1 最大负整数-215=32768 因为 -215 < -(215-1) 所以用 -215 而不用 -(215-1)(2) unsigned (int) 类型称为无符号整数,它不是指不带“+ 或 -”号的整数,而是指内存表示这类数时没有符号位,16最大数215+214+213+2122+21+20=65535最小数 0 (3) long (int) 类型用 32 位二进制(四个字节)表示,其他同 int 型(4) short 类型有的计算机(小型、中型、大型机)int 即是 long ,而short 用16 位二进制(二个字节)表示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章 数据类型、运算符和表达式
本章主要内容:
C++的数据类型 基本运算符 自增、自减运算符 表达式语句、空语句
C++语言的字符集
字符是组成语言的最基本的元素。C++语言字符集由字母, 数字,空格,标点和特殊字符组成。在字符常量,字符串常量和 注释中还可以使用汉字或其它可表示的图形符号。 1. 字母:小写字母a~z共26个,大写字母A~Z共26个 2. 数字:0~9共10个 3. 空白符:空格符、制表符、换行符等统称为空白符。 空白符只在字符,常量和字符串常量中起作用。在其它地方 出现时,只起间隔作用,编译程序对它们忽略不计。因此在程序 中使用空白符与否,对程序的编译不发生影响,但在程序中适当 的地方使用空白符将增加程序的清晰性和可读性。 4. 标点和特殊字符(空格,!,#,%,^,&,*,_,<,>,?, \,,等) 2 2012年10月20日5时5

C++语言的字符集
在C++语言中使用的词汇分为六类:标识符,关键字,运算符, 分隔符,常量,注释符等。 1.标识符 在程序中使用的变量名、函数名、标号等统称为标识符。除 库函数的函数名由系统定义外,其余都由用户自定义。C++ 规定, 标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线(_)组成的字 符串,并且其第一个字符必须是字母或下划线,不支持中文符号。 2.关键字 关键字是由C++语言规定的具有特定意义的字符串,通常也 称为保留字。用户定义的标识符不应与关键字相同。
语句 int Var = 10; ++Var; Var++; --Var; Var--; int Var =10, Var1; Var1 = Var++; Var = 11, Var1 = 10 Var = 11 Var = 11 Var = 9 Var = 9 单独执行各语句后变量的值
Var1 = ++Var;

自增、自减运算符
自增、自减运算符: ++和--运算符只能用于变量,不能用于常量。 例1:a = ++b - 5; 相当于:b = b + 1; a = b - 5; 例2:a = b++ - 5; 相当于:a = b - 5; b = b + 1;
2012年10月20日5时5 分 17
自增、自减运算符
2012年10月20日5时5 分 9
常量(Constants)
◇ 字符常量 (Character)
一般的表示方法 八进制 十六进制 转义字符 (用单引号) (用斜线加数字) (用斜线、x加数字) ‘A’, ‘4’, ‘+’,‘ ’ ‘\101’ ‘\x41’ ‘\n’, ‘\r’
2012年10月20日5时5 分
小数表示法 科学表示法 必须含有小数点 1.234, -56.77
利用“E”和“e” 1.2E5, 1.234e-12
后缀表示法(单精度) 后 面 加 “ F ” 或 23F, 2.03f “f” 3.45L, 2.34e-2L 后缀表示法(长精度) 后面加“L”
注意:e后面指数必须是整数,若为正整数时可以省略“+” 号,e前必须有数字。如e3只能代表变量名,而1e3才代表103
10
常量(Constants)
◇ 转义字符
转义字符 名 称 \a 响铃 \b 退格(Backspace键) \f 换页 \n 换行符 \r 回车符 \t 水平制表符(Tab键) \v 纵向制表符 \\ 反斜扛字符 \' 单引号 \" 2012年10月20日5时5 双引号

功能或用途 用于输出 用于退回一个字符 用于输出 用于输出 用于输出 用于输出 用于制表 用在输出或文件的路径名中 用于需要单引号的地方 用于需要双引号的地方
逻辑运算符
逻辑运算的真值表
a 真 真 假 假 b 真 假 真 假 a&&b 真 假 假 假 a||b 真 真 真 假 !a 假 假 真 真 !b 假 真 假 真
例:数学表达式a<x<b, 在C++中应表示为: x>a && x<b
注意:在关系和逻辑运算中,它的表达式的值为0或1,但并不 是只有整数“1”才代表“真”。无论是整数还是实数(正负均 22 2012年10月20日5时5 可),只要是非零,就为真。
符常量在程序中只能引用ቤተ መጻሕፍቲ ባይዱ不能改变其值。
2012年10月20日5时5 分 12
变量(Variable)
变量必须先定义,后使用。定义变量时必须确定 变量的类型。变量名应符合标识符规定。如果在定 义变量时直接为变量赋值,称作变量的初始化。
变量在内存中占据一定的存储单元。变量名的 类型表明存储单元的数量 变量名(符号地址) age

算术运算符
◇ 算术运算符 (Arithmetic operators) 双目: + - * / %(取余) 单目:-(负号运算符) ,+(正号运算符) ++(自增运算符),--(自减运算符) 除法运算符:特别要注意的是两个整数相除,结 果为整数,小数部分被去掉。如32/5=6;4/5=0。 因此要想整数相除得到正确的小数结果,就要将 其转换为实型数。如:32.0/5=5.4;4.0/5=0.8 求余运算符:要求运算符两侧必须为整数。如 a%b(b不能为零)。如32%5=2,4%5=4,12%3=0 16 2012年10月20日5时5
2012年10月20日5时5 分 4
C++语言的字符集
5. 注释符 注释用来解释程序的内容,而计算机将忽略它们。 /*和*/:用于标识多行注释的开始和结束。 //:“//”后所有的字符将被当作注释并忽略(一行)。 注释非常重要,因为它能使你的代码被其他程序员所理解以 及使得改进程序和纠错显得方便。
19 变量值
int age; age=19; 或 int age=19;
2012年10月20日5时5 分
存储单元
13
变量(Variable)
◇ 整型变量的定义 int a, b; short int x; (短整型) long int y; (长整型) int c=123; (定义整型变量c,并初始化为123) ◇ 浮点型变量的定义 float height; (单精度) double radius=1.234; (双精度) long double radius=1.234; (长精度) ◇ 字符型变量的定义 char c1, c2, c3; char ch='A';
八进制
十六进制 长整型 无符号整型
(以“0”开头)
(以“0x”开头) (后面加“L”) (后面加“U”)
023, 0127
0x5e, 0x6A7F 23L 234u, 67U
无符号长整型
2012年10月20日5时5 分
(后面加“U”和 “L”)
345LU, 28ul
8
常量(Constants)
◇ 浮点型常量(实型常量)(Floating Point)
char(字符型)
short int signed short int unsigned short int int int(整型) signed int unsigned int long int signed long int unsigned 2012年10月20日5时5 long int

C++基本数据类型
2012年10月20日5时5 分 3
C++语言的字符集
3. 运算符 C++语言中含有相当丰富的运算符。运算符与变量,函数一 起组成表达式,表示各种运算功能。运算符由一个或多个字符 组成。 4. 分隔符 在C++中起分隔作用的符号有:空格、逗号、Tab键等。空 格多用于语句各单词之间作间隔符。逗号主要用在类型说明和 函数参数表中,分隔各个变量。在关键字、标识符之间必须要 有一个以上的空格符作间隔,否则将会出现语法错误。
(x+y)(x-y)
sin x
2012年10月20日5时5 分
表示为
表示为
(x+y)*(x-y)
sin(x)/(x-y)
19
x y
关系运算符
◇ 关系运算符 (Relational operators) 共有6种 > >= < <= == !=
关系表达式:用关系运算符将算术表达式、关系表达式、 赋值表达式、逻辑表达式、字符表达式等连接起来的式子。 关系表达式的值:是一个逻辑值,即为0和1。当比较后的 结果为真,那么结果为1,若结果为假,则表达式的值为0。 关系运算符常用于分支选择结构。例如: if (num1>num2) max=num1; else max=num2; 注意:a不论为何值,表达式1<a<10的结果都为真 20 2012年10月20日5时5
2012年10月20日5时5 分
5
C++基本数据类型
char 字符型 signed char 字符型 unsigned char 字符型 短整型 短整型 短整型 整型 整型 整型 长整型 长整型 长整型 1 1 1 2 2 2 4 4 4 4 4 4 -128~127 -128~127 0~255 -32768~32767 同上 0~65535 -231~(231-1) 同上 0~(232-1) -231~(231-1) 同上 0~(232-1) 6

逻辑运算符
在进行“逻辑与”或“逻辑或”运算时要注意: 1、(表达式1)&&(表达式2)&&(表达式3)…… 或(表达式1)&&(表达式2)||(表达式3)…… 程序将先求出(表达式1)的值,只要其值为假,则这个表达 式的值为假,因此程序将不再对其后的表达式进行求值运算; 若(表达式1)的值为真,然后再去求后面表达式的值。 2、(表达式1)||(表达式2)||(表达式3)…… 或(表达式1)||(表达式2)&&(表达式3)…… 将先进行(表达式1)的求值,若值为真(非零值),则不管以 后各表达式的值是什么,已经可以确定整个表达式的值为 “真”,将不再进行其余表达式的求值;如果(表达式1)的值为 假,则再去进行表达式2的运算,过程同上。
相关文档
最新文档