第2章数据的存储与运算

合集下载

第2章_数据类型、运算符和表达式《C语言程序设计(第三版)》-电子教案

第2章_数据类型、运算符和表达式《C语言程序设计(第三版)》-电子教案

2.2 标识符、常量与变量

符号常量
【例2-1】输入圆的半径,计算周长和面积。 #define PI 3.14159 void main() { float r,c,s; scanf("%f",&r); c=2*PI*r; s=PI*r*r; printf("r=%f,c=%f,s=%f\n",r,c,s); }

以下是合法的整型常量:

2.2 标识符、常量与变量

实型常量

实型常量只能用十进制形式表示 表示形式:


小数形式。由数字序列和小数点组成,如 3.1415926、-0.15、.15、2.等都是合法的实型 常量。 指数形式。由十进制数加上阶码标志“e”或 “E”及阶码组成,如3.14e-4或3.14E-4表示 3.14×10-4。
2.2 标识符、常量与变量

2.2.3 变量


在程序运行过程中,其存储的值可以被改变的量称 为变量 变量必须通过标识符进行说明,称为变量名。 变量名和内存单元地址存在映射关系,程序可以通 过变量名寻址,从而访问其存储的数据。
2.2 标识符、常量与变量

变量的定义和说明

数据类型 变量名1[,变量名2,…,变量名n];
long型转换成float型时由原来可达10位整数变成只有7位有效数字精度丢失但由于数的范围扩大了数据类型从较低级提升到较高级随着竞争日益激烈酒店嘴中的肥肉被大肆抢夺各大酒店在这场竞争中几乎溃不成军
21世纪高等学校精品规划教材
第2章 数据类型、运算符 和表达式



掌握C语言的基本数据类型 掌握标识符、关键字、常量和变量的使用 掌握运算符、表达式以及数据类型之间的转换 等 掌握简单数据的输入输出

第2章 数据存储基础

第2章 数据存储基础

二进制:
1、数码:0、1
2、基数为2,逢2进1
3、用多项式表示一个二进制数
B=b n-12 n-1+…+b 121+b 02 0+b-12-1 + … +b-m2―m
八进制(后缀O) 1、数码:0、1、2、3、4、5、6、7 2、基数为8,逢8进1 3、用多项式表示一个八进制数 O=a n-18 n-1+…+a 181+a 08 0+a-18-1 + … +a-m8―m
数码:一组用来表示某种数制的符号。 如,十进制的数码是0、1、2、3、4、5、6 、7、8、9;二进制的数码是0、1。 基数:某数制可以使用的数码个数。 如,十进制的基数是10; 二进制的基数是2。 数位:数码在一个数中所处的位置。 权:权是基数的幂,表示数码在不同位置 上的数值。
2.1.2数制间的转换 一、二进制与十进制之间的互相转换 1. 二进制到十进制:利用展开公式 根据公式: B = b n-12 n-1 +b n-22 n-2 +…+b 12 1+b 02 0 +b-12-1 +…+b-m2-m 例如: (1101.01)2=1×23+1×22+0×21+1×20+ 0×2-1+1×2-2 =(13.25)10
2.1.1 进位计数制
按照进位方式计数的数制叫做进位计数制。 进位计数制是利用固定的数字符号和统一的规 则来计数的方法。 进位计数制是一种计数方法,通俗地讲,就是 逢几进一的规则。 习惯上最常用的是十进制计数法。十进制数是 最常用的一种数制, 但它不是唯一的数制。 例如计时用的时、分、秒就是按60进制计数的。 十进制起源于人类双手的十根手指。 由于开关器件的特性,两个稳定的状态,因此, 计算机内部采用二进制数存贮数据。
位权:? 基数为底,数码所在位置的序号为指数的整数次 幂。 (346.8)10=3×102+4×101+6×100+8× 10-1 百位位权:102 十位位权:101 个位位权 :100 十分位位权:10-1 (1011.01)2=1×23+0×22+1×21+1×20+ 0×2-1+1×2-2 千位位权:23 百分位位权:2-2

C语言学习第二章数据类型

C语言学习第二章数据类型
基本整型:表示范围为0~0177777。 ③十六进制数:
基本整型:表示的范围为0X0~0XFFFF。
2.4.2 整型变量
1.整型变量在内存中的存放形式
以二进制补码的形式存放。
正数:最高位为0,其余各位是该数的二进制表示 负数:最高位为1,其余各位是该数绝对值的二进制
再按位取反加1
2. 整型变量的分类
放一个字符。
下面是对c1、c2赋值: c1=‘a’;c2=‘b’; (实际上其内存中存放的是该字符的ASCII码)
字符变量的初始化,如:char c1=‘a’,c2=‘b’;
2.5.3 字符数据在内存中的存储形式及其使用方法
将一个字符常量放到一个字符变量中,实际上是将该字 符的ASCII代码以二进制形式放到存储单元中。
无符号型:(只能存放0和正整数) ① 基本整型:类型说明符为unsigned int或unsigned
在内存中占2个字节 取值范围为0~2161,即0~65535。 ② 短整型:类型说明符为unsigned short (int) 所占字节和取值范围均同基本整型。 ③ 长整型:类型说明符为unsigned long (int) 在内存中占4个字节 其取值范围是0~2321 即0~4294967295
实型常量也称为实数或者浮点数。 实型常量不分单、双精度,都按双精度double型处理,其有 效位数为(15~)16位。
实型常量的表示方式有:
(1)十进制小数形式
小数形式由数字0~ 9和小数点组成。
当某浮点数整数部分或小数部分为0时,0可以省略,但小 数点不可省略。
例如:
0.0 , .25 ,5.789 ,0.13 ,5.0 , 300. 267.8230 , 123. 等均为合法的实数。

