2基本数据类型
实验2基本数据类型、运算符与表达式解读
实验二基本数据类型、运算符与表达式一、实验实训目的及要求1、掌握C 语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。
2、学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(- -)运算符的使用。
3、进一步熟悉C 程序的编辑、编译、连接和运行的过程。
二、实验实训内容1、输入程序,运行出结果。
mian({char c1 , c2;c1=97;c2=98;printf(“%c %c”, c1, c2;}2、分析下程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比较对照。
main({char c1=’a ’,c2=’b ’,c3=’c ’,c4=’\ 101’ ,c5=’\ 116’ ;printf(“a=%c b=%c\tabc=%c\n”,c1,c2,c3;printf(“\t\b%c %c”,c4,c5;}3、分析下程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比较对照。
main({int i , j , m , n ;i=8; j=10;m=++i; n=j++;printf(“%d,%d,%d,%d”,i,j,m,n;}三、实验实训指导2实验指导书 1、在此基础上1)加一个printf 语句,并运行之。
printf(“%d,%d”, c1, c2 ;2)再将第二行改为:int c1, c2;再使之运行。
3)再将第三行改为:c1=300; c2=400;再使之运行,分析其运行结果。
在该程序中,说明了字符型数据在特定情况下可作为整型数据处理,整型数据有时也可以作为字符型数据处理。
2、在该程序中,主要考查对转义字符的掌握情况。
3、此程序主要考查自加、自减运算符以及复合运算符的用法。
四、实验实训思考题1、“=”和“==”有什么区别?2、“&”和“&&”、“|”和“||”有什么区别?。
Python基础案例教程 第2章 基本数据类型
无
默认十进制,值为对应整数 int('23')
23
字符串
进制数 2,8,10,16等
x为base进制数,值为十进制
int('12',16) int('10',8)
18 8
2.1.2数字数据转换
本课知识点
float()函数
float()函数的功能是将整数和字符串转换成浮点数。
input()函数
>>>float(1) 1.0 >>>float(‘123‘) 123.0 >>>float(‘-56.4‘) -56.4
参数为整数 参数为字符串 参数为字符串
Python语言中的input()函数用于输入数据,返回值为 string(字符串)类型。 函数的作用是获取用户的输入,返回输入内容,也可以用于暂停程序的运行。调用此函数 时,程序会立即暂停,等待用户输入。如下代码,可以获取用户输入自己的用户名。
2.1.2数值数据转换
本章主要对Python的这三种基本的数据类型进行介绍,学习不同类型数据的 基本运算,包括常用算术运算,关系运算,逻辑运算以及数据类型间的输出、 转换方法等。
第2章 基本数据类型
目录 CONTENT S
01 数字类型 02 布尔类型 03 字符串类型
2.1.1整数和浮点数
本课知识点
整数用来表示整数数值,即没有小数的数值,如20,89,-30等。 浮点数由整数部分和小数部分组成,即通常所说的小数,如3.4,-5.8等。
2.1.3数值数据计算
本课知识点
格式:round(x,n) 例如:int(3.1456,2); int(-34.0023,3) 说明:round()函数返回x四舍五入的值。其中x为数值;n表示保留小数点的位数,其中x需 要四舍五入,默认值为0。
电大C语言程序设计 第2章 基本数据类型和表达式
第2章 基本数据类型和表达式 章 2.2.3 枚举常量
枚举常量是枚举类型中的值,即枚举值。 枚举常量是枚举类型中的值,即枚举值。 枚举类型定义: 枚举类型定义: enum <枚举类型名 枚举类型名>{<枚举表 ; 枚举表>}; 枚举类型名 枚举表 (1)enum color{red,yellow,blue}; (2)enum day{Sun,Mon,Tues,Wed,Thur,Fri,Sat};
第2章 基本数据类型和表达式 章 2.2.5 地址常量 指针类型的值域范围: 指针类型的值域范围:0~(232-1),每一个整数 , 代表内存空间中一个对应单元的存储地址。 代表内存空间中一个对应单元的存储地址。 用户可以直接使用整数0作为地址常量 作为地址常量, 用户可以直接使用整数 作为地址常量,称为 空地址常量,对应的符号号常量在stdio.h中定义,其值为整数 。 中定义, 号常量在 中定义 其值为整数0。
第2章 基本数据类型和表达式 章 2.3 变量 变量是用标识符表示的、 变量是用标识符表示的、其值可以被改变的 量。 1.变量定义语句 变量定义语句 <类型关键字 <变量名 [=<初值表达式 类型关键字> 变量名> 初值表达式>],…; 类型关键字 变量名 初值表达式
第2章 基本数据类型和表达式 章 2.3 变量 2.语句格式举例 语句格式举例 (1)int a,b; (2)char ch1=‘a’,ch2=‘A’; (3)int x=a+2*b; (4)double d1,d2=0.0,d3=3.14159; 3.语句应用举例 见circle.c 语句应用举例
第2章 基本数据类型和表达式 章 2.2.3 枚举常量
(1)enum color c1,c2,c3; (2)enum day today,workday; (3)c1=red; (4)workday=Wed; enum day {Sun=7,Mon=1,Tues,Wed,Thur,Fri,Sat};
chap2 基本数据类型、操作符和表达式
The latter form takes more space, but is convenient for adding a comment to each declaration for subsequent modifications. — K&R:P39
2.2.2 整型变量
整型变量在计算机内存中一般占两个字节或四个 字节。我们可以用sizeof(int)来测试。 用以说明整型变量的关键字(也称为数据类型符) 为int。定义变量数据类型语句的一般格式为: 数据类型符 变量名1,变量名2,… C语言规定,每个变量在使用前,都必须先定义。 int a,b;
— K&R:P36
The value of an integer can be specified in octal or hexadecimal instead of decimal. A leading 0 (zero) on an integer constant means octal; a leading 0x or 0X means hexadecimal. For example, decimal 31 can be written as 037 in octal and 0x1f or 0x1F in hex. Octal and hexadecimal constants may also be followed by L to make them long and U to make them unsigned: 0XFUL is an unsigned long constant with value 15 decimal.
There are some restrictions on the names of variables and symbolic constants. Names are made up of letters and digits; the first character must be a letter. The underscore ``_'' counts as a letter; it is sometimes useful for improving the readability of long variable names. Don't begin variable names with underscore, however, since library routines often use such names. Upper and lower case letters are distinct, so x and X are two different names.
基本数据类型的定义和区别
基本数据类型的定义和区别
基本数据类型是指编程语言中用来定义变量或常量时可选的几种数据形式。
常见的基本数据类型包括整型、浮点型、字符型、布尔型等。
下面简要介绍几种基本数据类型的定义和区别:
1.整型(Integer):整型数据表示整数,可以是正数、负数或零。
整型数据通常用于存储有限范围内的数值,其范围取决于具体的编程语言和平台。
例如,在C语言中,int类型通常占用4个字节(32位),范围为-2147483648到2147483647。
2.浮点型(Floating-point):浮点型数据表示带有小数点的数值。
浮点型数据用于存储实数,其范围比整数大,精度也更高。
常见的浮点型数据类型包括单精度浮点数(float)和双精度浮点数(double)。
它们的区别在于存储空间和精度。
3.字符型(Character):字符型数据用来表示单个字符,例如字母、数字或符号。
在大多数编程语言中,字符型数据可以用单引号括起来表示。
例如,在C语言中,字符型数据类型为char,占用1个字节。
4.布尔型(Boolean):布尔型数据只有两个取值,通常是true 和false或1和0。
布尔型数据用于表示逻辑关系或条件判断,常见于条件语句和循环语句中。
除了上述基本数据类型外,还有其他一些特殊的数据类型,如字符串(String)、日期/时间(Date/Time)等,它们适用于特定的需求和场景。
选择合适的数据类型对于编写正确的程序非常重要,因为
每种数据类型都有其特定的用途和约束。
2-3-python编程基础知识--基本数据类型PPT课件
用class定义)、模块(类型为 来集中存放函数、类、常量或其他对
module)
3
象
Python的常用内置对象
▪ 在Python中,不需要事先声明变量名及其类型, 直接赋值即可创建各种类型的对象变量。这一点 适用于Python任意类型的对象。
例如:
>>> x = 3
创建了整型变量x,并赋值为3,再例如语句
type()
#查看变量类型
isinstance()
#测试对象是否是某个类型的实例
5
数字类型
6
数字类型
程序元素:010/10,存在多种可能 表示十进制整数值10 类似人名一样的字符串
数字类型对Python语言中数字的表示和使用 进行了定义和规范
7
数字类型
Python语言包括三种数字类型 整数类型 浮点数类型 复数类型
正无穷大,负无穷大为-math.inf
非浮点数标记,NaN(Not a Number)
25
math库解析
math库包括16个数值表示函数
函数 math.fabs(x) math.fmod(x, y) math.fsum([x,y,…]) math.ceil(x) math.floor(x) math.factorial(x)
描述 返回x的y次幂 返回e的x次幂,e是自然对数 返回e的x次幂减1 返回x的平方根
返回1+x的自然对数值 返回x的2对数值 返回x的10对数值
27
math库解析
math库包括六个“三角双曲函数
函数 math.degree(x) math.radians(x) math.hypot(x,y)
math.sin(x) math.cos(x) math.tan(x) math.asin(x) math.acos(x) math.atan(x) math.atan2(y,x) math.sinh(x) math.cosh(x) math.tanh(x) math.asinh(x) math.acosh(x) math.atanh(x)
第2章基本数据类型
例2-2 如有unsigned short j; scanf("%lu", &j);,则当用户输 入-1时,变量j的值是多少?
变量j是无符号短整型,取值只能是非负数, 当用户输入-1时,会出错吗? 不会的!
整个处理过程与语句unsigned short j = -1; 的执行过程类似。 长度修饰符l对输入有何影响?
整型变量的输出值
2.1.3.3 验证程序中变量的实 际值是确定的
虽然printf函数在输出变量的值时不考虑变量 的类型,而仅仅根据格式字符来确定输出值; 理论上,变量的类型是确定的,变量的实际 值自然也是确定的;但能否编程“证明”变 量的实际值是确定的呢? 设一个short型变量i,它的存储状态为16个1, 那么它的实际值是-1还是65535呢?
思路二:变量i的值究竟是-1 还是65535?
由于两个整数相除的商通常只取整数部分, 故当除数为负数且不能整除时,模运算结果 的符号与被除数的符号相同。
如果变量i的值为65535,则i % -2的结果
为1;如果变量i的值为-1,则i % -2的结果
为-1
2.1.3.4 长度修饰符对输入的 影响
计算机中存储单元的编码特点不仅决定了C 语言数据类型的特点,而且也决定了计算机 的“计算”能力。计算机能算多大整数的和?
如果计算机用2个字节的存储单元存储整数?
整型
计算机中的整型存储单元用于存储整数,根 据编码长度和编码方式分类。 关键字int可用于定义整型变量,如int i;所示。
在TC中,int型变量i占两个字节,而在VC6.0 中,int型变量i用4个字节编码。 两个字节的二进制数最多可以表示(编码) 多少个整数?
第2章 C语言基本数据类型与常用库函数
结束, (1)字符串以结束标志 ( ‘\0’ ) 结束, 字符串以 如 "CHINA" 在内存中为 C H I N A \0 (2)空串 ""存放形式为 \0
是字符串常量。 (3)注意:'a' 是字符常量, "a" 是字符串常量。 注意: 是字符常量,
2.3.2 符号常量 符号常量: 给常量所起的名字。 符号常量: 给常量所起的名字。 例如: 例如: #define PI 3.14159 则 PI 即 3.14159
1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1
2011-6-5
7
(2)其他类型如表2-1所示: 其他类型如表2 所示:
表 2 -1 有符号 占字节数 2 2 4 2 无符号 2 4 类型标识符 int short long unsigned int unsigned short unsigned long 数值范围 -32768~32767 32768~ -32768~32767 32768~ -2147483648~2147483647 2147483648~ 0~65535 0~65535 0~4294967295
2011-6-5
13
3.字符常量 3.字符常量 (1)用单引号括起来的一个字符。 用单引号括起来的一个字符。 一个字符 如 'a' 'A' '?'
(2)字符常量的值:该字符的ASCII码值 字符常量的值 该字符的ASCII码 ASCII 'A'——65, —— ——65 ——97 如 'A'——65, ' a ''——97 (3)字符数据可以参加运算, 字符数据可以参加运算, 例如‘ 的值为67 67, ASCII码 例如‘A’+2 的值为67,即 'C ' 的ASCII码
C语言第2章基本数据类型与表达式
2.1.3 关键字
关键字(又称保留字)是一种语言中规定具有特定含义的标识符。 C语言可使用以下32个关键字:
auto
double int struct
break
else long switch
case
enum
char
extern
const
float short
continue default
for signed goto sizeof
例: main() { int x,y,z,w; /*定义x,y,z,w为整型变量*/ unsigned int k; /*定义k为无符号整型变量*/ x=10; y=-20; k=30; z=x+k;w=y+k; /*不同类型的整型变量x、y、k可运算*/ printf(″x+k=%d,y+k=%d\n″,z,w); } 程序运行结果为: x+k=40,y+k=10
3. 字符常量
C语言的字符常量是用单撇号括起来的一个字符。如 ′x′,′+′,′\n′,′\101′都是合法的字符常量。 字符数据在内存中是以ASCII码存储,它的存储形式与整数的存储 形式类似。因此可以通用。例如: #include <stdio.h> main() { char c1,c2; c1=97; c2=98; printf(″%c ,%c\n″c1,c2); printf(″%d, %d\n″c1,c2); } 在程序中我们将整数97和98分别赋给c1和c2,它的作用相当于以 下两个赋值语句: c1=′a′; c2=′b′; 运行时输出结果如下: a,b
4. 字符串常量
• C语言没有专门的字符串类型变量,但有字符串 常量。字符串常量是由一对双撇号括起来的字符 序列。 如:″changsha″, ″central south university″,″+++ \\?ab″都是合法的字符串常量。 • 不要将字符常量与字符串常量混淆。如: ′a′是字符常量, ″a″是字符串常量
第2章基本数据类型、常量及变量
型必须有一个长度的限制
这个长度是指数据存储在计算机中需要占用多少个 字节数 不同类型的数据在内存中占用的字节数是不同的
溢出处理
不同的数据类型规定了不同的机内表示长度,
也决定了对应数据量的变化范围,当某一数据 超出该数据类型所规定的范围时,计算机会拒 绝接受,而将之转换成范围内的另外某个数, 这种情况称之为溢出处理。
6
3.常量
常量
在程序运行过程中其值不能被改变的量值
例1:
1,200 3.1,-4.0 „A‟,‘b‟ “abc”,“AB\n”
提示
在程序中使用常量时,一般不需要具体指出它属于 哪一种类型C语言编译系统会自动根据常量的数据 大小和直观形式来确定它的数据类型 例2:
3,3.0,‘3‟,“3”
提示
每个数据类型都有固定的表示方式
这个表示方式确定了可能表示的数据范围以及数据在内存中 的存放形式 C程序中所出现的所有数据都必须明确指定其数据类型
数据类型的体现
常量和变量是在计算机中数据类型的表现形式
不再是抽象的概念而是实在的数据,这些数据符合对 数据类型的规定(形式和运算规则两方面) 常量和变量之间的区别在于程序执行过程中的变化情 况
3.常量
整型常量
一个整数 常用的整数类型(IBM PC机及其兼容机上对C语言整型数的规定 )
整型
2字节: -32768~32767 4字节:-2147483648~2147483647 2字节: 0~65535 4字节 :0~4294967295
长整型
Java 第2章基本数据类型和数组
2.2.3
常量: 常量:
字符类型
Java使用 Java使用Unicode标准字符集表,最多可以识别65536 使用Unicode标准字符集表 最多可以识别65536 标准字符集表, 个字符。 个字符。 Uincode表中的字符就是一个字符常量,例如‘ Uincode表中的字符就是一个字符常量,例如‘A’, 表中的字符就是一个字符常量 ‘?’,‘9’,‘好’,‘き’ Java还使用转意字符常量, Java还使用转意字符常量,如: 还使用转意字符常量 ‘\n’ ‘\b’ ‘ \t’ ‘\’’ 换行 退格 水平制表 单引号
变量: 变量: char c=‘a’, tom=‘家’; tom=‘家 字符类型变量内存分配给2个字节, 字符类型变量内存分配给2个字节,存储的是该字符 Unicode表中的位序 表中的位序。 在Unicode表中的位序。 char型变量的取值范围是 char型变量的取值范围是0~65535;要观察一个字 型变量的取值范围是0~65535; 符在unicode表中的位序 必须使用int类型显示转 表中的位序, 符在unicode表中的位序,必须使用int类型显示转 不可以使用short型转换 型转换。 换,不可以使用short型转换。 要得到一个0~65535之间的数所代表的 要得到一个0~65535之间的数所代表的Unicode表中 之间的数所代表的Unicode表中 相应位置上的字符必须使用char型显示转换 型显示转换( 相应位置上的字符必须使用char型显示转换(例2-1)。
2.4.1
数据的输出
System.out.printf的功能完全类似 语言中的printf函数 System.out.printf的功能完全类似C语言中的printf函数 的功能完全类似C printf(格式控制部分,表达式1 表达式2 printf(格式控制部分,表达式1,表达式2,…表达式n); 表达式n); 格式控制部分 格式控制部分由格式控制符号和普通字符组成 %d %c %f %s %md %m.nf (例2-3) 输出整型类型数据 输出char类型数据 输出char类型数据 输出float型数据 小数部分最多保留6 输出float型数据,小数部分最多保留6位 型数据, 输出字符串数据 输出的int类型数据占 输出的int类型数据占m列 类型数据占m 输出的float型数据占 输出的float型数据占m列,小数点保留n位 型数据占m 小数点保留n
基本数据类型和引用数据类型
基本数据类型和引用数据类型
1 什么是数据类型
数据类型是描述变量在计算机内的表示的集合。
常见的数据类型
总结为基本数据类型和引用数据类型。
2 基本数据类型
基本数据类型包括整型、实数、布尔型和字符串。
整型就是整数,也可以称作整形或者整数类型。
整型是基本的数
值类型,它主要用于表示一个数字。
实数指的是小数,也叫作实型、浮点型或者实数类型。
它是用来
表示实数的数据类型,它比整数更精确。
布尔型是用于表示真或假的数据类型,用于进行布尔逻辑的判断。
是用true和false来表示的,一般会用在if...else结构中。
字符串是由一个或者多个字符组成的字符序列,它包括一些非空
的字符、数字或者特殊符号,常用与描述文本信息。
3 引用数据类型
引用数据类型是指比基本数据类型复杂的数据类型,它们可以保
存多个值,还可以引用其他数据类型。
引用数据类型主要有数组和对
象两种,还有其他类型比如函数,这些数据类型的变量指向的是一块
内存区域的地址,而不是直接存储某个值。
数组是一种特殊的数据类型,它可以容纳多个值,这多个值可以
是不同类型的。
对象是另一种结构化的数据类型,它可以用来保存一系列的键值对,这些键值对也可以是不同类型的。
4 区别
基本数据类型主要用来保存单一的值,变量名直接保存本身的值。
而引用数据类型可以存储多个值,变量名保存的是一个指向内存空间
的地址。
基本数据类型
数据类型分类1.基本数据类型:1)字符串(变长字符串、定长字符串)含义:凡是用双引号引起来的字符都是字符串例:””和“”“123””你好”“\你好123”等等2)数值整型数:含义:是不带小数点和指数符号的数(它们在计算机中以二进制补码的形式表示)例:0 1 -1等等①整型(integer)[以两字节表示和参加运算]②长整型(long)[以带符号的4个字节表示和参加运算]浮点数:含义:也称实型数或实数,是带小数部分的数值例:0 1.0002 -2.563等等①单精度浮点数(single)以4个字节存储,其中符号位占1位,指数占8位,其余23位表示尾数。
此外还有一个隐含位。
可以精确到7位十进制数②双精度浮点数(double)以8个字节存储,其中符号位占1位,指数占11位,其余52位表示尾数。
此外还有一个隐含位。
可以精确到15位或16位十进制数表示方法:1、定点表示2、科学记数法表示3)货币是为表示钱款而设置的[以8个字节存储],精确到小数点后4位(小数点前有15位),在小数点后4位以后的数字将被舍去。
4)变体是一种可变的数据类型,可以表示任何值,如数值、字符、日期/时间等5)其他(如:字节、布尔、日期、对象、Decimal)字节是一种数值类型,以一个字节的无符号二进制数存储,其取值范围为0~255布尔是一个逻辑值,用两个字节存储,它只取两种值,即True (真,转换成数值时为-1)False(假,转换成数值时为-1)日期任何可辩论的文本日期都可以赋值给日期变量。
日期文字须以符号“#”括起来,例:#January1,2001#对象Decimal数据类型2.用户自定义类型(又叫记录类型)格式:Type 数据类型名数据类型元素名As 类型名数据类型元素名As 类型名。
End Type说明:1)“数据类型名”是要定义的数据类型的名字,其命名规则与变量的命名规则相同;“数据类型元素名”也遵守同样的命名规则,且不能是数组名;“类型名”可以是任何基本数据类型,也可以是用户定义的类型。
第2章 基本数据类型、常量和变量
第2章 基本数据类型、常量和变量2.1 C 数据类型简介一个程序应该包括对数据的描述和对数据的处理。
但是程序要面临处理的数据有各种各样的类型,例如有一个用来处理学生基本信息的程序,所要处理的数据包括:学生的学号和姓名都是字符串,学生的年龄是整数,学生的成绩用浮点数表示等等。
而不同类型的数据不仅在机内的存储格式不同(例如整数用补码存放,而字符串是按串中每个字符的ASCII 码存放的),而且可以实现的运算也不同。
为了更好地对数据进行描述和处理,C 语言被设计成强类型语言(strongly typed language ),即C 语言程序中的每个数据必须具有明确的类型。
C 语言的数据类型可分为基本数据类型(整型、字符型和浮点型)、基于基本数据类型的构造数据类型(数组、struct 、union 、enum)、指针类型、空类型(void),见图2-1。
C 语言中数据分为常量和变量。
简单理解,在程序运行过程中其值不能改变的数据就是常量,而其值可以改变的数据称为变量。
下面分别介绍各种基本数据类型的常量和变量。
图2-1 C 语言中的数据类型数据类型2.2 基本数据类型——整数类型一、整型常量整数类型常量用于表示没有小数部分的数值,在C程序中整型常量可以表示成十进制、八进制或者十六进制形式,用不同的前缀来区分:(1) 十进制整型常量以非0(零)数字开头,例如237、-2009;(2) 八进制整型常量带有前缀0(零),例如027(等价的十进制数为23),-012(等价的十进制数为-10);(3) 十六进制整型常量带有前缀0x(X),例如0x2A(等价的十进制数为42),-0XA5b(等价的十进制数为-2651)。
【例2.1】下列哪些整型常量是合法的?012,oX7A,00,078,0x5Ac,-0xFFFF,0034,7B【例2.2】下面四个选项中,均是合法整型常量的选项是。
A) 160、-0xffff、011 B) –0xcdf、01a、0xeC) -01、986,012、0668 D) –0x48a、2e5、0x【例2.3】下面四个选项中,均是正确的八进制数或十六进制数的选项是。
第2章基本数据类型及运算符原始解读
在C语言中,大小写字母有不同的含义,例如:num, Num,NUM为三个不同的标识符。 在构造标识符时,应注意做到“见名知意”,即选择 有含义的英文单词(或汉语拼音)作标识符,以增加程 序的可读性。如表示年可以用year,表示长度可用 length,表示和可以用sum等。 C语言中有一些标识符被称为关键字,在系统中具有 特殊用途,不能作为一般标识符使用,如用于整型变量 定义的int关键字,就不能再用作变量名。 有些标识符虽不是关键字,但C语言总是以固定的形 式用于专门的地方,因此,用户也不要把它们当做一般 标识符使用,以免造成混乱。这些常用的标识符有: define,include,ifdef,ifndef,endif,elif。
2. 实型(浮点型)常量
实型常量是由整数部分和小数部分组成的,它只有十 进制的两种表示形式。 (1)定点数形式。它由数字和小数点组成。整数和小 数部分可以省去一个,但不可两者都省,而且小数点不 能省。如:1.234,.123,123.,0.0等。 (2)指数形式(或称科学表示法)。它是在定点数形 式表示法后加e(或E)和数字来表示指数。指数部分可 正可负,但须为整数,且应注意字母e(或E)之前必须 有数字。如:1.234e3,12.34e2均合法地代表了 1.234×103;而e3,1e2.3,.e3,e均不合法。 另外,实型常量的后缀用F(或f)表示单精度型,而 后缀用L(或l)表示长双精度型。如:0.5e2f表示单精 度数,3.6e5L表示长双精度数。
变量
在程序运行过程中,其值可以被改变的量称为变量。变量有两个要素: 变量名。每个变量都必须有一个名字,即变量名。变量命名应遵循标识符的命名规 则。 变量值。在程序运行过程中,变量值存储在内存中;不同类型的变量,占用的内存 单元(字节)数不同。在程序中,通过变量名来引用变量的值。 【程序2-3】用来输出两个整数相加、相减和相乘的结果,代码如下。 /* 文件名:chap02_3.cpp */ #include <stdio.h> void main(){ int x,y; printf("请输入两个整数,中间用空格隔开:"); scanf("%d%d",&x,&y); printf("%d+%d=%d\n",x,y,x+y); printf("%d-%d=%d\n",x,y,x-y); printf("%d*10%d=%d\n",x,y,x*y); } 程序运行结果: 请输入两个整数,中间用空格隔开:10 5↙ 10+5=15 10-5=5 10*5=50 本程序中,x和y定义成整型变量,用于接受用户输入的值。
《新概念C语言能力教程》第2章基本数据类型
• 其中的l(long)和h(short)称为长度修饰符,是附加的格式说明符。
格式字符串与数据类型
• unsigned short a = -1u; • 语句printf("%hu", a);中格式字符串hu(无符号短整型)准确地匹配了变量a
printf函数的输出结果不会是22亿。这条语句有逻辑错误。
分析下面语句的输出结果。
• printf("%lu", 2200000000); • printf("%ld", -1); • printf("%lu", -1u); • printf("%hd", -1); • printf("%hu", -1u); • printf("%hu", -2);
编码和解码
• 现实世界中的数据转换成由0和1组成的二进制串,计算机才能存储和处理。 由数据得到01串称为编码;由01串得到数据称为解码。
• 每类数据都各有特点,只用一种编码规则统一编码是不现实的。不同类型的 数据如整数和小数,采用了不同的编码规则。
• 多种编码规则导致不同数据的编码结果可能相同,因此,只有确定了编码规 则,才能正确解码。
功的识别的16。 • 当用户输入32789↙时,全部识别成功,但短整型变量m的实际值不会是
的类型,printf函数正确地输出变量a的实际值65535。 • 语句printf("%hd", a);中格式字符串hd(短整型)与变量a的类型不匹配,
2 C语言的基本数据类型与表达式
float:单精度浮点型,近似表示实数,在MS DOS 上,每个浮点型变量分配 32 bit 存储空间。浮点型 都是有符号的,可表示数值范围分为三段:-1038 至 -10-38, 0, 10-38 至 1038。数值都先化成指数,再用 二进制存储。6 - 7 位有效数字。 例如:float x, y; 等。 double:双精度型,近似表示更大实数,在MS DOS 上,每个浮点型变量分配 64 bit 存储空间。双精度 型都是有符号的,可表示数值范围分为三段:-10308 至 -10-308, 0, 10-308 至 10308。数值都先化成指数, 再用二进制存储。15 - 16 位有效数字。 例如:double x, y; 等。
设a=10,b=4,c=5 x+=5 x=x+5 90 求:a*=b+c x*=y+8 x=x*(y+8) x%=3 a*=b x=x%3 a=a*b
(2009.3) 14.设有定义:int x=2;,以下表达式中, 值不为6的是 D A)x*=x+1 B)x++,2*x C)x*=(1+x) D)2*x,x+=2
例2.4 整型变量定义及赋初值
void main() { int x,y,z,w; unsigned int k; x=10; y=-20; k=30; z=x+k; w=y+k; printf("x+k=%d,y+k=%d\n",z,w); }
例2.5 字符型变量定义及赋初值
void main() { char c1,c2; c1='a'; c2='b'; c1=c1-32; c2=c2-32; printf("%c %c",c1,c2); }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4) 字符串常量(P35) 字符是用双引号括起来的一串字符。 例如: ”abcd”,”123”,“”
注意: C语言的字符串都有一个结束符:'\0'。但结束符
不计入字符串的长度。“”为空串,它的长度为0。 “1234”、“12\t34”、“ab\123cde”、
“ab\xab”的长度分别为4、5、6和3。
#define PI 3.14159 标识符 PI 等价于3.14159, PI就是符号常量 常量根据它所代表的数据类型,可以分为整型 常量、实型常量、字符型常量等等。
第2页/共22页
1) 整型常量 (P30) 整型常量按进位计数制,有三种表示方法:
十进制整型数:能出现数字0~9,可带正负号。 如:0,1,99,-2
第10页/共22页
注意:不要把字符型常量和字符串常量混为 一谈 char c; c=‘a’; c=“a”
第11页/共22页
2、变量及其定义 (P27) 变量是在程序执行的过程中,其值可以改变的量。 如: y=2*x;其中x和y都是变量,y随着x的
值不同而不同。 •C语言规定:变量必须先定义,后使用。 •变量的定义方法 (P29) 变量类型说明符 变量名1[,变量名2[,···]]; 例: int y ,x ; 将x,y定义为整型变量
457893 0387LU 3a9L
超出Байду номын сангаас整型表示范围 八进制数出现数字8 a只能出现在十六进制中
以上为非法的整型常量
第4页/共22页
例:写出下面程序的执行结果。
main ( )
{ int a=100,b=0100,c=0x100;
printf("a=%d\n", a);
//显示a的值
printf("b=%d\n", b);
如:转义字符'\n'表示回车换行, 转义字符'\t'表示在横向跳到下一个Tab 位置 转义字符'\“'表示输出一个双引号等。
第7页/共22页
转义字符
功能
\n
回车换行符,光标移到下一行行首
\r
回车不换行,光标移动到本行行首
\t
横向跳格(8位为一格,光标跳到下一格起始
位置,如第9或17位等)
\b
退一格,光标往左移动一格
\f
走纸换页
\\
用于输出反斜杠字符“\”
\'
用于输出单引号字符“'”
\”
用于输出双引号字符“””
\ddd 三位八进制数ddd对应的ASCII码字符
\xhh 两位十六进制数hh对应的ASCII码字符
第8页/共22页
字符'A'的三种表示方法:'A'、'\101'、'\x41'
例2.2控制输出格式的转义字符的用法 #include <stdio.h> void main() {printf(“**ab*c\t*de***\ttg**\n”); printf(“h\nn***k\n”); }
//显示b的值
printf("c=%d\n", c);
//显示c的值
}
程序运行结果:
a=100 b=64 c=256
第5页/共22页
2) 实型常量(P31)
•以十进制数形式表示 由数字与小数点组成
如: 1.23,-123.,0.0123,.0,0.
•以指数形式表示,其格式: 实数 英文字母E或者e 整数
无符号短整型 unsigned short int
2
0~65535
无符号长整型 unsigned long int
4
0~4294967295
第14页/共22页
下面程序的执行结果?
#include <stdio.h> void main() { int x=32767;
printf("%d\n",x+1); }
第15页/共22页
Turbo C:-32768 Visual C++:32768
注意: Visual C++中的int占4个字节,turbo C的
int占2个字节
第16页/共22页
实型变量的两种类型 ( P32 )
变量类型名 变量类型 所占字节数
数的范围
有效数字
单精度实型 float
4
10-37~10+38
如:1E-5,.1234e12,2.e0,6.5E-15为合法 的实型常量。而 E-5,.1234e1.2,6.5E为非法的 实型常量。
第6页/共22页
3) 字符型常量(P33)
• 字符常量:是用单引号括起来的一个字符。
如 :'a','9',‘ ' 是合法字符常量
”a”,'99'
是非法法字符常量
• 转义字符:以“\”开头的字符序列,在程序中有特 定的含义。
八进制整型数:以数字0开头的数字串,能出现数字 0~7。 如:011(9),0111(73)
十六进制整型数:以0x开头的,能出现数字0~9,字 母a~f或A~F。如:0x11(17),0xa5(165)
用后缀L/l表示长整型,用后缀U/u表示无符号整型。
第3页/共22页
整型常量举例: 123,0123,0x78,0xabc0, 012L,0x12U 以上为合法的整型常量
第13页/共22页
整型变量的类型:
变量类型名
变量类型
所占字节数
数的范围
基本整型
int
2
-32768~32767
短整型
short int(short)
2
-32768~32767
长整型
long int (long)
4
-2147483648~2147483647
无符号基本型
unsigned int
2
0~65535
基本数据类型(P26)
整型
数据类型
基本类型
构造类型 指针类型 空类型
字符型
实型(浮点型)
数组类型 结构体类型 共用体类型 枚举类型
单精度型 双精度型
第1页/共22页
1、常量(P27)
常量:在程序的执行过程中,其值不能改变的量。 常量的表示有两种形式:
•直接以值的形式出现的常量:如100,0.5 •符号常量:用标识符表示的常量,如:定义
7
双精度实型 double
8
10-307~10+308
16
例 两种实型变量的区别
#include <stdio.h>
main()
{
float a; double b;
第12页/共22页
变量的特征 1)变量名:为一个标识符,通常用小写字母表示; 2)变量类型:由变量类型说明符说明; 例如:整型变量,实型变量,字符型变量等等 3)变量值:通过初始化、赋值获得的。如C语言中 的赋值语句: y=0; 将0赋给了整型变量y x=10; 将10赋给了整型变量x y=2*x; 将y的值由原来的10变成了20