第3章基本数据类型和表达式

合集下载

C语言第3章数据类型、运算符与表达式ppt课件

C语言第3章数据类型、运算符与表达式ppt课件
第三章
数据类型、运算符与表达式
1
主要内容
一、C的数据类型 二、常量与变量 三、基本数据类型 四、运算符与表达式
2
一、C的数据类型
(一) 什么是数据类型? (二) C语言的数据类型有哪些?
3
(一) 什么是数据类型?
对数据的描述
对操作的描述
数据结构+算法=程序
C语言中以 “数据类型”形式存在
4
所谓数据类型是按被定义变量的性质,表示形 式,占据存储空间的多少,构造特点来划分的。
int NUM=20; sum=PRICE*NUM;
11
符号常量优点
1、含义清楚。 2、在需要改变一个常量时,能够做到“一
改全改”
12
(二)变量
概念
变量代表内存中具有特定属性的一 个存储单元,它用来存放数据,也 就是变量的值。
13
(1)变量名。每个变量都有一个名字 ──变量名,代表一个地址。 (2)变量值。在程序运行过程中,变 量值存储在内存中。在程序中,通过 变量名来引用变量的值。
#include <stdio.h>
void main() {
int student,age; int if=adrress=1; float score=90;
stadent=2; Age=20; printf("%d %d %d %f",if,student,age,score); }
本程序中有 几处错误?
(5)标识符的有效长度随系统而异,如果超 长,则超长部分被舍弃。VC++6.0中规 定最大长度为247个字符。
23
请选出下列正确的标识符 M.D.John , 12%gf ,1add ,_ce36 ,age& 5thclass, lotus-1-2-3 , cd*ef , float,

C语言程序设计--第3章基本数据类型和表达式

C语言程序设计--第3章基本数据类型和表达式

2.实型变量
实型变量分为单精度(float型)和双精度(double型)。 如: float x,y; double z; / *定义x , y为单精度实数* / / *定义z为双精度实数* /
一个float型数据在内存中占4个字节(32位),提供7位有效数字 一个double型数据占8个字节(64位),双精度提供15 ~ 16位有 效数字 值得注意的是,实型常量是double型,当把一个实型常量赋给一 个float型变量时,系统会截取相应的有效位数。
§3.1 基本语法单位
任何一种语言都会根据自身的特点规定 它自己特定的一套基本符号。例如,英语的 基本符号是26个英文字母和一些标点符号。 C语言作为一种程序设计语言,也有它的基 本符号,程序就是由这些基本符号组成的。
§3.1.1 基本符号
程序中要对各种变量和各种函数起名,这些变量名、 函数名都是由语言的基本符号组成的。C的基本符号包 括: (1)数字10个(0~9); (2)英文字母大小写各26个(A~Z, a~z); (3)特殊符号,主要用来表示运算符,它通常是 由1~2个特殊符号组成。包括:
digits是一位或多位十进制数字(从0~9)。 1.575e9表示1.575×109
注意:
◆所有的实型常量均视为双精度类型。实型常量
的整数部分为0时可以省略,如下形式是允许的: .57,.0075e2,-.125,-.175E-2; 须为整数: 如e3,2.1e3.5,. e3,e等都是不合法的指数 形式。
不同的,而且取值范围与机器硬件有关,在 使用时请参阅有关手册。
◆需要指出的是:C语言没有提供布尔(逻辑)
类型,在逻辑运算中,它是以非零表示真 (TRUE),以数值0表示假(FALSE)。

3 数据类型.运算符与表达式

3 数据类型.运算符与表达式
THE C PROGRAMMING LANGUAGE
C语言程序设计
第6页
符号常量
一般来说,下列两种情况用符号常量比较方便。 1)当某一常数在程序中多处出现时,可事先定义一个符 号常量。 2)有时,程序中的常数是有意义的,但写一个具体数字,程 序的阅读者则很难明白该常数的意义,此时可定义一个符 号常量。 例如: # define PI 3.1415926 注意:1)表示常量的标识符一般用大写 2)不能给符号常量赋值 PI=6; 错误 思考题:使用符号常量的好处? 含义清晰;一改全改
C语言程序设计
第14页
3.4 实型数据 3.4.1 实型常量
注意:1)没有unsigned和signed 之分。 2)实型常量没有单、双精度数之分;但可以赋给 一个float型或double型变量。赋值时要注意有效 数字位数。 float a; a=12345.6789 (只能接受前7位) 3)C编译系统将浮点型常量作为双精度来处理
C语言程序设计
第11页
3.3.2 整型变量
有三种整型变量(int、short int、long int): 但也可以将变量的类型定义为无符号(unsigned int) 1)有符号基本整型:signed int signed int 2)无符号基本整型:unsigned int 3)有符号短整型: signed short int signed int 4)无符号短整型: unsigned short int unsigned short 5)有符号长整型: signed long int signed long long 6)无符号长整型: unsigned long int unsigned long
THE C PROGRAMMING LANGUAGE

