C语言ppt课件第2章.ppt

上传人:小飞机 文档编号:1375850 上传时间:2022-11-16 格式:PPT 页数:36 大小:159KB
返回 下载 相关 举报
C语言ppt课件第2章.ppt_第1页
第1页 / 共36页
C语言ppt课件第2章.ppt_第2页
第2页 / 共36页
C语言ppt课件第2章.ppt_第3页
第3页 / 共36页
C语言ppt课件第2章.ppt_第4页
第4页 / 共36页
C语言ppt课件第2章.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《C语言ppt课件第2章.ppt》由会员分享,可在线阅读,更多相关《C语言ppt课件第2章.ppt(36页珍藏版)》请在三一办公上搜索。

1、南昌大学计算中心,C语言程序设计,南昌大学计算中心,第2章 C程序设计的初步知识,2.1 简单C语言程序的构成和格式例:求圆面积和周长的程序。#include #define PI 3.14main() float a,b,r; scanf(“%f”, / 输出结果 /,南昌大学计算中心,由上例总结出C程序结构:1、C程序是由函数构成的。2、一个C程序有且只有一个main函数,即主函数。3、C程序总是从main函数开始执行,结束于main函数。4、函数由函数首部(函数名、参数)和函数体(从到结束)组成,函数内有语句(后面有分号)。5、程序中可有注释(不会执行),注释部分用/ 和/括起来。6、C

2、程序书写格式很自由。,南昌大学计算中心,2.2 标识符、常量和变量2.2.1 标识符标识符:由字母、下划线和数字组成的字符序列,且第一个字符必须是字母或下划线。标识符的分类:1、关键字:已被C语言赋予固定含义的标识符。书写时必须用小写。2、预定义标识符:被C语言预先定义的特定标识符。允许用户对它们重新定义。3、用户标识符:由用户根据需要定义的标识符。区分大小写。,南昌大学计算中心,2.2.2 常量常量:程序运行过程中,其值不能被改变的量。2.2.3 符号常量符号常量:用一个符号名代表一个常量。定义符号常量:使用事先编译预处理命令define定义。格式:#define 标识符 常量编译时先由系统

3、替换为它所代表的常量,再进行编译。,南昌大学计算中心,练习:下列程序的执行结果是_。#include#define sum 10+20main()int b=0,c=0;b=5;c=sum*b;printf(%d,c);A)100 B)110 C)70 D)150,南昌大学计算中心,练习:下列程序的执行结果是_。#include#define sum (10+20)main()int b=0,c=0;b=5;c=sum*b;printf(%d,c);A)100 B)110 C)70 D)150,南昌大学计算中心,2.2.4 变量变量:程序运行过程中,其值可以改变的量。变量应遵循“先定义后使用”

4、的原则。变量定义示意:,南昌大学计算中心,2.3 整型数据2.3.1 整型常量十进制:由数字0 9组成。八进制:由数字0 7组成,必须以0开头。十六进制:由数字0 9以及AF(不区分大小写)构成,必须以0 x或0X开头。2.3.2 整型变量包括基本型、短整型、长整型和无符号型四种。如:int a; / 定义基本型整型变量a /如:int a=3; / 定义基本型整型变量a,同时赋整数3 /注意:VC6.0为一个基本型整型变量开辟4个字节的内存单元,如上例中的变量a。,南昌大学计算中心,2.3.3 整型数据的分类1、基本型(int):占4个字节。2、短整型(short int):占2个字节。3、

5、长整型(long int):占4个字节。4、无符号型(unsigned):unsigned int:占4个字节;unsigned short:占2个字节;unsigned long:占4个字节。无符号型必为非负数。注意:整型常量一般默认为基本型,但可用U或L(或小写)加在常量后面以改变其类型。如:137L、0L、729U、0 xffL,南昌大学计算中心,2.3.4 整数在内存中的存储形式(二进制形式,最高位为符号位)1、正整数:“原码”形式存放。如:short int a=5;上述语句指在内存中开辟一个2个字节的单元,单元名为a,并存放整数5的二进制代码。代码为:,因此:short型整数最大值

