数据类型及表达式汇编

上传人:我** 文档编号:115987973 上传时间:2019-11-15 格式:PPT 页数:35 大小:1,006.50KB
返回 下载 相关 举报
数据类型及表达式汇编_第1页
第1页 / 共35页
数据类型及表达式汇编_第2页
第2页 / 共35页
数据类型及表达式汇编_第3页
第3页 / 共35页
数据类型及表达式汇编_第4页
第4页 / 共35页
数据类型及表达式汇编_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《数据类型及表达式汇编》由会员分享,可在线阅读,更多相关《数据类型及表达式汇编(35页珍藏版)》请在金锄头文库上搜索。

1、第二章 C语言的基本数据类型与表达式 2.1 数据的存储和基本数据类型 由于计算机会对不同类型的数据分配不同的存储空间,同一类型 的数据在计算机中占用的长度也会因计算机字长不同而异,因此 计算机采用不同的方式处理不同类型的数据,C语言的数据类型可 归纳如下: 2.1.1 整型数据 整数类型数据即整型数据,它没有小数部分的数值. 整型数据又分为:基本型(int)、短整型(short int)、长整型(long int )、无符号(unsigned) 其中无符号是存储单元中全部二进制用来存放数据本身,不包含符 号位,又可分为无符号整型,无符号长整型,无符号短整型. 有符号整型 修饰符 数据长度 取

2、值范围 int4B-232,232-1 Short int2B-32768,32767 Long int4B-232,232-1 unsinged4B0,232-1 Unsinged short int2B0,32767 Unsinged long int4B0,232-1 int a=8; int light=100; 2.1.2 字符型 C语言的字符类型数据表示是用单引号括起来的一个 字符,如:S,t, 8,也称字符常量 每个字符在内存中占一个字节(8位),用于存储它的 ASCII码,所以C语言中的字符具有数字的特征,可以用数 字来表示字符。 char 字符具有数值特征 A 65 0100

3、 0001 整型变量和字符变量的定义和赋值可以互换 char c; c = A;或c = 65; 注意:【 ASCII码范围 】 字符的数值特征 字符ASCII 码 对字符进行运算 对字符的ASCII 码进行运算 例如: A 的 ASCII 码 65 则:A+1=66,对应字符 B 区分数字字符和数字 1 1 转义字符 有一些字符,如回车,退格等到控制码,不能在屏幕上 显示出来,也无法从键盘输入,所以通过转义字符来表 示,转义字符是反斜杠后跟一个字符或数字字符常量来 表示,如下代表一个字符 如: n t 101 x41 所有字符都可以用转义 字符表示 字符类型-字符串 C语言中,字符串是用一对

4、双引号括起来的一字符序列 ,如; “henan xinyang” ”how are you!” 注意:a和”a”是不同的,前者是一字符,后者是一字 符串。 字符型数据类型的标识符是char,字符型数据在内存中 占一个字节,ASCII的码值为0127,其中32-126是 可打印出来的字符,其它是不可打印字符。 2.1.3 基本数据类型实型 实型(浮点型)数据 单精度浮点型 float 双精度浮点型 double C语言中,实型数据有两种表达形式: (1)十进制表示形式,由整数部分和小数部分组成,如:3.124。 (2)指数形式,如51.4E3代表51.4103,12E-4代表1210-4,字母

5、E(e)后面的指数必须为整数,之前必须有数字。 E8、4.6E+2.7 、6e 、5.74e-7、39e+6; 类型关键字字节数取值范围有效数字 单精度浮点型 float4B-3.4*10-383.4*1038 6-7位 双精度浮点型 double8B-1.7 *10-3081.7*1030815-16位 数据精度和取值范围 数据精度 与 取值范围是两个不同的概念: float x = 1234567.89; 虽在取值范围内,但无法精确表达。 float y = 1.2e55; y 的精度要求不高,但超出取值范围。 并不是所有的实数都能在计算机中精确表示 实型常量的类型都是double 123

6、4567.80 C语言中的数据有常量和变量之分: 常量是指在程序运行之中,其数值不能被改变的量; 变量是以某标识符为名字,其值是可以改变的。 2.2.1 常量(符号常量、整型常量、实型常量、字符型常量) 常量的类型通常由书写格式决定 123 (整型常量) 4.56 (实型常量) A (字符常量) 符号常量:用一个标识符代表一个常量,定义如下: #define 标识符 常量数据 如:#define PI 3.1415 2.2 常量和变量 符号常量标识标识 符名通 常用大写字母 符号常量的优点 # include void main() double r, s, v; scanf(“%lf“, s

7、 = 4.0*r*r*3.14 ; v = 4.0/3.0*r*r*r*3.14 ; # include # define PI 3.14 void main() double r, s, v; scanf(“%lf“, s = 4.0*PI*r*r ; v = 4.0/3.0*PI*r*r*r ; 3.14159 3.14159 3.14159 例:求球的表面积和体积 整型常量(整数) 整数的表示 三种表现形式: 十进制整数:正、负号,09,首位不是0 例: 10,123 八进制整数:正、负号,07,首位是0 例: 010,0123 16进制整数:正、负号,09,a-f,A-F,前缀是0x,

