数据类型与表达式

合集下载

4数据类型及表达式

4数据类型及表达式
整理课件
5.符号常量 在C语言中,可以用一个标识符来表示一
个常量,称之为符号常量。符号常量在使用之 前必须先定义,其一般形式为: #define 标识符 常量 其功能是把该标识符定义为其后的常量值。
整理课件
例4.2
#define PI 3.14159 /*定义符号常量PI*/
main()
{
float area,r;
整理课件
4.2.1 常量
1.整型常量 数据类型为整型的常量即为整型常量,又称整
常数。在C语言中,使用的整型常量有八进制、十 六进制和十进制3种。其中八进制、十六进制主要 用于表示整型常量在内存中的存储形式,也就是表 示某整型常量的机器码;十进制表示外部数据,其 值表示的是真值。
整理课件
(1)八进制整型常量 八进制整型常量必须以0开头,即以0作
\v
竖向跳格
\\
反斜线符"\"
\b
退格
\'
单引号符
\"
双引号
整理课件
4.字符串常量 字符串常量是由一对双引号括起的字符序
列,可以没有字符,也可以只有一个字符。例 如,"CHINA" ,"How are you ! ", "$12.5" ," ","A","\nc\234\\" 等都是合法的字符 串常量。
整理课件
(3)十进制整型常量
十进制整型常量没有前缀。
整型常量的几点说明如下。
① 常量的类型
常量的类型可以根据整型常量描述的数值 来确定其类型。
当整型常量的值为32768~32767时,可 以看作基本型整型常量。

5 数据类型和表达式

5 数据类型和表达式

变量名举例
strArea Print1 Client_Name 1Base_Ball Base.1 _Base1 Base Base1 BASE Print Name Text Picture
变量名可以参照以下几点: 变量名可以参照以下几点:
尽量选择有意义的名字 可以将变量名各组成部分的开头字母大写, 或加下划线。 可在变量名的前面加一前缀来提示变量的 类型。53页表3 类型。53页表3-3。 strName intAge blnSex sngHeight
算术运算的一般形式 算术运算的一般形式为: 一般形式为 a Op b 或 OP b 其中Op表示运算符, 是左操作数, 是右操作数。 其中Op表示运算符,a是左操作数,b是右操作数。 表示运算符 例如: 例如:100 * 45 a和b也可以是一个表达式。 也可以是一个表达式。 例如: 例如:23 / 5 + 1.2 由数值型数据、算术运算符和圆括号 和圆括号构成的表 由数值型数据、算术运算符和圆括号构成的表 达式称为数值表达式。 算结果为数值型数据。 达式称为数值表达式。其运算结果为数值型数据。 例如: b+sqr(b^2 *a*c))/(2 例如:(-b+sqr(b^2-4*a*c))/(2*a) 特殊情况: 特殊情况 : 单个数值型常量或变量或函数也是 数值表达式。 数值表达式。 例如: 例如:0.5,Pi,a,sin(x)
(3)全局变量
全局变量的作用范围最大,对程序的所有 窗体和模块都有效。 声明时在模块窗口的通用/声明段,用Public 声明时在模块窗口的通用/声明段,用Public 或Global关键字。 Global关键字。
三、常量
顾名思义,常量的值在程序执行过程中保 持不变,不允许用户去改变它。 常量分文字常量和符号常量两种。 常数

数据类型、运算符与表达式

数据类型、运算符与表达式
上一页 下一页 返回
6.1 一维数组
例6.4程序中第一个for语句逐个输入10个数到数组a中,然后把a[0]送 入max中。在第一个for语句中,a[1]到a[9]逐个与max中的内容比 较,若比max的值大,则把该下标变量送入max中,因此max在己 比较过的下标变量中总是为最大者。比较结束,输出的max值即 为10个整数的最大值。
2.5 字符型数据
2.5.1 字符常量
1.字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。例如,'
A','6','+'等。 2.转义字符
C语言还允许使用一种特殊形式的字符常量,就是以反斜杠 “\”开头的转义字符,该形式将反斜杠后面的字符转变成另外的 意义,因而称为转义字符。
下一页 返回
第2章 数据类型、运算符与表达式
2.1 C语言的数据类型 2.2 标识符、常量和变量 2.3 整型数据 2.4 实型数据 2.5 字符型数据 2.6 算术运算与算术表达式 2.7 赋值运算与赋值表达式 2.8 自增、自减与逗号运算
2.1 C语言的数据类型
C语言提供有丰富的数据类型。其数据类型及其分类关系如 图2-1所示。
int i,max,a【10」; printf(”input 10 numbers:\n");
上一页 下一页 返回
6.1 一维数组
for(1=0;1<10;1++) scanf(”%d”,&a[i]);
max=a[0]; for(i=1;i<10;i++)
if(a[i]>max) max=a[i]; printf("maxnum=%d\n",max);
形பைடு நூலகம்输出。

第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 实型常量的表示方法

第二章数据类型与表达式

第二章数据类型与表达式
无符号数也可用后缀表示,整型常数的无符号数的后缀为“U” 或“u”。例如:358u,0x38Au,235Lu均为无符号数。
返回本讲目录
2)浮点型常量 浮点型常量也称为实数或者浮点数。在C++中,实数
只采用十进制。它有两种形式:十进制小数形式和 指数形式。
(1)十进制小数形式。由数字0~9和小数点(注意: 必须有小数点)组成,小数点前后如果有单独的0 可以省略。如:123.45、-256.7、0.0、.25、12.都 是合法的小数。
变量定义的一般格式为:
数据类型 变量名1,变量名2,…,变量名n;
在定义一个变量的同时,也可以用赋值运 算符给它赋以初值,称为变量初始化。
变量初始化的格式如下:
数据类型 变量名1=初值1 , 变量名2=初值2 , … , 变量名n=初值n;
“=”在C++中不是数学中的“等于号”, 而是赋值号,它表示把“=”右边的数据存 放在左边的变量表示的存储单元中。
本章学习内容
掌握各种基本数据类型的关键字、数据长度 和表示范围;
掌握各种类型的数值表示; 弄清变量以及变量赋值的实质、标识符的构
成规则; 弄清常量与变量之间的区别; 掌握常用的运算符的含义、优先级和使用方
法; 掌握隐式和显式类型转换的概念和使用方式。
本章目录
第二讲 C++的数据类型、常量与变量 第三讲 运算符与表达式 本章小结
(3)十六进制整数。十六进制整常数的前缀为0X或0x,其数字 取值范围为0~9、A~F或a~f。例如:0X1C、0XFFFF等。
(4)整型常数的后缀。如果使用的数值超过了基本整型数据的 取值范围,就必须用长整型数来表示。长整型数是用后缀 “L”或“l”来表示的。例如:158L、077L和0XA5L等。

基本数据类型和表达式

基本数据类型和表达式

第一章 基本数据类型和表达式C++数据类型为什么要分数据类型 不同的数据类型存储格式不同。

不同的数据类型所实施的操作不同C++数据类型1、整形数据各种整形数据的基本情况数据类型 占用字节(跟编译器有关)数据范围short2 bytes -32768~32767 unsigned short2 bytes0~65535int 2bytes(16位机) 4 bytes(32位机) -32768~32767 -(231)~231-1 unsigned int2bytes(16位机) 4bytes(32位机)0~65535 0~232-1long 4bytes -(231)~231-1 unsigned long4 bytes0~232-1整形常量在整形常量后可加修饰符l 或L 表示长整型基本类型实型(浮点型)双精度型(double)十进制整数:以非零的数字开始123//signed int65000//unsigned int123u//unsigned int123L//singed long int八进制整数:以零开始0123=83//unsigned int011L=9//unsigned long int十六进制整数:以0X或0x开始0x123=291//signed int0X123u=291//unsigned int整型变量类型修饰符变量名[=表达式][,变量名[=表达式]]int x,y;int i=1,j=0;2字符型数据字符型数据的基本情况字符类型:在内部实现是个单字节长度的整型,因此常用字符型定义值较小的整数。

单引号括起来的一个字符如’a’,’D’,’?’,’S’字符数据在内存中的存储形式以ASCII码存储,占1字节,用7位用于表示字符时存放的是字符的ASCII码值。

数据类型占用字节数据范围char 1Byte -128~127 unsigned char 1Byte 0~255转义字符转义序列对应ASCII码值对应功能或字符转义序列对应ASCII码值对应功能或字符\b 8 退格\’39 单引号\f 12 换页\’’34 双引号\n 10 换行\? 63 问好\r 13 回车\ccc ccc为八进制值该值对应的字符\t 9 水平制表\\xhh hh为十六进制值该值对应的字符字符变量用来存放字符常量例:char c1,c2;c1=’a’;c2=’A’;字符型和整形的关系字符数据和整形数据之间可以通用,可以按字符形式输出,也可以按整形输出。

第3章数据类型与表达式

第3章数据类型与表达式

//结果i=2;
•赋值语句可以连续进行。 例:a=b=c=0,根据右结合性,该表达式等价于: a=(b=(c=0))
36
2、复合赋值运算
•算术运算符“+ — * / %”和赋值运算符“=”结 合起来,形成复合赋值运算符。
+= :加赋值运算符; 如a+=3,等价于 a=a+3 -= :减赋值运算符; 如a-= b+ 3,等价于 a=a- (b+3) *=、/=、%= 与此类似
20
2)字符变量:char,占1个字节空间,只能存放 一个字符。 例如:char c1,c2; c2=‟a‟; 定义了字符型变量c1,c2,把’a‟存放到c2中 •存储特点: 在字符变量中实际上存储的是字符的ASCII码, 其存储形式与整数的存储形式相同。 字符数据与整型数据可相互赋值,直接运算。 例如: char c; c=97;相当于c=„a‟;
26
“%”是求余运算。a%b计算a除以b后的余数,也 是a模b的值。它要求两个运算对象必须是整型,其 结果也是整型量。 例:5%2结果为1 2%5结果为2 10%3.0 语法错误
27
2.算术表达式
• 用算术运算符和括号将运算对象(操作 数)连接起来的、符合C语法规则的式子。 如:1+3.5*2-10 (x+y)*3-6+‟a‟ • 表达式的值
long [int]
unsigned [int]
unsigned short[int]
4
4 2 4
unsigned long[int]
说明:数据类型所占字节数编译系统的不同而不同,上表以 Visual C++6.0为例 12
整型变量举例:

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语言第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"。

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

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

