第二章+数据类型、运算符和表达式

合集下载

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,可以和常量一样进行运算

第二章+数据类型、运算符和表达式

第二章+数据类型、运算符和表达式
2019/7/20
格式项的一般形式为:
%[附加格式] 格式控制符
方括号中的内容可以缺省。
附加格式控制
含义说明
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章 数据类型

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章 数据类型、运算符与表达式

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章数据类型,运算符与表达式参考答案及解析

参考答案及解析一、选择题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【解析】合法的标识符是由字母、数字和下划线组成,并且第一个字符必须为字母或下划线,用户定义的标识符不能与关键字相同。

C语言C-2__

C语言C-2__

• Data storage
1. Review: decimal system and binary system(复习:二进制和十进制) 2. Why binary(为什么使用二进制)? 3. Review: bit and byte(复习:位和字节)
• Data storage
4. Integral data(整型数):
• Data type
7. Character constant(字符型常量):
char c; c=‟r‟;
printf(“hello!\neverybody!”)
Special code: see page 48(特殊字符,见书48页)
• Variable initialization
float f; f=0.5; double f1,f2; f1=8.9;f2=7.3; int a=1;
0.45e2=》0000 0000 0000 0000 0010 1101 0000 0010
• Data storage
6. Character(字符):
Appendix 1: ASCII table(附录1:ASCII码表) Save to corresponding 1 bit integer(存为对应的一个字节整数)
• Arithmetic operator and arithmetic expression 3. Incremental and decremental operators (自增、自减运算符 )
Could not apply to constants or expressions (不能用于常量和表达式 ) 5++, (a+b)++ Associate left to right(自右至左结合) -i++ => -(i++) ,=>(-i)++; j=-i++; => j=-i; i++

第2章数据类型、运算符和表达式

第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语言,数据类型、运算符和表达式

