谭浩强C语言配套课件c第二章

上传人:宝路 文档编号:46525097 上传时间:2018-06-27 格式:PPT 页数:59 大小:1.05MB
返回 下载 相关 举报
谭浩强C语言配套课件c第二章_第1页
第1页 / 共59页
谭浩强C语言配套课件c第二章_第2页
第2页 / 共59页
谭浩强C语言配套课件c第二章_第3页
第3页 / 共59页
谭浩强C语言配套课件c第二章_第4页
第4页 / 共59页
谭浩强C语言配套课件c第二章_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《谭浩强C语言配套课件c第二章》由会员分享,可在线阅读,更多相关《谭浩强C语言配套课件c第二章(59页珍藏版)》请在金锄头文库上搜索。

1、主讲:杨斐QQ:1214593881第二章 数据描述预备知识C语言的各种数据类型C语言各种运算符2 2.0 预备知识计算机中数的表示及进制转换 数码、基与权 数码:数制中表示基本数值大小的不同数字符号。例如,十进制有10个 数码:0、1、2、3、4、5、6、7、8、9。 基数:数制所使用数码的个数。例如,二进制的基数为2;十进制的基 数为10。 权:数制中某一位上的1所表示数值的大小(所处位置的价值)。例 如,十进制的123,1的位权是100,2的位权是10,3的位权是1。 数制:数制也称计数制,是用一组固定的符号和统一的规则来表示数值 的方法。人们通常采用的数制有十进制、二进制、八进制和十六

2、进制。 语 言 程 序 设 计 第 二 章 数 据 描 述C5 各种进制之间的转换(整数) 十进制转换成二进制、八进制、十六进制 原理: 方法:连续除以基,从低到高记录余数,直至商为0例 把十进制数59转换成二进制数592292 142 72 32 12 0(59)10=(111011)211 0 1 1 1 1 1 1 0 1 1余 余 余 余 余 余例 把十进制数159转换成八进制数1598198 28 0(159)10=(237)82 3 7 余 7余 3余 2例 把十进制数459转换成十六进制数459162816 116 0(459)10=(1CB)161 C B 余11余12余 1语

3、 言 程 序 设 计 第 二 章 数 据 描 述C6 二进制与八进制之间的转换 二进制转换成八进制:从右向左,每3位一组(不足3位左 补0),转换成八进制 八进制转换成二进制:用3位二进制数代替每一位八进制数例 (1101001)2=(001,101,001)2=(151)8例 (246)8=(010,100,110)2=(10100110)2000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7语 言 程 序 设 计 第 二 章 数 据 描 述C8 字节和位 内存以字节为单元组成 每个字节有一个地址 一个字节一般由8个二进制位组成 每个二进位的值是0或

4、1012345670 1 2 3 4 5 6 7 8 9 10.语 言 程 序 设 计 第 二 章 数 据 描 述C1、原码、反码和补码的表示方法 (1) 原码:在数值前直接加一符号位的表示法。 例如: 符号位 数值位 +7原= 0 0000111 B -7原= 1 0000111B注意:a. 数0的原码有两种形式:+0原=00000000B -0原=10000000BB:代表的是二进制 H代表的是十六进制 D代表的是十进制 Q代表的是八进制102)反码:正数:正数的反码与原码相同。负数:负数的反码,符号位为“1”,数值部分按位取反。例如: 符号位 数值位+7反= 0 0000111B-7反=

5、 1 1111000B注意:a. 数0的反码也有两种形式,即+0反=00000000B- 0反=11111111B 3)补码的表示:正数:正数的补码和原码相同。负数:负数的补码则是符号位为“1”,数值部分按位取反后再在末位(最低位)加1。也 就是“反码+1”。 例如: 符号位 数值位+7补= 0 0000111B-7补= 1 1111001B 补码在微型机中是一种重要的编码形式,请注意: a. 采用补码后,可以方便地将减法运算转化成加法运算,运算过程得到简化。正数的 补码即是它所表示的数的真值,而负数的补码的数值部份却不是它所表示的数的真值。采用补 码进行运算,所得结果仍为补码。 b. 与原码

6、、反码不同,数值0的补码只有一个,即 0补=00000000B。 c. 若字长为8位,则补码所表示的范围为-128+127;进行补码运算时,应注意所得 结果不应超过补码所能表示数的范围。语 言 程 序 设 计 第 二 章 数 据 描 述C11main() printf(“101 x42 Cn“);printf(“I say:“How are you?“n“);printf(“C Programn“);printf(“V C“); 运行结果:(屏幕显示) A B C Isay:”How are you?” C Program VC例 main() printf(“Yb=n”);运行结果: 屏幕显