例如
➢字符常量‘a’占一个字节 ➢字符串常量"a" 占2个字节
‘a’ → “a” →
0110 0001 ……
0110 0001 0000 0000
(97)10
(97)10 (0)10
7.变量赋初值
变量赋初值
C语言允许定义变量时赋予初值。
➢int i = 6;
也可对某个变量赋初值:
➢int a, b, c = 6;
如: 0x16, 0x28
4.整型数据
整型变量
分类:
➢基本型 用“ int ”定义; ➢短整型 用“ short int ”或 “ short ”定义; ➢长整型 用“ long ”或 “ long int ”定义; ➢无符号型 用“ unsigned ”定义,不存放符号;
整型变量定义方式
➢基本整型:int a, b, c; ➢短整型 : short int 或 short a, b, c; ➢长整型: long int 或 long a, b, c; ➢无符号型:unsigned a, b; unsigned short a, b
10+‘a’+1.5–8765.1234 ‘b’
8.各种数值型数据间的混合运算
转换方法(自动转换)
double float

long
unsigned
低 int char, short
图中“ ” 表示必定转换。如'a' +' b',先转换为int,结果为 int。
既使是同一种类型也按" "转换。
对于“++”和“--”的使用要避免二义性
10.赋值运算符和赋值表达式

C语言--ch2--数据类型和表达式