数据库管理系统基础知识

数据库管理系统基础知识

(3)在数据表中,字段必须先定义后赋值,然后才可以使用。
(4)字段变量名由汉字、字母、数字和下划线组成,必须以 字母或汉字开头。 (5)字段变的数据类型有13种,与前面的数据类型相同。
2. 内存变量
(1)内存变量:存在于内存中的变量,常被用来存储所需 要的常数、中间结果或最终结果。变量名由汉字、字母、数 字和下划线组成,必须由字母或汉字开头。 (2)当内存变量名与字段变量名相同时,字段名优先于内 存变量名,使用时可以在内存变量名前加上“M->”以示区 别,但赋值时不能使用该前缀。 1)建立内存变量文件 格式:STORE <表达式> TO <内存变量名表>
说明:释放指定的内存变量,但不清除系统内存变量;
量。
示例:RELEASE ALL RELEASE X,Y,Z
RELEASE ALL LIKE A*
3.系统内存变量
系统内存变量是系统已经定义好的一些变量,通常以下划 线开头。
2.2.3 数组
(1)数组变量:一组变量的集合,这些变量的数据类型可 以不同,每个数组元素都可以通过一个数值下标被引用, 相当于一个内存变量。
第2章 数据库管理系统基础知识
2.1 数据类型 2.2 数据存储 2.3 运算符及表达式 2.4 函数 2.5 命令 退出
2.1 数据类型
1. 字符型数据
2. 数值型数据 3. 整型数据 4. 浮点型数据 5. 双精度符型数据 6. 货币型数据 7. 逻辑型数据
8. 日期型数据
9. 日期时间型数据 10. 备注型数据 11. 通用型数据 12. 字符型数据(二进制) 13. 备注型数据(二进制) 退出
格式:RESTORE FROM <内存变量文件名>/FROM MEMO <备 注型字段名> [ADDITIVE]

C语言程序设计 第2章 数据类型

C语言程序设计 第2章 数据类型

2.2常量和变量 变量名与变量值的关系:
2.2常量和变量
变量的使用:先定义后使用
变量定义的一般形式:
数据类型 变量名1,变量名2,…,变量名n;
2.2常量和变量
➢ 凡未被事先定义的,系统不把它认作变量名,这就 能保证程序中变量名使用的正确
例:varname,在使用的时候误写成vaname
➢ 在定义变量时要指定变量的类型,在编译时就能为 变量分配相应的存储单元
5
2.2常量和变量
甘草 三七 干姜 葛根
枸杞 人参 陈皮 地黄
山药 当归 谷芽 黄连
贴上标签 加以区分
用标识符给变量起名字
2.2常量和变量 变量命名规则
➢ 只能由字母(a~z,A~Z)、数字(0~9)和下划线(_)构 成
➢ 第一个字符不能为数字 ➢ 不能与关键字同名
例:a9,_a, A_num √ 9a, a*num,int ×
控制语句:控制语句用于控制程序的流程。 C语言提供三类控制语句: ➢ 选择语句 ➢ 循环语句 ➢ 转移语句。 控制语句会在第三章和第四章详细介绍。
2.7 表达式与语句
复合语句: 复合语句由一对大括号括起来的一 条或多条语句组成。 例:{
turnOn(0,3); turnOn(0,4); turnOn(0,5); turnOn(1,4); }
2.7 表达式与语句
表达式语句:表达式末尾加上“;”就构成一条 表达式语句。 例:
s = 3.14 * r * r; 就是一条赋值表达式语句。表达式语句最后的 分号是语句中必不可少的一部分。
2.7 表达式与语句
函数调用语句:函数调用语句由函数调用加分 号构成。 例:
turnOn(1,1);

C语言教材 第2章

C语言教材 第2章

第2章 C 语言的基本数据类型本章要点了解C 语言的数据类型,掌握基本数据类型的应用及其相互转换规则,理解变量和常量的概念,并掌握其定义及引用方法。

本章的难点是数据在内存中的存储形式。

第一节 C 语言的数据类型由于信息的表现形式多种多样,处理的方法也不相同,所以,我们必须考虑用不同形式的数据来表示不同的信息。

例如:一个班级的人数要用整数来表示;班级学生的平均成绩要用小数表示;学生的姓名、性别要用字符来表示;一个班级学生某一门课程的成绩要用一组不同的数值来表示等。

计算机语言中的数据类型就是为了能够高效处理各种不同的数据而引进的一个概念,是指数据的内在表现形式。

不同的数据类型具有不同的取值范围和不同的操作。

C 语言提供的数据类型如图2-1所示。

