第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语言引入了“转义字符”。
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,可以和常量一样进行运算
第二章+数据类型、运算符和表达式
格式项的一般形式为:
%[附加格式] 格式控制符
方括号中的内容可以缺省。
附加格式控制
含义说明
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等
数据类型、运算符与表达式
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);
形பைடு நூலகம்输出。
C语言程序设计 第2章 数据类型
2.2常量和变量 变量名与变量值的关系:
2.2常量和变量
变量的使用:先定义后使用
变量定义的一般形式:
数据类型 变量名1,变量名2,…,变量名n;
2.2常量和变量
➢ 凡未被事先定义的,系统不把它认作变量名,这就 能保证程序中变量名使用的正确
例:varname,在使用的时候误写成vaname
➢ 在定义变量时要指定变量的类型,在编译时就能为 变量分配相应的存储单元
5
2.2常量和变量
甘草 三七 干姜 葛根
枸杞 人参 陈皮 地黄
山药 当归 谷芽 黄连
贴上标签 加以区分
用标识符给变量起名字
2.2常量和变量 变量命名规则
➢ 只能由字母(a~z,A~Z)、数字(0~9)和下划线(_)构 成
➢ 第一个字符不能为数字 ➢ 不能与关键字同名
例:a9,_a, A_num √ 9a, a*num,int ×
控制语句:控制语句用于控制程序的流程。 C语言提供三类控制语句: ➢ 选择语句 ➢ 循环语句 ➢ 转移语句。 控制语句会在第三章和第四章详细介绍。
2.7 表达式与语句
复合语句: 复合语句由一对大括号括起来的一 条或多条语句组成。 例:{
turnOn(0,3); turnOn(0,4); turnOn(0,5); turnOn(1,4); }
2.7 表达式与语句
表达式语句:表达式末尾加上“;”就构成一条 表达式语句。 例:
s = 3.14 * r * r; 就是一条赋值表达式语句。表达式语句最后的 分号是语句中必不可少的一部分。
2.7 表达式与语句
函数调用语句:函数调用语句由函数调用加分 号构成。 例:
turnOn(1,1);
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章数据类型,运算符与表达式参考答案及解析
参考答案及解析一、选择题1. 答案:C【解析】C语言的标识符命名规则为:①只能由字母、数值和下划线3种字符组成;②第一个字符必须是字母或下划线;③不能与C语言中的关键字或保留字相同。
2. 答案:C【解析】标识符命名规则:标识符必须由字母(a~z或A~Z)或下划线(_)开头;标识符的其他部分可以用字母、下划线或数字(0~9)组成;大小写字母表示不同意义,如cout和Cout 代表不同的标识符;在定义标识符时,虽然语法上允许用下划线开头,但是,我们最好避免定义用下划线开头的标识符,因为编译器常常定义一些下划线开头的标识符。
因此,本题正确答案为C)。
3. 答案:C【解析】C语言合法标识符的命名规则是:标识符只能由字母、数字和下划线组成,并且第一个字符必须为字母或下划线。
因为选项C)中的标识符的第一个字符为"&",所以选项C)为本题的正确答案。
4. 答案:A【解析】在C语言中,合法标识符的命名规则是:标识符可以由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。
C语言的标识符可以分为关键字、预定义标识符和用户标识符。
选项B)和C)中的横线以及点都不合法,选项D)中的case为C语言关键字,故本题答案为A)。
5. 答案:B【解析】C语言规定用户标识符由字母、数字和下划线组成,且第一个字符必须是字母或下划线,可见选项C),D)是错误的;此外,C语言不允许用户将关键字作为标识符,而选项A)中的void正是C语言的关键字。
6. 答案:C【解析】C语言规定的标识符只能由字母、数字和下划线3种字符组成,第一个字符必须为字母或下划线,并且不能使用C语言中的关键字作为标识符。
选项C)中goto和int是关键字,b-a中"-"不是组成标识符的3种字符之一;选项D)中int是关键字,所以,均是不合法用户标识符的选项是C)。
7. 答案:B【解析】合法的标识符是由字母、数字和下划线组成,并且第一个字符必须为字母或下划线,用户定义的标识符不能与关键字相同。
第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语言数据类型ppt课件
2.2 常量与变量
(3)整型数据在内存中的存放形式
int x; x=10; 则变量x的值10在内存中的存放形式:
int x;
x=-10; 则变量x的值10在内存中的存放形式:
22
2.2 常量与变量
(4)整型数据的溢出
例2-2 整型数据的溢出问题
#include <stdio.h>
int main()
\r
<
\a
\‘
回车 响铃 单引号
\ddd 3位8进制数代表的字符
转义字符 \t \b \f \\ \“ \xhh
含义 水平制表 退格 换页 反斜线 双引号 2位16进制数代表的字符
12
2.2 常量与变量
如 ‘\101’ -----------‘A’ ‘\012’ -----------’\n’ ‘\376’ -----------’’ ‘\x61’ -----------’a’ ‘\060’ -----------’0’
unsigned short。 ⅲ. 无符号长整型:类型说明符为
unsigned long。
20
2.2 常量与变量
(2)整型变量的定义与使用
例2-1 整型变量的使用
#include <stdio.h> int main() {
int x,y,z; x=10;y=20; z=x+y; printf(“x+y=%d\n”,z); return 0; } 输出结果:x+y=30
说明:数据类型所占字节数随机器硬件不同而不同, 上表以IBM PC机为例。
4
2.2 常量与变量
• 数据是程序的处理对象 • C语言将数据分为常量与变量
第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章数据类型、运算符和表达式
11
2.2 C++的基本数据类型
不同计算机系统可能存在数据类型的长度不一样可用sizeof(数据类 型)测试某数据类型的字节长度。 cout<<“size of int is”<<sizeof(int)<<endl; 在16位计算机结果:
在32位计算机上输出:
size of int is 2
size of int is 4
3
2.1 保留字和标识符
2.1.1 保留字 C++中保留字(Reserved word)也称为关键字 (Keyword),它们是预先定义好的字符集合,对C++ 编译程序有着特殊的含义。表2-1给出了C++和Visual C++兼容的保留字。 保留字是语言系统的保留成分,编程者不能使用它们作为 自己的变量名或函数名等。
7
2.2 C++的基本数据类型
基本类型 整型 字符型 浮点型 布尔型 枚举类型 数组类型 结构体类型 共用体类型 类类型
数据类型
构造类型
指针类型 引用类型 空类型(void) 图2-1 C++的数据类型
8
2.2 C++的基本数据类型
C++语言的基本数据类型有如下四种: 整型,说明符为int; 字符型,说明符为char; 浮点型(实型),分为float(单精度浮点型),double(双精度 浮点型); 布尔型,说明符为bool。它的值是true和false。 教材中表2-2列出了Visual C++6.0中基本数据类型的情况。 注意:不同数据类型其值域不同,应住这些值域,在程序设计中, 要估计变量的值不应超过这些值域,否则将产生数值溢出现象,产 生编译器无法检测的错误。
易语言编程系统全书(第二章)
第二章数据类型、运算符与表达式各种数据存在磁盘或内存中都有其不同点存放格式,因此就存在不同的数据类型。
了解各种数据类型的特性,对编程开发来说是十分重要的。
程序中经常会进行一些运算。
易语言中运算都要使用运算符进行识别处理,并通过运算表达式来完成运算操作。
程序中对各种数据之间的关系的描述也要通过运算符。
本章将对数据烈性运算符和表达式这些程序中基本的内容进行介绍。
2.1易语言的数据类型2.2.1了解基本数据类型易语言中基本数据类型有6中,包括数值型、逻辑型、日期时间型、文本型、字节集型、子程序指针型。
数值型有包括了字节型、短整数型、整数型、长整数型、小数型、双精度小数型。
这些类型代表的数值范围,及机内表示的长度,可以查看“数据类型的长度与溢出”小节中的“表2-1数据类型的长度和占用字节”。
字节型:可容纳0到255之间的数值。
数值型中整数型数据,如13556。
逻辑型数据,职能有2种,即“真”或“假”。
日期时间型数据,用来记录日期及时间,如:[2002-2-2]。
文本型数据,可用来记录一段文本,如“中文编程易语言”。
在程序中表示一段文本数据,都要用双引号将文本引起来。
字节集型数据,用作记录一段字节型数据,表示为{2,3,4,5}。
图片或mp3格式的文件是典型的字节机型数据,在程序中,存在此类数据的变量一定要定义为字节集型。
子程序指针型数据,是一个子程序在内存中的地址。
2.2.2 给变量和返回值定义数据类型1.给变量定义数据类型给变量定义数据类型,只需要在新建的变量类型上按下空格键,就会弹出数据类型下拉列表,在列表中选择欲定义的数据类型即可(如图2-1所示),也可用拼音或英文在其上直接输入,例如:整数型即输入zsx或用英文输入int。
2. 给子程序返回值定义数据类型和给变量定义数据相同,只需要在子程序的返回值类型上用定义变量的方法定义即可。
给子程序定义了返回值类型,就表示该子程序具有了返回值,所以在子程序中编写代码时要记得给子程序返回一个值。
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++第2章 数据类型与表达式
signed long int
unsigned long int float double long double
singned long
unsigned long —— —— ——
有符号长整型(同long int)
无符号长整型 浮点型 双精度型 长双精度型
4
4 4 8 10
-2,147,483,648~2,147,483,647
128u // unsigned 1024UL // unsigned long
1L
// long
8Lu
// unsigned long
14
2.2.1 整型字面值常量
2.前缀类型标识
在C++中整型有三种表示形式:10进制、8进制和16进制,以非 0开头的数是10进制,以0开头表示8进制,以0x或0X开头表示 16进制,例如:
H e A \0 AΒιβλιοθήκη llo \0
图2-2 字符串与字符的存储方式
23
2.2.6 枚举
C++程序设计 第2章 数据类型、运算符和表达式
第2章 数据类型、运算符和表达式
2.1 2.2 2.3 2.4 2.5 2.6 2.7 基本数据类型 常量 变量 基本运算符 类型转换 表达式和语句 本章小结
2
2.1 基本数据类型
为什么要区分数据类型?
C++通过数据类型,告诉计算机数据是如何定义的。
10
2.1.5 C++的数据类型
C++数据类型如图2-1所示。
基本数据类型 整数类型(int) 单精度型(float) 浮点类型 双精度型(double) 字符类型(char) 布尔类型(bool) 空值类型(void) 枚举类型 数组类型 C++数据类型 构造数据类型 结构与联合类型 指针类型 引用类型
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)。
第2章 C语言程序设计初步知识
3. 用户标识符 由用户根据需要自定义的标识符称为用户标 识符。使用用户自定义标识符时,应注意: (1) 最好根据其含义选用英文缩写及汉语拼 音作标识符,这样便于阅读程序。 (2) 不能与关键字相同。 (3) 如果与预定义标识符相同系统并不报错, 程序仍能运行,只是预定义标识符失去原来的含 义,代之以用户确认的含义。
第2章 C语言程序设计初步知识
2.3.5 逗号运算符及表达式 用逗号将表达式连接起来的式子称为逗号 表达式。 1. 逗号表达式的一般形式 表达式1 表达式2 表达式3 表达式n 表达式 , 表达式 , 表达式 , … 表达式 2. 逗号表达式的功能 先计算表达式1,再计算表达式2,最后计 算表达式n。最后一个表达式的值即为此逗号表 达式的值。
第2章 数据类型、运算符 章 数据类型、 和表达式
• 2.1 标识符、常量和变量 • 2.2 简单数据类型 • 2.3 基本运算表达式
返回主目录
第2章 C语言程序设计初步知识
2.1.1 标识符 标识符是用来标识变量名、符号常量名、函 数名、文件名以及一些具有专门含义的有效字符序 列。 C语言规定:合法的标识符只能由字母、数 字和下划线组成,第一个字符必须为字母或下划线。 大写字母和小写字母被视为两个不同的字符。标识 符的长度规定取前8个字符为有效字符。例如: sum 、 area 、 aver.PI 、 _above 、 L_1_2_3 、 S12 合法的标识符 A.B.C、A.123、13、3area、a+b 不合法的标识符
数值类型 基本类型 简单类型) (简单类型) 字符型( 字符型(char) ) 枚举类型( 枚举类型(enum) ) 数据类型 数组类型 构造类型 结构体类型( 结构体类型(struct) ) 共用体类型( 共用体类型(union) ) 文件类型( ) 文件类型(file) 指针类型 空类型 字符串类型 实型 整型
第2章 C语言程序设计初步知识
2. 自增、自减运算符的运算 自增、 自增、自减运算为单目运算,其运算数据 为单操作数,且操作数只能是变量,不能是常量 或表达式。 3. 自增、自减运算符的结合性 自增、 自增、自减运算符属右结合性。 注意: (1) 使用++i或i++单独构成语句时,其作用 是等价的,均为i=i+1。 (2) 运算对象只能是整型变量和实型变量。 (3) 对于表达式(i++)+(i++)+(i++),不同的 编程环境,其结果不同。
2. 变量 程序运行过程中,其值可以改变的量叫变 量;程序中使用的变量,属于用户自定义标识符, 任何一个变量名必须先定义(即确定变量名和变 量的类型)后使用。 变量也有类型之分,常用的有整型变量、 实型变量、字符型变量等。
返回章目录
第2章 C语言程序设计初步知识
2.2 简单数据类型
C语言中的数据类型,如图2.1所示。
时将3和4分别赋予a和b */ 3. 整型数据在内存中的存放形式 在C语言中,一个整型数通常占用2个字节, 低位在前一个字节,高位在后一个字节。
第2章 C语言程序设计初步知识
2.2.2 实型数据 1. 实型常量 在C语言中实型表示实数的集合,实型常 量又称实数。实型常量有两种表现形式。 1) 十进制数形式 十进制数形式和数学中的实数形式类同, 由数字和小数点组成,小数点是实数的标志。 2) 指数形式 实数的指数形式类似于数学中的指数形式。 组成格式如下: 数字[小数]E[±]整数 ([ ]内为可省项) 项
第2章 C语言程序设计初步知识
2.3.2 赋值运算符及表达式 1. 赋值运算符 “=”符就是赋值运算符,赋值运算符构成 的表达式格式如下: 变量名〉 表达式 〈变量名〉=表达式 2. 复合赋值运算符 在“=”前面加上双目运算符,如“+”、“-”、 “*”、“%”、“/”即构成复合赋值运算符。 例如:a+=3 等价于a=a+3 所有复合赋值运算符级别相同,且与赋值 运算符同一优先级,都具有右结合性。 例如,设a的初值为10,则表达式a+=a-=a*=a 等价于:a+=(a-=a*=a)
第2章 C语言程序设计初步知识
2. 整型变量 1) 整型变量的分类 整型变量可分为以下4种整型类型: a. 基本型,以int表示; b. 短整型,以short表示; c. 长整型,以long表示; d. 无符号整型,以unsigned表示。
第2章 C语言程序设计初步知识
2) 整型变量的定义、使用 变量必须先定义,后使用。定义整型变量的 格式为: int i , j ; long e , f ; int a=3 , b=4 ; /* 定义i , j为整型变量 */ /* 定义e , f为长整型变量 */ e f /* 定义a , b为整型变量同
第2章 C语言程序设计初步知识
(4) 字符型数据赋给整型变量。 字符型数据占1个字节,而整型变量占2个字节, 因此赋值转换过程中,存在位的扩展。 a. 对于unsigned型变量,字符型数据(8 位 ) 传 送 给 unsigned 变 量 的 低 8 位 , 而 unsigned变量的高8位只须补0; b. 对于int型变量,若字符型数据最高位 为0,则int型变量高8位补0。若字符型数据最 高位为1,则int型变量的高8位补1。这样可以 保持数值不变。
第2章 C语言程序设计初步知识
3. 逗号运算符的优先级 在所有运算符中,逗号运算符级别是最低 的。 利用逗号表达式可实现在一条C语言中对 多个变量赋予不同的值。
返回章目录
第2章 C语言程序设计初步知识
2.1.2 常量和变量 1. 常量 在程序运行过程中,其值不能被修改的固定量 称为常量,C语言中有3种常量: (1) 算术型运算常量(如整型常量、实型 常量等); (2) 字符型常量(如字符常量、字符串常 量); (3) 标识符所定义的常量。
第2章 C语言程序设计初步知识
2.3.1 算术运算符及表达式 1. 基本算术运算符 基本算术运算符及特性,见表2-4。
第2章 C语言程序设计初步知识 表2-4 基本运算符列表
运算符
功能
操作数个数
结合方向
优先级
+ -
求正 求负 乘法 除法 求余
单目 单目 双目 双目 双目 双目 双目
自右至左 自右至左 自左至右 自左至右 自左至右
第2章 C语言程序设计初步知识
2. 实型变量 在C语言中实型变量分为单精度(float)和 双精度(double)两类。 实型变量的定义: float a , b ; double x , y ; 量 */ /* 定义a , b为单精度实型变量 */ /* 定义x , y为双精度实型变
第2章 C语言程序设计初步知识
无符号型( 无符号型(unsigned) ) 长整型( 长整型(long) ) 短整型( 短整型(short) ) 整型( ) 整型(int)
单精度型( 单精度型(float) ) 双精度型(double) 双精度型(double)
图2.1 C语言中的数据类型
第2章 C语言程序设计初步知识
2.2.1 整型数据 1. 整型常量 整型常量,即整型常数。C语言整型常量 可用以下3种形式表示: (1) 十进制整型常数。 (2) 八进制数。以0开头的数。 (3) 十六进制整数。以0x开头的数为十六 进制数。
高
* / %
低 + 加法 减法 自左至右 自左至右
第2章 C语言程序设计初步知识
2. 算术表达式 由算术运算符将操作数连接起来的有意义 的式子称为算术表达式。例如2+a*b。 使用运算符时,应注意: (1) 表达式本身的功能。 (2) 操作数的个数。 (3) 操作数的类型。 (4) 运算符的优先级。 (5) 结合性。 (6) 任何一个表达式除了有其所实现的功能 外,还有表达式其自身的值。
第2章 C语言程序设计初步知识
2.3.3 不同类型数据间的转换 1. 数据类型自动转换 数据类型的自动转换常发生在以下情况中: (1) 进行运算时转换。 (2) 赋值转换。 (3) 输出转换。 (4) 函数调用转换。 2. 不同类型数据间的混合运算 整型、实型、字符型数据可以进行混合运算。 在进行运算时,应先把不同类型的数据转换为同一 类型,然后进行运算,转换规则,参见图2.2所示。
第2章 C语言程序设计初步知识
4. 强制类型转换 在C语言中,可以利用强制类型转 换符,将表达式的类型转换为所需类型。 一般形式: (类型名 表达式 类型名)表达式 类型名 例如:(int)a表示将a转换成int类型;
第2章 C语言程序设计初步知识
2.3.4 自增、自减运算符及表达式 自增、 1. 格式与功能 格式: i++ i-功能:先使用i的值,然后,变量i的值增加 (减少)1,即i=i±1。 格式: ++i --i 功能:变量i先增加(减少)1,即i=i±1, 然后,再使用i的值。
第2章 C语言程序设计初步知识
2. 转义字符 C语言中有一种特殊的字符常量——转义 字符,这类字符常量是以反斜杠字符“\”开头的 字符序列,它表示某个特定的ASCII码字符。在 程序中,转义字符要放在一对单引号内。 常用的转义字符及其含义: '\n' 回车换行至下一行开头 '\r' 回车至本行开头 '\b' 退格符 '\ \' 反斜杠字符\ '\′' 单引号字符′
2.1 标识符、常量和变量 标识符、
第2章 C语言程序设计初步知识
1. 关键字标识符 关键字又称为命令符,在程序中具有特定 的含义,不能另作它用,其他字符又无法直接替 代。 2. 预定义标识符 预定义标识符是指C语言提供的库函数名 和预编译处理命令(如printf、scanf、define) 等。