C语言第3章顺序结构程序设计_第1页
C语言第3章顺序结构程序设计_第2页
C语言第3章顺序结构程序设计_第3页
C语言第3章顺序结构程序设计_第4页
C语言第3章顺序结构程序设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第3 3章章 顺序结构程序设计顺序结构程序设计1第第3 3章章 顺序结构程序设计顺序结构程序设计2一一C C运算符简介运算符简介二二算术运算符和算术表达式算术运算符和算术表达式三三类型转换和自增、自减运算符类型转换和自增、自减运算符四四赋值运算符和赋值表达式赋值运算符和赋值表达式五五顺序结构程序设计顺序结构程序设计第第3 3章章 顺序结构程序设计顺序结构程序设计31.算术运算符算术运算符 + - * / %2.关系运算符关系运算符 = = != 3.逻辑运算符逻辑运算符 ! & |4.位运算符位运算符 | 5.赋值运算符赋值运算符 = += -= *= /= %= 等等6.条件运算符

2、条件运算符 ? : 7.逗号运算符逗号运算符 ,8.指针运算符指针运算符 *和和9.求字节数运算符求字节数运算符 sizeof10. 强制类型转换运算符强制类型转换运算符 (类型)类型) 11. 分量运算符分量运算符 -12. 下标运算符下标运算符 13. 其他其他 如函数调用运算符如函数调用运算符 ()()分类分类 运算符运算符 36页!页!第第3 3章章 顺序结构程序设计顺序结构程序设计4基本算术运算符基本算术运算符+ - * / %例例15/3=1 -5/3=-15%3=2模运算符或求余运算符模运算符或求余运算符只能用于只能用于整数整数运算运算算术表达式算术表达式用算术运算符和括号将用算

3、术运算符和括号将运算对象运算对象(也称操作数)连接起(也称操作数)连接起来的、符合来的、符合C语法规则的式子。语法规则的式子。优先级和优先级和结合性结合性先乘除、后加减,有括号先算括号。先乘除、后加减,有括号先算括号。自左至右自左至右两个整数相除的结果为整数两个整数相除的结果为整数常量、变量、函数等常量、变量、函数等说明说明如果一个运算符两侧的数据类型不同,先自动进行如果一个运算符两侧的数据类型不同,先自动进行类型转换类型转换,使二者具有同一类型,然后进行运算。,使二者具有同一类型,然后进行运算。C规定了各种运算符的规定了各种运算符的结合方向(结合性)结合方向(结合性)第第3 3章章 顺序结构

4、程序设计顺序结构程序设计5转换规则转换规则例例2doublefloatlongunsignedintchar,short高高低低详见详见46页页int i;float f;double d;long e; i=2;f=2.5;d=3.9;e=3; 10+a+i*f-d/e1075.01.3112. 0110. 7intdoubledoubledoubledouble 1、低类型转化为高类型。、低类型转化为高类型。2、float型数据在运算时,型数据在运算时,一律转化为一律转化为double型。型。第第3 3章章 顺序结构程序设计顺序结构程序设计6强制类型转换强制类型转换运算符运算符自增、自减自

5、增、自减运算符运算符格式:(类型名)(表达式)格式:(类型名)(表达式)举例:举例: float x,y; x=2.3 ; y=4.5 (int)(x+y) : 6 (int) (int)x+y : 6.5 (double)作用:使变量的值增作用:使变量的值增1或减或减1。格式:格式: +i , -i i+ , i- 例例3i=3;A) j=+i;B) j=i+;i=i+1i=i-1? j,i A) j=4 i=4B) j=3 i=4第第3 3章章 顺序结构程序设计顺序结构程序设计7例例3.1#include stdio.hint main( ) int n,x,y; n=4; x=+n; p

6、rintf(n=%dtx=%dn,n,x); n=4; y=n+; printf(n=%dty=%dn,n,y); return 0;程序的运行结果是:程序的运行结果是: n=5 x=5n=5 y=443页页第第3 3章章 顺序结构程序设计顺序结构程序设计8例例3.2#include stdio.hint main( ) int n,x,y; n=4; x=-n; printf(n=%dtx=%dn,n,x); n=4; y=n-; printf(n=%dty=%dn,n,y); return 0;程序的运行结果是:程序的运行结果是: n=3 x=3n=3 y=444页页第第3 3章章 顺序结

7、构程序设计顺序结构程序设计9例例3.34 5 54 4 54 3 34 4 344页页#include stdio.hint main( ) int n; n=4; printf(%dt,n); printf(%dt,+n); printf(%dnn,n); n=4; printf(%dt,n); printf(%dt,n+); printf(%dnn,n); n=4; printf(%dt,n); printf(%dt,-n); printf(%dnn,n); n=4; printf(%dt,n); printf(%dt,n-); printf(%dnn,n); return 0;程序的运行

