版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、主要内容:主要内容:1.数据、数据类型的了解数据、数据类型的了解2.常量和变量等概念常量和变量等概念3.根本类型的常量和变量根本类型的常量和变量4.变量赋初值变量赋初值5.不同数值类型数据间的混合运算不同数值类型数据间的混合运算6.几种根本类型运算符和表达式几种根本类型运算符和表达式1.1.数据及数据类型数据及数据类型对数据的了解对数据的了解狭义上的数据和广义上的数据狭义上的数据和广义上的数据 狭义的数据被了解为数字、数值的信息:如今天的温度为24摄氏度,数24,考试成果为88分,数88; 在计算机科学技术中,数据的概念是广义的。凡是存储在数字计算机中的信息,都可称作数据,数据是信息的表示方式
2、。如:数字、字符、声音、图形、图像等。数据有类型之分: 信息要在计算机内存储,为了区别数据,分为各种类型。主要是为了分配存储空间和可执行的操作等。C C数数据据类类型型根本类型根本类型构造类型构造类型指针类型指针类型空类型空类型void定义类型定义类型typedef数值类型数值类型字符类型字符类型char枚举类型枚举类型enum整整 型型浮点型浮点型单精度型单精度型float双精度型双精度型double短整型短整型short长整型长整型long整型整型int数组数组构造体构造体struct共用体共用体union1.1.数据及数据类型数据及数据类型小结:小结: 计算机要表示现实中的各种数据,但由
3、于数据在计计算机要表示现实中的各种数据,但由于数据在计算机内最终的存储都是一串算机内最终的存储都是一串01的二进制编码,所以计算的二进制编码,所以计算机要对数据分类型,目的在于,为不同的类型数据分配机要对数据分类型,目的在于,为不同的类型数据分配不同字节的存储空间、存取的编码识别方式以及在程序不同字节的存储空间、存取的编码识别方式以及在程序中对这些数据可执行的操作等。中对这些数据可执行的操作等。1.1.数据及数据类型数据及数据类型2.2.常量、变量常量、变量 数据在程序中可以常量或变量的方式存在,常量方式的数据,程序中可以直接运用,而变量方式的数据,程序可以经过变量名来访问变量的存储单元,从而
4、实现对数据的运用。常量常量常量:常量: 在程序执行过程中,其值不能被改动的量在程序执行过程中,其值不能被改动的量常量常量常量:常量: 在程序执行过程中,其值不能被改动的量在程序执行过程中,其值不能被改动的量#include void main() int a,b,sum; a=120; b=180; sum=a+b; printf(“sum=%dn,sum);#include void main() int a,b,sum; scanf(“%d,%d,&a,&b) sum=a+b; printf(“sum=%dn,sum); #include void main() int s
5、um; sum=120+180; printf(sum=%dn,sum);图图1图图2图图3常量常量常量:常量: 在程序执行过程中,其值不能被改动的量在程序执行过程中,其值不能被改动的量常量的类型:普通从字面方式即可判别。常量的类型:普通从字面方式即可判别。如:如:120(120(整型整型) )、3.14(3.14(实型实型) )、a a( (字符型字符型) )常量常量常量:常量: 在程序执行过程中,其值不能被改动的量在程序执行过程中,其值不能被改动的量常量的类型:普通从字面方式即可判别。常量的类型:普通从字面方式即可判别。如:如:120(120(整型整型) )、3.14(3.14(实型实型)
6、 )、a a( (字符型字符型) )符号常量:用一个标识符表示一个常量符号常量:用一个标识符表示一个常量常量常量常量:常量: 在程序执行过程中,其值不能被改动的量在程序执行过程中,其值不能被改动的量常量的类型:普通从字面方式即可判别。常量的类型:普通从字面方式即可判别。如:如:120(120(整型整型) )、3.14(3.14(实型实型) )、a a( (字符型字符型) )符号常量:用一个标识符表示一个常量符号常量:用一个标识符表示一个常量#define PI 3.1415926#include void main ( ) float r,s; scanf (“%f,&r); s=r*
7、r* PI; printf(“s=%10.4fn,s);常量常量常量:常量: 在程序执行过程中,其值不能被改动的量在程序执行过程中,其值不能被改动的量常量的类型:普通从字面方式即可判别。常量的类型:普通从字面方式即可判别。如:如:120(120(整型整型) )、3.14(3.14(实型实型) )、a a( (字符型字符型) )符号常量:用一个标识符表示一个常量符号常量:用一个标识符表示一个常量#define PI 3.1415926#include void main ( ) float r,s; scanf (“%f,&r); s=r*r* PI; printf(“s=%10.4fn
8、,s);1.符号常量用宏定义#define命令行定义2.习惯上用大写标识符表示符号常量3.符号常量在其作用域中不可改动和再赋值4.含义清楚、修正方便变量变量变量:变量: 在程序运转期间,其值是可以改动的。在程序运转期间,其值是可以改动的。变量变量变量:变量: 在程序运转期间,其值是可以改动的。在程序运转期间,其值是可以改动的。本质:变量代表内存中具有特定属性的一个存储本质:变量代表内存中具有特定属性的一个存储单元,用来存放数据。单元,用来存放数据。变量变量变量:变量: 在程序运转期间,其值是可以改动的。在程序运转期间,其值是可以改动的。本质:变量代表内存中具有特定属性的一个存储本质:变量代表内
9、存中具有特定属性的一个存储单元,用来存放数据。单元,用来存放数据。表示:变量名和变量值。表示:变量名和变量值。9变量值存储单元变量名a变量变量变量:变量: 在程序运转期间,其值是可以改动的。在程序运转期间,其值是可以改动的。本质:变量代表内存中具有特定属性的一个存储本质:变量代表内存中具有特定属性的一个存储单元,用来存放数据。单元,用来存放数据。表示:变量名和变量值。表示:变量名和变量值。9变量值存储单元变量名a1.C中经过声明语句定义变量中经过声明语句定义变量2.变量名对应变量值的存储地址变量名对应变量值的存储地址3.经过对变量名的赋值来改动变经过对变量名的赋值来改动变量值量值4.经过变量名
10、来援用变量值经过变量名来援用变量值int a;float s; a=120;c=a+b; b=a;c=100;标识符标识符标识符标识符: 在在C中用来对变量、符号常量、函数、数组及文中用来对变量、符号常量、函数、数组及文件等对象命名的有效字符序列。简单讲,标识符件等对象命名的有效字符序列。简单讲,标识符就是一个名字。就是一个名字。标识符标识符标识符标识符: 在在C中用来对变量、符号常量、函数、数组及文中用来对变量、符号常量、函数、数组及文件等对象命名的有效字符序列。简单讲,标识符件等对象命名的有效字符序列。简单讲,标识符就是一个名字。就是一个名字。有效字符:有效字符:1.大写英文字母大写英文字
11、母 AZ 3. 阿拉伯数字阿拉伯数字092.小写英文字母小写英文字母 az 4. 下划线下划线 _标识符标识符标识符标识符: 在在C中用来对变量、符号常量、函数、数组及文中用来对变量、符号常量、函数、数组及文件等对象命名的有效字符序列。简单讲,标识符件等对象命名的有效字符序列。简单讲,标识符就是一个名字。就是一个名字。有效字符:有效字符:1.大写英文字母大写英文字母 AZ 3. 阿拉伯数字阿拉伯数字092.小写英文字母小写英文字母 az 4. 下划线下划线 _命名规那么:命名规那么:1.以字母以字母(大小写均可大小写均可)或下划线开头或下划线开头2.随后可跟假设干个随后可跟假设干个(可可0个个
12、)字母、数字、下划线字母、数字、下划线3.标识符的长度各系统不同标识符的长度各系统不同,最好不超越最好不超越8个字符个字符关键字关键字什么是什么是: 它是它是C言语中具有特定含义、专门用作言语特定言语中具有特定含义、专门用作言语特定成分的一类标识符。成分的一类标识符。一切关键字都有固定的意义,不能用作其它一切关键字都有固定的意义,不能用作其它一切的关键字都必需小写,大小写有区别一切的关键字都必需小写,大小写有区别auto break case char constcontinue default do double elseenum extern float for gotoif int lo
13、ng register returnshort signed sizeof static structswitch typedef unsigned union voidvolatile while请留意请留意 在在C C言语中,要求对一切用到的变量做强迫定义,言语中,要求对一切用到的变量做强迫定义,即先定义后运用。即先定义后运用。变量定义的格式:类型变量定义的格式:类型 变量名变量名声明变量:保证程序中变量名得到正确运用。声明变量:保证程序中变量名得到正确运用。声明时,每个变量被指定一个确定的类型,在编译声明时,每个变量被指定一个确定的类型,在编译时变量可以被分配相应的存储单元。时变量可以被
14、分配相应的存储单元。每个变量属于一个类型,也便于编译时检查对变量每个变量属于一个类型,也便于编译时检查对变量进展的运算能否合法。进展的运算能否合法。习惯上变量用小写标识符习惯上变量用小写标识符, ,符号常量用大写标识符符号常量用大写标识符 int a; float s;1.1.数据及数据类型数据及数据类型2.2.常量、变量常量、变量3.3.整型数据整型数据整型数据整型数据整型常量的表示方法整型常量的表示方法1.1.十进制整数。如:十进制整数。如:123123,-234-234等等整型数据整型数据整型常量的表示方法整型常量的表示方法1.1.十进制整数。如:十进制整数。如:123123,-234-
15、234等等2.2.八进制整数。以八进制整数。以0 0开头的数,由开头的数,由0-70-7数字组成,数字组成, 如:如:012012,-011-011等等整型数据整型数据整型常量的表示方法整型常量的表示方法1.1.十进制整数。如:十进制整数。如:123123,-234-234等等2.2.八进制整数。以八进制整数。以0 0开头的数,由开头的数,由0-70-7数字组成,数字组成, 如:如:012012,-011-011等等3.3.十六进制整数。以十六进制整数。以0 x0 x或者或者0X0X开头的数,由开头的数,由0-90-9数字和数字和a-f(a-f(或者或者 A-F)A-F)字符组成,如:字符组成
16、,如:0 x1a0 x1a,-0 x11-0 x11,OX1FOX1F等等整型数据整型数据整型变量整型变量1.1.整型数据在内存中的存放方式整型数据在内存中的存放方式 数据在内存中是以二进制方式存放的。不同的系统为一个整数据在内存中是以二进制方式存放的。不同的系统为一个整型数据分配型数据分配n n个字节的存储单元。数值是采用补码编码方式表示的。个字节的存储单元。数值是采用补码编码方式表示的。整型数据整型数据整型变量整型变量1.1.整型数据在内存中的存放方式整型数据在内存中的存放方式 数据在内存中是以二进制方式存放的。不同的系统为一个整数据在内存中是以二进制方式存放的。不同的系统为一个整型数据分
17、配型数据分配n n个字节的存储单元。数值是采用补码编码方式表示的。个字节的存储单元。数值是采用补码编码方式表示的。 Torbo C2.0为根本整型数据分配2个字节的存储单元,而VC+6.0那么分配了4个字节。 分配不同字节的存储单元意味着什么?整型数据整型数据整型变量整型变量1.1.整型数据在内存中的存放方式整型数据在内存中的存放方式 数据在内存中是以二进制方式存放的。不同的系统为一个整数据在内存中是以二进制方式存放的。不同的系统为一个整型数据分配型数据分配n n个字节的存储单元。数值是采用补码编码方式表示的。个字节的存储单元。数值是采用补码编码方式表示的。 Torbo C2.0为根本整型数据
18、分配2个字节的存储单元,而VC+6.0那么分配了4个字节。 补码:正数的补码是该数二进制方式(本身),负数的补码是该数绝对值得二进制方式,按位取反加1。 存储单元中,最左边一位是符号位,0阐明值为整数,1阐明值为负数,其他是数值位。整型数据整型数据整型变量整型变量1.1.整型数据在内存中的存放方式整型数据在内存中的存放方式 2.2.整型变量的分类整型变量的分类 有符号根本整型,用有符号根本整型,用signed intsigned int表示表示 无符号根本整型,用无符号根本整型,用unsigned intunsigned int表示表示 有符号短整型,用有符号短整型,用signed short
19、 intsigned short int表示表示 无符号短整型,用无符号短整型,用unsigned short intunsigned short int表示表示 有符号长整型,用有符号长整型,用signed long intsigned long int表示表示 无符号长整型,用无符号长整型,用unsigned long intunsigned long int表示表示整型的分类是以分配的存储单元的字节数来区分的。整型的分类是以分配的存储单元的字节数来区分的。有符号否:分配的存储单元的最高位能否是符号位。有符号否:分配的存储单元的最高位能否是符号位。假设短整型是分配两个字节,无符号短整型变量
20、可表示的数值范围是:0216-1,而有符号短整型变量可表示的数值范围是:-215215-1整型数据整型数据整型变量整型变量1.1.整型数据在内存中的存放方式整型数据在内存中的存放方式 2.2.整型变量的分类整型变量的分类 3.3.整型变量的定义整型变量的定义 类型标识类型标识 变量名标识符变量名标识符( (列表列表) ) 整型数据整型数据整型变量整型变量1.1.整型数据在内存中的存放方式整型数据在内存中的存放方式 2.2.整型变量的分类整型变量的分类 3.3.整型变量的定义整型变量的定义 类型标识类型标识 变量名标识符变量名标识符( (列表列表) ) 1.1.变量的定义普通放在一个函数的函数体
21、的开头部分变量的定义普通放在一个函数的函数体的开头部分2.2.类型标识可选六种类型标识可选六种int,short,long,unsigned int,unsigned shortint,short,long,unsigned int,unsigned short,unsigned longunsigned long如:如:int a,b,c;int a,b,c; long e,f,t; long e,f,t;整型数据整型数据整型变量整型变量1.1.整型数据在内存中的存放方式整型数据在内存中的存放方式 2.2.整型变量的分类整型变量的分类 3.3.整型变量的定义整型变量的定义 4.4.整型数据的
22、溢出整型数据的溢出/* 整型数据的溢出整型数据的溢出 */#include void main() short a,b; a=32767; b=a+1; printf(“a=%dnb=%dn,a,b);运转结果:a=32767b=-32768整型数据整型数据整型变量整型变量1.1.整型数据在内存中的存放方式整型数据在内存中的存放方式 2.2.整型变量的分类整型变量的分类 3.3.整型变量的定义整型变量的定义 4.4.整型数据的溢出整型数据的溢出/* 整型数据的溢出整型数据的溢出 */#include void main() short a,b; a=32767; b=a+1; printf(“
23、a=%dnb=%dn,a,b);运转结果:a=32767b=-327680 1 1 1 1 1 11 1 1 1 1 1 1 1 1a:1 0 0 0 0 00 0 0 0 0 0 0 0 0 0b:32767-32768整型数据整型数据整型变量整型变量整型常量的表示方法整型常量的表示方法1.1.整型数据在内存中的存放方式整型数据在内存中的存放方式 2.2.整型变量的分类整型变量的分类 3.3.整型变量的定义整型变量的定义 4.4.整型数据的溢出整型数据的溢出整型常数的类型整型常数的类型整型数据整型数据整型变量整型变量整型常量的表示方法整型常量的表示方法1.1.整型数据在内存中的存放方式整型数
24、据在内存中的存放方式 2.2.整型变量的分类整型变量的分类 3.3.整型变量的定义整型变量的定义 4.4.整型数据的溢出整型数据的溢出整型常数的类型整型常数的类型1.1.在在-32768-32767-32768-32767范围内的数,以为是范围内的数,以为是shortshort型型2.2.在在-2147483648-2147483647-2147483648-2147483647范围内的数,以为是范围内的数,以为是intint或或longlong型型3.3.常量后面加一个字母常量后面加一个字母u u或或U U,以为是无符号数,以为是无符号数4.4.常量后面加一个字母常量后面加一个字母l l或或
25、L L,系统以为是,系统以为是longlong型型 1:-215215-12:-231231-11.1.数据及数据类型数据及数据类型2.2.常量、变量常量、变量3.3.整型数据整型数据4.4.浮点型数据浮点型数据浮点型数据浮点型数据(实型数据实型数据)浮点型常量的表示方法浮点型常量的表示方法1.1.十进制小数方式。如:十进制小数方式。如:0.1230.123,-2.34-2.34等等( (必需有小数点必需有小数点) )浮点型数据浮点型数据浮点型常量的表示方法浮点型常量的表示方法1.1.十进制小数方式。如:十进制小数方式。如:0.1230.123,-2.34-2.34等等( (必需有小数点必需有
26、小数点) )2.2.指数方式。如指数方式。如123e4123e4或或123E4123E4表示表示123123104104,即,即12300001230000 浮点型数据浮点型数据浮点型常量的表示方法浮点型常量的表示方法1.1.十进制小数方式。如:十进制小数方式。如:0.1230.123,-2.34-2.34等等( (必需有小数点必需有小数点) )2.2.指数方式。如指数方式。如123e4123e4或或123E4123E4表示表示123123104 104 ,即,即12300001230000 留意:字母留意:字母e e之前后必需有数字,之前后必需有数字,e e后面的数字必需是整数后面的数字必需
27、是整数 浮点型数据浮点型数据浮点型常量的表示方法浮点型常量的表示方法1.1.十进制小数方式。如:十进制小数方式。如:0.1230.123,-2.34-2.34等等( (必需有小数点必需有小数点) )2.2.指数方式。如指数方式。如123e4123e4或或123E4123E4表示表示123123104 104 ,即,即12300001230000 留意:字母留意:字母e e之前后必需有数字,之前后必需有数字,e e后面的数字必需是整数后面的数字必需是整数 规范化的方式:在字母规范化的方式:在字母e e之前的数字中,小数点左边有且只需之前的数字中,小数点左边有且只需 一位非零的数字一位非零的数字浮
28、点型数据浮点型数据浮点型常量的表示方法浮点型常量的表示方法1.1.十进制小数方式。如:十进制小数方式。如:0.1230.123,-2.34-2.34等等( (必需有小数点必需有小数点) )2.2.指数方式。如指数方式。如123e4123e4或或123E4123E4表示表示123123104 104 ,即,即12300001230000 留意:字母留意:字母e e之前后必需有数字,之前后必需有数字,e e后面的数字必需是整数后面的数字必需是整数 规范化的方式:在字母规范化的方式:在字母e e之前的数字中,小数点左边有且只需之前的数字中,小数点左边有且只需 一位非零的数字一位非零的数字举例:实数举
29、例:实数12.34合法的指数方式:合法的指数方式:12.34e0,123.4e-1,1.234e1,0.1234e2,1234e-2规范化的方式:规范化的方式: 1.234e1浮点型数据浮点型数据浮点型变量浮点型变量1.1.浮点型数据在内存中的存放方式浮点型数据在内存中的存放方式 一个浮点型数据普通在内存中占一个浮点型数据普通在内存中占4 4个字节。个字节。浮点型数据浮点型数据浮点型变量浮点型变量1.1.浮点型数据在内存中的存放方式浮点型数据在内存中的存放方式 一个浮点型数据普通在内存中占一个浮点型数据普通在内存中占4 4个字节。个字节。对于恣意一个数均可表示为方式:对于恣意一个数均可表示为方
30、式: (N)R=S*RE 其中,其中,S称为尾数,它表示了数称为尾数,它表示了数N的有效数字,计算机中普通表示的有效数字,计算机中普通表示为纯小数;为纯小数; R称为基数称为基数(或基值或基值); E称为阶码,它表示了数称为阶码,它表示了数N的小的小数点的实践位置,普通表示为纯整数。数点的实践位置,普通表示为纯整数。1 1位位 7 7位位 2424位位符号位符号位阶码部分阶码部分尾码部分尾码部分数值范围数据精度浮点型数据浮点型数据浮点型变量浮点型变量1.1.浮点型数据在内存中的存放方式浮点型数据在内存中的存放方式 2.2.浮点型变量的分类浮点型变量的分类 单精度,用单精度,用floatfloa
31、t表示,表示,4 4字节存储,有效数字字节存储,有效数字7 7 双精度,用双精度,用doubledouble表示,表示,8 8字节存储,有效数字字节存储,有效数字15-1615-16 长双精度,用长双精度,用long doublelong double表示,表示,1616字节存储,有效数字字节存储,有效数字18-19 18-19 浮点型数据浮点型数据浮点型变量浮点型变量1.1.浮点型数据在内存中的存放方式浮点型数据在内存中的存放方式 2.2.浮点型变量的分类浮点型变量的分类 3.3.浮点型变量的定义浮点型变量的定义 类型标识类型标识 变量名标识符变量名标识符( (列表列表) ) 1.1.变量的
32、定义普通放在一个函数的函数体的开头部分变量的定义普通放在一个函数的函数体的开头部分2.2.类型标识可选三种类型标识可选三种floatfloat,doubledouble,long doublelong double如:如:float a,b,c;float a,b,c; double e,f,t; double e,f,t;浮点型数据浮点型数据浮点型变量浮点型变量1.1.浮点型数据在内存中的存放方式浮点型数据在内存中的存放方式 2.2.浮点型变量的分类浮点型变量的分类 3.3.浮点型变量的定义浮点型变量的定义 4.4.浮点型数据的舍入误差浮点型数据的舍入误差/* 浮点数的舍入误差浮点数的舍入误
33、差 */#include void main() float a,b; a=123456.789e5; b=a+20; printf(“a=%f b=%fn ,a,b); 程序运转结果是程序运转结果是a与与b的值一样。的值一样。缘由是:缘由是:由于实数采用浮点计数法,有效位数会由于实数采用浮点计数法,有效位数会遭到限制,会产生舍入误差。遭到限制,会产生舍入误差。执行浮点型数据浮点型数据浮点型变量浮点型变量1.1.浮点型数据在内存中的存放方式浮点型数据在内存中的存放方式 2.2.浮点型变量的分类浮点型变量的分类 3.3.浮点型变量的定义浮点型变量的定义 4.4.浮点型数据的舍入误差浮点型数据的舍
34、入误差浮点型常量的表示方法浮点型常量的表示方法浮点型常数的类型浮点型常数的类型浮点型数据浮点型数据浮点型变量浮点型变量1.1.浮点型数据在内存中的存放方式浮点型数据在内存中的存放方式 2.2.浮点型变量的分类浮点型变量的分类 3.3.浮点型变量的定义浮点型变量的定义 4.4.浮点型数据的舍入误差浮点型数据的舍入误差浮点型常量的表示方法浮点型常量的表示方法浮点型常数的类型浮点型常数的类型1.1.系统将实型常量默以为双精度值,分配系统将实型常量默以为双精度值,分配8 8字节存储字节存储2.2.假设在数的后面加字母假设在数的后面加字母f f或或F F,系统将其作为单精度处置,系统将其作为单精度处置3
35、.3.一个实数常量可以赋值给一个实数常量可以赋值给floatfloat、doubledouble和和long doublelong double型型 变量,根据变量的类型截取实型常量中相应的有效位数字变量,根据变量的类型截取实型常量中相应的有效位数字1.1.数据及数据类型数据及数据类型2.2.常量、变量常量、变量3.3.整型数据整型数据4.4.浮点型数据浮点型数据5.5.字符型数据字符型数据字符型数据字符型数据字符常量字符常量字符型数据字符型数据字符常量字符常量表示:字符常量是用单撇号括起来的一个字符,如表示:字符常量是用单撇号括起来的一个字符,如 a, A, a, A, $字符型数据字符型数
36、据字符常量字符常量表示:字符常量是用单撇号括起来的一个字符,如表示:字符常量是用单撇号括起来的一个字符,如 a, A, a, A, $本义字符:一种特殊方式的字符常量,是以一个字符本义字符:一种特殊方式的字符常量,是以一个字符“ 开头的开头的字符序列。字符序列。字符型数据字符型数据字符常量字符常量表示:字符常量是用单撇号括起来的一个字符,如表示:字符常量是用单撇号括起来的一个字符,如 a, A, a, A, $本义字符:一种特殊方式的字符常量,是以一个字符本义字符:一种特殊方式的字符常量,是以一个字符“ 开头的开头的字符序列。字符序列。字符方式字符方式 定义定义ASCII代码代码n 换行,将当
37、前位置移到下一行开头换行,将当前位置移到下一行开头10t 程度制表程度制表(跳到下一个跳到下一个Tab位置位置)9b 退格,将当前位置移到前一列退格,将当前位置移到前一列8r 回车,将当前位置移到本行的开头回车,将当前位置移到本行的开头13f 换页,将当前位置移到下页的开头换页,将当前位置移到下页的开头12a 报警响铃报警响铃7 代表一个反斜杠字符代表一个反斜杠字符“92 代表一个单引号字符代表一个单引号字符39ddd 1到到3位八进制所代表的字符位八进制所代表的字符(ASCII码码)xhh 1到到2位十六进制所代表的字符位十六进制所代表的字符(ASCII码码)(x必需小写必需小写)字符型数据
38、字符型数据字符常量字符常量表示:字符常量是用单撇号括起来的一个字符,如表示:字符常量是用单撇号括起来的一个字符,如 a, A, a, A, $本义字符:一种特殊方式的字符常量,是以一个字符本义字符:一种特殊方式的字符常量,是以一个字符“ 开头的开头的字符序列。字符序列。字符方式字符方式 定义定义ASCII代码代码n 换行,将当前位置移到下一行开头换行,将当前位置移到下一行开头10t 程度制表程度制表(跳到下一个跳到下一个Tab位置位置)9b 退格,将当前位置移到前一列退格,将当前位置移到前一列8r 回车,将当前位置移到本行的开头回车,将当前位置移到本行的开头13f 换页,将当前位置移到下页的开
39、头换页,将当前位置移到下页的开头12a 报警响铃报警响铃7 代表一个反斜杠字符代表一个反斜杠字符“92 代表一个单引号字符代表一个单引号字符39ddd 1到到3位八进制所代表的字符位八进制所代表的字符(ASCII码码)xhh 1到到2位十六进制所代表的字符位十六进制所代表的字符(ASCII码码)举例:printf(“007); 报警 printf(“a); 报警printf(101); Aprintf(x41); Aprintf(141); aprintf(“x61); a执行字符型数据字符型数据字符变量字符变量1.1.字符数据在内存中的存放方式字符数据在内存中的存放方式 一个字符数据普通在内
40、存中占一个字符数据普通在内存中占1 1个字节。无论是字符常量还是个字节。无论是字符常量还是字符变量的值,都是将其字符变量的值,都是将其ASCIIASCII代码存放在存储单元中。代码存放在存储单元中。留意:由于字符数据在内存中的留意:由于字符数据在内存中的ASCII码的存储,使字符型数据码的存储,使字符型数据和整型数据之间可以通用。和整型数据之间可以通用。字符型数据可以参与算术运算字符型数据可以参与算术运算本质是其本质是其ASCII码参与运算码参与运算字符型数据既可以字符型数据输出,也可以整型数据输出字符型数据既可以字符型数据输出,也可以整型数据输出留意:由于字符数据占单字节,数值范围在留意:由
41、于字符数据占单字节,数值范围在0255之间之间字符型数据字符型数据字符变量字符变量1.1.字符数据在内存中的存放方式字符数据在内存中的存放方式 2.2.字符变量的定义字符变量的定义 类型标识类型标识 变量名标识符变量名标识符( (列表列表) ) 字符型数据字符型数据字符变量字符变量1.1.字符数据在内存中的存放方式字符数据在内存中的存放方式 2.2.字符变量的定义字符变量的定义 类型标识类型标识 变量名标识符变量名标识符( (列表列表) ) 阐明:阐明:1.1.变量的定义应放在变量运用之前变量的定义应放在变量运用之前2.2.类型标识:类型标识:charchar如:如:char a,b,c;ch
42、ar a,b,c; 字符型数据字符型数据字符串常量字符串常量字符串常量是用双撇号括起来的字符序列字符串常量是用双撇号括起来的字符序列如:如: a,helloa,hello阐明:阐明:1.1.不要混淆字符常量和字符串常量,如:不要混淆字符常量和字符串常量,如: a, aa, a2.2.字符常量可以给字符变量赋值,而字符串常量不可以字符常量可以给字符变量赋值,而字符串常量不可以3.3.在在C C中,在字符串常量的结尾加一个字符串终了标志:中,在字符串常量的结尾加一个字符串终了标志:00,系统,系统以此判别字符串能否终了。以此判别字符串能否终了。1.1.数据及数据类型数据及数据类型2.2.常量、变量
43、常量、变量3.3.整型数据整型数据4.4.浮点型数据浮点型数据5.5.字符型数据字符型数据6.6.变量赋初值变量赋初值变量初始化变量初始化请留意:请留意:前面我们引见了三种根本数据类型的常量、变量,以及变量前面我们引见了三种根本数据类型的常量、变量,以及变量的定义等,我们知道,无论是哪种数据类型,变量的定义意味着的定义等,我们知道,无论是哪种数据类型,变量的定义意味着系统为这个变量分配一定字节的存储空间,并可以在程序执行过系统为这个变量分配一定字节的存储空间,并可以在程序执行过程中,按变量名进展变量值的存和取。程中,按变量名进展变量值的存和取。但是,在变量定义时,但是,在变量定义时,C言语并不
44、对变量存储空间作清零处言语并不对变量存储空间作清零处置。这就意味着,变量被声明后,变量存储单元的值是非零的,置。这就意味着,变量被声明后,变量存储单元的值是非零的,是不定的。是不定的。C言语允许在定义变量的同时给变量送值言语允许在定义变量的同时给变量送值变量初始化变量初始化举例:举例:int a=3int a=3,b,c=9; /b,c=9; /部分赋初值部分赋初值float f=3.45;float f=3.45;char c=char c=a a; ;float f=3.45;相当于: float f; f=3.45;主要内容:主要内容:1.数据、数据类型的了解数据、数据类型的了解2.常量
45、和变量等概念常量和变量等概念3.根本类型的常量和变量根本类型的常量和变量4.变量赋初值变量赋初值5.不同数值类型数据间的混合运算不同数值类型数据间的混合运算6.几种根本类型运算符和表达式几种根本类型运算符和表达式整型、实型、字符型数据间可以混合运算。在运算整型、实型、字符型数据间可以混合运算。在运算时,不同类型的数据先同类型转换,然后才进展运算。时,不同类型的数据先同类型转换,然后才进展运算。不同数值类型数据间的混合运算不同数值类型数据间的混合运算转换的规那么如图:转换的规那么如图:1.横向向左箭头表示必定转换2.纵向向上箭头表示当运算对象为不同类型时转换方向3.纵向箭头表示转化的高低级别,不
46、同类型数据运算时,低级别类型的数据直接转换为最高级类型的数据,再进展运算举例:int i;float f;long l;double d10+a+2*f d/l 执行主要内容:主要内容:1.数据、数据类型的了解数据、数据类型的了解2.常量和变量等概念常量和变量等概念3.根本类型的常量和变量根本类型的常量和变量4.变量赋初值变量赋初值5.不同数值类型数据间的混合运算不同数值类型数据间的混合运算6.几种根本类型运算符和表达式几种根本类型运算符和表达式C言语运算符简介言语运算符简介算术运算符:算术运算符: + - + - * * / % + - / % + -关系运算符:关系运算符: = != =
47、!=逻辑运算符:逻辑运算符: ! & |& |位运算符位运算符 : | & | &赋值运算符:赋值运算符: = = 及其扩展及其扩展条件运算符:条件运算符: ?:?:逗号运算符:逗号运算符: , ,指针运算符:指针运算符: * * & &求字节数求字节数 : sizeofsizeof强迫类型转换:强迫类型转换:( (类型类型分量运算符:分量运算符: . -. -下标运算符:下标运算符: 其它其它 : ( ) -( ) -算术运算符和算术表达式算术运算符和算术表达式1.根本的算术运算符根本的算术运算符+ + 加法运算符,或正值运算符,如:加法运算符
48、,或正值运算符,如:3+53+5、+3+3- - 减法运算符,或负值运算符,如:减法运算符,或负值运算符,如:5-25-2、-6-6* * 乘法运算符,如:乘法运算符,如:5 5* *3 3/ / 除法运算符,如:除法运算符,如:5/35/3% % 模运算符模运算符, ,或称求余运算符或称求余运算符,%,%两侧均为整型数据两侧均为整型数据, ,如如5%35%3值为值为2 2算术运算符和算术表达式算术运算符和算术表达式1.根本的算术运算符根本的算术运算符+ + 加法运算符,或正值运算符,如:加法运算符,或正值运算符,如:3+53+5、+3+3- - 减法运算符,或负值运算符,如:减法运算符,或负
49、值运算符,如:5-25-2、-6-6* * 乘法运算符,如:乘法运算符,如:5 5* *3 3/ / 除法运算符,如:除法运算符,如:5/35/3% % 模运算符模运算符, ,或称求余运算符或称求余运算符,%,%两侧均为整型数据两侧均为整型数据, ,如如5%35%3值为值为2 2算术运算符和算术表达式算术运算符和算术表达式2. 算术表达式算术表达式由算术运算符和括号将运算对象由算术运算符和括号将运算对象( (也称操作数也称操作数) )衔接衔接起来,符合起来,符合C C语法规那么的式子,称为语法规那么的式子,称为C C的算术表达式。的算术表达式。运算对象包括常量、变量、函数等。运算对象包括常量、
50、变量、函数等。如:如:a+b-20+c/4.0+max(i,j,k) a+b-20+c/4.0+max(i,j,k) 等等算术运算符和算术表达式算术运算符和算术表达式3. 运算符的优先级和结合性运算符的优先级和结合性在表达式求值时,按运算符的优先级由高到低的次在表达式求值时,按运算符的优先级由高到低的次序执行。假设一个运算对象两侧的运算符的优先级别一序执行。假设一个运算对象两侧的运算符的优先级别一样,按规定的样,按规定的“结合方向处置。结合方向处置。运算符 要求运算对象个数 结合方向*、/、% 2(双目运算符) 左结合+、- 2(双目运算符) 左结合高低参见附录C代数式 ,那么下面不正确的C言
51、语表达式是: a/b/c*e*3 b) 3*a*e/b/cc) 3*a*e/d*c d) a*e/c/b*3bc3ae算术运算符和算术表达式算术运算符和算术表达式4. 强迫类型转换运算符强迫类型转换运算符可以利用强迫类型转换运算符将一个表达式转换为可以利用强迫类型转换运算符将一个表达式转换为所需类型。所需类型。格式格式: (: (类型名类型名)()(表达式表达式) )如:如:(int)c (int)c 、(double)(a+b)(double)(a+b)、(float)2(float)2强迫类型转换运算符优先级高于根本算术运算符,它属强迫类型转换运算符优先级高于根本算术运算符,它属于单目运算
52、符。于单目运算符。 (int)(a+b) (int)(a+b)和和(int)a+b(int)a+b不同不同例:例:(int)a%2(int)a%2算术运算符和算术表达式算术运算符和算术表达式4. 强迫类型转换运算符强迫类型转换运算符(char)(char)(整型数据整型数据) ):取数据的最低一个字节的:取数据的最低一个字节的ASCIIASCII码码(char)(char)(实型数据实型数据) ):取整数部分最低一个字节的:取整数部分最低一个字节的ASCIIASCII码码(int)(int)(实型数据实型数据) ):取实型数据的整数部分:取实型数据的整数部分分析输出结果分析输出结果: : pr
53、intf( printf(“%dn%dn,(int)(4.6);,(int)(4.6); printf( printf(“%dn%dn,(char)(321.9);,(char)(321.9);算术运算符和算术表达式算术运算符和算术表达式5. 求字节数运算符求字节数运算符sizeof格式格式:sizeof(:sizeof(表达式表达式) ) 单目运算符,与强迫转换符同级单目运算符,与强迫转换符同级功能:求表达式值所占内存字节数功能:求表达式值所占内存字节数#include void main() int i=0; printf( i的字节数 %2dn,sizeof(i); printf( 2占
54、字节数 %2dn,sizeof(2); printf(char %2dn,sizeof(char); printf(int %2dn,sizeof(int); printf(unsigned %2dn,sizeof(unsigned); printf(short %2dn,sizeof(short); printf(long %2dn,sizeof(long); printf(float %2dn,sizeof(float); printf(double %2dn,sizeof(double); 执行算术运算符和算术表达式算术运算符和算术表达式6. 自增、自减运算符自增、自减运算符 + -作用
55、作用: :使变量的值增使变量的值增1 1或减或减1 1。方式。方式:+i,-i:+i,-i或或i+,i-i+,i-单目运算符,运算优先级同单目运算符,运算优先级同sizeof()sizeof()。留意:+i、-i 在运用i之前先使i的值加(减)1 i+、i- 在运用i之后,使i的值加(减)1i=3;j=+i;等同于:i=3;i=i+1;j=i;i=3;j=i+;等同于:i=3;j=i;i=i+1;执行请留意请留意1. 留意结合性留意结合性单目运算符的运算优先级高于根本算术运算符,并单目运算符的运算优先级高于根本算术运算符,并且是遵照且是遵照“右结合的结合方向。右结合的结合方向。如:-i+ 相当
56、于 -(i+) i+j 相当于(i+)+j2. 尽量防止歧义尽量防止歧义由于由于C C运算符和表达式的运用灵敏性,运算符和表达式的运用灵敏性,ANSI CANSI C并没有并没有详细规定表达式中各个自表达式的求值次序,各编译系详细规定表达式中各个自表达式的求值次序,各编译系统存在差别。运用时尽量采用多语句,防止分歧。统存在差别。运用时尽量采用多语句,防止分歧。如:printf(“%d,%d,i,i+); 写成 j=i+; printf(“%d,%d,i,j); 赋值运算符和赋值表达式赋值运算符和赋值表达式1. 赋值运算符赋值运算符赋值符号赋值符号“= =就是赋值运算符,作用是将一个数据就是赋值
57、运算符,作用是将一个数据赋给一个变量。双目运算符、右结合、运算优先级极低,赋给一个变量。双目运算符、右结合、运算优先级极低,仅强于逗号运算符。仅强于逗号运算符。赋值运算符和赋值表达式赋值运算符和赋值表达式2. 赋值表达式赋值表达式由赋值运算符由赋值运算符“= =将一个变量和一个表达式衔接起将一个变量和一个表达式衔接起来而成,构成赋值表达式。来而成,构成赋值表达式。格式:变量名格式:变量名= =表达式表达式 ( (可以是可以是C C中允许的各种表达式中允许的各种表达式) )意义:先求赋值运算符意义:先求赋值运算符“= =右侧表达式的值,再将赋值右侧表达式的值,再将赋值给给“= =左侧的变量。左侧
58、的变量。例:例:a=b=c=5 /表达式的值是表达式的值是5,a,b,c的值均为的值均为5a=5+(b=6) /表达式值为表达式值为11,a的值为的值为11,b的值为的值为6a=(b=3)+(c=8) /表达式值为表达式值为11,b的值为的值为3,c的值为的值为8赋值运算符和赋值表达式赋值运算符和赋值表达式3. 类型转换类型转换赋值运算符完成的功能就是将赋值运算符右侧的表达式的值赋给赋值运算符左侧的变量,这就会存在,赋值运算符两个的数据类型不匹配的问题。在实践中,系统会在赋值的同时自动进展类型转换。在C中,数据根本类型有三种:整型、实型和字符型。整型数据的存储是采用补码编码方式,实型数据的存储是采用浮点法,字符数据的存储是采用ASCII码,并且各种类型数据在存储时分配的存储空间也不一样。转换是围绕存储空间匹配否进展的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年08月吉林银行社会招考“吉农贷”客户经理笔试历年参考题库附带答案详解
- 2024年08月中国邮政储蓄银行宁夏分行社会招考补录人员笔试历年参考题库附带答案详解
- 2024年08月湖北湖北银行襄阳分行社会招考笔试历年参考题库附带答案详解
- 2024年08月浙江2024中国工商银行台州分行秋季校园招考笔试历年参考题库附带答案详解
- 《农业创业优惠政策》课件
- 2024年08月江苏苏州银行公司银行总部投行事业部招考(103)号笔试历年参考题库附带答案详解
- 2024至2030年中国调理产品数据监测研究报告
- 2025至2031年中国防伪商标贴机行业投资前景及策略咨询研究报告
- 2024年08月江苏2024届江苏银行总行本部校园招考笔试历年参考题库附带答案详解
- 2024年弹力革项目可行性研究报告
- 最新VTE指南解读(静脉血栓栓塞症的临床护理指南解读)
- 生产计划控制程序文件
- 山东省济南市2022年中考英语情景运用拔高练习(Word版含答案)
- 护理查房-糖尿病足 PPT课件
- 强力夯实加固地基质量通病防治
- (高清正版)T-CAGHP 015—2018地质灾害治理工程监理预算标准(试行)
- Q∕GDW 12083-2021 输变电设备物联网无线节点设备技术规范
- 公司物流仓储规划方案及建议书
- 智能扫地机器人毕业设计
- 佳能EOS7D数码单反相机说明书
- 大型焰火燃放活动方案审批表
评论
0/150
提交评论