第3章基本数据类型与表达式

第3章基本数据类型与表达式
printf(―How do you do.‖);
不要将字符常量与字符串常量混淆。’a‘是字符常量, 而“a‖是字符串常量,二者是不相同的。例: char c; c=‗a‘; 是正确的 c=―a‖; 不正确 因为不能把一个字符串赋给一个字符变量。
字符常量与字符串的区别: (1)字符常量在内存中占一个字节,而字符串不 是; (2)C规定:在每一个字符串的结尾加一个“字 符串结束标志”,以便系统据此判断字符串是否 结束。C语言以‘\0‟作为字符串结束标志。即是 一个“空操作字符”。 注意:在写字符串时不必加‘\0‟,系统会自动加 上的。因此,字符串“a”,它在内存中实际上是 包含2个字符:‘a‟和‘\0‟。 在C语言中可以用字符型数组来存放字符串。
表2.1 Turbo C所支持的整型数据类型
关键字 int unsigned int 所占位数 16 16 最小取值范围 -32768~32767 0~65535
unsigned short int
signed short int
16
16
0~65535
同 int
long int
unsigned long int
例:向字符变量赋以整数。
main()
{ char c1, c2;
c1=97;
/*c1,c2为字符变量*/
c2=98;
printf(―%c printf(―%d } 输出结果: a 97 b 98 %c\n‖ , c1, c2); /* %c是字符输出的格式*/ %d\n‖, c1, c2);
例:大小写字母的转换
程序运行结果为: a+u=22, b+u=-14
3.4 实型数据
3.4.1 实型常量的表示方法

c语言第3章 数据类型及表达式

c语言第3章 数据类型及表达式

•除 当除号两边都是整型量时,叫做整除 整除, 当除号两边都是整型量时,叫做整除,运算结果只保 留整数部分。 留整数部分。 当除号任何一边有实型量时,运算结果是实数。 当除号任何一边有实型量时,运算结果是实数。 #include <stdio.h> main() main() { float div; div=1/2; printf( %f %f\ ,div); printf(“%f\n”,div); }
–规则: 规则: 规则
–见名知意 见名知意 –不宜混淆 不宜混淆
请指出下列标识符的正误: 请指出下列标识符的正误: main、count、!count、new、5abc、if、do、L_5、who、a123、 main、count、!count、new、5abc、if、do、L_5、who、a123、 _A、_123、c#、 _A、_123、c#、r-3、printf
h e l l o , w o r l d \0 • 注意: 注意: 字符常量和字符串常量是两个不同的概念 字符常量和字符串常量是两个不同的概念
char ch; ch=‘A ; ch= A’; char ch; ch=“A ;// ;//错误 ch= A”;//错误
A
\0
\0
3.7 字符型数据
3.7.3 字符型变量
3.3 常量
常量 • 定义:程序运行时值不能改变的量,即常数。 定义:程序运行时值不能改变的量,即常数。 • 分类: 分类: 符号常量: 符号常量:用标识符表示具体值 • 定义格式: 定义格式: • 一般用大写字母 直接常量: 直接常量:直接写出具体值 • 整型常量 • 实型常量 • 字符常量 • 字符串常量 常量值 #define 标识符 常量值

C语言第3章(数据类型和表达式)2

C语言第3章(数据类型和表达式)2

二. 学习运算符应注意的问题

优先级
1. C语言规定了各种运算的优先级。 2. 优先级的规定符合思维习惯。 如:先乘除后加减。 3. 利用()提高程序的可读性。

结合规则
1. 运算符和运算对象的结合方向。 2. 左结合和右结合 10+2-9 ; ++-i

与运算量关系
要求运算量个数(单目/双目)和类型
(2) 强制类型转换运算:
形式: (数据类型)表达式 当需要做一些特殊的运算,必须使用强制类型转换 运算。
例1:int k=3; float x; 执行: x=1/k; 问x的值?
如何让x得到0.3333333的值? 例2:int a=3,b=4; float x=10.4,y=3.5; 表达式:(float)(a+b)/2+(int)x%(int)y的结果? [注意] (1)转换是暂时的,定义是永久的; (2)它是一个运算符, 单目运算, 优先级为2;
(2) 任何字符都可以用下面的形式表示:
\字符的ASCII值
三位八进制的表示:\ddd ; (d: 0~7); 两位十六进的表示: \xdd ; (d:0~ 9;A~ F ) 例1:字符常量 ‘A‟,还可以用: ‘\101‟ 和 ‘\x41‟ 来表示; 例2:字符常量‘0‟,可以用: ‘\x30‟,‘\060‟或‘\60‟表示 例3:字符常量‘\n‟, 还可以用: ’\012‟或‘\12‟ 和 ‘\x0A‟来表示;
单目运算符 双目运算符 三目运算符
三. 表达式
用运算符将运算对象按C的语法规则连接起 来的式子叫表达式。
例: 5 * b/c-1.5+„a‟ ;
(x+y)*(a+b)/(a-b); 12%5+sqrt(31);