C语言--ch2--数据类型和表达式

2.3 运算符和表达式
3.算术表达式 1)用算术运算符和括号的式子,称为算术 表达式.例如: a*b/c-1.5+'a' 1+3-4*5-a*a+b*b 2)算术表达式的值: 任何表达式都有值 3*4-5/2*2%3 11
2.3 运算符
4, 注意: 1)C语言算术表达式的乘号(*)不能省略.例如: 数学式b2-4ac,相应的C表达式应该写成: b*b-4*a*c 2)C语言表达式中只能出现已经定义的标识符. 例如,数学πr2相应的C表达式应该写成: # define PI 3.14 int r; PI*r*r (或者 3.14*r*r) 3)C语言可以使用多层圆括号,此时左右括号必 须配对,运算时从内层括号开始,由内向外依 次计算表达式的值 .例如: (((3+4)*5)-9)*2-5
2.3 运算符和表达式
5,运算符的优先级与结合性 1)优先级见教科书 2)在表达式求值时,先按运算符的"优 先级别"高低次序执行 ,例如: a-b*c 等价于 a-(b*c), 3)结合性:左结合,即如果在一个运算 对象两侧的运算符的优先级别相同时,先 与左面的运算符结合,例如: a-b+c等价于(a-b)+c
2.2 常量和变量
4, 变量的作用:保存数据. 保存数据. 保存数据 例:求圆柱体的底面积,表面积,体积 5,变量在任意一个时刻都只能保存一个值. 例:int i; i=12;/*变量i的值这时为12*/ i=i+3;/*i=12+3, i的值这时为15*/ i=4;/* i的值这时为4*/
2.2 常量和变量
课堂练习:判断以下常量是否合法? 课堂练习:判断以下常量是否合法?
12e3; e3; 12.3e; 0.45E1.2