在程序中使用的所有数据都必须指定它的数据类型,C 语言的数据类型由基本类型和非基本类型组成。

其中,基本数据类型是其他数据类型的基础。

C 语言中的基本数据类型包括整型、实型(浮点型)、字符型,其中实型又包括单精度和双精度两种类型。

本章主要讨论这4种基本类型。

整型、单精度型、双精度型和字符型数据定义的关键字分别为:int 、float 、double 和char 。

除了这四个关键字外,C 语言中还提供了一些数据类型的修饰符,如:long 、short 、signed 和unsigned 。

它们的作用是与基本类型的定义关键字结合起来使用,以对基本类型进行扩充,使得在程序编写的过程中可以灵活调整数值的范围以及所占用的存储空间。

结合修饰符的应用,基本数据类型可进一步划分,如表2-1所示。

表2-1 各种数据类型及其说明语言的数据类型图)空类型(指针类型)共用体类型()结构体类型(数组类型构造类型)枚举类型()字符型()双精度型()单精度型(实型(浮点型))整型(基本类型C 12void union structenum char double float int -⎪⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎧⎪⎩⎪⎨⎧⎪⎪⎩⎪⎪⎨⎧⎩⎨⎧说明:(1)表中方括号内的部分是可以省略不写的。

C语言第02章 数据类型、运算符与表达式

C语言第02章 数据类型、运算符与表达式

回到 首页
运算符和结合性 P325,附录3
2.8 算术运算符和算术表达式
3、自增、自减运算符
自增运算符++和自减运算符--均是单目运算符, 功能是使变量的值增1或减1。其优先级高于所有 双目运算符,结合性为右结合性(自右至左)。
回到 首页
例如:++i或i++ 等价于i=i+1; --i或i-- 等价于i=i-1;
2.7数值型数据之间的混合运算
回到 首页
1、整型、实型、字符型数据之间可以混合运 算
整型(包括int,short,long)和实型(包括float,double)数据可 以混合运算,另外字符型数据和整型数据可以通用,因此,整 型、实型、字符型数据之间可以混合运算。 例如,表达式10+'a'+1.5-8765.1234*'b'是合法的。
2.9赋值运算符和赋值表达式
1、赋值运算符和赋值表达式
赋值运算符:“=”为双目运算符,右结合性。 赋值表达式:由赋值运算符组成的表达式称为赋值表达 式。 赋值表达式一般形式: 变量 赋值符 表达式 如 a=5 类型转换:将高精度的数据类型赋值给低精度的数据类 型,可能出错。
回到 首页
2.9赋值运算符和赋值表达式
2.8 算术运算符和算术表达式
3、自增、自减运算符
回到 首页
y=++x;等价于先计算x=x+1(结果x=6),再执行y=x,结果y=6。 y=x++;等价于先执行y=x,再计算x=x+1,结果y=5,x=6。 y=x++*x++;结果y=25,x=7。x++为后缀形式,先取x的值进行“*” 运算,再进行两次x++。 y=++x*++x;结果y=49,x=7。

2019年二章数据类型运算符及表达式.ppt

2019年二章数据类型运算符及表达式.ppt

若已有定义:int x; 则
从键盘输入数据给x应使用的语句为:
scanf(”%d”,&x);

若x的值为100,要求输出x=100的语句为:
printf(”x=%d”, x);

例题(sy4.c):输问入题一2个:小输数,将其保留小数位 数后两位(进行四舍入五的入数)据,怎并输出结果。 例如:输入123.674样,存则放输? 出123.67
不能包含小数点。
例如:12 -36 等等
八进制:以0开头,由0到7的数字组成,
例如:014 -042 等等
十六进制:以0x或者0X开头,
由0到9及a到f或者A到F的数字组成,
例如:0xb -0x22 等等
二、整型变量
1、整型变量的存放形式 整型数据在内存中以二进制的补码形式存放。
2、整型变量的分类
c=a*b
注意:强制类型转换运算符优先级高于算术运算符 优先级
练习:设 x=2.5, a=7,y=4.7
计算下列表达式的值
x+a%3*((xi+nty))(% x+xy/)4%(int)x/4 错正误确的表达式
=2.5+7%3*(int)(2.5+4.7)%(int)2.5/4 =2.5+1*(int)(7.2)%2/4 =2.5+1*7%2/4 =2.5+1/4 =2.5+00.25 =22..755
问题2:输 入的数据怎
样存放?
答:暂存于变量中。
实型变量如 何说明?
答:float 变量名称表
}
例如:float a,b;
二、实型变量
1、存放形式: 按指数形式存放。 一般的实型数据占用4个字节。即32位。

第二章基本数据结构及其运算

第二章基本数据结构及其运算