6、为32767,即0111 1111 1111 1111。,南昌大学计算中心,2、负整数:“补码”形式存放。如:short int a=-5;上述语句指在内存中开辟一个2个字节的单元,单元名为a,并存放整数-5的二进制代码。代码为:1111 1111 1111 1011,此为补码形式。得到补码的方法:(1)求原码的反码:把原码除符号位之外的二进制码按位取反。如:-5的原码:1000 0000 0000 0101 -5的反码:1111 1111 1111 1010(2)把所得的反码加1,即为补码。如:-5的反码:1111 1111 1111 1010 加1后, 补码:1111 1111 1111

7、1011,南昌大学计算中心,由补码还原成十进制负整数的方法:(1)把补码的除符号位之外的各位取反。如:-5的补码:1111 1111 1111 1011 取反后:1000 0000 0000 0100(2)把所得的二进制数转换成十进制负整数。如:上例中的:1000 0000 0000 0100 转换后得:-4(3)对所得十进制数再减1。如:上例中的-4:-4-1得-5,南昌大学计算中心,南昌大学计算中心,练习:已知short x=0 xabcde;则x的结果是 _。A)赋值非法 B)不确定C)abcd D)bcde,南昌大学计算中心,练习:若定义了short a=32768;执行语句print

8、f(“a=%d”,a);后的输出结果是 _。A)a=-32768 B)a=-1 C)a=32768 D)数据类型不一致,出错,南昌大学计算中心,练习:设short i=65539;执行语句printf(“%d”,i);后的输出结果是 _。A)-3 B)3 C)65539 D)数据不确定,南昌大学计算中心,2.4 实型数据2.4.1 实型常量(或称实数、浮点数)十进制小数形式:由数字0 9和小数点组成。小数点不可省略。如:6.55、0.0、0.39、.39、40.指数形式:由尾数加阶码标志e或E以及阶码组成。其一般形式为a En(a为尾数,n为阶码)其值为 a10n。阶码必须是整数,E前面必须要

9、有数字。如:3.5 106可以表示为3.5E6 2.8 10-2可以表示为2.8E-2,南昌大学计算中心,2.4.2 实型变量单精度型:用float定义,分配4个字节存储空间。双精度型:用double定义,分配8个字节存储空间。,2.5 算术表达式2.5.1 基本的算术运算符+、-、/、%属于双目运算符(运算符需要两个运算对象)。%的运算对象只能是整数,结果正负号同被除数。若两边运算数类型一致,所得结果类型与运算数类型一致。如:1.7+2.3结果为4.0,不是4 2.5/0.5 结果为5.0,不是5 3/6结果为0,不是0.5或两边运算数类型不一致,系统将自动进行类型转换,使得两边运算数类型一

10、致,转换规律见附录5。,南昌大学计算中心,2.5.2 运算符的优先级、结合性和算术表达式1、算术运算符的优先级,2、算术运算符和圆括号的结合性算术运算符的结合性是从左到右(除了表示正负号的+、-是从右到左)。若有圆括号则优先进行圆括号中的运算。,南昌大学计算中心,3、算术表达式把算术运算符和运算数连接起来的表达式称为算术表达式。表达式都有运算结果,即表达式值。2.5.3 强制类型转换表达式(类型符) (表达式)即强行把表达式值转换成所需类型。如:(float)(5/3) (int)(a)或(int) a,南昌大学计算中心,练习:下面程序的输出结果是_。main()int x; x=-3+4*5