数据类型和表达式

数据类型和表达式

● 尾数的整数部分为0,第1位小数非零的表示形式称为规范化的指数形式,无论源程 序中如何表示,机内存储都是规范化指数形式 123e4 12.3e5 1.23e6 0.123e7 0.0123e8 (123 (12.3 (1.23 (0.123 (0.0123 x x x x x 104) 105) 106) 107) 108)
机内存储形式
§2.数据类型和表达式
2.2.常量 2.2.2.数值常量 2.2.2.2.浮点型常量 两种表示方式: 十进制数(带小数点的数字) 指数形式(科学记数法)
★ 浮点数在内存中的存储分为三部分,分别是符号位、指数部分和尾数部分
31 30 23 22 23bit尾数 0 0/1 8bit指数 浮点数的存储遵从 IEEE 754 规范 具体不做要求 P.22 图2.3仅是一个分段示范,不准确
数值范围 -231 ~ +231-1 0 ~ +232-1 -215 ~ +215-1 0 ~ +216-1 -231 ~ +231-1 0 ~ +232-1 -27 ~ +27-1 0 ~ +28-1 -3.4x1038 ~ 3.4x1038 -1.7x10308 ~ 1.7x10308 -1.7x10308 ~ 1.7x10308
ESC(ASCII=27)
换行(ASCII=10)
'\33' '\033' '\x1b' '\x1B'
双引号(ASCII=34) '\"' '\42' '\042' '\x22'
★ '0'与'\0'的区别 '0' - ASCII 48 '\60' '\060' '\x30' '\0' - ASCII 0 '\00' '\000' '\x0' '\x00' ★ 控制字符中,除空格外,都不能直接表示,\ ' " 等特殊图形字符也不能直接表示 2.2.3.3.字符在内存中的存储 ★ 一个字符常量只能表示一个字符,一个字符在内存中占用一个字节,字节的值为该字符的 ASCII码

计算机基础 数据类型与表达式

计算机基础 数据类型与表达式

