第2章C语言基础与顺序结构.ppt
《第2章C语言基础与顺序结构.ppt》由会员分享,可在线阅读,更多相关《第2章C语言基础与顺序结构.ppt(64页珍藏版)》请在三一文库上搜索。
1、C语言基础与顺序结构,学习目标,学会合理选用数据类型 学会使用常用的运算符 学会使用常用的标准输入/输出函数控制数据的输入/输出 学会顺序程序的设计方法,2.1 C数据类型,数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作,2.1.0 预备知识,计算机中数的表示及进制转换 数码、基与权 数码:表示数的符号 基:数码的个数 权:每一位所具有的值 数制 十进制:09 二进制:0、1 八进制:07 十六进制:09,af,各种进制之间的转换,1、二进制、八进制、十六进制转换成十进制 方法:按权相加,2、十进制转换成二进制、八进制、十六进制 方法:连续除以基,从低到高记
2、录余数,直至商为0,例 把十进制数459转换成二进制数,2 459 余1 2 229 余1 114 余0 2 57 余1 28 余0 2 14 余0 7 余1 2 3 余1 1 余1 2 0,(459)10 =(111001011)2,例 把十进制数459转换成八进制数,例 把十进制数459转换成十六进制数,3、二进制与八进制之间的转换 二进制转换成八进制: 从右向左,每3位一组(不足3位左补0),转换成八进制 八进制转换成二进制: 用3位二进制数代替每一位八进制数,000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7,例 (1101001)2=(00
3、1,101,001)2=(151)8,例 (246)8=(010,100,110)2=(10100110)2,4、二进制与十六进制之间的转换 二进制转换成十六进制 从右向左,每4位一组(不足4位左补0),转换成十六进制 十六进制转换成二进制: 用4位二进制数代替每一位十六进制数,0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F,例 (11010101111101)2=(0011,0101,0111,1101)2=(357D
4、)16,例 (4B9E)16=(0100,1011,1001,1110)2=(100101110011110)2,字节和位,内存以字节为单元组成 每个字节有一个地址 一个字节一般由8个二进制位组成 每个二进位的值是0或1,数值的表示方法原码、反码和补码,2.1.1 整型数据,整型常量 十进制整数:由数字09和正负号表示.如 123,-456,0 八进制整数:由数字0开头,后跟数字07表示.如0123,011 十六进制整数:由0x开头,后跟09,af,AF表示. 如0x123,0Xff,整型变量 二进制形式表示 TC2.0中,在内存中占2个字节的存储单元,整型变量的定义和赋值 int a,b;
5、a=3; b=4; 或 int a=3,b=4; long e=123L;,举例2-1:从键盘输入两个整数,求它们的和,#include main() int a,b,sum; scanf(“a=%d,b=%d”, ,变量声明,输入语句,执行语句,输出语句,练习1,1、求32766+1与32767+1的和 2、从键盘上输入数据,求四则运算(a+b)*c/(d-e)的结果,#include main() int a; int b; a = 32767; b = a + 1; printf(“%dn“, b); ,#include main() int a; long b; a = 32767;
6、b = a + 1L; printf(“%ldn“, b); ,-32768,课后作业,P.11 习题,2.1.2 浮点型数据,浮点型常量 十进制数形式:(必须有小数点) 如0.123, .123, 123.0, 0.0, 123. 指数形式:(e或E之前必须有数字;指数必须为整数) 如12.3e3 ,123E2, 1.23e4 e-5 ,1.2E-3.5(),浮点型变量 一般占4个字节,浮点数变量定义和赋值 float a,b; float c=123456.789e3;,举例2-2:从键盘输入两个浮点数,求它们的积,#include main() float a,b,c; scanf(“a
7、=%f,b=%f”, ,练习2,1、求一个较大的浮点数(上例中的c)与一个较小数(20)的和 2、求一个整数与一个浮点数的和 3、将第2题结果转换为整数类型输出,float型数据提供7位有效数字 double型数据提供16位有效数字 使用不当导致舍入误差,#include main() float a; float b; a = 123456.789e3; b = a + 20; printf(“%fn“,a,b); ,#include main() double a; double b; a = 123456.789e3; b = a + 20; printf(“%lfn“,a,b); ,1
8、2345678848.000000,2.1.3 字符型数据,字符常量 用单引号括起来的单个普通字符或转义字符 字符串常量 用双引号括起来的字符序列,如 a A ? n 101,如:“hello”,转义字符,符号常量(宏常量) 一般采用大写字母表示 #define 标识符 字符串 不是语句,而是一种编译预处理命令 宏替换(Macro Substitulition),#include #define PI 3.14159 #define R 5.3 main() printf(“area = %fn“, PI * R * R); printf(“circumference = %fn“, 2 *
9、PI * R); ,字符变量 一般占1个字节 将该字符的相应的ASCII码值放到存储单元中(参见P.251 附录A) 用来表示256个ASCII字符,或者0255的整数,字符变量定义和赋值 char c1,c2; c1=a; c2=”; c1=a; 与 c1=97; 等价 c1=c1+1; c1=? 大小写字母如何转换? c1=c1-32;,举例2-3:大小写字母的转换,#include main() char c1,c2; c1=a; c2=b; c1=c1-32; c2=c2-32; printf(“%c %cn”,c1,c2); 运行结果:A B,类型转换,自动类型转换 ch/i + f
10、*d - (f+i) 强制类型转换 i=(int)f; (int)9.6%4,同种数据类型的运算结果,还是该类型 不同种数据类型的运算结果,是两种类型中取值范围更大的那种 long double double float long int short char 把数据赋值给另外一种类型变量也会发生自动类型转换 从小到大,顺利转换 从大到小,可能丢失信息 强制类型转换可以消除从大到小转换时的警告,变量声明总结,使用变量的基本原则 变量必须先定义,后使用 所有变量必须在第一条可执行语句前定义 声明的顺序无关紧要 一条声明语句可声明若干个同类型的变量 声明变量,是初始化变量的最好时机 不被初始化的变
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基础 顺序 结构
链接地址:https://www.31doc.com/p-2252314.html