11、-6;printf(“%d”,x); x=3+4%5-6; printf(“%d”,x); x=-3*4%-6/5; printf(“%d”,x); x=(7+6)%5/2; printf(“%d”,x);A)11 1 0 1 B)11 3 2 1C)12 3 2 1 D)11 1 2 1,南昌大学计算中心,练习:若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式:(float)(a+b)/2+(int)x%(int)y的值是_。A2.500000B3.500000C4.500000D5.000000,南昌大学计算中心,2.6 赋值表达式2.6.1 赋值运算

12、符和赋值表达式赋值运算符:=赋值表达式格式:变量名=表达式作用是把右侧表达式的值赋给左边的变量,整个表达式的值就是左侧变量的值。“=”是双目运算符,右结合性,优先级仅高于逗号运算符。如:a=5 a=b=8/3,南昌大学计算中心,2.6.2 复合赋值表达式C语言提供了10种复合的赋值运算符,它们是+=,-=,*=,=,%=,=,&=,=,|= 其中前5个是复合的算术赋值运算符,后5个是复合的位运算赋值运算符。复合的赋值运算符是双目运算符,优先级和赋值运算符相同,也是右结合性的。 它等效于 = 例如:a+=5 等价于a=a+5x*=y+7 等价于x=x*(y+7),南昌大学计算中心,练习:设有以下

13、定义,则能使值为3的表达式是_。 int k=7, x=12; A)x%=(k%=5) B)x%=(k-k%5) C)x%=k D)(x%=k)-(k%=5),南昌大学计算中心,练习:下面程序的输出结果是_。 main() int a=0; a+=(a=8); printf(“%dn”,a); ,16,南昌大学计算中心,练习:下面程序的输出结果是_。 main() int x=2,y=0,z; x*=3+2; printf(“%d”,x); x*=y=z=4; printf(“%d”,x); A)8 40 B)10 40 C)10,4 D)8,4,南昌大学计算中心,2.6.3 赋值运算中的类型

14、转换当赋值表达式中左右两边类型不一致时,会遵循自动转换规则:右侧表达式的值按左侧变量的类型进行转换。如:假设变量a为整型 a=3.5 的结果为3,即变量a的内容为3注意整型之间的转换,参见书上。,南昌大学计算中心,2.7 自加、自减运算和逗号运算符2.7.1 自加运算符“+”和自减运算符“-”是单目运算符,与变量结合,作用是使变量值增1或减1。有前缀和后缀两种形式: 前缀形式: 先自增(自减)再引用;后缀形式: 先引用再自增(自减);如:假设变量a为5a+ 则a为6,表达式值为5+a 则a为6,表达式值为6具有右结合性,结合方向为从右到左。如: a+ 等价于 -(a+),南昌大学计算中心,练习

15、:设有int x=11;则表达式(x+*1/3)的值是_。A)3B)4C)11D)12,南昌大学计算中心,练习:下面程序的输出结果是_。main()int m=12,n=34; printf(“%d%d”,m+,+n); printf(“%d%dn”,n+,+m);A)12353514B)12353513C)12343514D)12343513,南昌大学计算中心,练习:下面程序的输出结果是_。main()int i,j; i=16;j=(i+)+i;printf(“%d”,j); i=15;printf(“%d %d”,+i,i);A)32 16 15B)33 15 15C)34 15 16D

16、)34 16 15,南昌大学计算中心,2.7.2 逗号运算符和逗号表达式逗号“ ,”也是一种运算符,优先级别最低。逗号表达式:表达式1,表达式2,表达式n从左向右,依次对表达式求值,最后得到表达式n 的值就是逗号表达式的值。如:a=8,a+,a%5 表达式的值为4,且a为9 b=5,b+2,b+ 表达式的值为5,且b为6 y=(c =23,c 6) 赋值表达式的值为36,且y为36,c为6,南昌大学计算中心,练习:设以下变量均为int类型,表达式的值不为7的是_。A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y) D)(y=6,y+1,x=y,x+1),南昌大学计算中心,练习:下面程序的输出结果是_。main()int a=21,b=11; printf(“%dn”,-a+b,-b+a);A)30B)31C)32D)33,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号