用这种方法查找,每次比较都可抛弃子表一半的 元素,查找效率较高 从该例可看出,数据元素在表中的排列顺序对查 找效率有很大的影响
例2、学生情况登记表信息查询 成绩在90分及以上的学生情况登记表
学 号 970156 970157 970158 970159 970160 970161 970162 970163 970164 … 姓 名 性 别 年龄 20 张小明 男 19 李小青 女 19 赵 凯 男 21 李启明 男 18 刘 华 女 19 曾小波 女 18 张 军 男 20 王 伟 男 19 胡 涛 男 … … … 成绩 86 83 70 91 78 90 80 65 95 … 学 号 姓 名 性别 男 女 男 女 年龄 21 19 19 17 成绩 91 90 95 93 970159 李启明 970161 曾小波 970164 胡 970168 梅 涛 玲
数据结构主要研究和讨论三方面问题:
1、数据元素之间的固有逻辑关系,称为数据的逻辑结构 2、数据元素及其关系在计算机中的存储方式,称为数据的 物理结构或存储结构
3、施加在数据结构上的操作,称为数据结构的运算。数据处 理的本质就是对数据结构施加各种运算,常见的运算有:查找、 排序、插入、删除等。
主要目的是提高数据处理的效率:
§2.1.3 数据结构的图形表示
D中的数据元素用中间标有元素值的方框表示, 称为数据结点(结点);R中的关系用一条有向线段 从前件结点指向后件结点。
例:设数据元素的集合为D = {di |1≤ i≤ 7的整数},画 出对应于下列关系所构成的数据结构的图形
①、R1={(d1,d3),(d1,d7),(d4,d5),(d3,d6),(d2,d4)} ②、R2={(di,dj)|i+j=5} ③、R3={(d2,d3)(d3,d1),(d1,d4),(d4,d6),d6,d5),(d5,d7)}

第2章_Java基本数据和运算

第2章_Java基本数据和运算
输出
5 % 2= 1 5/2=2
分析运行结果
public class OperatorTest { public static void main(String[] args) { int i =7/3; int j =2+7%i; double k = 7.8/i+5; System.out.println("i="+i); System.out.println("j="+j); System.out.println(”k="+k); } }
算术运算符应用
某学生有3门课成绩,编程实现求平均分。
public class Test1 { public static void main(String[ ] args) { String name= "刘星"; //姓名 int javaScore=90; //Java成绩 int webScore=86; // Web成绩 int sqlScore=88; //Sql 成绩 double avgScore; //平均成绩 avgScore= (webScore+javaScore+sqlScore)/3; System.out.println("学生姓名:"+name); System.out.println("平均成绩:"+avgScore); } }
?
常见错误
下面语句正确吗?
int a = 10; int b = 10.2; double c = 10; c = a; int d = c; double不可以自动转化成int
分析运行结果
public class TypeTest1 { public static void main(String[] args) { int a = 5; float x = a; //自动类型转换 double y= 5.8; int b=(int)y; //强制类型转换 System.out.println("a="+a); System.out.println("x="+x); System.out.println("y="+y); System.out.println("b="+b); } }

C语言程序设计第2章 数据类型与运算练习题及解答

C语言程序设计第2章 数据类型与运算练习题及解答

第2章数据类型和运算符习题及解答一.选择题。

1.下列是用户自定义标识符的是A)_w1 B)3_xy C)int D)LINE-3答案:A解析: C语言规定用户标识符由英文字母、数字和下划线组成,且第一个字符必须是字母或下划线,由此可见选项B),D)是错的;此外,C语言不允许用户将关键字作为标识符,而选项C)选项项中的int 是C语言的关键字。

语言中最简单的数据类型包括A)整型、实型、逻辑型 B)整型、实型、字符型C)整型、字符型、逻辑型 D)字符型、实型、逻辑型答案:B解析:本题考查C语言的数据类型。

在C语言中,没有专门的逻辑型数据类型,可以用0和1来表示逻辑值。

所以,在本题的选择答案中,不应该包括逻辑型。

3.假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A)3 B)6 C)10 D)20答案:D解析: x数组共有10个元素,在花括弧内只提供3个初值,这表示只给前面的3个成员赋值,后7个元素的值为0,所以,一共有20个字节。

4.以下选项中不正确的实型常量是A) B) C) D)234e-2答案:B解析:实型常量表示时字母E或e前必须有数字,其后数字必需为整数,故B错。

5.若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1 B)a=b=c+2 C)int %3 D)a=a+7=c+b答案:B解析:选项A)中包含一个不合法的运算符“:=”;选项C)应改为(int)%3;选项D)可理解为两个表达式:a+7=c+b和a=a+7,其中第一个是错的,因为C语言规定赋值号的左边只能是单个变量,不能是表达式或常量等。

因此,正确答案是选项B),它实际上相当于a=(b=c+2),进而可分解为两个表达式:b=c+2和a=b。

6.下列可用于C语言用户标识符的一组是A)void, define, WORD B)a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof答案:B解析: C语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线,排除选项C)和D)。

微机原理第02章1

微机原理第02章1

