第02章 基本数据类型和运算符
第二章+数据类型、运算符和表达式
格式项的一般形式为:
%[附加格式] 格式控制符
方括号中的内容可以缺省。
附加格式控制
含义说明
l(小写字母)
m
数据最小输出宽度(一个具体正整数)
.n(一个具体 对实数,表示输出几位小数;对字 正整数) 符串,表示截取的字符个数
-(负号) 输出的数据域内向左对齐
+(正号) 要求正数和0带正号输出,负数带符 号输出
变量的定义 格式为: 类型 变量列表;
可同时定义多个同类型的变量,之间用逗 号分隔。 变量的初始化 1. 变量定义时:格式为 类型 变量名=常数; 2. 变量定义后:通过赋值语句实现
2019/7/20
变量的作用域:变量能够起作用或者 可以被使用的程序范围。由定义的位 置决定
1. 局部变量:在函数内部定义的变量, 只在其定义的某个函数或复合语句范 围内有效。
3) 例题分析:example25
2019/7/20
4. 寄存器变量:程序运行时存储在CPU寄 存器中的变量,只用于局部变量,要求 是整型和字符型变量。说明符“register”
5. 外部变量:表示该变量可以在程序中的 任何地方使用,包括定义此变量的源文 件之外,作用域为整个工程。只能用于 全局变量。说明符为“extern”。
a string”
2019/7/20
注意:“A”与‘A’完全不同,前者是字 符串,后者是字符,它们在内存中的存 贮空间并不相同。 在字符串中使用双引号必须以“\”” 表示。
实例 example22 符号常量:用标识符命名的常量,可代
替常量 在程序中直接使用。 1. 使用C语言中的一个预编译指令#define
整型常量:可以用十进制、八进制和十 六进制来表示。 a.十进制整数:[ ± ]若干各0~9的数字。 如12, 0 ,-234等
二章C语言基本数据类型及运算
标识符
标识符是C语言编程时用来标志识别的符号。 ANSI C规定:由字母或下划线开头,后跟字母,数字 或下划线任意组合的字符序列。
正确:count,test123,high_balance,PI 不正确:1count,hi!three,high..balance,a+b
来表示字符串的结束。
如“a”在内存中的形式:
符 号 常 量 (一)
符号常量在C语言中称为宏定义。宏定义是C语言提供的编译 预处理功能之一。 ·不带参的宏定义 #define用来定义一个标识符和一个字符串。 这个标识符叫宏名,替换过程叫做宏替换或宏展开。
·形式:#define 宏名 字符串
例:宏定义的使用 #define R 3.0 #define PI 3.1415926 #define L 2*PI*R #define S PI*R*R main() { printf(“L=%f\n S=%f\n”,L,S); }
果时,结果为整数(余数被截掉)。
(2)%仅用于整型运算。
(3)赋值运算符是将右边表达式的值赋给左边的变量。 合法:x=x+1; 非法:x+1=x;
(4)++,--仅用于整型变量,指针变量。
(5)+,-,*,/,%,可与赋值号组成复合赋值运算符 +=,-=,*=。/=,%=。
例如:a=a+ba+=b; a=a*ba*=b;
例如:#define PI 3.14159; area=PI*r*r;
(4)C程序中习惯用大写字母作为宏名。 (5)宏定义用宏命令#undef 宏名 来终止其作用域。
例如:#define PI 3.14159 main() {…} #undef PI f1()
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。
第2章数据类型、运算符和表达式
(2)预定义的标识符 预定义的标识符在C语言中都有特殊含义,如 scanf和 printf 是库函数名,系统中用来作为输入输出函数。用户一般不要用 它们作为自定义标识符。 (3)用户自定义标识符 在程序中使用的变量名、符号常量名、函数名、数组名、类 型名、文件名、标号名等有效的字符序列,除库函数的函数名、 关键字由系统定义外,其余都由用户自定义,统称为用户自定 义标识符。 例如: total,area,_ab,sum,average,student_name,等 都是合法的标识符。 标识符虽然可由程序员随意定义,但标识 符是用于标识某个量的符号。因此,命名应尽量有相应的意义, 以便阅读理解,做到“见名知义”。 变量名要用小写字母,符号常量名要用大写字母。即在标识 符中,大小写是有区别的。例如:A和a是两个不同的标识符。
数据类型 类型说明符 数值范围
整型 int -32768~32767 -215~215-1 0~65535 -32768~32767 -215~215-1
字节
2 2 2 2 4
无符号整型 unsigned int 短整型 short
无符号短整 unsigned short 型 long 长整型 无符号长整 unsigned ong 型
2.2.4 字符串常量
字符串常量是由一对双引号括起的字符序列。例如: "CHINA" ,"C program." , "$12.5" 等都是合法的字符串常 量。字符串常量和字符常量是不同的量。它们之间主要有以下 区别: ①字符常量由单引号括起来,字符串常量由双引号括起来。 ②字符常量只能是单个字符,字符串常量则可以含零个或多个 字符。
3、十进制整常数 十进制整常数没有前缀。其数码为0~9。 以下各数是合法的十进制整常数:237,-568 ,65535 4、整型常数的后缀 在16位字长的机器上,基本整型的长度也为16位,因此表 示的数的范围也是有限定的。十进制无符号整常数的范围为 0~65535,有符号数为-32768~+32767。如果使用的数超过了 上述范围,就必须用长整型数来表示。长整型数是用后缀“L” 或“l”来表示的。例如: 十进制长整常数 158L (十进制为158) 358000L (十进制为358000) 八进制长整常数 012L (十进制为10) 077L (十进制为63) 0200000L (十进制为65536) 十六进制长整常数 0X15L (十进制为21) 0XA5L (十进制为165) 0X10000L (十进制为65536
第2章 C语言,数据类型、运算符和表达式
(C语言运算符总表见教材P26或P325附录C) return 31
C语言程序设计
算术运算符
+ - * / % 功能: 操作数要求: 结合性: 优先级: 注意事项: 算术运算 两个操作数 (当-用作负号时除外) 自左至右(当-用作负号时除外) -(负号) —— * / % —— + - (由高→低) ① 两个整数相除,结果为整数! 例: 3/2=1 ② %要求两个操作数均为整型数据! 且余数与被除数同号!
说明: ① 字符变量中存放的是字符ASCII码值! ② char与int数据间可进行算术运算!
char choice = 'A';
return24
C语言程序设计
字符串常量
字符常量是用双引号括起来的字符序列. 例如: "hello!" , "0" (1) 字符串常量在内存中的存储 (2) 字符串常量.vs.字符常量
整型
浮点型 字符型 说明:
① 数据类型所占字节数随机器硬件不同而不同! ② 可用sizeof(数据类型说明)来计算某一数据类型占内存的字节数! return
C语言程序设计 next part
2. 常量与变量
标识符命名 常量 变量
go go go
6
C语言程序设计
标识符命名
例: 判断下列标识符号合法性
next
ห้องสมุดไป่ตู้
20
C语言程序设计
字符常量
转义字符是用反斜杠\后面跟一个字符或一个八进制或十 六进制数表示的ASCⅡ码值。例如: '\n', '\101' (1) C语言中常用的转义字符 (2) 转义字符使用实例
第二章 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/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。
第二章 基本数据类型和运算符PPT课件
04.08.2020
C语言程序设计第二版
5
二、词法约定 C语言中共有六类单词:标识符、关键字、常量、
注释符、运算符和标点符。 ① 注释符 以“/*”开头、“*/”结束;或者用“//”注释当前
行 ② 标识符
用于标识变量名、符号常量名、数组名、函 数名、 类型名、文件名的有效字符序列。
04.08.2020
无符号长整型
无符号整型 无符号短整型
单精度浮点型(float)
基本数据类型
浮点型 双精度浮点型(double) 长双精度浮点型
字符型 (char)
无符号字符型 有符号字符型
04.08.2020
C语言程序设计第二版
12
微型计算机内存的一个存储单元长度(即 所包含的二进制位数)是8个bits,称为一 个字节(byte),即通常所说的一个byte等 于8个bits。各种数据类型的长度通常都是 采用所占用的内存空间字节数(也就是内 存空间的存储单元个数)来表示。
14
2.2.1常量
1、常量的定义:在程序运行过程中,其值保持不变的量 常量的类型:根据字面形式可将常量区分为不同的类
型。 2、整型常量: C语言表示整型常量的方法有以下三种:
十进制整数:不带任何修饰。如123、-456、0等; 八进制整数:以数字0开头。如0123、-011等; 十六进制整数:以数字0x开头。如0x123、0x2ef;
04.08.2020
C语言程序设计第二版
4
图形符号:29个图形(可见)符号, 即
! “ # % & ‘ ( )* +,-./;:<= > ?[\] ^ { | }~ 主要用作各种运算符。
转义字符:程序中有时需要用到某些不可见 或难以打印的字符,C语言中采用转义字符 来表示,如: “\n”表示一个换行符;字符’\’被称为转移 符,表示其后的字符n具有特定的含义。
C语言教程第2章数据类型、运算符与表达式
常量只能在定义时赋值,然后不能再改变 其值 常数、 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 常量
字符常量
C语言 基本数据类型、运算符和表达式剖析
2018/10/25
第2章 基本数据类型、运算符和表达式
13
《C语言程序设计》
2.2.1 变量
1.变量的定义和赋值 C语言要求程序中使用的每个变量都必须先定义, 然后才能使用。定义变量需要用变量定义语句进 行,其形式为: 类型 变量名[=初值][,变量名[=初值],……];
2018/10/25
第2章 基本数据类型、运算符和表达式
2018/10/25
第2章 基本数据类型、运算符和表达式
18
《C语言程序设计》
2.2.2 常量
3.字符常量 字符型常量是由一对单引号括起来的单个字符构成, 在C语言中,字符常量有以下特点: (1) 字符常量只能用单引号括起来,不能用双引号或其 它括号。 (2) 字符常量只能是单个字符,不能是字符串。 (3) 字符可以是字符集中任意字符。一个字符型常量的 值是该字符集中对应的ASCII编码值。显然'5'和5 是不 同的。
2018/10/25
第2章 基本数据类型、运算符和表达式
17
《C语言程序设计》
2.2.2 常量 2.实型常量 在C语言中,把带小数的数称为实数或浮点数。实型常 量只能用十进制形式表示,不能用八进制和十六进 制形式表示。实型常量有两种表示方法: (1) 小数形式:由数字和小数点组成,如3.1415926、 -0.12、.4、3.等都是实数。 (2) 指数形式:如1.23e5或12.3E4都代表1.23x105。 注意:字母e(或E)之前必须有数字,且e后面指数必须 为整数,如e3、2.1e3.2、e等都不是合法的指数形式。
2018/10/25
第2章 基本数据类型、运算符和表达式
10
《C语言程序设计》
第2章
第2章基本数据类型与运算符
int a=5; 则执行
a++ 或
++a 后,a的值为6;执行
a-或
--a 后a的值为4。
3。前缀运算、后缀运算
写在变量的前面称为前缀(或前置)运算符,写在变量 的后面称为后缀(或后置)运算符。
前缀运算与后缀运算时,注意如下两点:
(1) ++a与a++单独构成表达式时,两者使用时没有区别。
'!' ‘\0’
值得注意的是:
(1) 字符串中包含有双引号时字符时,字符双引号必须用 转义字符表示
(2) 一个字符串需占用两行时,需采用两对双引号分别连 续表示,参看下列。
例2.2 字符串常量分两行表示的实例。
#include <stdio.h>
main()
I say:
{
“Hello,world!”
a=3;b=++a*++a; printf(“a=%d b=%d\n”,a,b);
a=3;b=++a*a++; printf(“a=%d b=%d\n”,a,b);
a=3;b=a++*++a; printf(“a=%d b=%d\n”,a,b);
2.2 运算符
2.2.1 优先级与结合规则
1。运算优先级
优先级别:不同级别时,先算优先级别高的运算符;
结合规则:在同一级别运算时,按某种运算规则进行;优 先级别和结合规则见表2.3
2。单元运算、双元运算、三元运算 双元运算:只允许带左右两个运算数的运算符称为二元运
算符(或二目运算符、双元运算符),如算术运算。 单元运算:只允许有一个运算数的称为单元运算符(或单
c语音基本数据类型、运算符和表达式
本
指数形式:(e或E之前必须有数字;指数必须为整
数
数)如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5
据
类
实型常量的类型
型
默认double型
运 算
在实型常量后加字母f或F,认为它是float 型
符
及
表
达
式
15
C
2.4 实型数据
语
言
第 实型变量(在VC 6.0中)
2 章
达
55..55%%22 ()
式
24
C
语
自增、自减运算符++ --
言
作用:使变量值加1或减1
第 2 章
种类: 前置 ++i, --i (先执行i+1或i-1,再使用i值)
后置 i++,i-- (先使用i值,再执行i+1或i-1)
基
本
数
据
例 j=3; k=++j;
//k=4,j=4
类
j=3; k=j++;
…...
int a=1, b=-3,c; 例:
int a=2,b,c=4;
型 运 算 符 及 表 达
例例12isnftlctao=daaset%tnm{uatbd=,ab;e1im{,innfa9cnl=t(;;ao/;t)/1iIainafl;altnle/=(o/,t)gUb1daa=;anatlt2,dbade;u;=afsit2nea;e;odf
2字节
式
…...
分p配ri指npt定fr(i字“nd节tfa(的t“a内d=a%存ta单f=\n元%”,fd\na”ta,d);ata);
第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++ 第02章 数据类型、运算符和表达式
已知 a=0, b=5 则 a&&b 的值是 0 则 a||b 的值是 1 则 !a&&b 的值是 1
注意: 在C++程序中, 欲表示数学关系 0≤x≤10 , C++的逻辑表达式必须写成 0<=x && x<=10, 而不能写成 0<= x <=10。
为什么?
2.4.6 位运算符和位运算表达式 位运算是对整型数据的运算(可以操作到位), 符号位参与运算, 主要用于系统程序设计。 位运算符共有6 种: 它们是:按位与(&) 按位或(|) 按位异或(^) 按位取反(~) 左移(<<) 右移(>>)
第二部分 面向对象的程序设计
第2章
数据类型、运算符与表达式
[例1.1]一个简单的C++程序
#include <iostream.h> void main( void ) C++ 程序的构成: { (1)数据描述 int num, square ; cout << "num=" ; (2)执行步骤( 算法) cin >> num ; square = num*num; cout << "num的平方为:" << square << '\n'; }
注意:int 型变量与 unsigned int 型变量的区别 32 位
int 型: (补码)
符号位 32 位 unsigned int 型: 无符号位
范围 -231~ (231 - 1) 范围 0~ (232 - 1)
C语言知识点:第2章 数据类型、运算符与表达式
主讲教师:杨剑
第 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 符号名 常量值 例: 计算圆的周长时
第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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
e2
3E
//缺十进制小数
//缺阶码
0.314e2.1 //阶码为小数 2/2
3.字符常量
字符常量有2种:普通字符、转义字符。 1) 普通字符常量 由单引号括在其中的1个字符。如‟A‟、‟z‟、‟+‟、‟$‟。 单引号是字符常量的限界符。单引号内的字符不包括‟,”,\, 它们在C语言中有特定的作用。 本质上,一个字符常量值是所用计算机字符集中这 个字符的编码值,即字符常量实质上是字符的ASCII码。 例如空格(32)、0(48)、A(65)、 a(97)。但不能超过0~255。
007
008 009 010
\v
\f \r
竖向跳格
换页,将光标移到下一页的页首 回车,光标移到本行的行首
011
012 013
3/5
控制字符
转义字符 意 义 十进制ASCII码值
\\
\' \" \?
反斜杠字符 \
单撇号字符 ’ 双撇号字符 ” 问号字符 ?
092
039 034 063
\ddd
\xhh
字面量常量:直接以值的形式出现的常量,如3, 0.54。 符号常量:用标识符命名的常量,如#define pi 3.1416, NULL //空(不是空格)或 \0。 枚举常量:一种特殊的成组常量,如 enum weekday{sun,mou,tue,wed,thu,fri,sat} 此外,还包括字符常量(含转义字符)、字符串常量。
第2章 基本数据类型和运算符
数据和操作是构成程序的两个重要部分,程序是对 数据进行操作的步骤;数据是程序处理的对象。
2.1 基本数据类型
2.2 运算符和表达式
2.3 数据类型的转换
本章小结
1/1
2.1 基本数据类型
2.1.1 常量和变量的概念
2.1.2 常量
2.1.3 变量
1/1
2.1.1 常量和变量的概念
同一变量名声明为不同类型
//CX-042:用auto定义变量的用法 #include "stdio.h" #include "conio.h" main() { int i,num=2; for(i=0;i<3;i++) { printf("\n: The num equal %d \n",num); num++; { auto float num=1.; printf("\40: The internal block num equal %f \n",num); num++; } } } 7/7
2/2
1
2. 实型常量
实型常量有以下两种表示形式:
1) 十进制小数形式
十进制小数形式包含一个小数点的十进制数字串。 如:3.14159,.23,23.0,23.,-9.0,0.0。小数点前或后 可以没有数字;但不能同时没有数字,如 . 。
1/2
实型常量
2) 指数形式(科学计数法)
指数形式的格式由两部分组成:一部分是十进制小 数形式的常量或者十进制整型常量称为尾数;而指数部 分是在e或E后跟整数称为阶码。例如: 1e24,23.0E-1 , 0.314159e+1。 但下列实数是错误的:
任意字符(1~3位八进制数所代表的字符)
任意字符(1~2位十六进制数所代表的字符)
字符 0 A a NULL 空格
ASCII码 48 65 97 00 32
\ddd \60 \101 \141 \0 \40
\xhh \x30 \x41 \x61 \x0 \x20
4/5
打印人民币符号“¥”
#include <stdio.h> 输入人民币符号¥ void main( ) 先输出一个“Y”,回退一格,再输出“=” { printf(“Y\b=\n”); //先打印y再退格打印= }
1. 整型变量
2. 实型变量
3. 字符型变量
4. 变量初始化
1/1
1. 整型变量
整型变量是用于存放整数值的变量。
声明整型变量的关键字是int。例如: Vc++6.0中分配
有符号[signed]
无符号unsigned
short [int] i; //短整型
int j; //整型 long [int] k; //长整型
1/2
例子
#include <stdio.h> //cp2b-2.cpp void main( ) { printf("Good morning!\n"); printf(“Good\0morning!\n”); // \0强制截断字符串 printf("\n"); }
2/2
1
2.1.3 变量
输出只能在打印机上实现;而不能在显示器上实现。
5/5
1
4. 字符串常量
字符串常量是用一对双引号括在其中的一串字符。 例如: “Hello!”,“Welcome you!“,”小兔说\”你好!\”” 字符串常量与字符常量是不同的
字符 ‟ a‟
“a“
形式 ‟ a‟
“a“
存储方式 97
97 \0
编译程序在每个字符串的尾部自动加上了一个空字 符NULL(即‟\0‟)作为字符串的结尾。
2.1.2 常量
1.整型常量
2.实型常量
3.字符常量
4.字符串常量
1/1
1. 整型常量
C语言中整型常量分为十进制、八进制、十六进制 整型常量三种形式。
1) 十进制常量
2) 八进制整型常量
3) 十六进制常量
1/1
1) 十进制整型常量
可带正、负号,只能出现数字0~9。如: 0,1,321,23,-234。
l=ox111; //字母o
: error C2065: 'ox111' : undeclared identifier
1/2
在整型常量后加L或l,表示长整型常量。如-2L, 027L, 0x5AB4l 等。
例-八进制,十六进制数
#include <stdio.h> //cp2b-1.cpp main () { int i,k,l; i=0111; k=0x1a1; l=0X1A1; printf("i=%o, i=%d, k=%x, l=%x, k=%d\n",i,i,k,l,k); }
5/7
变量声明
C语言规定,程序中所有变量在使用之前,必须先 对它进行声明。声明变量包括三个方面: 存储类型 数据类型 作用域 程序中声明变量包括为变量取名和指定变量类型。 例如,下面声明两个变量i和j float i,j; //变量列表用逗号分隔 注意:不允许在程序的同一作用域内(用{}括起的程 序段)将同一变量声明为不同类型。例如: float i,j; int i: //变量重复说明 6/7
2/5
2) 转义字符
字符分为可显示字符和控制字符。在C语言中,控 制字符必须用反斜杠\引导的1个小写字符、8进制数、16 进制数表示。常用转意字符如后。
转义字符 \0 意 义 十进制ASCII码值 000 空字符(NULL)
\a
\b \t \n
响铃(BEL,turbo C 2.0不支持)
退格,光标移到前一列 横向跳格,光标跳到下一个制表位 换行,将当前光标移到下一行行首
C语言的量
常量
变量
整型 实型(浮点型) 字符型 枚举型 数组型 结构体型 联合体型
基本类型
短整型 有符号 整型 无符号 长整型 单精度型 双精度型
C语言的 数据类型 构造类型 其它类型 1/7
十进制
数值型 二进制 八进制 十六进制
指针型 空类型
1. 常量的概念
是在程序执行的整个过程中,其值不能改变,也不能 再被赋值的量。
பைடு நூலகம்2/7
定义符号常量的方法
有两种定义符号常量的方法: 1. 宏定义: #define PI 3.14159
2. 常量说明: const float pi=3.14159;
注意: 1. 宏定义是说明,不用分号;而常量说明是语句,必须 以分号结束。 2. 宏定义的常量无类型,只进行字符替换,不进行变量 类型检查;而常量说明有类型,进行变量类型检查。 3. 第二种方法在声明变量类型的同时,必须初始化。最 好使用第二种方法。 3/7
2字节
4字节 4字节
C语言标准没有具体规定为整型变量分配的存储空 间的字节数。例如int类型变量,有的系统分配2字节, 有的是4字节等。 1/4
整型变量
例如,一个2个字节的short类型变量 i,执行赋值语
句 i=6; 则这个值就存储在这2个字节中。 short i;
i=6
6
两个字节的short变量
1/5
字符常量的其他表示法
八进制形式 ‘\ddd‟ 用三位八进制数表示所有字符的ASCII值。例如: ‘\101‟(„A‟),‘\007‟(响铃控制字符),‘\343‟(„π‟)。 十六进制形式 ‘\xhh‟ 用二位十六进制数表示所有字符的ASCII值。例如: ‘\x41‟(„A‟),‘\x07‟(响铃控制字符),‘\xe3„(„π‟)。
变量i的存储内容
0 0000000
2/4
0000 0110
变量i的二进制形式存储
整型变量
变量的字节数决定变量存储值的范围。因此,在选 择int类型的变量时,必须考虑该变量所能存放的最大值 和最小值。如果变量的取值可能超过它的最大范围,则 要考虑选择其他的类型,否则可能发生溢出的错误。
2字节:-32768 ~ 32767 4字节:-2147483648 ~ 2147483647 后缀为L , l 无符号2字节:0 ~ 65535 无符号4字节:0 ~ 4294967295 整型变量的输出格式为: