C语言程序设计课件 第2章 顺序结构.ppt
《C语言程序设计课件 第2章 顺序结构.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计课件 第2章 顺序结构.ppt(31页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、C语言程序言程序设计第第2章章 顺序结构顺序结构2本章主要本章主要内内容容 1.运运算符及表算符及表达达式式 2.C语句句 3.输入入输出控制出控制3顺序序结构构程序程序设计C是面向过程的结构化程序设计语言,进行程序设计就是面向过程的结构化程序设计语言,进行程序设计就是设计解题的操作过程。是设计解题的操作过程。结构化程序设计由顺序结构、选择结构和循环结构三结构化程序设计由顺序结构、选择结构和循环结构三种结构组成。种结构组成。顺序结构是最基础的结构形式,因为没有任何限制的顺序结构是最基础的结构形式,因为没有任何限制的时候,程序以语句出现的顺序来执行。时候,程序以语句出现的顺序来执行。程序设计中,
2、最小的独立单元是语句。如自然语言中程序设计中,最小的独立单元是语句。如自然语言中的句子一样,语句也有固定的表现形式和组成结构。的句子一样,语句也有固定的表现形式和组成结构。本章将在本章将在第第1章的章的基础上介绍操作数据的运算符,进而基础上介绍操作数据的运算符,进而形成表达式,然后构成语句。同时还将介绍数据的输形成表达式,然后构成语句。同时还将介绍数据的输入、输出控制函数的使用。入、输出控制函数的使用。4运算符及表达式运算符及表达式 运算符运算符是指运算的符号,是指运算的符号,C C语言拥有非常丰富的运算符。语言拥有非常丰富的运算符。表达式表达式由运算符与操作数组合而成,并由运算符指定对操由运
3、算符与操作数组合而成,并由运算符指定对操作数要进行的运算,一个表达式的运算结果是一个值。作数要进行的运算,一个表达式的运算结果是一个值。学习运算符及表达式应注意以下问题:学习运算符及表达式应注意以下问题:(1 1)运算符的功能)运算符的功能(2 2)运算符对运算对象的限制)运算符对运算对象的限制(3 3)运算符的优先级和结合性)运算符的优先级和结合性 (4 4)表达式值的类型)表达式值的类型(5 5)表达式的书写规则)表达式的书写规则5C语言运算符的优先级与结合性语言运算符的优先级与结合性 优先级优先级运运 算算 符符结合方向结合方向1 1()()(圆括号)、(圆括号)、(下标)、(下标)、.
4、(结构体成员运算符)、(结构体成员运算符)、(指向结构体成员)(指向结构体成员)(左结合)(左结合)2 2!(逻辑非)、(按位取反)、!(逻辑非)、(按位取反)、+(自增)、(自增)、-(自减)、(自减)、-(负)、(负)、+(正)、(正)、*(间接引用)、(间接引用)、&(取地址)、(取地址)、sizeofsizeof(容量运算)、(容量运算)、(类型类型)(类型转换运算符)(类型转换运算符)(右结合)(右结合)3 3*(乘)、(乘)、/(除)、(除)、%(取余)(取余)4 4+(加)、(加)、-(减)(减)5 5(右移运算)(右移运算)6 6、=、=(关系运算符)(关系运算符)7 7=、!
5、=!=(关系运算符)(关系运算符)8 8&(按位与)(按位与)9 9(按位异或)(按位异或)1010|(按位或)(按位或)1111&(逻辑与)(逻辑与)1212|(逻辑或)(逻辑或)1313?:?:(条件运算)(条件运算)1414=、+=+=、-=-=、*=、/=/=、%=%=、=、&=&=、=、|=|=(赋值运算)(赋值运算)1515,(逗号运算符)(逗号运算符)6算术运算符和算术表达式算术运算符和算术表达式 算术运算符有:算术运算符有:|单目运算符:单目运算符:-(负)、(负)、+(正),右结合(正),右结合|双目运算符:双目运算符:+、-、*、/(/(整数相除结果整数相除结果 取整取整)
6、、%(取余)(取余)优先级优先级:先乘除先乘除(含取余含取余),),后加减后加减,括号优先括号优先结合性结合性:同级从左至右同级从左至右要求要求%两侧均为整形数据两侧均为整形数据写出以下面算术表达式的优先级和结合性:写出以下面算术表达式的优先级和结合性:a*b/c-1.5+a*b/c-1.5+a a a/a/b/cb/c*(3-d)*(3-d)7算术运算符和算术表达式算术运算符和算术表达式#include#include stdio.hstdio.h void main()void main()intint i=3;i=3;float r=2.0;float r=2.0;printf(2*-i
7、:%dn,2*-i);printf(2*-i:%dn,2*-i);printf(r/i:%fn,r/i);printf(r/i:%fn,r/i);printf(r/i:%dn,r/i);i=r/i;printf(r/i:%dn,r/i);i=r/i;printf(i=r/i:%dn,i);printf(i=r/i:%dn,i);i=2%3;i=2%3;printf(2%3:%dn,i);printf(2%3:%dn,i);【例例2.12.1】算术运算符的使用示例。算术运算符的使用示例。2*-i:-6 2*-i:-6 r/i:0.666667r/i:0.666667r/i:1431655765
8、r/i:1431655765 i=r/i:0 i=r/i:0 2%3:22%3:28赋值运算符及赋值表达式赋值运算符及赋值表达式 由赋值运算符由赋值运算符“=”将变量和表达式连接起来的将变量和表达式连接起来的式子。其形式是:式子。其形式是:=intint a,b,ca,b,c;a=5 a=5 a=5a=5a=b=c=5 a=b=c=5 a,b,ca,b,c均为均为5 5a=5+(c=6)a=5+(c=6)c c为为6 6,a a为为1111a=(b=4)+(c=6)a=(b=4)+(c=6)c c为为6 6,b b为为4 4,a a为为1010a=(b=10)/(c=2)a=(b=10)/(c
9、=2)c c为为2 2,b b为为1010,a a为为5 59复合赋值运算符复合赋值运算符 在赋值符在赋值符“=”之前加上其它二目运算符可构成之前加上其它二目运算符可构成复合赋值符。复合赋值符。如:如:+=,-=,*=,+=,-=,*=,=,%=,=,&=,=,|=,%=,=,&=,=,|=。构成复合赋值表达式的一般形式为:构成复合赋值表达式的一般形式为:复合赋值运算符复合赋值运算符 a+=5 a+=5 等价于等价于:a=a+5:a=a+5x*=y+7 x*=y+7 等价于等价于:x=x*(y+7):x=x*(y+7)r%=p r%=p 等价于等价于:r=r%p:r=r%p10复合赋值运算符复
10、合赋值运算符【例例2.22.2】复合赋值运算符的应用。复合赋值运算符的应用。#include#include stdio.hstdio.h void main()void main()intint x,yx,y;x=3;y=8;x*=y+1;x=3;y=8;x*=y+1;printf(xprintf(x=%=%d,yd,y=%=%dn,x,ydn,x,y););x=3;y=8;x=x*y+1;x=3;y=8;x=x*y+1;printf(xprintf(x=%=%d,yd,y=%=%dn,x,ydn,x,y););x=27,y=8x=27,y=8x=25,y=8x=25,y=811自增自减运算
11、符自增自减运算符 +(+(自增自增),-(),-(自减自减):+n,-m +n,-m 前缀,前缀,变量的值变量的值+(-)1 1n+,m-n+,m-后缀后缀,变量的值变量的值+(-)1 1优先级优先级:高于双目运算高于双目运算 结合性结合性:同级从右至左同级从右至左j=3;j=3;m=+j;m=+j;j=j+1;m=j;j=j+1;m=j;即即j j的为的为4 4,m m的值为的值为4 4n=j+;n=j+;n=n=j;jj;j=j+1;=j+1;即即j j的为的为4 4,n n的值为的值为3 3 说明:说明:对于对于j j变量,变量,j+j+和和+j+j都使都使j j的值加的值加1 1,但,
12、但m m和和n n的值就不同了的值就不同了,所以前缀和后缀运算对变量是一样的,对所以前缀和后缀运算对变量是一样的,对表达式的值就不一样。表达式的值就不一样。12自增自减应用自增自减应用【例例2.3】自增自减运算符的使用。自增自减运算符的使用。#include#includestdio.hstdio.hvoid main()void main()int i=8;int i=8;printf(%dn,+i);printf(%dn,+i);printf(%dn,-i);printf(%dn,-i);printf(%dn,i+);printf(%dn,i+);printf(%dn,i-);printf
13、(%dn,i-);printf(%dn,-i+);printf(%dn,-i+);printf(%dn,-i-);printf(%dn,-i-);9 98 88 89 9-8-8-9-913逗号运算符和表达式逗号运算符和表达式逗号表达式的格式:逗号表达式的格式:表达式表达式1,表达式,表达式2,表达式表达式n逗号表达式的求解顺序及结果:逗号表达式的求解顺序及结果:先求解表达式先求解表达式1,再求解表达式,再求解表达式2,,最后求解表最后求解表达式达式n;逗号表达式的最终结果为表达式逗号表达式的最终结果为表达式n的值。的值。实例实例:a=3*5,a*4 最终结果为最终结果为60 x=(a=10,
14、b=100,c=50)最终结果为最终结果为50 y=(i+,j-,k+2)最终结果为最终结果为k+214数据类型转换数据类型转换 自动转换:自动转换:当参加算术运算的数据类型不一致当参加算术运算的数据类型不一致时低级向高级转换;赋值运算符两边的数据类型时低级向高级转换;赋值运算符两边的数据类型不同时,将右侧表达式的值转换为左侧变量的类不同时,将右侧表达式的值转换为左侧变量的类型。型。强制转换:强制转换:强迫变量或表达式的值转换为某一强迫变量或表达式的值转换为某一特定类型。常用在自动类型转换不能达到目的时。特定类型。常用在自动类型转换不能达到目的时。转换格式为:转换格式为:(类型说明符类型说明符
15、)变量变量 (类型说明符类型说明符)()(表达式表达式)(double)adouble)a,(int)(x+yint)(x+y),(float)(5%3)(float)(5%3)M转换不会改变变转换不会改变变量定义时所规定的量定义时所规定的数据类型数据类型15赋值时的类型转换赋值时的类型转换“=”两侧类型不一致时,要将两侧类型不一致时,要将“=”右侧表达右侧表达式的值转换为式的值转换为“=”左侧变量的类型,右侧表达左侧变量的类型,右侧表达式类型的字节超过变量类型的字节时会出错式类型的字节超过变量类型的字节时会出错|整整实:实:截掉小数部分截掉小数部分|实实整:整:数值不变,存为浮点数值不变,存
16、为浮点|整整charchar:整型低整型低8 8位位charchar|整型整型(字节数相同的字节数相同的)unsigned)unsigned 整型整型:原样:原样送入。若超过整型表示范围会出错。送入。若超过整型表示范围会出错。|unsigned(unsigned(字节数相同的字节数相同的)非非unsignedunsigned整型整型:原样送入,符号位也作为数值原样送入,符号位也作为数值16C C语句语句 C C语言的语句用来向计算机发出操作指令。语言的语句用来向计算机发出操作指令。C C语语句分为以下四类:句分为以下四类:|执行语句执行语句:a+;a+;、printf(printf(“okok
17、”););等等|声明语句:声明语句:float float x,yx,y;|空语句:如:;空语句:如:;|复合语句:即用大括号把一些语句括起来。复合语句:即用大括号把一些语句括起来。intint x=1 x=1 intint x=2;x=2;intint x=3;x=3;printf(printf(“%dn%dn”,x,x););printf(printf(“%dn%dn”,x,x););printf(printf(“%dn%dn”,x,x););17输入输出控制输入输出控制 C C语言本身没有输入语言本身没有输入/输出语句,所有输入输出语句,所有输入/输出都由函数来实现输出都由函数来实现C
18、C语言的标准库函数语言的标准库函数|是由编译系统提供的一系列子程序是由编译系统提供的一系列子程序|调用形式:调用形式:函数名函数名(参数表参数表)|输入输出函数在使用前须用预编译命令输入输出函数在使用前须用预编译命令 “#include#include”将将“stdio.hstdio.h”头文件包含头文件包含到用户的源文件中。即:到用户的源文件中。即:#include#include “stdio.hstdio.h”18标准输入输出函数标准输入输出函数字符字符I/OI/O字符串字符串I/OI/O格式格式I/OI/Ogetchar()getchar()putchar()putchar()scan
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计课件 第2章 顺序结构 语言程序设计 课件 顺序 结构
限制150内