资源预览内容
第1页 / 共46页
第2页 / 共46页
第3页 / 共46页
第4页 / 共46页
第5页 / 共46页
第6页 / 共46页
第7页 / 共46页
第8页 / 共46页
第9页 / 共46页
第10页 / 共46页
亲,该文档总共46页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
,高级语言程序设计,前情提要,程序,计算机语言(3类) 模块化 每一个C程序都必须要有一个main函数 每个C语句都以分号结束 函数的组成(函数首部、函数体) 在计算机上运行C程序的方法 算法,例子,盗窃犯w某和h某,w偷盗5家商户,共盗窃2.5万人民币;h偷盗2家商户,共盗窃0.8万人民币。请编程输入相关数据,并打印出w和h总共偷盗商家数与总的盗窃金额。,#include int main(), char thief1,thief2; float money1,money2; int num1,num2; float sum_money; int sum_num;,scanf(%c,%c,输入 w,h 2.5,0.8 5,2,sum_money=money1+money2; sum_num=num1+num2;,printf(%c和%c一共偷盗了%d家商户,共盗窃了%f万人民币n,thief1,thief2,sum_num,sum_money); return 0; ,输出 w和h一共偷盗了7家商户,共盗窃了3.300000万人民币,引子,数据 内存,第二章,数据类型、运算符与表达式,主要内容,2.1 C语言的数据类型 2.2 常量与变量 2.3 整型数据 2.4 浮点型数据 2.5 字符型数据 2.6 运算符和表达式,2.1 C语言的数据类型,数据类型,构造类型,指针类型,空类型(无值类型) void,2.2 常量和变量,2.2.1 常量 在程序运行过程中,其值不能被改变的量称为常量 常量区分为不同的类型: 整型常量(如12、0、-3为整型常量) 实型常量(4.6、-1.23为实型常量) 字符常量( a、 d字符常量),2.2 常量和变量,2.2.2 变量 变量代表内存中具有特定属性的一个存储单元,它用来存放数据,也就是变量的值,在程序运行期间,这些值是可以改变的。一个变量应该有一个名字,以便被引用。变量名实际上是以一个名字代表一个地址。,2.2 常量和变量,变量的名字必须符合C语言对标示符的规定。 变量命名的规定:语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。 例:sum,_total, month, Student_name, lotus_1_2_,BASIC, li_ling M.D.John, ¥123,3D64,ab,注意: 编译系统将大写字母和小写字母认为是两个不同的字符。 建议变量名的长度最好不要超过8个字符。 在选择变量名和其它标识符时,应注意做到“见名知意”,即选有含意的英文单词 (或其缩写)作标识符。 要求对所有用到的变量作强制定义,也就是“先定义,后使用” 。,2.3 整型数据,2.3.1 整型常量 整型常量即整常数。 整常数有三种表示形式: (1)十进制整数。如:123, -456,4。 (2)八进制整数。以0头的数是八进制数。 如:0123表示八进制数123,即(123)8 (3)十六进制整数。以0 x开头的数是16进制数。如:0 x123,代表16进制数123,等于十进制数 291。,2.3.2 进制转化 (1)二进制数转换成十进制数 例:(1101.01)2 =(123+122+021+120+02-1+12-2 )10 =(13.25)10 说明:“2”是基数,“2i”(i=3,2,1,0,-1,-2)为位权 练习:将二进制数110.1转换成十进制数。 (110.1)=(122+121+020+12-1)10 =(6.5)10,2.3.2 进制转化 (2) 八进制数转换成十进制数 方法同二进制转换成十进制完全一样,仅仅基数有所不同。 例 (24.67)8=(2 81+ 4 80+6 8-1+7 8-2)10 =(20.859375)10 练习:将八进制数35.7转换成十进制数 答案:(35.7)8=(3 81+ 5 80+7 8-1)10 =(29.875)10,思考:十六进制如何转化为十进制?,(1)十进制整数转换成二进制整数 说明:通常采用“除以2逆向取余法” 例 将(57)10转换成二进制数 余数 2 571 (低位) 2 280 2 140 2 7 .1 2 3 .1 2 1 .1 (高位) 0,(57)10=(111001)2,思考:八进制如何转化二进制?,2.3.3 整型变量 整型变量用来存放整型常量。整型变量的基本类型符为int。 C语言中有以下3类整型变量 :基本整型,短整型,长整型。 注意:ANSI C标准没有具体规定以上各类数据所占内存的字节数而是由各计算机系统自行决定。,2.3.3 整型变量,一般情况下,存储整数时存储单元中的第一个二进位用来代表数值符号,而在实际应用中,变量的值常常是正的 ,所以存储单元全部用来存储数值本身,此定义无符号整数。所以归纳起来,在C语言中,可以定义和使用6种整型变量。,共六种,有符号基本整型 有符号短整型 有符号长整型 无符号基本整型 无符号短整型 无符号长整型,(signed)int (signed)short (int ) (signed) long (int) unsigned int unsigned short (int) unsigned long (int),注意:括号表示其中的内容是可选的.,2.3.3 整型变量,整数类型的有关数据:,类型 类型说明符 长度 数的范围 基本型 int 2字节 -3276832767 短整型 short 2字节 -215215-1 长整型 long 4字节 -231231-1 无符号整型 unsigned 2字节 065535 无符号短整型 unsigned short 2字节 065535 无符号长整型 unsigned long 4字节 0(232-1),2.3.4 整型变量的定义,变量说明的一般形式为: 类型说明符 变量名标识符,变量名标识符,.; int a,b,c; (a,b,c为整型变量) long x,y; (x,y为长整型变量)unsigned int p,q; (p,q为无符号整型变量),2.3 整型数据,2.3.5 整型数据在内存中的存储方式 数据在内存中是以二进制形式存放的。 实际上,数值是以补码表示的。一个正整数的补码和该数的原码相同。负数的补码是:将该数的绝对值的二进制形式,按位取反再加1。 int i; /定义i为整型变量 i=10; /给i赋以整数10,i i 10的原码 取反 -10的补码,2.3 整型数据,2.3.6 整型数据的溢出 如果系统给一个整型变量分配2个字节,则变量的最大允许值为32767,若超出最大职则出现溢出现象。 例 整型数据的溢出#include void main()int a,b; a=32767; b=a+1; printf(“%d,%dn”,a,b);,说明:数值是以补码表示的。一个整型变量只能容纳-3276832767范围内的数,无法表示大于32767或小于-32768的数。遇此情况就发生“溢出”。,运行结果: 32767,-32768,2.4 浮点型数据,2.4.1 浮点型常量的表现形式 注意:字母e(或E)之前必须有数字,且e后面的指数必须为整数。,两种表 示形式,十进制小数 指数,0.123 3e-3,1e3、1.8e-3、-123e-6、-.1e-3 e3、2.1e3.5、.e3、e,2.4 浮点型数据,2.4.1 浮点型常量的表现形式 规范化的指数形式: 在字母e(或E)之前的小数部分中,小数点 左边应有一位(且只能有一位)非零的数字。 例如: 123.456可以表示为: 123.456e0, 12.3456e1, 1.23456e2, 0.123456e3, 0.0123456e4, 0.00123456e 其中的1.23456e2称为“规范化的指数形式”。,2.4 浮点型数据,2.4.1 浮点型数据在内存中的存放形式 1)浮点型数据在内存中的存放形式:一个浮点型数据一般在内存中占4个字节(32位)。与整型数据的存储方式不同,浮点型数据是按照指数形式存储的。系统把一个浮点型数据分成小数部分和指数部分,分别存放。 例如:3.14159在内存中的存放形式。,2.4 浮点型数据,2.4.1 浮点型变量 2)浮点型变量分为单精度(float型)、双精度(double型)和长双精度型(long double)三类形式。,2.4 浮点型数据,2.4.1 浮点型变量 3)浮点型数据的舍入误差:由于浮点型变量是由有限的存储单元组成的,因此能提供的有效数字总是有限的。在有效位以外的数字将被舍去。由此可能会产生一些误差例 浮点型数据的舍入误差#include void main()float a,b; a = 123456.789e5; b = a + 20 ; printf(“%fn”,b); ,说明:一个浮点型变量只能保证的有效数字是7位有效数字,后面的数字是无意义的,并不准确地表示该数。应当避免将一个很大的数和一个很小的数直接相加或相减,否则就会“丢失”小的数,运行结果: 123456.789e5,2.5 字符型数据,2.5.1 字符常量 (1)用单引号包含的一个字符是字符型常量 (2)只能包含一个字符,例,a,A, 1 abc、“a”,2.5 字符型数据,2.5.1 字符常量 有些以“”开头的特殊字符称为转义字符,2.5 字符型数据,2.5.2 字符变量 字符型变量用来存放字符常量,注意只能放一个字符。 字符变量的定义形式如下:char c1,c2; 在本函数中可以用下面语句对c1,c2赋值: c1a;c2 b ; 一个字符变量在内存中占一个字节。,2.5 字符型数据,2.5.3 字符数据在内存中的存储形式及其使用方法 一个字符常量存放到一个字符变量中,实际上并不是把该字符的字型放到内存中去,而是将该字符的相应的ASCII代码放到存储单元中。这样使字符型数据和整型数据之间可以通用。,2.5 字符型数据,2.5.4 字符串常量 规定:在每一个字符串常量的结尾加一个 “字符串结束标志”,以便系统据此判断字符串是否结束。规定以字符作为字符串结束标志。,如:如果有一个字符串常量” ,实际上在内存中是:,它占内存单元不是个字符,而是个字符,最后一个字符为。但在输出时不输出。,2.6 运算符和表达式,2.6.1运算符和表达式简介 1. 语言的运算符有以下几类: 算术运算符 (+、 - 、* 、/ 、%、+、-) 关系运算符 (、!) 逻辑运算符 (!、|) 位运算符 (、 、 |、) 赋值运算符 (及其扩展赋值运算符) 条件运算符 (?:) 逗号运算符 ( ,),2.6 运算符和表达式,2.6.1运算符和表达式简介 (8)指针运算符 (*和) (9)求字节数运算符() (10)其他 (如函数调用运算符()下标等 ),自增、自减运算符 作用是使变量的值增或减 如: ,(在使用之前,先使的值加(减) ,(在使用之后,使的值加(减),i+与+i的区别: 是先执行后,再使用的值; 是先使用的值后,再执行。 例如: i的值为3 ; i的值先变成4, 再赋给,j的值为 ; 先将 i的值3赋给,的值为,然后变为,2.6 运算符和表达式,2.6.1运算符和表达式简介 用算术运算符和括号将运算对象(也称操作数)连接起来的、符合语法规则的式子,称为算术表达式。运算对象包括常量、变量、函数等。 例如: *.5 a 是一个合法的表达式。,2.6 运算符和表达式,2.6.1运算符和表达式简介 (1)算术表达式:如2+6.7*3.5+sin(0.5) (2)关系表达式:如x0,y0 / 把a转换为实型 (
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号