8、结果是:程序的运行结果是:第第3 3章章 顺序结构程序设计顺序结构程序设计10说明说明1、自增运算符和自减运算符只能用于变量、自增运算符和自减运算符只能用于变量 而不能用于常量和表达式。而不能用于常量和表达式。2、+和和-的结合方向为自右至左。(的结合方向为自右至左。(P57)3、自增、自减运算符和自减运算符常用于、自增、自减运算符和自减运算符常用于 循环语句中,是循环变量自动加循环语句中,是循环变量自动加1,也用,也用 于指针变量,使指针指向下一个地址。于指针变量,使指针指向下一个地址。4、使用、使用+和和-时,常会出现一些人们时,常会出现一些人们“想不想不 到到”的的副作用副作用,初学者要

9、慎用。,初学者要慎用。第第3 3章章 顺序结构程序设计顺序结构程序设计11赋值运算符赋值运算符简单:简单:=复合:复合:+=, -=,*=,/=,%= 赋值表达式赋值表达式 类型转换类型转换条件:当赋值运算符两侧的类型不一致时条件:当赋值运算符两侧的类型不一致时原则:以变量类型为准。具体见原则:以变量类型为准。具体见P39。例例1float a; int b;a=1.2;b=a*3;? b b=3例例2a+=3;x*=y+8a=a+3;x=x*(y+8)例例3a=b=5;a=7+(b=8)? a,b a=5 ;b=5a=15;b=8右结合性右结合性第第3 3章章 顺序结构程序设计顺序结构程序设

10、计12C C语言程序由函数组成,有一些函数是用户编写的语言程序由函数组成,有一些函数是用户编写的自定义函数自定义函数,还有一些是预先定义的还有一些是预先定义的标准标准C C函数函数,程序中经常用到的一些操作,程序中经常用到的一些操作(例如输入、输出等)都被事先编写成相应的函数(例如输入、输出等)都被事先编写成相应的函数, ,保存在保存在C C的的函数库函数库中,可以供用户使用时直接调用。中,可以供用户使用时直接调用。标准标准C C函数按照不同的类别,声明信息放在不同的头文件中,例函数按照不同的类别,声明信息放在不同的头文件中,例如,如,printf( )printf( )和和scanf( )s

11、canf( )等输入输出函数的声明信息放在头文等输入输出函数的声明信息放在头文件件stdio.hstdio.h中,需要时使用预编译处理命令中,需要时使用预编译处理命令#include #include stdio.hstdio.h,进行声明。,进行声明。标准标准C C函数中有一类是函数中有一类是数学函数数学函数,用来完成一些常用的数学计算。,用来完成一些常用的数学计算。这些数学函数的声明信息放在头文件这些数学函数的声明信息放在头文件math.hmath.h中,它含有数学中,它含有数学函数的定义。需要时使用预编译处理命令函数的定义。需要时使用预编译处理命令#include math.h#incl

12、ude math.h,进行声明,告诉编译器应该去访问数学函数库,这个命令要放进行声明,告诉编译器应该去访问数学函数库,这个命令要放在程序的开始处。在程序的开始处。54页页第第3 3章章 顺序结构程序设计顺序结构程序设计13函数通常是按如下顺序书写的:函数名、左圆括号、函数通常是按如下顺序书写的:函数名、左圆括号、参数(或用逗号分隔的参数列表)、右圆括号。参数(或用逗号分隔的参数列表)、右圆括号。例如,例如,计算计算x x的平方根函数的平方根函数sqrtsqrt的书写格式是:的书写格式是:sqrt(x)sqrt(x),计算计算ex的函数的函数expexp的书写格式是:的书写格式是:exp(x)e

13、xp(x),计算计算xy的函数的函数powpow的书写格式是:的书写格式是:pow(x,y)pow(x,y),计算计算|x|x|的函数的函数fabsfabs的书写格式是:的书写格式是:fabs(x)fabs(x),计算计算弧度值弧度值x x的三角函数的三角函数的书写格式是:的书写格式是:sin(x)sin(x)、cos(x)cos(x)、tan(x)tan(x)等等。等等。第第3 3章章 顺序结构程序设计顺序结构程序设计14当需要处理的表达式中出现数学函数时,表达式要按照当需要处理的表达式中出现数学函数时,表达式要按照C C语言语言的格式书写。例如,的格式书写。例如,写出以下表达式的写出以下表

14、达式的C C语言表达式是语言表达式是: :xex2)2( aacbb242yearratemoney)1 ( (x+2)*exp(2*x) (-b+sqrt(b*b-4*a*c)/(2*a) money * pow(1 + rate), year)第第3 3章章 顺序结构程序设计顺序结构程序设计15C语句语句控制语句控制语句函数调用函数调用语句语句由一次函数调用加由一次函数调用加一个分号构成一个一个分号构成一个语句。语句。表达式语句表达式语句空语句空语句?1、出现在函数体的执行、出现在函数体的执行 部分。部分。2、作用是向计算机系统、作用是向计算机系统 发出发出操作操作指令。指令。复合语句复合

15、语句if () else switchfor () while () do while()continuebreakgotoreturnif (xy) z=x;else z=y;printf(Hello!);由表达式加一个分由表达式加一个分号构成一个语句。号构成一个语句。a=3;由由 将一些语句将一些语句括起来。括起来。 t=a; a=b; b=t;?第第3 3章章 顺序结构程序设计顺序结构程序设计16例例3.6编写程序,实现两个变量值的交换功能。编写程序,实现两个变量值的交换功能。在顺序结构程序中,各语句(或命令)是按照位置的在顺序结构程序中,各语句(或命令)是按照位置的先后次序先后次序,顺

16、顺序执行序执行的,且每条语句都会被执行到。的,且每条语句都会被执行到。56页页例如:例如:int a=10,b=25;分析:实现两个变量分析:实现两个变量值的交换,需要借助值的交换,需要借助第三变量(假设为第三变量(假设为t)结果为:结果为:a=25,b=10。即:即:printf(“a=%d,b=%d”,a,b;)t=a;a=b;b=t;即: 或:或: int a,b; a=10;b=25;或:或: int a,b; scanf(“%d%d”,&a,&b); 第第3 3章章 顺序结构程序设计顺序结构程序设计17#include stdio.hint main( ) int a

17、,b,t; /增强人机交互性。增强人机交互性。 printf(请输入请输入a,b的初始值的初始值); scanf(%d%d,&a,&b); printf(交换之前交换之前a,b的值的值n); printf(a=%dtb=%dn,a,b); t=a; a=b; b=t; printf(交换之后交换之后a,b的值的值n); printf(a=%dtb=%dn,a,b); return 0;程序显示:程序显示:请输入请输入a,b的初始值:的初始值: 10 25 以下为程序运行结果:以下为程序运行结果:交换之前交换之前a,b的值的值a=10 b=25交换之后交换之后a,b的值的值a=2

18、5 b=10运行情况:运行情况:第第3 3章章 顺序结构程序设计顺序结构程序设计18例例3.7输入三角形的三边,求三角形的面积。输入三角形的三边,求三角形的面积。#include #include void main() float a,b,c,s,area; printf(请输入三角形的三边:请输入三角形的三边:); scanf(%f%f%f,&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(“area=%7.2fn, area);请输入三角形的三边:请输入三角形的三边:3 4 5 area=6

19、.00分析分析a,b,c:表示三角形的三边。表示三角形的三边。 s:中间变量。中间变量。 s=(a+b+c)/2sarea:三角形面积。三角形面积。以上变量均为实型。以上变量均为实型。输入输入a,b,c输出输出areas (a+b+c)/2areasqrt(s*(s-a)*(s-b)*(s-c)?若输入若输入3 4 8-2 -3 9运行情况:运行情况:57页页第第3 3章章 顺序结构程序设计顺序结构程序设计19例例3.8分析分析58页页从键盘输入一个大写字母,转换成相应的小写字母输出。从键盘输入一个大写字母,转换成相应的小写字母输出。#include void main() char c1,c

20、2; /增强人机交互性。增强人机交互性。 printf(请输入一个大写字母:请输入一个大写字母:); c1=getchar(); printf(“转换前:转换前:%c,%dn,c1,c1); c2=c1+32; printf(“转换后:转换后: %c,%dn,c2,c2);请输入一个大写字母:请输入一个大写字母:A A,65a,97运行情况:运行情况:大小写字母的转换算法为:大写字母大小写字母的转换算法为:大写字母ASCII码值加上码值加上32得到对应小写字母得到对应小写字母ASCII码值码值第第3 3章章 顺序结构程序设计顺序结构程序设计20例例3.9分析分析58页页编写程序,分行输出一个编写程序,分行输出一个3位整数的每一位数字。位整数的每一位数字。#include stdio.hint main( ) int x,a,b,c; printf(请输入一个请输入一个3位整数位整数n); scanf(%d,&x); printf(您输入的您输入的3位整数是:位整数是:%dn,x); a=x/100; b=x%100/10; c=x%10; printf(分行输出结果是:分行输出结果是:n); printf(%dn,a); print

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论