2.1 C++的字符集与词汇
2.标识符 由程序员定义的命名符
语法:以字母或下划线开始,由字母、数字和下划线组成的符号串
例 判断以下标识符的正确性:
合法标识符有: a x1 no_1 _a2c sum Name name
不合法标识符有:
2a x+y a,b a&b const
以数字开头
2.1 C++的字符集与词汇
第二章 数据类型与表达式
本章内容要点:
数据类型 常量与变量 C++的运算符和表达式
2.1 C++的字符集与词汇
➢ 所有的语言系统都是由字符集和规则集组成的; ➢字符根据规则组合形成表达式、语句; ➢由各种语句构成函数和程序.
2.1 C++的字符集与词汇
C++语言的字符集是ASCII码的子集,有:
语法:以字母或下划线开始,由字母、数字和下划线组成的符号串
例 判断以下标识符的正确性:
合法标识符有: a x1 no_1 _a2c sum Name name
不合法标识符有:
2a x+y a,b a&b const
关键字
2.1 C++的字符集与词汇
3.运算符
运算符是对数据进行操作的简洁表达,以单词的形式调用系统预定义函数
023 0771 045 010
1.整型
八进制 ( Octal, base 8 ) 示数形式
OctalDigits [ L | l ]
例如:
023 0771 045 010
2×81+3×80 = 19
1.3.3 基本 类型

基本数据类型与表达式

基本数据类型与表达式
4
数据的存储格式
字符型数据:
使用一个字节,存放一个ASCII字符,示意图如下:
7
0
01 0 0 0 0 0 1
‘A’字符ASCII 为65
ASCII的范围:0 – 127 一个字符数据可以当作一个整数使用
5
#include <iostream> using namespace std; int main()
显示ASCII字符集的 程序
{
char ch;
for(int i=0;i<128;i++)
{
ch=char(i);
cout<<ch<<"\t"<<i<<"\t";
}
return 0;
}
6
7
整型数据的存储格式
短整型 short 15
87
0
短整数表示范围为:-215~215-1 (-32768~32767)
int i, j, k; // 说明了3个整型变量
long len; // 说明了1个长整型变量
float average, sum;
// 说明了两个浮点类型的变量
double distance, weight; // 说明了两个双精度类型的变量
•变量名命名规则与标识符相同。
13
二.变量的初始化
定义变量时赋初值:
实型数据分为:浮点型(float)和双精度型(double)
31
24 23
16 15
87
0
尾数部分
指数部分
一般浮点数的可以达到7位有效数字。例如1234.567。 双精度浮点数的有效位数可以达到15~16位。

第2章 数据类型、运算符、表达式

第2章 数据类型、运算符、表达式

第二章 数据类型、运算符、表达式一、数据类型C 语言中的数据类型比别的语言丰富。

基本类型的数据又可分为常量和变量,它们可与数据类型结合起来分类,即为整型常量、整型变量、实型(浮点型)常量、实型(浮点型)变量、字符常量、字符变量、枚举常量、枚举变量。

1、常量与符号常量常量:在程序执行过程中,其值不发生改变的量称为常量。

常量区分为不同的类型,如68、0、-12为整型常量,3.14,9.8为实型常量,‘a ’,‘b ’,‘c ’则为字符常量。

常量即为常数,一般从其字面即可判别。

符号常量:有时为了使程序更加清晰和便于修改,用一个标识符来代表常量,即给某个常量取个有意义的名字,这种常量称为符号常量。

如:#define PI 3.142、变量变量:程序执行过程中其值可以改变的量。

定义方法定义形式:数据类型 变量名1,变量名2,……变量名n ;整型(int )数据类型 基本类型 整型 单精度型(float )字符型(char )长整型(long )短整型(short )实型 双精度型(double )枚举类型(enum )共用体类型(union )构造类型结构体类型(struct )数组类型空类型(void )指针类型(*)如:char ch1, ch2; /* ch1,ch2为变量*/float x, y; /* x ,y 为实型变量*/int a, b, c; /* a,b,c 为整型变量*/在书写变量说明时,应注意以下几点:(1) 允许在一个类型说明符后,说明多个相同类型的变量。

各变量名之间用逗号间隔。

类型说明符与变量名之间至少用一个空格间隔。

(2) 最后一个变量名之后必须以“;”号结尾。

(3) 变量说明必须放在变量使用之前。

一般放在函数体的开头部分。

另外,也可在说明变量为整型的同时,给出变量的初值。

