chap06_(重要) 数据类型和表达式
合集下载
chap06_数据类型和表达式
5.1.2 基本数据类型
整型
有符号整型 无符号整型 int unsigned [int] short [int] unsigned short [int] long [int] unsigned long [int] 数据长度 16或32位 16位 32位
字符型
char 8位
实型(浮点型)
变量名代表内存中的一个存储单元,存放该变量的值 该存储单元的大小由变量的数据类型决定
必须先定义,后使用 应该先赋值,后引用 变量的赋值方法
int a = 5, b = 3;
赋值表达式
变量的使用
变量赋初值:在定义变量时对它赋值
int a, b; a = 5; b = 3;
输入
Chap 6 数据类型和表达式
6.1 数据的存储和基本数据类型 6.2 常量和变量 6.3 数据的输入和输出 6.4 类型转换 6.5 表达式
本章要点
C语言的基本数据类型有哪些? 各种基本数据类型的常量和变量是怎样 定义的? C语言有哪些表达式? 各种表达式的求解规则是什么?
数据类型和表达式
float y = 1.2e55;
y 的精度要求不高,但超出取值范围。
并不是所有的实数都能在计算机中精确表示
实型常量的类型都是double
6.2 常量和变量
6.2.1 常量
符号常量 整型常量、实型常量、字符型常量
6.2.2 变量
变量的定义和使用
6.2.1 常量
常量的类型通常由书写格式决定
123 (整型) 4.56 (实型) 'A' (字符型)
例: 010,0123
16进制整数:正、负号,0-9,a-f,A-F, 前缀是0x,0X
c语言中的数据类型与表达式
c语言中的数据类型与表达式
C语言中的数据类型包括整型、浮点型、字符型、指针型等。
整型数据类型包括:int(有符号整数)、unsigned int(无符号整数)、short(短整数)、unsigned short(无符号短整数)、long(长整数)、unsigned long(无符号长整数)等。
浮点型数据类型包括:float(单精度浮点数)、double(双精度浮点数)、long double(长双精度浮点数)等。
字符型数据类型包括:char(字符)。
指针型数据类型用于存储变量的地址,包括各种数据类型的指针,如int*(指向int型变量的指针)、float*(指向float型变量的指针)等。
表达式是由运算符、操作数和括号组成的式子。
在C语言中,常见的表达式包括算术表达式、关系表达式、逻辑表达式等。
算术表达式用于进行数值计算,例如:a + b、c - d、e * f、g / h等。
关系表达式用于比较两个值的大小关系,例如:a < b、c > d、e <= f、g >= h 等。
这类表达式的结果为真(非零)或假(0)。
逻辑表达式用于进行逻辑运算,例如:a && b(逻辑与)、c d(逻辑或)、!e (逻辑非)等。
除了上述基本的表达式类型,C语言还提供了其他复杂的表达式,例如位运算表达式、条件表达式、赋值表达式等。
基本数据类型与表达式
字符类型
字符类型用于表示单个字符,如字母、数字或 符号。
空类型
空类型表示无任何值的情况。
表达式
1
什么是表达式
表达式是一系列操作数和运算符的组合,
基本运算符
2
用于计算值。
基本运算符包括加法、减法、乘法和除
法等。
3
逻辑运算符
逻辑运算符用于组合和比较布尔值。
位运算符
4
位运算符用于对二进制数进行操作。
5
三目运算符
3 初始化变量
初始化变量即给变量赋予初始值。
5 常量
常量是不能被修改的变量。
2 声明变量
声明变量时需要指定变量的名称和类型。
4 变量赋值
变量赋值是将数据存储到变量中。
6 变量作用域
变量作用域决定了变量在程序中的可见范围。
三目运算符根据条件选择不同的值。
运算符优先级
6
运算符有不同的优先级,决定了它们之
间的计算顺序。
7
赋值表达式
赋值表达式用于给变量赋值。
自增自减表达式
8
自增自减表达式可以对变量进行加一或
减一操作。
9
强制类型转换
强制类型转换用于将一个数据类型转换
字符串拼接表达式
10
为另一个数据类型。
变量
1 什么是变量
变量是用于存储和表示数据的命名容器。
基本数据类型与表达式
在编程中,了解基本数据类型和表达式是非常重要的。本节将介绍各种基本 数据类型,包括整数、浮点数、布尔值、字符和空值。同时,还会探讨表达 式的含义和使用。
基本数据类型
整数类型
整数类型用于表示不带小数 部分的数值。
浮点数类型
chap06_旋转变压器
1.正余弦旋转变压器 空载运行
E
f
S1 U S2
f
励磁绕组
定子交轴 绕组
S2
'
4 . 44 fW s d
励磁绕组的感应电势
d 1 d sin d 2 d cos
S1
'
转子余弦 输出绕组
d
转子正弦 输出绕组
R1
R2
E r 1 4 . 44 fW r d sin E r sin E r 2 4 . 44 fW r d cos E r cos
E E1m
180 cos x
所以,二次侧完全补偿的条件是
Z l1 Z l 2 Z l
直轴磁势平衡关系
Fr1d Fr 2 d I f W s 0
k u E f sin Z r Z l1
W r sin
k u E f cos Z r Z l 2
2 kuU f
W r cos I f W s 0
U R 1 k ' u U f sin k uU sin
f
1 k u cos
当ku=0.5时
U R 1 0 . 5U sin
f
0 . 5U
f
3
5
7
1 0 . 5 cos
120 5040 2 4 6 1 0 .5 1 2 24 720
由上式可见,当输入电源电压不变时,转子正、余弦绕组的 空载输出电压分别与转角呈严格的正、余弦关系。正弦绕组 和余弦绕组因此而得名。
E
f
S1 U S2
f
励磁绕组
定子交轴 绕组
S2
'
4 . 44 fW s d
励磁绕组的感应电势
d 1 d sin d 2 d cos
S1
'
转子余弦 输出绕组
d
转子正弦 输出绕组
R1
R2
E r 1 4 . 44 fW r d sin E r sin E r 2 4 . 44 fW r d cos E r cos
E E1m
180 cos x
所以,二次侧完全补偿的条件是
Z l1 Z l 2 Z l
直轴磁势平衡关系
Fr1d Fr 2 d I f W s 0
k u E f sin Z r Z l1
W r sin
k u E f cos Z r Z l 2
2 kuU f
W r cos I f W s 0
U R 1 k ' u U f sin k uU sin
f
1 k u cos
当ku=0.5时
U R 1 0 . 5U sin
f
0 . 5U
f
3
5
7
1 0 . 5 cos
120 5040 2 4 6 1 0 .5 1 2 24 720
由上式可见,当输入电源电压不变时,转子正、余弦绕组的 空载输出电压分别与转角呈严格的正、余弦关系。正弦绕组 和余弦绕组因此而得名。
第3章 数据类型和表达式PPT教学课件
3.2.1 整型常量
C语言中提供了3种表示整数常量 的方法:
10进制整数
8进制整数:以数字0开头的数 是8进制数。
16进制整数: 以0x或0X开头 的数是16进制数。
有了上面3种整数表示方法,我 们可以这样定义整数的符号常量:
10进制:10,-23,89。
—————————— 8进制: 017-(17)8,相当于10进 制数的15; -011相当于10进制数9; 019是错误的整数常量, 因为9不能作为8进制数 的数位值。
2020/12/无12 符号长整型 unsigned long int 4字节
0~(232-1) 10
2、存储
void main()
整数在内存用二进制补码表示(有符号数) 计算机中规定对于有符号数,最高位充当符号位(0为正,1为负), 其他位用来存放数据。 一个整数的绝对值的2进制表示称为这个数的原码。 一个正整数和零的补码就是原码本身。 但一个负数的补码是它的原码取反加1的结果。
11
}
11 11 11 11 11 11 01 01
}
思考:用符号常量的好处?
圆的半径为3 圆的周长为18.849540 圆的面积为28.274310
2020/12/12
5
2、变量
在程序运行中,值可以变化 必须先定义(声明),再使用 定义变量要指出类型和变量名
类型 变量名表
int a,b;
变量定义放于函数开头,可执行语句之前
变量命名:合法的标识符(字母和下划线开头,字母、下划 memory
变量名列表;←分号结尾
如果想一次定义多个整型变量,可以这样: int a , b , c;
↑↑
变量间用逗号分隔
数据类型、运算与表达式
9
在C语言中,变量之所以要强制定义,其目的: 1、避免在使用时输错:int student; stadent=30;。 2、每一个变量被指定为一确定的类型,在编译时就能为
其分配相应的存储单元。
3、指定每一个变量为一确定的类型,在编译时据此检查 该变量所进行的运算是否合法。
例如:如果有
对于运算:
double x,y ; int z;
大写字母 小写字母 数字 下划线 逗号 小数点,句号 分号 冒号 问号 单引号 双引号
整理ppt
3
C字符集(续)
!
Exclamation mark
|
Vertical bar
/
slash
\
backslash
~
tilde
$
Dollar sign
%
Percent sign
&
ampersand
^
caret
右尖括号
(or less than sign)
(或大于号)
(
Left parenthesis
左圆括号
)
Right parenthesis
右圆括号
[
Left bபைடு நூலகம்acket
左方括号
]
Right bracket
右方括号
{
Left brace
左大(花)括号
}
Right brace
右大(花)括号
#
Number sign整理ppt
母表示。
变量名的长度因系统而异。当用TC编译系统时,不要 超过8个字符,而用Visual C++编译系统时,几乎无限 制。
整理ppt
数据类型、运算符、表达式
符号常量在程序开头定义,并且在程序 中不可以改变值。
只可以在定义处修改,并且所有要替代 处都做出相应的修改。
习惯上符号常量用大写字符。
整理ppt
4
例:求园面积
#define PI 3.14 main() { float r,s; r=2; s=PI*r*r; printf("s=%f",s); }
0153726
整理ppt
23
2进制转换为16进制
1101011111010110
D
7
D
6
0xD7D6
整理ppt
24
8进制转换为2进制
0153726
153726
0 01101011111010110
整理ppt
25
16进制转换为2进制
0xD7D6
D
7
D
6
1101011111010110
整理ppt
26
整理ppt
EXP0301.C
5
变量
变量:在程序运行过程中,其值可 以被改变的量。
变量在内存中占据一定的存储单元。 变量类型决定存储单元的大小。 变量名表示存储单元的值(该值在程序
运行过程中可能随时变化)。
整理ppt
6
int i; i=9;
i
变量名
9?
变量值
存储单元
整理ppt
7
int a,b,c; a=123; b=456; c=a+b;
n0
1
2
3
4
5
2n 1
2
4
8
16
32
n6
7
8
9
10
11
只可以在定义处修改,并且所有要替代 处都做出相应的修改。
习惯上符号常量用大写字符。
整理ppt
4
例:求园面积
#define PI 3.14 main() { float r,s; r=2; s=PI*r*r; printf("s=%f",s); }
0153726
整理ppt
23
2进制转换为16进制
1101011111010110
D
7
D
6
0xD7D6
整理ppt
24
8进制转换为2进制
0153726
153726
0 01101011111010110
整理ppt
25
16进制转换为2进制
0xD7D6
D
7
D
6
1101011111010110
整理ppt
26
整理ppt
EXP0301.C
5
变量
变量:在程序运行过程中,其值可 以被改变的量。
变量在内存中占据一定的存储单元。 变量类型决定存储单元的大小。 变量名表示存储单元的值(该值在程序
运行过程中可能随时变化)。
整理ppt
6
int i; i=9;
i
变量名
9?
变量值
存储单元
整理ppt
7
int a,b,c; a=123; b=456; c=a+b;
n0
1
2
3
4
5
2n 1
2
4
8
16
32
n6
7
8
9
10
11
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.3.2 实型数据的输入和输出
输入 scanf()
float:%f
double:
或%e
%lf或%le
以小数或指数形式输入一个单精度浮点数
以小数或指数形式输入一个双精度浮点数
输出 printf()
float 和double使用相同的格式控制说明 %f
以小数形式输出浮点数,保留6位小数
数据精度 (有效数字) 4字节 七/八位 十六位 存储 取值范围 ±(10-38 ~ 1038) ±(10308 ~ 10308 )
float
double 8字节
数据精度和取值范围
数据精度 与 取值范围是两个不同的概念:
float x = 1234567.89;
虽在取值范围内,但无法精确表达。
1234567.80
int a, b; scanf("%d%d", &a, &b);
6.3 数据的输入和输出
6.3.1 整型数据的输入和输出
6.3.2 实型数据的输入和输出
6.3.3 字符型数据的输入和输出
6.3.1 整型数据的输入输出
printf (格式控制, 输出参数1, ... , 输出参数n); scanf (格式控制, 输入参数1, ... , 输入参数n); 格式控制说明 %… 十进制 int long unsigned unsigned long %d %ld %u %lu 八进制 %o %lo %o %lo 十六进制 %x %lx %x %lx
字符的数值特征
的ASCII 码进行运算 例如: 区分数字字符和数字 '1' 1
'A' 的 ASCII 码 65
则:'A'+1=66,对应字符 'B'
转 义 字 符
反斜杠后跟一个字符或数字 字符常量,代表一个字符
'\n' '\101' '\x41' 'A'
%e
以指数形式输出
实型数据输出示例 # include <stdio.h>
int main(void) { double d = 3.1415926;
3.141593, 3.14159e+00 3.142, 3.14, 3.14
printf("%f, %e\n", d, d); printf("%5.3f, %5.2f, %.2f\n", d, d, d); return 0; }
整数的表示
不能超出整型数据的取值范围 比长整型数还要大的数只能用实数来表示
整数的类型
判断整数的类型
整数后的字母后缀
123L 123U
long unsigned
123LU unsigned long
整数的值
实型常量(实数、浮点数)
实数的表示
浮点表示法
0.123 123.4 12. .12
科学计数法
6.026E-27 1.2e+30 1E-5
实数的类型
double
字符型常量
字符常量
'a' 'A' '9' '+' '$'
ASCII字符集
列出所有可用的字符(256个)
每个字符:惟一的次序值( ASCII 码)
'0'-'9' 升序排列 'A'-'Z' 'a'-'z'
例: 010,0123
16进制整数:正、负号,0-9,a-f,A-F, 前缀是0x,0X
例:0x10,0x123
123 = 01111011 (B) 二进制 =173 (O) 八进制 =7B (X) 十六进制 123 0173 0x7b 16 020 0x10 10 012 0XA 10 010 0x10
整型、实型、字符型
6.1.1 数据的存储-整型数据
设整数在内存中用2个字节存储
1 000 0001 1000 0001 0 000 0001 1000 0001
符号位 1:负数 0:正数
数值的表示方法-原码 反码 补码
正数的原码、反码和补码相同
1 的补码 0 000 0000 0000 0001 …… 32767 的补码 0 111 1111 1111 1111 (215-1,2个字节的存储单元能表示的最大正数)
所有字符都可以用转义字符表示
6.2.2 变量
在程序运行过程中,其值可以被改变的量。
变量必须先定义,后使用 定义变量时要指定变量名和数据类型 变量应该先赋值,后引用
变量名:合法的标识符
小写字母;见名知义
变量的定义
变量的类型:在定义时指定 变量定义的一般形式
类型名 变量名表; int celsius, fahr; float x; double area, length;
例6-2(1) 输出整型数据
# include <stdio.h> int main(void) { printf("%d, %o, %x\n", 10, 10, 10); 10, 12, a 10, 8, 16 10, a
printf("%d, %d, %d\n", 10, 010, 0x10);
int 32位 -2147483648 ~ 2147483647 -231 ~ 231-1 short [int] 16位 -32768 ~ 32767 -215 ~ 215-1 long [int] 32位 -2147483648 ~ 2147483647 -231 ~ 231-1
unsigned [int] 32位 0 ~ 4294967295 unsigned short [int] 16位 0 ~ 65535 unsigned long [int] 32位 0 ~ 4294967295 0 ~ 232-1 0 ~ 216-1 0 ~ 232-1
符号常量:用一个标识符代表一个常量
:PI :EPS
例5-1 求球的表面积和体积
# include <stdio.h> # define PI 3.14 int main(void) { double r, s, v;
加分号?
printf(“Enter r: "); scanf("%lf", &r); s = 4.0 * PI * r * r ; v = 4.0 / 3.0 * PI * r * r * r ; printf("s=%f, v=%f\n", s, v); return 0; }
} }
scanf("%lf", &r); s = 4.0*PI*r*r ; v = 4.0/3.0*PI*r*r*r ; ...... return 0;
整型常量(整数)
整数的表示
三种表现形式: 十进制整数:正、负号,0-9,首位不是0
例: 10,123
八进制整数:正、负号,0-7,首位是0
单精度浮点型 float 32位 双精度浮点型 double 64位
基本数据类型-整型
扩展的整数类型:short long unsigned [int]
有符号整型 int short [int] long [int] 无符号整型 数据长度 unsigned [int] 16或32位 unsigned short [int] 16位 unsigned long [int] 32位
float y = 1.2e55;
y 的精度要求不高,但超出取值范围。
并不是所有的实数都能在计算机中精确表示
实型常量的类型都是double
6.2 常量和变量
6.2.1 常量
符号常量 整型常量、实型常量、字符型常量
6.2.2 变量
变量的定义和使用
6.2.1 常量
常量的类型通常由书写格式决定
123 (整型) 4.56 (实型) 'A' (字符型)
基本数据类型-字符型
字符具有数值特征
'A' 65 0100 0001
整型变量和字符变量的定义和赋值可以互换
【 ASCII码范围】 char c; c = 'A'; 或 c = 65; int i; i = 65; 或 i = 'A';
基本数据类型-实型
实型(浮点型)数据 单精度浮点型 float 双精度浮点型 double
原码取反 反码+1
-32768 = -32767-1
补码 1 000 0000 0000 0000 (2个字节的存储单元能表示的最小负数)
-32768
-1 0 1
32767
32767 0111 1111 1111 1111 …… 1 0000 0000 0000 0001 0 0000 0000 0000 0000 -1 1111 1111 1111 1111 -2 1111 1111 1111 1110 …… -32767 1000 0000 0000 0001 -32768 1000 0000 0000 0000
有符号 short 1 000 0000 0000 0000 -32768 -215 0 111 1111 1111 1111 32767 215-1 无符号 unsigned short 0000 0000 0000 0000 0 1111 1111 1111 1111 65535 216-1