8、0X 例:0x10,0x123 123 = 01111011 (B) 二进制 =173 (O) 八进制 =7B (X) 十六进制 不能超出整型数据的取值范围 比长整型数还要大的数只能用实数来表示 判断整数的类型 整数后的字母后缀 123L long 123U unsigned 123LU unsigned long 2.2.2 变量 变量:在程序运行过程中,其值可以被改变的量。变量是以标识符为 名字,标识符是以字母、数字或下划线组成,并且字母或下划线开头 的序列。 变量必须先定义,后使用,定义变量时要指定变量名和数据类型。 变量定义格式如下: 类型名 变量名1(,变量名2,) 如:char n

9、ame; float xk1,xk2,xk3; int num; 变量名代表内存中的一个存储单元,存放该变量的值 该存储单元的大小由变量的数据类型决定 2.2.2 变量 必须先定义,后使用 应该先赋值,后引用 变量的赋值方法 变量赋初值:在定义变量时对它赋值 int a = 5, b = 3; 赋值表达式 int a, b; a = 5; b = 3; 标准格式输出函数PRINTF() printf函数调用的一般形式为: printf(“格式控制字符串”,输出参数表列); 功能:按用户指定的格式,把指定的数据输出到显示器屏幕上。 参数说明: (1)输出表列是要输出的数据,这些数据可以是常量、变

10、量或表 达式,列表间用逗号间隔。 (2)格式控制字符串用双引号括起来,表示输出的格式;格式控 制字符串中包含两种字符,普通字符和格式控制说明。普通字符会 原样输出;格式控制说明以%开头,控制对应输出表列数据的输出 格式。 printf(“a=%d b=%f“, a, b); 1、printf()函数在#include 头文件中; 2、输出参数列表可以没有; 如:printf(“Hello World! n“); 函数名 可选输 出表列 普通 字符 示例: 格式控制说明 表达式:由运算符和运算对象(操作数)组成的有意义的运算式子,它 的值和类型由参加运算的运算符和运算对象决定。 运算符:具有运算

11、功能的符号 运算对象:常量、变量和函数等表达式 算术表达式、赋值表达式、关系表达式、逻辑表达式、条件表达式和逗 号表达式等 2.3 运算符和表达式 2.3.1 算术表达式算术运算符 单目 + - + - 双目 + - * / % 注意 / 整数除整数,得整数 1/4 = 0,10/3 = 3 % 模(求余): 针对整型数据 5%6 = 5,9%4 = 1,100%4 = 0 + 和 单目运算符, +10 和 10 双目运算符, x+10 和 y 10 双目运算符两侧操作数的类型要相同,否则,自动 类型转换后,再运算。 自增运算符+和自减运算符- int n; n+ +n n- -n (只适合变

12、量运算) 使变量的值增1或减1 +n -n 先自增/减,再参与运算; n+ n- 先参与运算,再自增/减 取变量的值作为表达式的值 +n:n = n + 1,取n值作为表达式 +n 的值 n+:取n值作为表达式 n+ 的值,n = n + 1 n=2; 3+(-n) 3+n- +n+7 (n+)+7 算术运算符的优先级和结合性 单目 + - + - 双目 * / % 双目 + - 高 低 -5 + 3%2 = (-5) + (3%2) = -4 3 * 5 % 3 = (3*5) % 3 = 0 -i+ -(i+) 数学式 C算术表达式 8+12 a+52 s*(s-a)*(s-b)*(s-c

13、) 2.3.2 赋值表达式 赋值运算符 = x = 3*4 优先级较低,结合性从右向左 x = y = 3 相当于 x=(y = 3) 赋值表达式 变量名 = 表达式 计算赋值运算符右侧表达式的值 将赋值运算符右侧表达式的值赋给左侧的变量 将赋值运算符左侧的变量的值作为表达式的值 右侧侧表达式的类类型自动转换动转换 成左侧变侧变 量的类类型 int n; double x, y; n = 3.14 * 2 x = 10 / 4 x = (y = 3) 复合赋值运算符 赋值运算符 简单赋值运算符 = 复合赋值运算符 复合算术赋值运算符 += -= *= /= %= 复合位赋值运算符 赋值表达式

14、变量 赋值运算符 表达式 x += exp 等价于 x = x + exp x *= y 3 相当于x = x * (y-3) 2.3.3 关系表达式关系运算符 比较两个操作数,比较的结果:真(1) 假(0) x = y x != y 优先级 算术运算符用 用关系运算符将2个表达式连接起来的式子 = = != 赋值运算符 左结合 a b = c d = a b ch a + 1 d = a + b c 3 b) ch (a + 1) d = (a + b) c) (3 b ) z = a; else z = b; x+2 x0 y = x2 x0) ? x+2 : x*x; 2.3.6 逗号表

15、达式 表达式1, 表达式2, , 表达式n 先计算表达式,然后计算表达式,,最后计算表达式n的值, 并将表达式n的值作为逗号表达式的值. int a, b, c; (a=2), (b=3), (c=a+b); 逗号运算符的优先级最低,左结合 求字节运算符 Sizeof(变量名)或Sizeof(类型名) Sizeof(float) a=2, b=3, c=a+b 运算符的优先级和结合性 ( ) ! - + + - (类型名)sizeof * / % +- = = != int b; b=a; 输出b=? 6.4.2 强制类型转换 2.4 类型转换 2.4.1 自动类型转换(非赋值运算) 水平方向:自动 垂直方向:低 高 高 double float unsigned long long unsigned unsigned short 低 int char, short 自动类型转换(非赋值运算) A + 12 10.05 65 77 66.95 变量 = 表

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号