其格式为:类型说明符 变量名标识符1=初值1,变量名标识符2=初值2,...;3、数据在内存中的表示整型数据:以二进制的形式表示(1) int 类型正数: 如 123 (+123)用 16 位二进制(二个字节)表示原码 反码(原码同) 补码(原码同)最大正整数 215-1=214+213+212+211+210+29+2827+26+25+24+23+22+21+20=32767负数:如 –123原码补码(补码加 1)1取反加1 最大负整数-215=32768 因为 -215 < -(215-1) 所以用 -215 而不用 -(215-1)(2) unsigned (int) 类型称为无符号整数,它不是指不带“+ 或 -”号的整数,而是指内存表示这类数时没有符号位,16最大数215+214+213+2122+21+20=65535最小数 0 (3) long (int) 类型用 32 位二进制(四个字节)表示,其他同 int 型(4) short 类型有的计算机(小型、中型、大型机)int 即是 long ,而short 用16 位二进制(二个字节)表示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告_实验 2 数据类型与表达式(学生学号__姓名)一、实验目的:1、熟悉基本数据类型(int、char、float、double)占用的字节数和存储形式,能够定义基本数据类型的变量,使用这些类型的数据;2、掌握字符数据的存储形式及其与整数的运算,能正确理解“字符数据”与“字符串”的区别与联系,熟悉常用转义字符的使用;3、熟悉字符常量与一般常量的定义、使用;4、掌握算术运算符(重点是/和%)、自增(++)和自减(--)运算符的使用,能够构建正确的表达式,并输出其结果;5、理解不同类型数据之间运算时的类型转换规则,掌握强制类型转换的方法。

二、实验内容1、(基础题)用sizeof运算符可以得到各种类型数据占用存储单元长度,利用数据间的关系和不同控制符,可以得到查看数据的存储形式。

回答下列问题:#include<stdio.h>int main(){char ch1,ch2;ch1='A';ch2=ch1+32;printf("ch1的ASCII:%d, ch2的ASCII:%d, ch2对应的字母:%c\n",ch1,ch2,ch2);int i1,i2;i1='n'; //将字符数据赋值给整型变量i2=i1-32;printf("i1的值:%d, i2的值:%d, i2对应的字母:%c\n",i1,i2,i2);printf("字母:%c%c%c\n",'A'+2,'A'+1,'A');//后续字符=首字符+nprintf("数字:%c%c%c\n",'0'+3,'0'+1,'0'+5);//后续字符=首字符+nprintf("字符间距离:%d,%d,%d\n",'z'-'a','9'-'6','z'-'6');//字符间距离=较大字符-较小字符return 0;}(1)sizeof运算符如何使用?它的操作数可以是类型关键字吗?答:可用sizeof(类型名或数据) 来获取该类型数据所占字节数。

可以(2)整数的占用长度与其数值大小有关吗?答:有(3)字符串中’\’’、’\n’、’\t’的功能各是什么?答:功能分别为:单引号,换行,水平制表(4)字符串的一个英文字母占几个字节?一个汉字占几个字节?尾部还有什么字符?答: 字符串的一个英文字母占1个字节,一个汉字占4个字节,尾部有一个字符串结束符‘\0’(5)整数的存储形式是什么?答:二进制补码2、(基础题)字符数据以整数方式(ASCII)存储的,可以与整数进行+、-运算,既可以用“字符”方式输出,也可以用“整数”方式输出。