C语言第03章--数据类型和表达式

C语言第03章--数据类型和表达式
通常不被初始化的变量,其值为危险的随机数 通常不被初始化的变量,其值为危险的随机数
char int
ch = 'a'; i = 1;
17
变量的属性
例:
int sum=10; 类型
内存存放说明: 内存存放说明: 存放说明 变量名 1001 sum 10 变量值
存储单元的地址
二、 变量
命名规则 在C中变量名 函数名 文件名 数组名 等均称标识符 变量名, 函数名, 文件名, 数组名, 变量名 标识符 (identifier), 可由字母 数字 下划线 字母,数字 下划线组成,且第一个必 字母 数字和下划线 须为字母或下划线 字母或 字母 下划线,前8或32个有效。 注意: 字母大小写敏感; 注意 字母大小写敏感 不可用关键字; 不可用关键字 不可出现空格; 不可出现空格 见名知意; 见名知意 如: a1与A1为不同的变量名 如: int, for, if 等 如: stu 1, a 1等 如: sum, sort 等
e前必须有数 前必须有数 字,e后必须 后必须 有整数
合法:0.123、.123、123.0、123.、0.0 合法: 、 、 、 、 错误: 错误 - 2.0e2.5 e8
(3)字符常量 字符常量 —— 用单引号括起来的一个字符或转义字符 括起来的一个字符或转义字符 一个字符或转义字符. 例: ‘A’, ‘o’ , ‘1’, ‘#’, ‘a’ 等
float
必转
char, short long unsigned int 低
double 高
自动类型转换
34
例:
若:i 为 int , f为float ,d 为 double e 为long
字节数

03数据类型和表达式

03数据类型和表达式

GDI+ Windows的应用程
序的丰富用户
数据库
的各种对象
26
3.2.3 不同数据类型的转换
隐式转换: 运算结果的数据类型向精度高的数据类型靠 Integer<Long<Single<Double<Currency
优先级
算术运算符>=字符运算符>关系运算符>逻辑运算
显式转换: Ctype(表达式,转换到类型名) 例如:Ctype(123,string)
程序设计与实践 VISUAL
上海理工大学 信息基础教研室
第三章 语言基础
1 2 3 4 5
变量、常量与数据类型 运算符和表达式 常用函数 程序结构和编码规则 综合应用
2
3.1 数据类型、变量和常量
整数 数值型 浮点数 货币型 字节型 字符型 逻辑型 日期型 对象型 短整型 长整型 整型 单精度型 双精度型
18
1. 算术运算符

5+10 mod 10 \ 9 / 3意
对算术运算符两边的操作数应是数 值型,若是数字字符或逻辑型,则自 动转换成数值类型后再运算。

