2 数据类型、运算符和表达式
第2章 c语言基本数据类型、运算符和表达式
1000000000000101
1111111111111010
1111111111111011
整型数据所分配的字节数及数的表示范围(16位系统)
整型数据类型
[signed ]int unsigned [int] [signed] short [int] unsigned short [int] [signed ]long [int] unsigned long [int]
制和十六进制只是整型数值的三种表现形式而已。 整型常量类型的确定:根据值大小默认类型。 整型常量后面加后缀1或L,则认为是long int型。 无符号数也可以用后缀表示,整型常数的无符号数的后缀为“U”或“u”。 注意:在程序中是根据前缀来区分各种进制数的。因此在书写时不要把前缀弄错造
成结果不正确。
缺省形式的 整型数据类型
int unsigned short int unsigned short int long int unsigned long
字节数
取值范围
2
-32768~32767(-215~215-1)
2
0~65535
2
-32768~32767(-215~215-1)
2
0~65535(0~216-1)
3.字符型常量
字符常量是用单引号括起来的一个字符。它有二种形式:可视字符常量、转义字符常量。 (1)可视字符常量:单引号括起来的单个可视字符。
大多数字符常量都可以通过加单引号的方式表示,但有些特殊字符,如单引号本身和有些不 可见的特殊字符,就无法通过这种方法表示,为了解决这一问题,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语言的基本数据类型 掌握标识符、关键字、常量和变量的使用 掌握运算符、表达式以及数据类型之间的转换 等 掌握简单数据的输入输出
C语言教程课件第二章 数据类型、运算符和表达式
例 整型变量的定义与使用
#include <stdio.h> void main() { int a,b,c,d; /*指定a、b、c、d为整型变量*/ unsigned u; /*指定u为无符号整型变量*/ a=12;b=-24;u=10; c=a+u;d=b+u; printf("a+u=%d,b+u=%d\n",c,d); }
例 向字符变量赋以整数。 • 运行结果: #include <stdio.h> a b void main() 97 98 { char c1,c2; c1=97; c2=98; printf("%c %c\n",c1,c2); printf("%d %d\n",c1,c2); }
• 说明:在第4和第5行中,将整数97和98分别赋给c1和c2,它 的作用相当于以下两个赋值语句: c1='a';c2='b'; 因为'a'和'b'的ASCII码为97和98
• 字符型变量用来存放字符常量,注意只能放一个字符。 • 字符变量的定义形式如下:char c1,c2; • 在本函数中可以用下面语句对c1,c2赋值: c1='a';c2='b'; • 一个字符变量在内存中占一个字节; • 将一个字符常量放到一个字符变量中,是将该字符的 相应的ASCII代码放到存储单元中,这样使字符型数据 和整型数据之间可以通用。一个字符数据既可以以字 符形式输出,也可以以整数形式输出。
运行结果: total=300 例2.1 符号常量的使用 #define PRICE 30 #include <stdio.h> void main ( ) 说明:如再用赋值语句给PRICE赋值是错的 { PRICE=40;/*错误,不能给符号常量赋值*/ int num, total; num=10; total=num * PRICE; printf(″total=%d\n ″,total); } 说明: 程序中用#define命令行定义PRICE代表常量30,此后凡在 本文件中出现的PRICE都代表30,可以和常量一样进行运算
数据类型、运算符与表达式
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);
形பைடு நூலகம்输出。
第2章 数据类型运算符和表达式
(1.5)字符型类型
字符常量
C的字符常量是用单引号(即撇号)括起来的一个字 符。
如: ‘a’,‘x’,‘d’,‘?’,‘$’等都是字符常量。 注意,‘a’和‘A’是不同的字符常量。
特殊字符常量
以反斜杠字符“\”开头的字符序列:
字符形式 \n \t \b \r \f \\ \’ \”
\ddd \xhh
浮点型数据在内存中的存放形式
在常用的微机系统中,一个实型数据在内存中 占4个字节(32位)。与整型数据的方式不同,实 型数据是按照指数形式存储的。系统把一个实 型数据分成小数部分和指数部分,分别存放。 指数部分采用规范化的指数形式。
浮点型数据在内存中的存放形式
在4个字节(32位)中,究竟用多少位来表示小数 部分,多少位来表示指数部分,标准C并无具 体规定,由各C编译系统自定。 不少c编译系统以24位表示小数部分(包括符号), 以8位表示指数部分(包括指数的符号)。
3)在一个整型常量后面加一个字母l或者L,则认为是 long int型。 例如:用预处理指令#define 声明一个常数,用以表明1 年中有多少秒(忽略闰年问题)
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
(1.4)浮点型数据
浮点型常量表示方法
浮点数即平时所说的实数,有两种表示方法:
1)十进制表示:由数字和小数点组成。
如:0.123
12345 0.0
2)指数形式: 如:123e3或者123E3都代表123×103
注意字母e(或E)之前必须有数字,且e后面的指数必须为 整数,如e3、2.1e3.5、.e3、 e等都不是合法的指数形式。
规范化的指数形式:在字母e(或E)之前的小数部分中, 小数点左边应有一位(且只能有一位)非零的数字。 如:1.23456e2
数据类型、运算符和表达式数据、类型、运算符、表达式
字符型
字符型数据类型用于 存储单个字符。
字符型数据类型可以 用单引号或双引号括 起来表示一个字符常 量。
在大多数编程语言中, 字符型数据类型通常 用一个字节来表示。
布尔型
布尔型数据类型用于存储逻辑值, 即真(true)或假(false)。
布尔型数据类型通常用于条件判 断、逻辑运算等场合。
在大多数编程语言中,布尔型数 据类型通常占用一个字节的空间。
数据类型、运算符和表达式
目录
• 数据类型 • 运算符 • 表达式
01 数据类型
整型
01
02
03
04
整型数据类型用于存储整数, 包括正整数、负整数和零。
常见的整型数据类型有:int (整数)、short(短整数)、
long(长整数)、byte(字 节)。
整型数据类型根据其表示范围 可以分为有符号和无符号两种
算术表达式是由算术运算符和 操作数组成的。常见的算术运 算符包括加法、减法、乘法和 除法。
算术表达式的计算顺序遵循先 乘除后加减的原则,同时需要 注意括号内的运算优先级最高。
算术表达式可以包含多个操作 数和运算符,例如:`(a + b) * c - d / e`。
赋值表达式
赋值表达式用于将一个值赋给一 个变量。赋值运算符为“=”。
THANKS FOR WATCHING
感谢您的观看
赋值表达式的一般形式为“变量 = 表达式”,例如:`x = a + b`。
在赋值表达式中,变量必须是已 经声明过的,否则会导致编译错
误。
条件表达式
条件表达式也称为三元运算符,其格 式为“条件 ? 值1 : 值2”。
条件表达式常用于简化复杂的if-else 语句,例如:`max = (a > b) ? a : b`。
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章 数据类型、运算符与表达式
注意事项:
八进制的数码范围为0--7; 则:018、091、0A2 都是错误的数据表示方法。
十六进制的数码除了数字0-9外, 还使用英文字母a-f (或A-F)表示10-15。 如:0x1e、0Xabcdef、0x1000 但:0X2defg、0x100L都是错误的。
第二章 2.2 常量和变量
二、定义方法
整型变量分别以下列方式定义 1. 基本整型 int a, b, c;
2. 短整型 3. 长整型 short int 或 short a, b, c; long int 或 long a, b, c;
4. 无符号型 unsigned a, b, c;
unsigned short a, b, c; unsigned long a, b, c;
4. 一个非负整数<32768 则可赋给 unsigned int。
5. 一个常数后加 'l',或'L',表示长整数. 如123l. 主要
用于函数调用时形、实参数传递。
练习:请补充完整下列程序,使之符合给定的运行结果
Main( ) {int a,b, sep,tim; a=7;b=2; tim=a*b; sep=a/b; printf(“ ”); printf(“ ”); }
c1=97;
c2=98;
printf ("%c %c", c1, c2)
} 运行结果 a b
例2: main ( ) { char c1, c2; c1= ' a ';
c2=' b ';
c1=c1– 32; c2=c2– 32;
printf ("%c %c", c1, c2)
C语言程序设计实验报告——实验2 数据类型、运算符和表达式
凯里学院 C 语言程序设计 实验报告××××× 专业×× 年级×× 班,学号×××××× 姓名××成绩 合作者 实验日期 年 月 日 指导教师 评阅日期 年 月 日实验二 数据类型、运算符和表达式一、实验目的:(1)掌握C 语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。
(2)学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。
(3)掌握C 语言的输入和输出函数的使用(4)进一步熟悉C 程序的编辑、编译、连接和运行的过程,学会使用step by step 功能。
(5)认真阅读教材数据类型,算术运算符和表达式,赋值运算符和表达式部分内容。
二、实验内容:(1)输人并运行下面的程序 #include<stdio.h> void main() {char c1,c2; c1='a'; c2='b';printf("%c %c\n",c1,c2); }(2)按习题3. 7的要求编程序并上机运行 该题的要求是:要将“China ”译成密码,密码规律是:用原来字母后面的第4个字母代替原来的字母。
例如,字母“A ”后面第4个字母是“E ”,用“E ”代替“A ”。
因此,“China ”应译为“Glmre" 。
请编一程序,用赋初值的方法使。
cl ,c2,c3,c4,c5五个变量的值分别为‘C ’、‘h ’、‘i ’、‘n ’、‘a ’,经过运算,使cl ,c2,c3,c4,c5分别变为‘G ’、‘l ’、‘m ’、‘r ’、‘e ’,并输出。
三、实验步骤:(1)输人并运行下面的程序 #include<stdio.h> void main() {char c1,c2; c1='a'; c2='b';printf("%c %c\n",c1,c2); }装订线装订线① 运行此程序。
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 常量
字符常量
数据类型、运算符和表达式
一.数据类型,运算符与表达式1.1数据类型短整型(short int)整形基本整型(int)长整型(long int)字符型(char)单精度类型(float)基本整型浮点型双精度类型(double)长双精度型(long double)枚举类型(enum)数据类型数组类型构造类型结构类型(struct)共用体类型(union)指针类型(*)空类型(void)1.2 常量与变量1.2.1常量和符号常量1)在程序运行中,其只不能被改变的量称为常量P38常量类型注:P38 用define定义的常量不能再被赋值。
2)变量:变量名为门牌号,变量值为家庭成员。
注:标识符只能由字母、数字、下划线组成。
并且第一个字符不能为数字。
区分大小写。
(先定义,后使用;可读性强悍)P39 ansic 一段了解一下即可。
1.3 整形数据1.3.1整型常量的表达方法1)十进制整数:123,--4556.42)八进制整数:以0开头的,八进制数字0123=十进制0×83+1×82+2×81+3×80=83 3)十六进制整数:以0X开头的,转化方法同八进制。
1.3.2 整型变量1)了解补码的知识(整数不变,负数按位取反再加1)注:存贮单元中,最左端的符号位,0正1负。
2)根据数值的范围分为int,long,short。
P41Int的范围—215 ~~(215 —1)= 32768~~—32767Unsigned无符号, 没有0正1负的书法了,范围扩大一倍。
Signed 有符号,有0正1负的说法。
什么也不加默认为signed。
3)整形变量定义:“强制类型定义”P43使用方法。
4)数据的溢出:(循环)1.3.3整型常量的类型(了解一下,重点(4)(5)条)1.4浮点数据1.4.1 浮点型常量的表达方法1) 十进制(平常数学中该怎么写就怎么写)2)指数形式123e3,123E3 表示123×103注意:1,E不区分大小写。
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 位二进制(二个字节)表示。
数据类型运算符与表达式2
main() { char c1,c2;
c1=97;c2=98;
c1=97 等效于 c1=‘a’
printf(“%c %c”,c1,c2);
} %c 效果运不行同结于果:a b
字%符d变量以字符或整数两种形式输出:
printf(“%c %d %c %d”,c1,c1,c2,c2);
运行结果:a 97 b 98
3.7 各类数值型数据间的混合运算
整型、字符型、单精度型和双精度型数据之 间可以混合运算。例如
10+‘a’+1.5-8765.1234
=-8656.623400
在进行运算时,不同类型的数据要先转换成 同一类型,然后进行运算。转换规则是:
高
double←float
↑
↑表示转换的方向
long
↑
←表示系统内部必
运行结果:12345678848.000000
(12345678920)
3.5 字符型数据
一、字符常量 字符常量是用两个单引号括起来的单个字符
,如 ‘a’、’A’、’1’、’%’等。 特殊形式的字符常量以一个“\”开头的字符序
列,也叫做转义字符。(P48表3-3) [例]转义字符的使用 main() { printf(“□ab□c\t□de\rf\tg\n”); printf(“h\ti\b\bj□k”); }
注:long的格式输 出符为%ld
Printf(“%ld”,b);
3.4 浮点型数据
一、浮点型常量 浮点型常量又称浮点数,就是通常带小数点
的实数。它只使用十进制数,其书写方法有两 种:
⑴十进制小数形式 由整数、小数点和小数三部分组成规。范化的指 例如:12.345, -1.2345, 47.0 数形式
第2章数据类型、运算符和表达式
long n,m;
/* n,m为长整型变量*/
unsigned a,b;
/* a,b为无符号整型变量*/
2019/7/7
C程序设计
21
§2.4 变量
二、实型变量 1、实型数据在内存中的存放形式
实型数据一般占4个字节(32位)的内存空间,按 指数形式存储。 2、实型变量的分类
实型变量分为单精度(float型)、双精度(double 型)和长双精度(long double型)三类。 注意:
C程序设计
19
§2.4 变量
2、 整型变量的分类
短整型:以short int 或short说明, 2字节。
如:short s, sum
基本型(整型):以 int 说明
2字节。
如:int i, sum
长整型: 以 long int或long说明 4字节。
如:long l, sum
无符号整型: 用 unsigned int 或 unsigned 说明
2019/7/7
C程序设计
10
§ 2.3 常量
二、实型常量
实型也称为浮点型。实型常量也称为实数或者浮点数。在 C语言中,实数只采用十进制。它有两种形式:十进 制小数形式和指数形式。
1、十进制小数形式 由数码0 ~ 9和小数点组成。 如: 0.01, 25.03, 35.536, 1.24, 6.35, 278., -435.450 小数点不能省略,也不能只有一个小数点 2、指数形式: 由十进制数,加上阶码标志“e”或“E”及阶码(只能为
(sizeof)。 10、特殊运算符:有括号(),下标[],成员(→,.)等几种。
2019/7/7
C程序设计
29
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
bool greater ( int a, int b){return a>b;}
bool 和 int之间可以相互转换: bool→int (true → 1 or false → 0)
int→bool
(nonzero→ true
or 0→ false )
当某个变量用于表示true or false 两种状态时优先使用 bool 型,这样可提高程序的可读性,而且 bool 型变量必比int 型 01:28 18 变量占用更少的内存。
16
枚举型
自定义整数区间,甚至列举单个整数值
enum Week{ Mon, Tue, Wed, Thu, Fri, Sat, Sun };
最大特点是可以给每个值指定一个在程序中直接使用 的标记(枚举符),默认从0开始依次递增1。 编程中将其当作整数常量用.如: int a = 6; if ( a == Sun) cout <<“Sunday\n”;
01:28
22
256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 在源程序中最基本的表示形式为: 位二进制数来表示所有的大写和小写字母,数字 单引号括起来的一个字符,如: 'a' 'A' '?' 0 到9、标点符
3. 字符型常量 ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或
delete false new sizeof true
5
还有一些关键字本书未介绍:
const_cast dynamic_cast reinterpret_cast static_cast mutable typeid and compl and_eq not bitand or
export
下面可用一些关键字代替逻辑运算符:
bitor or_eq
xor
xor_eq
not_eq
01:28
6
2.1.2
ห้องสมุดไป่ตู้
标识符
标识符(identifier): 有效字符序列,用来标识用户自 己定义的 变量名、符号常量名、 函数名、数组名、类 型名、文件名等; 命名规则:只能由字母、数字和下划线三种字符组成, 且第一个字符必须为字母或下划线,最大长度为 1~ 247 个字符。 见名之意!! 合法标识符如: (有时用匈牙利命名法) 如: MyName StudentName 非法标识符如:
\ooo
01:28 \xhhh
Null(空字符)
ASCII character in octal notation ASCII character in hexadecimal notation 25
4. 字符串常量---用双引号括起来的 字符序列
(在内存中存放字符序列的ASCII码值, 最后加一个结尾标志)
整型数的内部表示:二进制补码
位数既定的二进制补码运算没有加减的区别;对 于溢出,只是简单的舍弃而不是报错 整型数的表示范围:取决于二进制位数
整型数的操作:+,-,*,/,%,<<,>>,<<=, >>= , ! , ^ , < , <= , > , >= , == , ^= , & , | , &= , |= , && , || , &&= , ||= , != , = , += , -= , *= ,/=,%=,++,--,,,? :
整型 单精度型 实型 双精度型 字符型 空类型(无值型) 逻辑型 bool 数组 指针 结构体 共用体 枚举类 类
不论是变量还是常数,在计算机内部都要按照某 种形式存放,存放形式由数据类型决定。 01:28 10
各种类型占用内存及取值范围
以上基本类型数据占内存字节不相同, 因此数值范围也不同,见表 2-1 及表 2-2
asm explicit namespace operator template this typedef typename using virtual
其它说明符 语句与标号
运算符及逻 01:28 辑值
break case catch continue default do else for goto if return switch throw try while
2.2.3 浮点型
浮点数的内部表示:
( Floating-Point Types )
国际标准 IEEE754 浮点表示法,它与编程所用的浮点 数字面量以及输出的十进制浮点数之间有一个转换关 系 浮点数的表示范围:
32位浮点数±1038 (2127,1位符号8位指数23位尾数 ) 64位浮点数±10308 (21023,1位符号11位指数52位尾数 ) 浮点数的操作: 常规的加、减、乘、除等操作
01:28:27 13
对基本类型,可以加修饰,如:
int 型
int short int long int
占4 字节 占 2 字节 占4 字节
01:28
14
再加修饰,如:
int : signed int unsigned int short int : signed short int unsigned short int long int: signed long int unsigned long int 最简形式: int unsigned short unsigned short long unsigned long
01:28:27
17
布尔型 (bool,逻辑型)
bool 可取值: true 或 false.
bool型变量用于表示逻辑运算或关系运算的值,如:
int a=5, b=6; bool b1=a= =b; //= is assignment, = = is equality
作为用于测试某种条件的函数返回值:
简单地说:结构化程序 = 数据结构 + 算法
01:28
3
2.1
保留字和标识符
2.1.1 保留字(Reserved Word or Keyword)
C++语言自身使用的,已有特殊含义和用途的英文 单词称为保留字或关键字。
如例1.1中的类型说明符 int,用于定义整型变量。 用户不能将其作为自己的变量名或函数名使用。
01:28:27 12
编译器的机器字长总是与整型的位长有关.如: 32位编译器的整型数一定为32位长 整型字面值分八进制,十进制和十六进制不同表示.如: 0123 // 8进制 0x12af3 // 16进制 12345 // 10进制 超过表示范围的整型数其值不可预料或者出错.如: int a = 12345678912345678912345; // 错
号, 以及在美式英语中使用的特殊控制字符
在内存中存放对应的ASCII码值,如 'a' 的ASCII码为 97,则在 内存中用一个字节存放:
01100001
对于不可打印的字符,可以用转义字符形式表示 。
01:28 23
转义字符
以反斜杠“\”引导的特殊形式的非显示字符或表示特定意义 的字符常量
'\n' '\t' '\b' '\\' '\ddd' '\xhh' 见表 2-3 注意:'\n' 与 'n' 的区别 !!! ‘\n’ 表示一个控制字符:换行符, 'n' 表示一个字母。 注意:字母 A 的 ASCII 码是(65)10=(101)8=(41)16
01:28:27 19
2.3 常量和变量 2.3.1 常量
常量:在程序运行过程中,其值不能被改变的量。又称文字量 (literal),存储在代码区,对它的访问不是通过地址进行的。
01:28
20
1. 整型常量
① 十进制整数 ② 八进制整数 123, -456 0123, -011
③ 十六进制整数
0x123, -0xAB
如: "How do you do." "CHINA" "a"
字符串结束标志符是: '\0'
注意: "a" 和 'a' 是不同的。
'C' 'H' 'I' 'N' 'A' '\0'
…...
26
01:28
2.3.2 符号常量
符号常量:用标识符代表一个常量, 必须先定义后 使用,又称常变量。
例:定义标识符常量 #define PRICE 30 #define PI #define S 3.1425926 "China"
第 2 章 数据类型 运算符与表达式
01:28
1
主要内容
2.1 保留字和标识符
2.2 C++的基本数据类型 2.3 常量和变量 2.4 基本运算符和表达式 2.5 类型转换
01:28
2
[例1.1]一个简单的C++程序
C++ 程序的构成:
(1)数据描述 (2)执行步骤( 算法)
④ 长整型与无符号型常数 12L, 0234L,-0xABL 12U, 0234U,0xABU
01:28
21
2. 实型常量(在内存中以浮点形式存放)
(均为十进制,无数制区分)
① 小数形式 : 必须有小数点 1.65 1. .123
② 指数形式 (也称为科学表示法): 如 123000.0 可写为 1.23e5 0.00368 可写为 3.68E-3 e 或 E前必须有数字,1000写为 1e3 不能写为 e3