第2章: 溢出和进位的对比
例1:3AH+7CH=B6H
无符号数运算: 58+124=182 范围内,无进位 有符号数运算: 58+124=182 范围外,有溢出
例2:AAH+7CH=(1)26H
无符号数运算: 170+124=294 范围外,有进位 有符号数运算: -86+124=28 范围内,无溢出
常用来存放双字长数据的高16位,或存放外设端口地址
第2章:(2)变址寄存器
16位变址寄存器SI和DI 常用于存储器变址寻址方式时提供地址
SI是源地址寄存器(Source Index) DI是目的地址寄存器(Destination Index)
在串操作类指令中, SI 、 DI 还有较特殊的 用法 现在不必完全理解,以后会详细展开
第2章:溢出和进位的应用场合
处理器对两个操作数进行运算时,按照无 符号数求得结果,并相应设置进位标志 CF; 同时,根据是否超出有符号数的范围设置 溢出标志OF 应该利用哪个标志,则由程序员来决定。 也就是说,如果将参加运算的操作数认为 是无符号数,就应该关心进位;认为是有 符号数,则要注意是否溢出
第2章:符号标志SF(Sign Flag)
运算结果最高位为1,则SF=1; 否则SF=0
有符号数据用最高有效位表示数据的符号 所以,最高有效位就是符号标志的状态
3AH+7CH=B6H,最高位D7=1:SF=1
84H+7CH=(1)00H,最高位D7=0:SF=0
第2章:奇偶标志PF(Parity Flag)
第2章:辅助进位标志AF(Auxiliary Carry Flag)
运算时D3位(低半字节)有进位或
借位时,AF=1;否则AF=0
这个标志主要由处理器内部使用, 用于十进制算术运算调整指令中, 用户一般不必关心 3AH+7CH=B6H,D3有进位:AF=1

数据结构1-3习题答案

数据结构1-3习题答案

课堂练习
1、在什么情况下用顺序表比链表好? 、在什么情况下用顺序表比链表好 2、画出执行下列各行语句后各指针及链表的 示意图。 示意图。 、 L=(LinkList) malloc (sizeof(LNode));//等价于 等价于L=new LNode; 等价于 P=L; For(i=1;i<=4;i++) { P->next=(LinkList) malloc (sizeof(LNode)); P=P->next; P->data=i*2-1;} P->next=NULL; For(i=4;i>=1;i--) Ins_LinkList(L,i+1,i*2); For(i=1;i<=3;i++) Del_LinkList(L,i);
在下面两列中,左侧是算法(关于问题规模) 2.8 在下面两列中,左侧是算法(关于问题规模) 的执行时间,右侧是一些时间复杂度。 的执行时间,右侧是一些时间复杂度。请用连 线的方式表示每个算法的时间复杂度。 线的方式表示每个算法的时间复杂度。 100n3 6n2-12n+1 1024 n+2log2n n(n+1)(n+2)/6 2n+1+100n
判断下述计算过程是否是一个算法: 2.4 判断下述计算过程是否是一个算法: Step1: 开始 Step2: n<=0; Step3: n=n+1; 重复步骤3; Step4: 重复步骤3; 结束; Step5: 结束; 该计算过程不是一个算法, 答:该计算过程不是一个算法,因为其不满足算法的 有穷性。 有穷性。
回顾
第一章知识要点: 第一章知识要点: • 基本概论:数据、数据元素、数据项、数据对象 基本概论:数据、数据元素、数据项、 • 数据结构(D,S) 数据结构(D,S)

第二章 C语言的基本数据类型及运算

