当前位置:文档之家› 数据类型及运算

数据类型及运算

注意事项: 注意事项: (1) (1) 变量必须先定义后使用,标准C规定定义语句必须 变量必须先定义后使用,标准C规定定义语句必须 放在所有可执行语句之前; 放在所有可执行语句之前; (2) (2) 每个变量必须且只能被指定为一种类型; 每个变量必须且只能被指定为一种类型; (3) (3) 一般习惯上用小写字母表示变量名, 一般习惯上用小写字母表示变量名, 用大写字母 用大写字母 表示符号常量名,以示区别。(仅是习惯不是规定) 表示符号常量名,以示区别。(仅是习惯不是规定) 6 多个变量间 逗号分隔
内存中存储形式
负数的补码 =反码+1 =原码取反+1
内存中存储形式 10
A B
整型数据在内存中的存储形式
----以有符号 2 字节整型为例 32767(215-1)的 16位编码 原码:01111111 11111111 反码:01111111 11111111 补码:01111111 11111111 内存中存储形式 -32767(1-215)的 16位编码 原码:11111111 11111111 反码:10000000 00000000 补码:10000000 00000001 内存中存储形式
A B
空类型void 3
3.2~3.3(1) 常量与简单变量–以数值型为例
• 常量: 在程序运行中,其值不变的量,如: 23.7, - 67 等。 • 变量: 在程序运行过程中,其值可以改变的量, 在内存中占据一定的存储单元。
变量a 150 50
A B
4
一、两类常量
常数常量和符号常量 常数常量 如-10, 3.14 符号常量: 用标识符表示的常量。符号常量用 预处理(宏定义)命令定义在函数之外。 定义形式: A B
A B
14
(三)整型变量的定义
整型变量的定义形式: 整型类型名 变量名1,变量名2,……,变量名n;
如:int a,b,c;
A B
15
五、浮点型数据
类型
单精度 双精度 长 双精度
类型名
float do字节 8字节 10字节
绝对值范围
3.4*10-38~ 3.4*1038 1.7*10-308~1.7*10308 3.4*10-4932~3.4*104932
INT
√ × “.”不能作标识符 √ × “-”不能作标识符 √ × 不能以数字开头 × 关键字不能作标识符 √
8
A B
四、整型数据
类型
(有符号) 短整型 (有符号) 长整型 无符号 短整型
类型名
[signed] short int 简称 short TC的基本整型 int [signed] long int 简称 long VC的基本整型 int unsigned short int
注意: 语言标识符中大、小字母有区分。 注意:* *C C 语言标识符中大、小字母有区分。 * “ 简单明了 ” 、 “ 见名知意 ” 。 * 命名尽量做到 命名尽量做到 “ 简单明了 ” 、 “ 见名知意 ” 。 7
A B
判断下列用户标识符的合法性:
a1 a_b a-b abc123 3rd_row int
A B
#include <math.h>
函数原型 double log(double x) double log10(double x) double sqrt(double x) 功能 计算 lnx (自然对数) 计算 lgx (常用对数) 计算 x
#include <stdlib.h>
功能 产生一个0到32767之间 int rand(void) 的伪随机整数 用参数seed作随机数种 void srand(unsigned seed) 子,设置伪随机数序列的开 始点 23 函数原型
A B
三、C 语言的标识符 [P28]
标识符: 用来标识变量名、符号常量名、函数名、 数组名、类型名的有效字符序列。 标识符命名规则: ① 由字母、数字、下划线组成,且只能以字母或 下划线开头; ② 关键字不能作为标识符;( C语言的关键字共有32 个,见P306附录B) ③ 不同系统对长度有不同的要求, VC要求长度不 超过247个字符。
有效位数 7 16 19
注:浮点型数据在计算机中按规范化 浮点数形式存储,例如:
数 符 尾 数 指数 符号 指 数 16
A B
(一)浮点型常量的表示形式
1、十进制小数形式: 如: 5.123(默认为double型),2.45F(指定为float型) 0.123可表示为.123, 123.0可表示为123. 底数10用e或E表示 2、十进制指数形式:如:123e2,2.45E-2
内存中存储形式
A B
补码没有-0
补码:10000000 00000000 被定义为-215即-32768
12
(二)整型常量的表示方法
int型常量的表示方法: 十进制: 如: 123 , 0 , -125 八进制: 以数字 0 开头,如:0102
表示1*82+2=(66)10
十六进制: 以 0x 或 0X 开头(0为数字) A B
表示:123*102 ,2.45*10-2 其中,123、2.45 称为尾数部分,2、-2 称为指数部分。 注意:尾数部分不能空,指数部分必须为整数。 例如:
A B
e+3、2.03e+0.5 都是错误的!
17
(二)浮点型变量的定义
浮点型变量的定义形式: 浮点型类型名 如: float 变量名1,变量名2,……,变量名n; a, b, c;
B
9
(一)整型数据在内存中的存储形式
----以有符号 2 字节整型为例 10 的 16位编码 原码:00000000 00001010 反码:00000000 00001010 补码:00000000 00001010 -10 的 16位编码 原码:10000000 00001010 反码:11111111 11110101 补码:11111111 11110110 正数的补码 =反码=原码
转义 字符
A
B
26
常用的整型输出格式控制符
输出格式符 含义 以十进制形式输出 int型 以十进制形式输出 unsigned int型 以八进制形式输出 int或unsigned int型 以十六进制形式输出 int或unsigned int型
%d %u %o %x(%X) A
%ld、%lo、 以十,八,十六进制形式输出 long型 %lx(%lX) 例:int i=15; printf("%d %o %x", i, i, i); 输出: 15 17 f
一个或多个输出项组成 ( 多个之间用逗号隔开 ) ,常量、 变量、函数、表达式等均可做输出项。
二、格式控制串 组成:
1.“%”起头的输出项格式控制符(与输出项一一对应) 2.普通字符(原样输出) 3.反斜杠“\”起头的转义字符 25
A B
例:#include <stdio.h> 格式控制符与输出项 int main( ) 一一对应 { int a,b,sum; a=123; b=456; sum=a+b; printf(”a=%d ,b=%d ,c=%d\n”, a, b, sum); return 0; 原样 输出 } 结果: a=123 ,b=456 ,c=579 (换行)
21
A B
3.4.2 常用的数学函数
#include <math.h>
函数原型 double sin(double x) double cos(double x) double tan(double x) int abs(int n) double fabs(double x) long labs(long j) double exp(double x) double pow(double x, double y) 功能 计算 sinx 计算 cosx 计算 tgx 计算 |n|,n为整数 计算 |x|,x为浮点数 计算 |j|, j为长整型 计算 ex, e为自然数 计算 xy 22
13
如:0X42
表示4*16+2=(66)10
0xA2F 表示10*162+2*16+15=(2607)10
整数常量的后缀: (1)整数常量后面加字母 l 或 L ,则指定该整 数为long型 如 -123l ,0x42L (2)整数常量后面加字母 u 或 U,则指定该整 数为unsigned型 如 123u ,0102U
长度
2字节
表示范围
-215~(215-1) 即-32768~32767 -231~(231-1) 约-2.1*109~2.1*109 约-21亿~21亿 0~(216-1) 即 0~65535
4字节
2字节
A
无符号 0~(232-1) unsigned long int 4字节 约0~4.3*109 长整型 注:1)int取自integer 2)有符号整数在计算机中按定点整数的补码存储。
第三章 数据类型、运算符与表达式
3.1 C语言的数据类型 3.2 常量 3.3 简单变量 3.4 库函数 3.5 运算符和表达式
数据类型 数值类型及其输入输出 及其 字符类型及其输入输出 输入输出 字符串及其输入输出
分块讲解
算术运算、赋值运算、强制类型转换、增量运算 关系运算、逻辑运算、条件运算 运算符和 逗号运算 表达式 位运算 求字节数运算 1
A B
第三章(1) 数值类型及其输入输出
3.1 C语言的数据类型
3.2(1) 常量 –––以数值型为例 3.3(1) 简单变量 –––以数值型为例 A B
2
3.4(1) 数学函数、格式输入输出函数
–––以数值型为例
相关主题