30-True 结果是31,逻辑量True转为数值-1, False转为数值0 False + 10 + “4” 结果是: 14
注 意
字符和字符串都必须是用西文的双引号引起 ""表示空字符串,而" "表示有一个空格的字符; 若 字 符 串 中 有 双 引 号 , 例 如 , 要 表 示 字 符 串 : 123"abc , 则 用 连 续 两 个 双 引 号 表 示 , 即 : "123""abc"。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– #define < 常量标识符 >
< 表示的值 >
数据类型与表达式
6
例3.1 求球的表面积和体积
# include <stdio.h> void main( ) {
float r, s, v;
scanf(%f, &r); s=4.0*3.14*r*r ;
s=4.0*3.14159*r*r ;
v=4.0/3.0*3.14*r*r*r ; v=4.0/3.0*3.14159*r*r*r ;
先定义 后使用
# include <stdio.h>
void main( )
{ int x, y;
x = 3; y = x*x ; printf(“%d”, y ) ;
– 一个变量名只能定义
一次。变量一般都定义在 程序的头上,不能定义在 程序的中间或后面。
}
数据类型与表达式
12
变量的使用
变量: 先定义,后使用
的运行过程中,其值不能被改变
? 变量:存放数据的工作单元,在程序的运行
过程中,其值可以改变
数据类型与表达式
9
变量的定义
变量定义的一般形式
类型名 变量列表;
变量名:小写字母,见名知义 类型名:
? 整型int ? 实型(浮点型)float double ? 字符型char
数据类型与表达式
10
变量的定义
scanf(%f, &r); s=4.0*PI*r*r ;
– 符号常量在程序运行时,
只能读取,不能修改
v=4.0/3.0*PI*r*r*r ;
printf(s=%f, v=%f\n, s, v);
}
数据类型与表达式
8
变量
C语言中的量 ? 字面常量(常数):数据 ? 符号常量:用标识符表示的常量数据在程序
例: 0x10 ,0x123 ,0xBF,0Xac
数据类型与表达式
15
数制的表示
123 = 1111011 (B) 二进制
=173 (O) 八进制
=7B (X) 十六进制
int i=0173; int j=0x7b;
进制补充:
– 十进制 ? R进制 (整数:除法
int k=123;
求余数;小数:乘法求整数)
– 补码 1 111 1111 1111 1111 反码+1
? -32767: 1 000 0000 0000 0001
? -32768: 1 000 0000 0000 0000
数据类型与表达式
18
原码 反码 补码
int a, b; a=5 b=3
? 输入函数:
scanf(“%d%d”&, a, &b);
数据类型与表达式
14
整型数据
整型常量(整数)
三种表现形式
? 十进制整数:正、负号,0~9,首位不是0
例:10,123
? 八进制整数:正、负号,0~7,首位是0
例:010,0123
? 16进制整数:正、负号,0~9,a~f,A~F, 前缀是0x,0X
Chap 3 基本数据类型和表达式
数据类型与表达式
主要内容
? 常量和变量 ? 整型数据 ? 实型数据 ? 字符型数据 ? 表达式 ? 数据的存储和类型转换
数据类型与表达式
2
C 语言基本要素
? 数据类型
– 基本数据类型
? 整型int ? 实型(浮点型)float double ? 字符型char
– 构造数据类型
– R进制? 十进制 (多项式展开)
例:16 020 0x10 10 012 0XA
数据类型与表达式
16
整型变量
int ai, bi, ci, di = 0; ai = 1; bi = -27; ci = 012;
? 整型变量的值是整数,它的取值范围有限
? 最小取值(16位)范围 [-32768,32767]
– 下列标识符中,不符合C语言语法规范的是:
C。
A.count
B._abc1
C.a#12
D.Student
数据类型与表达式
5
常量和变量 之 常量
? 字面常量(常数):数据
123 (整型) 4.56 (实型) ' A' (字符型)
? 符号常量:用标识符表示的常量数据
? :PI ?:EPS
? 基本形式:
int i, j, k; (定义i, j, k为整型变量)
char c;ຫໍສະໝຸດ (定义c为字符型变量)float x, y;
double area, length;
– 变量名代表内存中的一个存储单元 – 用于存放该变量的值 – 该存储单元的大小由变量的数据类型决定
数据类型与表达式
11
变量的定义与使用
变量必须
数组、结构、联合、枚举
– 指针类型 – 空类型
? 对数据的操作-运算
– 运算符和表达式
数据类型与表达式
3
C语言基本要素
? 标识符:利用符号表示数据
– 分类:
? 关键字:系统中已有明确含义 ,不允许改变 (例 如:if、else等)
? 预定义标识符:系统中已有含义,但可以改变 (例 如:define、scanf等), 但一般不去改变!!!
printf(s=%f, v=%f\n, s, v);
}
数据类型与表达式
7
例3.2 符号常量
# define PI 3.14 # define PI 3.14159
# include <stdio.h>
void main( ) {
float r, s, v;
说明:
– 一般情况下符号常量使
用大写字母表示
? 整型数据的溢出
数据类型与表达式
17
原码 反码 补码
? 正数的原码、反码和补码相同
1的补码
0 000 0000 0000 0001
……
32767的补码 0 111 1111 1111 1111
(215-1)
? 负数 -1
– 原码 1 000 0000 0000 0001
– 反码 1 111 1111 1111 1110 原码取反
? 用户标识符:用户根据自己的需要定义的符号 (包 括符号常量、变量)
? 先定义,然后才能使用
数据类型与表达式
4
C语言基本要素
? 用户标识符的基本要求:
– 只能由数字 (0~9)、26个大小写字母、下划线 (_)构成
– 数字不能作为首字符
– C语言中区分大小写字母 (即:A与a是两个不同的符号)
? 例如:
# include <stdio.h> void main( ) {
int x, y;
x = 3; y = x*x ; printf(“%d”, y ) ; }
先赋值,后引用 //没有初始化
数据类型与表达式
13
变量的赋值
? 赋初值:在定义变量时对它赋值
int a = 5, b = 3;
? 赋值表达式:
相关文档
最新文档