第二章 C语言的基本数据类型及运算
行绝对值相减
解决的方法是: 使用反码或补码的表示方法(按前述
表示的编码称为原码),即能将减法一律 转换为加法。
2020/12/11
原码、反码和补码
11
正数:原码、反码、补码相同
– 符号位为0,数值为对应的二进制数。 +109
[01101101]原 = [01101101]反 = [01101101]补
• 指数只能是整数,而尾数则可以是整数也可以是 小数 ,无论指数或尾数均不能省略 例如:1e、E.5、E-3 非法
• 实型常量的类型:默认为double型,后面加F (或f),则强调表示该数是float类型 例如:3.5f、1e2F
2020/12/11
3. 字符型常量
22
可视字符常量 – 单引号括起来的单个可视字符 例如:'a'、'A' 、'+' 、'3'、' ' 等
例如: #define LEN 2.5
定义符号常量
main( )
{ float a,b;
a= 2*3.14 *LEN;
使用符号常量
b=3.14*LEN*LEN;
printf("a=%f,b=%f\n",a,b);
}
编译前系统进行替换
2020/12/11
5. 符号常量
25
main( )
{ float a,b;
负数:
– 原码符号位为1,数值为绝对值的二进制
数。
-109 [11101101]原
– 反码符号位为1,数值为绝对值的二进制
数各位变反。 -109 [10010010]反
– 补码符号位为1,数值为绝对值的二进制

C语言第2章 数据类型及运算符

C语言第2章 数据类型及运算符

C/C++程序设计第2 章数据类型及表达式计算机学院C/C++程序设计课程组C/C++程序设计第2章主要内容本章主要介绍:基本数据类型和存储类型的说明方法,以及基本运算符的运算规则和表达式的构成方法,为后续章节的学习奠定一个基础。

C/C++程序设计2.1 C 语言的数据类型使用高级语言编写程序,主要工作有两项:一是描述数据,二是描述数据加工的方法。

数据类型图 2.1C 语言的数据类型基本类型整型实型字符型带符号长整型(简称长整型)带符号整型无符号整型无符号整型无符号短整型无符号长整型单精度型双精度型空类型构造类型指针类型枚举类型数组类型结构体类型共用体类型C/C++程序设计2.2 常量常量是程序运行过程中其值不发生变化的数据。

2.2.1 整型常量表2.1 整型数据的表示方式2.2.2 实型常量3.14、.9999、-3.14159、834.、–0.666 、6.89E-52.2.3 字符常量’x’,’a’,’A’,’b’,’$’,’#’ ,printf("\tab\rcd\n\’ef\\g");2.2.4 符号常量#define 符号常量字符串#define PI 3.14159C/C++程序设计【例2.1】求一个圆柱体体积,用符号常量代替π。

#include <stdio.h>#define PI 3.14159 /*定义PI为符号常量*/void main(){float r,h,v;scanf("%f,%f",&r,&h);v=PI*r*r*h; /* PI相当于3.14159,参与运算*/printf("Volume=%f",v);}运行时输入:3,2↙运行结果为: Volume=56.548618C/C++程序设计2.2.5 字符串常量"\tab\rcd\n\’ef\\g“"I am a student" 、"x"、""注意:’\0’和’0’不同,’\0’是编码为0的字符,而’0’则是数字0,其编码为48。

2.数据的存储

2.数据的存储

C 语 言 程 序 设 计
数值的表示方法——计算机不论对正数和负数都按 ‚补码‛形式存放到存储单元。
原码:最高位为符号位,其余各位为数值本身的绝对值 反码:
正数:反码与原码相同 负数:符号位为1,其余位对原码取反
补码:
正数:原码、反码、补码相同 负数:最高位为1,其余位为原码取反,再对整个数加1
-10的反码
-10的补码
取反 再加 1
1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0
短整型short
数据类型总表
基本类型
整 型
整型int
长整型long
单精度型float
双精度型double 字符类型char 数组 实型
C 数 据 类 型
结构体struct 构造类型 共用体union 枚举类型enum 指针类型 无值型
例 (1101001)2=(001,101,001)2=(151)8
例 (246)8=(010,100,110)2=(10100110)2
第 二 章 数 据 描 述
C 语 言 程 序 设 计
二进制与十六进制之间的转换 二进制转换成十六进制:从右向左,每4位一组 (不足4位左补0),转换成十六进制 十六进制转换成二进制:用4位二进制数代替每一 位十六进制数
第二章 数据的存储与运算
预备知识 基本数据类型 常量与变量 不同类型数据间的转换 运算符和表达式
C 语 言 程 序 设 计
§2.0 预备知识
计算机中数的表示及进制转换
数码、基与权
数码:表示数的符号 基:数码的个数 权:每一位所具有的值
数制
第 二 章 数 据 描 述
C 语 言 程 序 设 计

C语言教程第2章数据类型、运算符与表达式

C语言教程第2章数据类型、运算符与表达式
const float pi = 3.1425926;
常量只能在定义时赋值,然后不能再改变 其值 常数、 const常量、宏常量和枚举常量, 都可以用来表示一个永远不会改变的数
前者不建议直接使用,而用后三者代替
C语言大学实用教程
2.5 变 量
变量是在程序执行过程中可以改变、可以赋 值的量。
在程序中每一个变量都有一个名子即变量名, 程序对该变量访问(存入、读取)都是通过变 量名进行的。
运行结果: 1234567936.000000
1234567890.000000
}
C语言大学实用教程
2.6 常用运算符及表达式
算术运算符
+,-,*,/,%
加、减、乘、除、求余运算 四则混合运算中,先算乘除,后算加减, 按从左向右的顺序计算,左结合
#include <math.h>
常用的标准数学函数
C语言大学实用教程
#include <stdio.h> /*函数功能:计算两个整数相加之和 入口参数:整型数据a和b 返回值: 整型数a和b之和 */ int Add(int a, int b) { return (a + b); }
2.1 一个简单的C程序例子
/*主函数*/ ) { int x, y, sum = 0;
022、-037 010和10大小不一样 因为八进制并不常用,所以此种表示法比较少见
以“0x”或者“0X”开始的整型常数是十六进 制
A~F和a~f用来表示十进制的10~15
十六进制的形式比较常用,尤其在进行位一级的 控制的时候 0x12、-0x1F, -0x1f
C语言大学实用教程
2.4 常量
字符常量

第2章数据的存储与运算PPT课件

第2章数据的存储与运算PPT课件

精选PPT课件
12
P19
2.2.1 整型数据运算程序举例和分析
➢解题思路:
设x代表鸡的数量,y代表兔的数量,总头 数为h,总脚数为f
列出下面的方程式:
x+y=h
2x + 4y = f
解方程得到: y f 2h 2
(1) (2)
xhy
精选PPT课件
13
P19
2.2.1 整型数据运算程序举例和分析
二进制数 0 1 10 11
100 101
十进制数 6 7 8 9 10
二进制数 110 111 1000 1001 1010
1 0 1 2 1 3 0 0 2 2 1 2 1 0 2 0
精选PPT课件
5
2.1.2 位、字节和地址 P17
➢位(bit) ,又称“比特” 。每一个二极管元 件称为一个“二进制位”,是存储信息的最 小单位。它的值是“1”或“0”
第2章 数据的存储与运算
2.1 数据在计算机中是怎样存储的
2.2 整型数据的运算与分析
2.3 实型数据的运算与分析
2.4 字符型数据的运算
2.5 符号常量
2.6 算术运算符和算术表达式
2.7 C运算符和C表达式
2.8 提高部分
精选PPT课件
1
P16
2.1 数据在计算机中是怎样存储的
2.1.1 数据在计算机中是以二进制形式存储的 2.1.2 位、字节和地址 2.1.3 不同类型数据的存储方式
P19
2.2.1 整型数据运算程序举例和分析
➢定义变量的一般形式是: 类型名 变量名;
例如:int h,f,x,y; 变量都必须在使用前定义,指定其类型 赋值:h=37; f=88;

C语言知识点:第2章 数据类型、运算符与表达式

C语言知识点:第2章 数据类型、运算符与表达式
C 语言程序设计知识点
主讲教师:杨剑
第 2 章:数据类型、运算符与表达式
1. 本章目标:
理解变量和常量的含义 熟悉基本数据类型 - int、char、float 和 double 使用算术运算符 理解类型转换 使用关系和逻辑运算符
2. 内存如何存放数据
电脑使用内存来记忆计算时所使用的数据 内存如何存储数据? 内存像旅馆.数据各式各样,要先根据数据的需求(即类型)为它申请一块合适的空
23. 复合赋值表达式
24. 赋值表达式和逗号运算符
赋值表达式 a=b=c=5;(从右向左计算) a +=a-=a*a
逗号运算符和逗号表达式 3+5,6+8 a=3*5,a*4
25. 习题
~7~
C 语言程序设计知识点
主讲教师:杨剑
有以下程序
main()
{
char a1=’M’,a2=’m’;
12. 单精度浮点型
float 在 C 语言中用于存储单精度浮点数 float 32 位 10-38 至 10+38 ,7 位有效数字 声明:
float price; 初始化:
float score = 11.3; score = 65.90;
13. 双精度浮点型
double 32 位 16 位有效数字 声明:
const float PI=3.14; S=PI*r*r; //等价于 3.14*r*r const 关键字的作用就是“冻结”一个量,它的值不能被修改,是一个只读(read only) 量。 优点:比数值常量可读性好、修改容易
18. 符号常量 2(宏常量)
还可用宏定义符号常量 语法:#define 符号名 常量值 例: 计算圆的周长时
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实型变量长度和取值范围
类 型 长度 (bit) 有效数字 32 6~7 绝对值范围 10-37~1038
float
double
long double
64
128
15~16
18~19
10-307~10308
10-4931~104932
仅供参考,实际值与所 使用的操作系统、编译 系统、机器有关。
2.3.3 实型变量
2.2 整型数据的运算与分析
2.3 实型数据的运算与分析 2.4 字符型数据的运算 2.5 符号常量 2.6 算术运算符和算术表达式 2.7 C运算符和C表达式 2.8 提高部分
P16
2.1 数据在计算机中是怎样存储的
2.1.1 数据在计算机中是以二进制形式存储的 2.1.2 位、字节和地址 2.1.3 不同类型数据的存储方式
解方程得到: y f 2 h 2
xh y
P19
2.2.1 整型数据运算程序举例和分析
#include <stdio.h> void main() { int h,f,x,y; //定义整型变量h,f,x,y h=16; //使h的值等于16 使f的值等于40 f=40;
y=(f-2* h)/2; 计算兔的个数 计算鸡的个数 x=h-y; printf(“%d%d\n”,x,y);
#include <stdio.h> void main() { int h,f,x,y; h=16; f=40; y=(f-2* h)/2; cock=%d, rabbit=%d %d,%d x=h-y; printf(“%d%d\n”,x,y); 输出鸡和兔个数 } 12,4
P19
2.2.1 整型数据运算程序举例和分析
2.3.1 实型数据的运算举例
P24
#include <stdio.h> #include <math.h> void main() month=201.983404 { int d,p; total=655436.127930 float r,m; d=324500; p=3245; r=0.008; 输出实数时 m=(log10(p)-log10(p-d*r))/log10(1+r); printf(“month=%f\n”,m); 输出m的值 printf(“total=%f\n”,m*p); 计算并输出还款数 }
常量和变量 要注意区别变量名和变量值 h
P22
2000 16 37
执行h=37;
2.2.2 整型常量与整型变量
变量名的取名规则
P22
变量名第一个字符必须是字母或下划线, 其后字符必须是字母、数字或下划线 合法:sum,average, _total, Class, day, month, Student_name,tan,li_ling 不合法:Zhang-sun,Student‟s,, $123,#33,3D64
2.2.2 整型常量与整型变量
常量和变量
P22
常量是指在程序运行过程中其值不能 改变的量 变量是指在程序运行过程中其值可以 改变的量
2.2.2 整型常量与整型变量
常量和变量 要注意区别变量名和变量值 h 变量名 变量值 存储单元
P22
2000 16
变量地址
2.2.2 整型常量与整型变量
类型名称 基本整型 短整型 类型说明符 int short [int] 字节数 2 2 数值范围 -32768~32767 -32768~32767
长整型
无符号基本整型 无符号短整型 无符号长整型
long [int]
unsigned [int]
unsigned short [int]
4
2 2 4
-2147483648~ 2147483647
+
数符
.12345
数值部分
+
3
指数符号 指数
P18
2.1.3 不同类型数据的存储方式
字符的存储方式
对于字符,按ASCII代码(P300)存放
A的ASCII代码是65(1000001)
0 1 0 0 0 0 0 1
2.2 整型数据的运算与分析
P19
2.2.1 整型数据运算程序举例和分析
2.2.2 整型常量与整型变量
1
0
1
0
1
0
1
0
2.1.1 数据在计算机中是 以二进制形式存储的
十进制数 二进制数 0 1 2 3 4 5 0 1 10 11 100 101
3 2 1 0
P16
十进制数 6 7 8 9
二进制数 110 111 1000 1001
10
1010
1010 1 2 0 2 1 2 0 2
P19
2.2.1 整型数据运算程序举例和分析
例2.1 鸡兔同笼。在一个笼子里同时养着 一些鸡和兔子,你想了解有多少只鸡和多 少只兔,主人对你说:我只告诉你鸡和兔 的总头数是16和总脚数是40,你能不能 自己计算有多少只鸡和多少只兔?
P19
2.2.1 整型数据运算程序举例和分析
解题思路:
设x代表鸡的数量,y代表兔的数量,总头 数为h,总脚数为f 列出下面的方程式: x+y=h 2x + 4y = f (1) (2)
2.3.2 实型常量的表示形式
实数在计算机语言中常称为浮点数
P26
十进制小数形式
如:0.123, 123.23, 0.0
指数形式
如:123e3或123E3
2.3.3 实型变量
实型变量的分类
P27
单精度实型变量(float型)
双精度实型变量(double型)
长双精度实型变量(long double型)
#include <stdio.h> void main() { int h,f,x,y; h=16; f=40; y=(f-2* h)/2; cock=%d, rabbit=%d x=h-y; printf(“%d%d\n”,x,y); 输出鸡和兔个数 } cock=12, rabbit=4 12,4
地址。计算机的存储器包含许多存储单元, 操作系统把所有存储单元以字节为单位编号
2001 2002 2003 2004 2005 2006 3 4 5 7 8 9 ┆
P18
2.1.3 不同类型数据的存储方式
整数的存储方式
一个十进制整数,先转换为二进制形式
如整数10,以二进制形式表示是1010
2.1.2 位、字节和地址
P17
位(bit) ,又称“比特” 。每一个二极管元 件称为一个“二进制位”,是存储信息的最 小单位。它的值是“1”或“0” 字节(byte) ,又称“拜特” 。一般将8个 “二进制位”组织成一组,称为“字节”。 这是人们最常用的存储单位
2.1.2 位、字节和地址
P17
0~65535 0~65535 0~4294967295
unsigned long [int]
仅供参考,实际值与所 使用的操作系统、编译 系统、机器有关。
2.3 实型数据的运算与分析
2.3.1 实型数据的运算举例
P24
2.3.2 实型常量的表示形式
2.3.3 实型变量
2.3.1 实型数据的运算举例
}
P19
2.2.1 整型数据运算程序举例和分析
#include <stdio.h> void main() { int h,f,x,y; h=16; f=40; y=(f-2* h)/2; %d,%d x=h-y; printf(“%d%d\n”,x,y); 输出鸡和兔个数 } 124
P19
2.2.1 整型数据运算程序举例和分析
P24
例2.2 分期付款的计算。张先生为购房, 向银行贷款,贷款额为D元,每月准备 还P元,月利率为R,求需要多少个月才 能还清。
m log( p ) log( p d r ) log( 1 r )
m是还清贷款所需月数 d=324500,p=3245,r=0.8%
2.3.1 实型数据的运算举例
例如:int h,f,x,y; 变量都必须在使用前定义,指定其类型
赋值:h=37;
f=88;
2.2.2 整型常量与整型变量
变量必须“先定义,后使用”
P22
根据定义变量时指定的类型,编译系统为 变量分配相应的存储单元 凡未被事先定义的,系统不把它认作变量 名,保证程序中变量名使用得正确
指定了每一变量属于一个类型,就便于在 编译时据此检查在程序中要求对该变量进 行的运算是否合法
用一字节存放
0 0 0 0 1 0 1 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 用两字节存放 负数按补码形式存放
P18
2.1.3 不同类型数据的存储方式
实数的存储形式
对于实数,一律采用指数形式存储, 占4个字节。 123.456标准化指数形式为0.123456103 一般3个字节存放数值部分,一个字节放指数。(均含 符号部分)
2.3.1 实型数据的运算举例
P24
#include <stdio.h> #include <math.h> void main() { int d=324500,p=3245; 定义变量时赋初值 double r=0.008,m; 定义double型无警告错 m=(log10(p)-log10(p-d*r))/log10(1+r); printf(“month=%f\n”,m); printf(“total=%f\n”,m*p); }
2.2.2 整型常量与整型变量
整型常量的表示形式
相关文档
最新文档