第2章  C语言,数据类型、运算符和表达式
运算符功能 对运算量(操作数)要求 运算符优先级别 结合方向 运算结果的取值 操作数个数 操作数类型 操作数形式(常量 or 变量) ( )
(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语言程序设计第2章-1数据类型、运算符和表达式

C语言程序设计第2章-1数据类型、运算符和表达式
1、按运算符的功能分成:算术运算符、关系运算符、逻辑运算 符、赋值运算符、位运算符、条件(tiáojiàn)运算符、自增和自减 运算符、逗号运算符、指针运算符、强制类型转换运算符、 分量运算符、下标运算符、求字节数运算符、函数调用运算 符等等。
2、 C 语言的运算符的优先级与结合性
3、表达式:由操作数和运算符组成的序列。
5
精品文档
⒉ 真值: 带符号位的机器数对应的数值称为机器数的真值。 (10100011)2= -35
⒊ 无符号数:当计算机字长的所有二进位都用来表示(biǎoshì)数值时,称 为无符号数。
2.2.2 原码、反码和补码
⒈ 原码
整数 X 的原码指:其数符位 0 表示正,1 表示负,其数值部分
就是 X 的绝对值的二进制表示。
2.1 常用 的进位制 (chánɡ yònɡ)
2.1.1 二进制、八进制和十六进制(shíliùjìn zhì)数
3
精品文档
2.1.2十、二进制、八进制和十六进制数之间的换算
⒈ 二、八、十六进制数 → 十进制数的换算采用按权展开法。
(2AB.F)16 = 2χ162+10χ161+11χ160+15χ16-1 = 683.93 ⒉ 十进制数 → 二进制数的换算整数部分(bù fen)采用除以二取余直到商
19
精品文档
2.5.1 算术运算符与算术表达式
⒈ 基本的算术运算符:
14
精品文档
3.字符常量
字符常量是用单撇号括起来的单个字符或转义字符,
如: ‘a’, ‘9’, ‘&’, ‘\n’, ‘\’’, ‘\101’。
字符常量的值为该字符的ASCII码值,如 ‘a’值为97, ‘\n’

C++程序设计第2章数据类型、运算符和表达式

C++程序设计第2章数据类型、运算符和表达式
空间、所表示的数据 范围和精度、以及所能进行的运算。C++语言的数据类 型大致可分为两类:一类是基本数据类型,另一类是非基 本数据类型。基本数据类型包括整型、字符型、浮点型和 布尔型等。非基本数据类型包括由基本数据类型构造出来 的构造类型、指针类型、引用类型和空类型等。如图2-1 所示。
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章数据类型、运算符与表达式

C语言教程第2章数据类型、运算符与表达式
const float pi = 3.1425926;
常量只能在定义时赋值,然后不能再改变 其值 常数、 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章 数据类型与表达式

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++ 第02章 数据类型、运算符和表达式

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章 数据类型、运算符与表达式

C语言知识点:第2章 数据类型、运算符与表达式
C 语言程序设计知识点
主讲教师:杨剑
第 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章 数据类型、运算符、表达式

第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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.1.2 标识符
标识符是程序员声明的单词,它命名程 序正文中的一些实体,如函数名、变量 名等。
C语言用户标识符的构成规则如下: (1)以大写字母、小写字母或下划线“_”
开始; (2)可以由大、小写字母,下划线(_)
或数字0~9组成;
2019/8/7
(3)大写字母和小写字母代替不同的标识符; (4)标识符的长度不能超过32个字符,而在TC系
单精度实型(float):又称浮点型,表 示一个实数,占用四个字节。
双精度实型(double):也表示实数, 占用8个字节。
空类型(void):无值型,一是用于表 示一个函数不返回任何值;二是产生一 个同类型的指针。
2019/8/7
类型修饰符:关键字signed和unsigned, short和long被称为类型修饰符
const double PI=3.1415926; 实例 c05
2019/8/7
变量
概念:在程序执行中,值为可变的量。 三个特征 1) 每个变量都有一个变量名,用标识符表
示; 2) 每个变量具有一个特定的数据类型; 3) 变量可以存放值,它的值在程序运行中
可能随时被改变。
2019/8/7
3) 例题分析:example25
2019/8/7
4. 寄存器变量:程序运行时存储在CPU寄 存器中的变量,只用于局部变量,要求 是整型和字符型变量。说明符“register”
5. 外部变量:表示该变量可以在程序中的 任何地方使用,包括定义此变量的源文 件之外,作用域为整个工程。只能用于 全局变量。说明符为“extern”。 实例 example26
统中,只取前8个字符作为有效字符; (4)不能是C语言中的关键字。 关键字:具有特殊意义的标识符。P8 预定义标识符:C语言系统提供的库函数名和编
译预处理命令等。 练习:
test hello 2mn _st -print ptr-st ptr_dsl hi!there
2019/8/7
2.1.3 基本数据类型
2019/8/7
2.1.5 内存的概念
计算机内存是由一片连续的存储单元组 成,操作系统给每个单元一个编号,这 个编号成为内存单元的地址(简称地 址)。
地址(编号)通常由一组连续的整数组 成,编号小的称内存低地址,编号大的 称内存高地址。
每个单元占1个字节(byte)大小。
2019/8/7
11111111 11100111 变量k占2字节,值为-25
11111111 11111111 11111111 11100111 变量s占4字节,值为-25
2019/8/7
2.2 基本的输入、输出函数
C语言的头文件stdio.h中含有系统提供 的标准输入输出函数,用户使用预编译命 令#include<stdio.h>,(standard input and output)的缩写。标准输入设备为键盘,标 准输出设备为显示器。
定义符号常量。
2019/8/7
如:#define PI 3.1415926 #define ID “102343-3852396-y3v4x5a” 实例 c02 利用“const”来定义符号常量,同时定 义了该常量的数据类型。格式如: const 数据类型关键字 符号常量1=常 量1,符号常量2=常量2,……; 如: const int MAXINT=32767;
2019/8/7
2.2.1 格式输出函数printf()
格式输出函数printf():用来将一个或多个类 型相同或不同的数据,依次按照指定的格式 输出。
该函数通常作为一条语句调用,其一般格式 为:
printf(格式控制串,输出项序列);
其中,“输出项序列”列出本语句所要输出 的0到多个数据项,各数据项用逗号隔开,没 想时一个表达式,表示要将该表达式的值写 出去。输出时,每一项占一个输出域。
a string”
2019/8/7
注意:“A”与‘A’完全不同,前者是字 符串,后者是字符,它们在内存中的存 贮空间并不相同。 在字符串中使用双引号必须以“\”” 表示。
实例 example22 符号常量:用标识符命名的常量,可代
替常量 在程序中直接使用。 1. 使用C语言中的一个预编译指令#define
2019/8/7
字符类型(char):用于不是ASCII码字 符,每个字符为8位,即1B。 字符值可以用字符集中的字符加上 单引号表示,也可以直接用值域范围那 数字来表示(即ASCII码值)。
2019/8/7
整型(int):用于表示整数值。整数的 值域范围与系统的字长有关。如:16位 的操作系统,一个整数一般用两个字节 表示;32位操作系统,则由四个字节表 示。
2019/8/7
字符常量:用一对单引号括起来的单个字 符. 如:‘A’, ‘B’, ‘0’ , ‘5’, ‘$’等
有一些字符是不可显字符,也无法
通过键盘输入,C预定义了转义序列来表 示它们,见书P12。
无论是一般字符还是不可显字符,
都可以用16进制或8进制ASCII码来表示。 表示的形式为:
‘\xnnn’ 十六进制数ASCII码对应的字
如: int i=25,j=0x1af,k=-25;
long int s=-25;
内存高地址
内存低地址
3009
3008 3007 3006 3005 3004 3003 3002 3001 3000
-25
-25
0x1a
25
f
变量s占4字节
变量k占2字节 变量j占2字节 变量i占2字节
00000000 00011001 变量i占2字节,值为 00000001 10101111 2变5量j占2字节,值为0x1af
符,
如: ‘\x42’表示字符‘B’
2019/8/7
‘\nnn’ 八进制数ASCII码对应的字符 如: ‘\102’ 同样表示字符‘B’
大写的字母对应ASCII值比小写字母大 32。
在C语言中,字符型数据与整数等价,
等价整数值为该字符对应的ASCII码。常用
字符的ASCII码如下(需记住):
‘A’~‘Z’
3. 如果数据的实际宽度小于m,则按m只是的 宽度输出。若本格式项没带附加格式“-”, 输出时“右对齐,左补空格”;若带附加 格式符“-”,则输出时“左对齐,右补空 格”。
2019/8/7
4. “%m.nf”用于实数输出,表示数据项共占m 列,含小数点和正负号。若不含有附加格式 控制“+”,那么正数和0不输出正负号,反 之则带正或负号输出,其中小数点后有n位 数字。
实型常量
a. 十进制小数形式:如: 0.25, -75.36, 0.01等 b. 十进制指数形式:如:1.5e-8 , -0.02E 15 , 19.56E+5
其中字母E(或e)后面必须跟整型常量, 表示10的整数次方。如:万分之一,可以写 成 1e-4 , 0.1e-3 , 10e-5 等形式
65~90
‘a’ ~’z’
97~122
‘0’~’9’ ‘ ’(空格) ‘\n’ (换行符) ‘\r’ (回车符)
2019/Leabharlann /748~57 32 10 13
即‘A’ 就是整数65,二者可互换使用, 其余字符以此类推。
特别注意: 字符‘0’ 等于整数48 , 字符‘\0’ 等于整数0 。
实例:c03 c04
整型常量:可以用十进制、八进制和十 六进制来表示。 a.十进制整数:[ ± ]若干各0~9的数字。 如12, 0 ,-234等
2019/8/7
b.八进制整数:[ ± ] 0若干各0~7的数字如 0110, 077等
c.十六进制整数: [ ± ] 0x或0X若干个0~9的 数字及A~F字母(或小写) 如0xAF,0X23等
2019/8/7
格式项的一般形式为:
%[附加格式] 格式控制符
方括号中的内容可以缺省。
附加格式控制
含义说明
l(小写字母)
m
数据最小输出宽度(一个具体正整数)
.n(一个具体 对实数,表示输出几位小数;对字 正整数) 符串,表示截取的字符个数
-(负号) 输出的数据域内向左对齐
+(正号) 要求正数和0带正号输出,负数带符 号输出
2019/8/7
格式控制串:是用“”括起来的一个特殊 字符串,称为转换控制字符串,串中含有 各输出项所要求的格式信息,指出每个数 据项是以什么形式输出,要占多少字符宽 度(即域宽)。
格式控制串中含有两类字符:
1) 需要按照原样相对位置输出的普通字符, 即字符常量;
2) 最主要的一类,格式说明,称为格式项。 每个输出项必须单独对应一个格式项,并 且都以%开头,后面跟着表示域宽要求的 附加格式。再跟一个格式控制符,其中附 加格式可以省略。
2.1 基本概念和基本数据类型
2019/8/7
2.1.1 关于注释
段注释:从“/*”起到“*/”止,中间为注 释内容,可以跨行,也可以夹在程序语 句中间,但是不可以出现一对段注释符。
如:/*The error /*comment*/show.*/ 实例 example201
2019/8/7
2019/8/7
C数据类型
2019/8/7
基本类型
整型 字符型
整型(int) 短整型(short int) 长整型(long int) 无符号整型(unsigned int) 无符号短整型(unsigned short int) 无符号长整型(unsigned long int) 字符型(char)
2. 全局变量:在函数外部定义的变量, 整个程序任何一段都可以使用。 实例 example23
相关文档
最新文档