7、示:= 打印机输出:18aaa 变量初始化:定义时赋初值 例:int a,b,c;float data;决定分配字节数 和数的表示范围合法标识符例: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 变量定义

8、位置:一般放在函数开头 main() int a,b=2;float data;a=1;data=(a+b)*1.2;printf(“data=%fn”,data); 变量定义可执行语句main() int a,b=2;a=1;float data;data=(a+b)*1.2;printf(“data=%fn”,data); Ch2_005.c语 言 程 序 设 计 第 二 章 数 据 描 述C20变量名 C语言的变量在程序中用变量名表示。变量名由用户根据 其功能任意命名。变量名可以使用字符集中的任何字符。 变量名的长度没有限制(87ANSI标准C编译系统可以最多 使用31个字符)。变量名的

9、首字符必须是英文字母(az, AZ)或下划线(_),并且中间不能使用空格。变量名的其 它部分可以用字母、下划线或数字(09)组成;大小写字 母表示不同意义, 即代表不同的变量名;一般情况下,变 量名使用小写英文字母。例如,下面列出的都是正确的变 名:arg, buffer, command, com_arg, file_name, count, _size, data35需要注意的是变量名不要和C语言本身使用的保留字 ,即语句名、类型名等重名,例如: if, swich, char, int, long, static。语 言 程 序 设 计 第 二 章 数 据 描 述C21数据类型1、整型类

10、型 2、整型常量C语言提供了多种整形类型,用以适应不同情况的需要 。常用的整形类型有:整形、长整形、无符号整形和无符号 长整形等四种基本类型。表格2-1整数基本类型表整形类型存储字节最小数值范围整形2字节-3276832767长整形4字节-21474836482147483647无符号整形2字节065535无符号长整形4字节04294967295语 言 程 序 设 计 第 二 章 数 据 描 述C22整型变量在C语言中,整型变量有上述整型数据所具有 的四种类型:整型、长整型、无符号整型和无符号 长整型。整型变量以关键字int作为基本类型说明符 ,另外配合4个类型修饰符。如下long 长类型sh

11、ort 短类型signed 有符号类型unsigned 无符号类型这些修饰符与int可以组合成如表2-2所示的不 同整数类型。23表示2-2ANSI标准规定的整型变量属性表:数据类型占用字节数二进制位取值范围 int216-3276832767shortint216同intlongint432-21474836482147483647signedint216同intsigned shortint216同intsigned longint432同long intunsignedint2160-65535unsigned shortint216同unsignedint24C语言提供的基本变量类型有

12、:变量数值变量字符变量指针变量实型变量整型变量语 言 程 序 设 计 第 二 章 数 据 描 述C25a=111111.111; /* a=111111.1*/ double b; b=111111.111; /* b=111111.111*/ 例 a=D; /* a=68; */x=A+5; /* x=65+5; */s=!+G /* s=33+71; */语 言 程 序 设 计 第 二 章 数 据 描 述C28doublefloatlongunsignedintchar,short低高说明:必定的转换运算对象类型不同时转换例 char ch;int i;float f;double d;c

13、h/i + f*d - (f+i) intintdoubledoubledoubledoubledoubledoubleintintdoubledoubledoubledoubledoubledouble10+a +i*f - d/l例 int i;float f;double d;long l;Ch2_007.c Ch2_008.c语 言 程 序 设 计 第 二 章 数 据 描 述C30运算符和表达式运算符c语言的运算符种类多、功能强,除了常用的 程序设计语言提供的算术、关系及逻辑运算符以外 ,还有一些完成特殊任务的运算符(操作符)。 C语言的运算符按其在表达式中与运算对象的 关系(连接运算

14、对象的个数)可以分为:单目运算:一个运算符连接一个运算对象双目运算:一个运算符连接两个运算对象三目运算:一个运算符连接三个运算对象单目运算 例:+a; b=-a; y=!a; 双目运算 例:a+b; c=ab; 三目运算 例:max=(ab)? a:b; 表达式?值A:值B语 言 程 序 设 计 第 二 章 数 据 描 述C31 2.4 运算符和表达式C 运 算 符算术运算符:(+ - * / % + -) 关系运算符:( = !=) 逻辑运算符:(! k=+j; j=3; k=j+; j=3; printf(“%d”,+j); j=3; printf(“%d”,j+); a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)*b; * / % -+ -(2) (3) (4)例 -i+ -(i+)i=3; printf(“%d”,-i+); /-3 例 j+k; (j+)+k;例 -i+i=3; printf(“%d”,-i+); Ch2_009.c语 言 程 序 设 计 第 二 章 数 据 描 述C38赋值运算符和表达式 简单赋值运算符 符号: = 格式: 变量

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号