回答下列问题:#include<stdio.h>int main(){char ch1,ch2;ch1='A';ch2=ch1+32;printf("ch1的ASCII:%d, ch2的ASCII:%d, ch2对应的字母:%c\n",ch1,ch2,ch2);int i1,i2;i1='n'; //将字符数据赋值给整型变量i2=i1-32;printf("i1的值:%d, i2的值:%d, i2对应的字母:%c\n",i1,i2,i2);printf("字母:%c%c%c\n",'A'+2,'A'+1,'A');//后续字符=首字符+nprintf("数字:%c%c%c\n",'0'+3,'0'+1,'0'+5);//后续字符=首字符+nprintf("字符间距离:%d,%d,%d\n",'z'-'a','9'-'6','z'-'6');//字符间距离=较大字符-较小字符return 0;}(1)字符数据在内存中是以什么方式存储的?答: ASCII码(2)字符数据与整型数据能相互赋值、运算吗?如何以“整数”方式和“字符”方式输出字符?答:能;%d输出整数,%c输出字符(3)大小写字母的ASCII有什么关系?(如:‟G‟与‟g‟)答: 大小写字母的ASCII码相差32(4)如何由‟A‟、‟a‟分别得到后续的大写字母、小写字母?答:'A'+1,'a'+1(5)字符间的距离如何计算?由一字符能分别得到ASCII比它小5、大10的两个字符吗?若能,如何得到?答:两字符的ASCII值的差的绝对值,'A'-5 ,'A'+10(6)说明“C”与‟c‟的联系与区别,能否写成”dog”、‟boy‟?答:“c”表示的是字符串c;…c‟表示的是字符;“dog”写法正确;‟boy‟写法错误3、(基础题)符号常量与常变量(即用const关键字定义)的使用:回答问题:#include<stdio.h>#define PI 3.14int main(){float radius,area,volume;printf("请?输º?入¨?半ã?径?:");scanf("%f",&radius);area=PI*radius*radius;volume=4*PI*radius*radius*radius/3.0;printf("半ã?径?=%f\n圆2面?积y=%f\n球¨°的Ì?体¬?积y=%f\n",radius,area,volume);return 0;}(1)写出用符号常量定义PI的格式;#define PI 3.14(2)写出用“常变量”方式定义PI值的语句。

Const float PI=3.14;4、(基础题)运行下列程序,体会/、%运算符的用法:回答下列问题:#include<stdio.h>{int n1=7,n2=2;float f1=7.0,f2=2.0;printf ("整数相除,得到商数:%d\n",n1/n2);printf ("整数求余,得到余数:%d\n\n",n1%n2);printf ("正负整数相除,得到商数:%d\n",(-n1)/n2);printf ("正负整数求余,得到余数:%d\n\n",(-n1)%n2);printf ("两个浮点数相除,得到商数:%f\n",f1/f2);printf ("浮点数除以整数,得到商数:%f\n",f1/n2);printf ("整数除以浮点数,得到商数:%f\n",n1/f2);return 0;}(1)运算符/的操作数有什么要求?答:被除数不能为0;(2)如何利用%判定整数的奇偶性?答:整数a,使a%2,若结果为0,则为偶数,反之则为奇数;5、(基础题)先分析下列代码,再运行,体会++、--运算符的用法。

并回答下列问题:#include<stdio.h>int main( ){int i, j, m, n,sum;i = 3;j = 7;//位置1m = ++i;n = j++;//位置3sum = (i++)+(++j)+(m--)+(--n);printf ("i=%d, j=%d, m=%d, n=%d, sum=%d\n",i,j,m,n,sum);return 0;}请比较++、--运算符的前缀式与后缀式的异同点。

答:相同点:运算过后变量的值都会发生改变;不同点:前缀式是变量的值先加减,再用来运算;后缀式是先取变量的值进行运算,再进行变量的值的加减;6、(提高题)求出下列算术表达式的值,并上机验证结果:x+a%3*(int)(x+y)%2/4 设x=2.5,y=4.7,a=7验证结果:#include<stdio.h>#include<stdlib.h>int main(){float x;float y;int a;x=2.5;y=4.7;a=7;printf("x+a%3*(int)(x+y)%2/4运?算?结¨¢果?:%.2f\n",x+a%3*(int)(x+y)%2/4);system("pause");return 0;}(float)(a+b)/2-(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5验证结果:#include<stdio.h>#include<stdlib.h>int main(){int a=2;int b=3;float x=3.5;float y=2.5;printf("(float)(a+b)/2-(int)x%(int)y运?算?结¨¢果?:%.2f\n",(float)(a+b)/2-(int)x%(int)y);system("pause");return 0;}'a'+x%3+5/2-'\24'验证结果:#include<stdio.h>#include<stdlib.h>int main(){int x=8;printf("'a'+x%3+5/2-'\24'运?算?结¨¢果?:%.2d\n",'a'+x%3+5/2-'\24'); system("pause");return 0;}。

相关文档
最新文档