3(1)-数据类型及输入输出

  • 格式:pdf
  • 大小:426.40 KB
  • 文档页数:47

下载文档原格式

  / 47
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9
A B
(二)整型常量的表示方法
(短)整型常量的表示方法: 十进制: 如: 123 , 0 , -125 八进制: 以数字 0 开头,如:042
表示4*8+2=(34)10
十六进制: 以 0x 或 0X 开头(0为数字) 如:0X22
表示2*16+2=(34)10
A B
0xA2F 表示10*162+2*16+15=(2607)10
A
B
注:整数在计算机中按定点整数的补码存储。
(一)整型数据在内存中的存放形式 例如:整数 10 的16位(2字节)编码 原码:00000000 00001010 反码:00000000 00001010 补码:00000000 00001010 内存中存储形式 例如:整数-10 的16位(2字节)编码 原码:10000000 00001010 反码:11111111 11110101 补码:11111111 11110110 内存中存储形式
A B
C 语言的标识符 判断下列用户标识符的合法性:
a1 First.name a_b a-b abc123 3rd_row float doubles
√ × “.”不能作标识符 √ × -不能作标识符 √ × 不能以数字开头 × 关键字不能作标识符 √
7
A B
四、整型数据
类型
(有符号) (短)整数 无符号 (短)整数 (有符号) 长整数 无符号 长整数
数 符 尾 数 指数 符号 指 数 13
A B
(一)浮点型常量的表示形式
浮点型常量的表示形式
浮点型常量默认是双精度位,若数后加 F 或 f 则表示单精度。 小数点不能省略 十进制小数形式:如:
.123,-2.5F,123.等。
十进制指数形式:如:123e2f,2.45E-2
表示:123*102 ,2.45*10-2 其中,123、2.45 称为尾数部分,+2、-2 称为指数部分。 注意:用指数形式表示时,尾数部分不能空, 注意:用指数形式表示时,尾数部分不能空, 指数部分必须为整数。 指数部分必须为整数。 14
A
a——97 0 1 1 0 0 0 0 1
B
17
(一)字符常量 字符常量: 用单引号括起来的一个字符,如: ’A’, ’e’。
注意: a、’a’、”a”互不相同,分别为变量、字符常 量、字符串常量。 9、’9’、”9”互不相同,分别为整型常量、字符 常量、字符串常量。
18Hale Waihona Puke Baidu
A B
(二)转义字符
转义字符:一对单引号括起来并以反斜杠 “\” 开头的字符序列,如’\n’、’\123’, 长度为1个字 节,其含义不是字符本身,而是转成为新的意 义。 A B
23
A B
七、字符串常量
字符串常量: 一对双引号括起来的字符序列,隐 含以’\0’结尾。如:
"ABCE"
存储长度为5个字节
"AB\nCE" 存储长度为6个字节
注意: (1)字符串常量不能赋给字符变量。 A B (2)字符常量与字符串常量不同。 例如:char 例如:char char char c1 = ’ A ’ ; c1 = ’ A ’ ; c1="A"; c1="A"; 合法 合法 不合法 不合法
11
(三)整型变量的定义 整型变量的定义形式: 整型类型名 变量名1,变量名2,……变量名n; 如:int a,b,c; long int a1,a2; 或 long int a1,a2; unsigned int u1,u2; 或 unsigned u1,u2; A B
12
五、浮点型数据
类型
单精度 双精度 长 双精度
第三章 数据类型、运算符与表达式
主要内容 3.1 C语言的数据类型 3.2 常量 3.3 简单变量 3.4 库函数 3.5 运算符和表达式 B
1
A
3.1 C语言的数据类型
整型 数值型 基本类型 字符型 枚举类型 指针类型 数据类型 构造类型 数组类型 结构体类型 共用体类型 2 浮点型 单精度型 双精度型 长双精度型
24
八、变量赋初值
方法1) 变量初始化 在定义变量的同时为变量赋初值 如: int a=3; float x=5.89; int o,p,q=8; int a=b=c=8; 如: int a; B a=3; /*赋值语句*/
25
/*只有q 赋了初值*/ ×
不允许连续赋初值: A 方法2)先定义变量,再用赋值语句赋值
19
转义字符
几个常用的转义字符: (P25表3-1) 转义字符 \b \n \r \t \\ 含义 退格 回车换行 回车(不换行) 横向跳到下一制表位置 反斜线符“\” 单引号符 双引号符 1~3位八进制数所代表的字符 1~2位十六进制数所代表的字符 20 ASCII值 8 10 13 9 92 39 34
A B
ab cd 12345678 student B
21
(三)字符变量
字符变量的定义:
char 变量名;
例如:char c1,c2;
A B
22
(四)字符型数据的使用方法 1)按字符使用:使用字符本身。 2)按数值使用:使用该字符的ASCII码值。 例:#include <stdio.h> void main( ) { char c1,c2; c1= ’a’; c2= ’b’; c1=c1- 32; c2= c2- 32; 结果: printf("%c %c",c1,c2 ); A B } %c :指定字符形式输出 %c :指定字符形式输出 本例功能:将两个小写字母转换成大写字母。
10
整型常量的表示方法 长整型常量的表示方法: (1)整数常量后面加字母 L 或 l 如 -123L ,0x22l (2) 不在短整型表示范围内、但在长整型表示 范围内的数可直接表示 如 123456789 无符号整型常量的表示方法: (1)整数常量后面加字母 U 或 u 如 123U ,042u (2) 不在有符号整型表示范围内、但在无符号 整型表示范围内的数可直接表示 如 32768 A B
A B
空类型void
3.1~3.2 常量与简单变量
• 常量: 在程序运行中,其值不变的量,如: 23.7, - 67 等。 • 变量: 在程序运行过程中,其值可以改变的量, 在内存中占据一定的存储单元。 A B
3
一、常量、符号常量的概念
两类常量:常数常量和符号常量 符号常量: 用标识符表示的常量。符号常量用 预处理(宏定义)命令定义在函数之外。 定义形式: (P26) #define 标识符 常量 例如: #define PI 3.14 含义:定义PI为符号常量(习惯用大写字 母),其值为3.14 A B
A B
常用的数学函数
#include <math.h>
函数原型 double log(double x) double log10(double x) double sqrt(double x) 功能 计算x的自然对数的值 计算x的常用对数的值 计算x的平方根值
#include <stdlib.h>
A B
\' \" \ddd \xhh
转义字符的应用举例
例3.1 转义字符的使用 #include <stdio.h> void main() { ASCII值为66,即B printf("ab\tcd\n"); printf("12345678\012student \x42\n"); }
运行结果: ASCII值为10,即\n
A B
例如: e+3、2.03e+0.5 都是非法的实型常量表示方法。
(二)浮点型变量的定义
浮点型变量的定义形式: 浮点型类型名 变量名1,变量名2,……变量名n; 如: float double A B
15
a,b,c; a1,a2;
六、 字符型数据
类型
(有符号) 字符型 无符号 字符型
类型名
[signed] char unsigned char
长度
8bit 8bit
表示范围
-27 ~ (27-1) 即-128~ 127 0 ~ (28-1) 即 0~ 255
字符在内存中按ASCII码存储 例如:字符 ’A’ 的机内存储 001000001
16
A B
空 格——32 0 0 1 0 0 0 0 0 0——48 0 0 1 1 0 0 0 0 A——65 0 1 0 0 0 0 0 1
类型名
float double long double
长度 (TC)
4Byte 8Byte
表示范围 (TC)
-3.4*10-38~ 3.4*1038 -1.7*10-308~1.7*10308
有效位数 (TC) 7 16 19
10Byte -3.4*10-4932~3.4*104932
注:浮点型数据在计算机中按规范化的 浮点数形式存储,例如:
函数名( [实参列表] )
例如:sin(3.1415926) sin(3)
27
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) 功能 计算x的正弦值 计算x的余弦值 计算x的正切值 计算整数n的绝对值 计算浮点数x的绝对值 计算长整型j的绝对值 计算自然数e的x次方值 计算x的y次方值 28
4
二、简单变量的概念
简单变量以标识符命名。 简单变量的类型定义: 类型名 变量1,变量2,......,变量n; int a,b,c; /* a,b,c 为整型变量 */ float x,y,z; /* x,y,z 为单精度浮点型变量 */
注意事项: 注意事项: (1) (1) 变量必须先定义后使用 变量必须先定义后使用 (2) (2) 每个变量必须被指定为一种类型 每个变量必须被指定为一种类型 (3) (3) 一般习惯上用小写字母表示变量, 一般习惯上用小写字母表示变量, 用大写字母表 用大写字母表 示符号常量,以示区别。(仅是习惯不是规定) 示符号常量,以示区别。(仅是习惯不是规定) 5
3.4 库函数
函数的分类: 库函数:由系统定义,提供给程序员直接调用 自定义函数:由程序员自己定义 库函数的原型举例:
函数名sin 形参x、double型
A
返回值为double型
double sin( double x ) 函数功能:求sin(x) 26
B
3.4.1 库函数的使用方式
库函数的调用前提 需在程序头部用#include命令将库函数的头 文件包含到本程序中。 例如: #include <math.h> 或 #include "math.h" 库函数调用的格式
类型名
[signed] [short] int unsigned [short] [int] [signed] long [int] unsigned long [int]
长度 (TC)
16bit 16bit 32bit 32bit
表示范围 (TC)
-215~(215-1) 即-32768~32767 0~(216-1) 即 0~65535 -231~(231-1) 约-21亿~21亿 0~(232-1) 约0~43亿 8
函数原型 int rand(void) 功能 产生一个0到32767之间的伪 随机整数 用参数seed作随机数种子, 设置伪随机数序列的开始点 29
A B
void srand(unsigned seed)
常用的数学函数
例3.5 用当前机器时间作随机数种子,产生3个随机整数
#include <stdlib.h> #include <stdio.h> #include <time.h> void main( ) { srand( (unsigned)time( NULL ) ); printf(" %6d\n", rand() ); printf(" %6d\n", rand() ); printf(" %6d\n", rand() ); }
A B
三、C 语言的标识符
标识符: 用来标识变量名、符号常量名、函数 名、数组名、类型名的有效字符序列。 标识符命名规则: 以字母或下划线开头;由字 母、数字、下划线组成;TC要求长度不超过32个 字符。
注意: 注意: * 语言标识符中大、小字母有区分。 * C C 语言标识符中大、小字母有区分。 * 语言规定,保留关键字不能作为标识符。 * C C 语言规定,保留关键字不能作为标识符。 * 语言的保留关键字共有 32 个,见 P301 附录 B 。 * C C 语言的保留关键字共有 32 个,见 P301 附录 B 。 6