第2章基本数据类型运算符与表达式.ppt
《第2章基本数据类型运算符与表达式.ppt》由会员分享,可在线阅读,更多相关《第2章基本数据类型运算符与表达式.ppt(42页珍藏版)》请在三一文库上搜索。
1、程序是解决某种问题的一组指令的有序集合。 著名计算机科学家沃思(Nikiklaus Wirth)提出一个公式: 程序 = 数据结构 + 算法,学习的意义,程序是什么?,对数据的描述。在C语言中,体现为数据类型的描述!,对数据处理的描述。是为解决一个问题而采取的方法和步骤,是程序的灵魂!,结论:学好C语言首先就必须十分了解C语言的数据类型、运算符与表达式。,2.1 C语言数据类型,数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作,本章所介绍的数据类型,3.2 常量、变量和标识符 1. 标识符 定义:用来标识变量、常量、函数等的字符序列 组成: 只能由字母、数字、
2、下划线组成,且第一个字母必须是字母或下划线 C语言的关键字不能用作变量名 大小写敏感 长度:有效长度为32个字符。随系统而异,但至少前8个字符有效 命名原则: 变量名和函数名中的英文字母一般用小写,以增加可读性 见名知意 不宜混淆 如l与I, o与0,在TC2.0及BC3.1中,变量名(标识符)的有效长度为个字符,缺省值为,但在VC中其长度可达到255,例:判断下列标识符号合法性 sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $123,M.D.John,3days,#33,char,$12
3、3,ab,.字符非法,数字3不可作首字符,#字符非法,char是关键字,字符非法,$不可作首字符,3.2 常量、变量和标识符 2. 常量 定义:程序运行时其值不能改变的量(即常数) 常量的分类 : 直接常量( 值常量) 整型常量: 10、15、-10、-30 实型常量: 12.5、 30.0、-1.5 字符常量: A、b、c 字符串常量: “sum”、“A”、“123” 符号常量 用标识符来代表常量。 其定义格式为:,#define 符号常量 常量,#define NUM 20 #define PI 3.1415926,#include #define PRICE 30 void main (
4、 ) int num, total; num = 10; total = num * PRICE; printf (“total = %d“, total); ,运行结果:total = 300,行尾不能有分号 define前面一定要有# 符号常量名最好使用大写 符号常量名最好有意义,3.2 常量、变量和标识符 3. 变量 定义:程序运行时其值可以被改变的量 变量的两要素 :变量名 、变量值 变量的定义格式 : 变量的初始化:定义时赋初始值 变量的使用:先定义,后赋值 变量定义位置:一般放在函数开头,存储类型 数据类型 变量名1,变量名2,变量名n;,int x, y, z; float ra
5、dius, length, area; char ch;,决定分配字节数 和数的表示范围,合法标识符,例: int a = 2, b, c = 4; float data = 3.67; char ch = A; int x = 1, y = 1, z = 1; int x = y = z = 1;,例1: int student; stadent = 19; /Undefined symbol statent in function main,例2: float a,b,c; c = a % b; /Illegal use of floating point in function main
6、,3.3 简单数据类型与表示范围,1. 整型数据,整型常量,十进制整数:由数字09和正负号表示 . 如:123,-456,0 八进制整数:由数字0开头,后跟数字07表示.如:0123,011 十六进制整数:由0x或0X开头,后跟09,af,AF表示.如0x123,0Xff,定义整数的符号常量 #define NUM1 20 /十进制数20 #define NUM2 020 /八进制数(十进制16) #define NUM3 0x2a /十六进制数(十进制42),思考题:下列整型常量哪些是非法的? 012,oX7A,00,078,0x5Ac,-0xFFFF,0034,7B。,首字符不能是字母o,
7、八进制数中不能有数字8,十进制数中不能有字母B,2. 整数常量的分类,根据其值所在范围确定其数据类型。在TC2.0或BC3.1下,如果整型常量的值位于-3276832767之间,C语言认为它是int型常量;如果整型常量的值位于-21474836482147483647之间,C语言认为它是long型常量。 整型常量后加字母l或L,认为它是long int 型常量。比如123L、45l、0XAFL。 无符号数也可用后缀表示,整型常数的无符号数的后缀为U或u。例如:358u, 0x38Au,235Lu 均为无符号数。 前缀、后缀可同时使用以表示各种类型的数。如0XA5Lu表示十六进制无符号长整数A5
8、,其十进制为165。,3. 实型数据,实型常量(实数或浮点数),十进制小数形式:由数字09和小数点组成 . 如:0.0,5.6,-5. 指数形式:由十进制数,加阶码标志e或E以及阶码(只能为整数,可以带符号)组成. 其一般形式为:aEn 其中:a为十进制数,n为十进制整数,都不可缺少。其可表示为a10n,合法的实数表示: 2.1E5 表示2.1105,3.7E-2 表示3.710-2。,非法的实数表示: 345(无小数点) ,E7(阶码标志E之前无数字) , -5(无阶码标志) ,50.-E3(负号位置不对),实型变量,单精度实型(float) float f = 3.14, g; 这种定义的
9、变量在内存中占4个字节(32位)的存储单元。 双精度实型(double) double x, y; 这种定义的变量在内存中占8个字节(64位)的存储单元。 长双精度实型(long double) long double x, y; 在TC或BC下,这种定义的变量在内存中占10个字节(80位)的存储单元;在VC下则占8个字节(64位)。,注意: 三种实数类型中,其精度是 float double long double; long float实际上就是double,因此,没有long float类型; 所有的实型常量按照double类型处理。,3. 实型数据,实型数据的精度,#include v
10、oid main ( ) float a; /定义float型变量a double b, c; /定义double型变量b和c a = 123.456789; /对变量a赋值为123.456789 b = a; /将变量a赋给变量b c = 123.456789; /对变量c赋值为123.456789 printf(“a = %f b = %lf c = %lfn“, a, b, c); ,123.456787,123.456787,123.456789,a = 123.456787 b = 123.456787 c = 123.456789,float型变量最多只能精确表示8个数字,因此显示
11、a的值时,只能有效显示前面8个数字即123.45678,最后追加一位数字7是随机的,课 堂 练 习,题目: 编写程序,计算半径为15.67cm的圆面积。要求分别使用单精度型和双精度型数据计算。 #define PI 3.14159,4. 字符型数据和字符串常量,字符型常量,定义:用单引号括起来的单个普通字符或转义字符.,如 a A ? n 101,字符常量的值:该字符的ASCII码值,如 A65, a97, 048 , n10,转义字符:反斜线后面跟一个字符或一个代码值表示,如 101 -A 012 -n 376 - x61 -a 60 -0 483 -(),例: A-101-x41-65,例
12、: 转义字符举例 #include void main ( ) printf (“101 x42 Cn“); printf (“I say:“How are you?“n“); printf (“C Programn“); printf (“Visual C“); ,运行结果:(屏幕显示) A B C I say:”How are you?” C Program Visual C,例: void main ( ) printf(“Yb=n”); ,运行结果: 屏幕显示:= 打印机输出:,字符串常量 定义:用双引号(“”)括起来的字符序列 存储:每个字符串尾自动加一个 0 作为字符串结束标志,例
13、1: 字符串“HELLO”在内存中,例2: 空串 “”,0,字符常量与字符串常量不同,例: char ch; ch = “A”;,例: char ch; ch = A;,课 堂 练 习,题目: 1、输入两个字符,如果先输入的字符大则输出1,否则输出0; 或输入一个字符,输出它的下一个字符;,课 堂 练 习,2、假设变量ch中已经存放字母A,编写程序将ch中的字母转换成小写字母后输出。 3、编写程序,在屏幕上输出,5. 简单数据类型的表示范围,符号位,十六位整型数所表示的数据范围,数据位,6. 简单的数据输出,C语言中没有用于输出的语句,只能通过标准库函数的调用来完成数据的输出任务。库函数的一般
14、调用格式为:,函数名(参数1,参数2,参数n);,printf函数:,例: printf(“How are you!“);,输出: How are you!,例:int a = 100; printf(“variable a = %d“,a);,输出: variable a = 100,%d:用于显示有符号整型数据,如int、short型数据; %u:用于显示无符号整型数据,如unsigned int、unsigned short型数据; %f:用于显示实型数据,如float型数据; %c:用于显示字符型数据,如char型数据; %s:用于显示字符串数据。,格式控制符,例:简单的数据输出,#i
15、nclude void main ( ) int a, b; unsigned int u; long L; char ch; float f; a = 200; b = -1; u = b; L = u; ch = A; f = 32.17;,printf(“a = %dt“,a); printf(“b = %dn“,b); printf(“u = %ut“,u); printf(“L= %ldn“,L); printf(“f = %fn“,f); printf(“ch is %c and value is %dn“, ch, ch); printf(“I love C language!r
16、Youn“); /I后有三个空格 ,在VC下: a = 200 b = -1 u = 4294967295 L = -1 f = 32.169998 ch is A and value is 65 You love C language!,在BC下: a = 200 b = -1 u = 65535 L = 65535 f = 32.169998 ch is A and value is 65 You love C language!,b的值是-1,在内存中表示为:0xffff(BC下),0xffffffff(VC下),当它赋给u时,由于u是无符号数,因此u的值是65535(BC下),4294
17、967295(VC下)。,L是有符号长整型,u是无符号整型。在BC下,L占4字节,u占2字节,当把u赋值给L时,L的高2个字节为全0(因u无符号),故L的值为0x0000ffff,即65535。但在VC下, L和u都占4字节,当把u赋值给L时,L的值为0xffffffff,即-1。,2.4 C语言的运算符与表达式,变量用来存放数据,运算符则用来处理数据。用运算符将变量和常量连接起来的符合C语法规则的式子被称为表达式。,运算符的分类: 单目运算符:只带一个操作数的运算符。如:+、-运算符。 双目运算符:带两个操作数的运算符。如:+、-运算符。 三目运算符:带三个操作数的运算符。如:?运算符。,学
18、习运算符时应注意: 运算符的功能:该运算符主要用于做什么运算。 与运算量关系:要求运算量的个数及运算量的类型。 运算符的优先级:表达式中包含多个不同运算符时运算符运算的先后次序。 运算符的结合性:同级别运算符的运算顺序(指左结合性还是右结合性)。 运算结果的类型:表达式运算后最终所得到的值的类型。,课 堂 练 习,题目: 酒杯A中盛有红酒,酒杯B中盛有白酒,请将两杯中的酒交换。,题目: 输入两个整数给两个变量赋值,然后将两个变量的值互相交换。,1. 赋值运算符、赋值表达式,赋值运算符(“”,双目运算符),一般形式:,变量 = 常量或变量或表达式,功能:将右边常量或变量或表达式的值赋给左边变量,
19、例如: int x, y, z; x = 20; y = x; z = x + y;,赋值表达式,定义:,由赋值运算符或复合赋值运算符(后面即将介绍),将一个变量和一个表达式连接起来的表达式,称为赋值表达式。,一般格式:,变量 (复合)赋值运算符 表达式,赋值表达式的值:被赋值变量的值。,例如:“a = 5”这个赋值表达式,变量a的值“”就是它的值。,赋值语句,例如: x = 8; a = b = c = 5;,定义:赋值表达式在其后面加分号就构成了赋值语句。,赋值运算符及赋值表达式的使用,多个变量连续赋值,例如: a = b = c = 10;,a = (b = (c = 10);,结果:a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 数据类型 运算 表达式
链接地址:https://www.31doc.com/p-3423803.html