第2章顺序结构流程与应用_第1页
第2章顺序结构流程与应用_第2页
第2章顺序结构流程与应用_第3页
第2章顺序结构流程与应用_第4页
第2章顺序结构流程与应用_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

第2章顺序结构流程与应用第一页,共49页。学习目标1了解C语言中的数据类型2熟悉标识符、常量与变量的使用3掌握数据输入/输出处理4熟悉运算符与表达式5掌握顺序结构程序设计第二页,共49页。2.1基本字符、标识符和关键字学一学基本字符标识符关键字第三页,共49页。

基本字符C语言中使用的基本字符包括:数字字符:0~9;大小写英文字母:a~z,A~Z;其他可打印(可显示)字符:!#%^&*_(下划线)-+=~<>/\|.,:;?‘“()[]{}空白字符:空格符、换行符、制表符等。第四页,共49页。

和其它高级语言一样,用来标识函数名、变量名、符号常量、数组名、类型名、文件名的有效字符序列称为“标识符”(identifier),通俗地讲,标识符就是一个名字。在C语言中,标识符的命名规则为:(1)有效字符:只能由字母、数字和下划线组成,且以字母或下划线开头;(2)有效长度:随系统而异,但至少前8个字符有效。如果超长,则超长部分被舍弃;(3)C语言的关键字(或称保留字)不能用作标识符。例如:

sum,Total,day,_f2048,,a3b06

都是合法的标识符,而

99new,a-b,W.S.Piter,$88,cd#ab,@vbase,int

都是不合法标识符。标识符第五页,共49页。关键字

由系统预先定义的标识符称“关键字”,它们都有特殊的含意,不能用于其它目的。C语言关键字32个,如表2-1所示。第六页,共49页。2.2数据类型及常量、变量学一学数据类型常量变量第七页,共49页。C语言的数据类型

第八页,共49页。常量常量是在程序的执行过程中其值不变的量。常量不需要类型说明就可以直接使用,常量的类型是由常量本身隐含决定的。从其表现形式常量分为普通常量和符号常量。普通常量就是用数字直接表示的常量。符号常量是用一个标识符来代表的常量。无论是普通常量,还是符号常量,它们都有自己的类型。

第九页,共49页。普通常量与符号常量 1.普通常量 普通常量有3类:数值常量、字符型常量和字符串常量。例如,

1,200,3500,0x12——整型数值常量

835.6,77.2,0.618——实型数值常量 ‘a’,‘A’,‘$’——字符型常量 “Hello”,“Welcome”——字符串常量

2.符号常量 在C语言程序中,可对常量进行命名,即用符号代替常量,叫做符号常量,一般用大写字母表示,一经定义就可以代替常量使用。第十页,共49页。变量

变量是指在程序执行过程中,其值可以改变的量。一个变量用一个名字表示,在内存中占据一定的存储单元,用于存放变量的值。变量必须先定义后使用,变量的值可以通过赋值的方法获得和改变。第十一页,共49页。变量定义和初始化 [存储类型]数据类型变量名1[=初始数据],变量名2[=初始数据2],…,变量n[=初始数据n];第十二页,共49页。试一试

问题2.1新生入学需要保存学生数据,现在定义整型变量存放年龄、学号,定义字符变量存放性别,定义浮点型变量存放入学分数和班费。

intiAge=20,iNum=201; charcSex=’m’;/*f:female(女),m:male(男)*/ floatfScore,fSum; fScore=580.5; fMoney=78.5第十三页,共49页。想一想

生活、学习、工作中有哪些量是其值不变的常量?哪些信息是经常变化的?定义成什么类型的变量比较合适?第十四页,共49页。2.3数据的输出和输入

数据的格式化输出数据的格式化输入单个字符的输出和输入第十五页,共49页。数据的格式化输出

学一学printf函数的一般形式为:

printf(格式控制,[输出表列]);比如:printf(”ID:%d\n”,iNum);

第十六页,共49页。试一试

问题2.2新生入学需要将自己的姓名、年龄、学号、性别、入学成绩打印出来,请编程实现。【解题步骤】1.定义整型变量iAge,iNum存放年龄、学号;2.定义字符变量chSex存放性别;3.定义实型变量fScore用来存放入学成绩;4.用printf函数上面的信息打印出来;调试问题2.2程序,观察运行结果第十七页,共49页。

再试一试问题2.3转义字符输出演示。请观察下面程序运行结果。

#include“stdio.h”voidmain(){charch1,ch2,ch3;ch1=‘n’;ch2=‘e’;ch3=‘\167’;/*8进制数167代表的字符w*/printf(“%c%c%c\n”,ch1,ch2,ch3);/*以字符格式输出*/printf(“%c\t%c\t%c\n”,ch1,ch2,ch3);/*每输出一个字符后跳到下一个输出区*/printf(“%c\n%c\n%c\n”,ch1,ch2,ch3);/*每输出一个字符后换行*/}第十八页,共49页。

数据的格式化输入

格式化输入函数scanf的功能是用来从外部设备(通常是键盘),向程序中的变量输入一个或若干个任意类型的数据。scanf函数的一般形式为:

scanf(格式控制,地址表列);比如:scanf("%d%d",&iPrize1,&iPrize2);第十九页,共49页。试一试问题2.4Tony因学习努力,成绩突出,上半学年获奖学金2500元,下半学年获奖学金3000元。用scanf函数输入数据,计算Tony本学年所获得的奖学金并输出结果。【解题步骤】1.定义变量iPrize1、iPrize2和iSum用来存放上半年、下半年和本年度的奖学金值;2.输出提示信息;3.从键盘输入上半年和下半年的奖学金;4.计算本年度奖学金存入iSum;5.输出本年度奖学金iSum中的值。调试问题2.4程序,观察运行结果第二十页,共49页。单个字符的输出和输入

函数putchar()和getchar()专门用来输入和输出字符型数据,使用时要包含头文件stdio.h。putchar函数的功能是用于将一个字符输出到显示器上显示,其一般调用形式为:putchar(ch);

其中,ch为一个字符型数据(普通字符或转义字符)或整型数据(0~255)。getchar函数的功能是从标准输入设备(键盘)读入一个字符。它的一般调用形式为:

ch=getchar();

其中ch为一个字符型变量,把从键盘接收到字符放到变量ch中。第二十一页,共49页。试一试问题2.5从键盘输入一个小写字母,将其转化为大写字母输出。【解题步骤】定义字符变量ch用来存放从键盘输入的数据。;输出提示信息;从键盘接收一个小写字母存入ch;将字符ch转换为大写字母,即ch-32后仍存入到ch;输出字符变量ch中的字符;调试问题2.5程序,观察运行结果第二十二页,共49页。小结格式化输出函数printf中双引号括起来的内容除了%d等格式说明符外,其它字符原样输出。同样格式化输入函数scanf中双引号括起来的内容除了%d等格式说明符外,其它字符照原样输入。printf函数中的格式说明符非常丰富,如表2-4所示。使用scanf函数时要输入的变量名前要加取地址符号“&”,scanf函数的格式说明符如表2-5所示第二十三页,共49页。2.4运算符与表达式算术运算符与算术表达式赋值运算符和赋值表达式

逗号运算符和逗号表达式第二十四页,共49页。运算符分类C的运算符大致有如下的几类。基本算术运算符:+-*/%关系运算符:<>>=<===!=逻辑运算符:!&&||强制类型转换运算符:()自增、自减运算符:++――赋值运算符:=条件运算符:?:逗号运算符:,指针运算符:*&求字节数运算符:sizeof位运算符:<<>>~|^&分量运算符:.->下标运算符:[]第二十五页,共49页。算术运算符和算术表达式试一试问题2.6从键盘输入一个3位数,求该数个位、十位、百位上的数的和。【解题步骤】定义整型变量iNum接收从键盘输入的三位数;定义整型变量i1,i2,i3,iSum用来存放个位、十位、百位上的数据及其和;从键盘输入一个3位数存入变量iNum中;用iNum%10求得个位上的数存入i1中,用iNum/10%10求得十位上的数存入i2中;用iNum/100求得百位上的数存入i3中;求和输出和。调试问题2.6程序,观察运行结果第二十六页,共49页。想一想对于一个四位整数,其千位、百位、十位、个位上的数如何求得?第二十七页,共49页。强制类型转换运算符学一学在实际应用中,常常要把一些表达式的类型转换成所需的类型。C语言提供了强制类型转换运算符。其格式为:(类型名)(表达式)比如:intx=(int)(123.56);第二十八页,共49页。试一试问题2.7从键盘输入一个球的半径值,计算并输出这个球的体积。球体积计算公式为:v=4/3*∏*r3。其中r是球的半径,∏是圆周率,v是球的体积。【解题步骤】定义符号常量PAI=3.1415926作为圆周率;定义float型变量fRadius、fVolum用来存放球半径和球体积;从键盘输入球半径放变量fRadius;计算球的体积;输出球体积。调试问题2.7程序,观察运行结果第二十九页,共49页。自增、自减运算符学一学自增、自减运算符是单目运算符,即对一个运算对象施加运算,运算结果仍赋予该对象。参加运算的对象必须是变量。如表2-7所示。第三十页,共49页。试一试问题2.8

运行下面的程序,观察并分析自增、自减运算符的用法。#include“stdio.h”voidmain(){intiX,iY;iX=2;iY=iX++*4;printf(“iX=%d,iY=%d\n”,iX,iY);iX=2;iY=iX--*4;printf(“iX=%d,iY=%d\n”,iX,iY);iX=2;iY=++iX*4;printf(“iX=%d,iY=%d\n”,iX,iY);iX=2;iY=--iX*4;printf(“iX=%d,iY=%d\n”,iX,iY);}第三十一页,共49页。算术表达式学一学用算术运算符和括号将运算对象(也称操作数)连接起来的符合C语法规则的式子,称为C算术表达式。运算对象可以是常量、变量、函数等。5.算术运算符的优先级和结合方向C语言规定了运算符的优先级和结合方向,在表达式求值时,先按运算符的优先级别高低次序执行,再按运算符的结合方向结合(相同优先级时)。例如先乘除后加减,如表2-8所第三十二页,共49页。算术运算符的优先级和结合方向C语言规定了运算符的优先级和结合方向,在表达式求值时,先按运算符的优先级别高低次序执行,再按运算符的结合方向结合(相同优先级时)。例如先乘除后加减,如表2-8所示。第三十三页,共49页。试一试问题2.9

函数f(x)=3x3+2x2+x+1,编一程序计算并输出f(3)值。【解题步骤】定义整型变量iX、iY;从键盘输入一个自变量的值;计算函数值;输出函数值;调试问题2.9程序,观察运行结果第三十四页,共49页。赋值运算符和赋值表达式学一学1.赋值运算符在C语言中,等号“=”被作为是一种运算符来处理,称为赋值运算符。其一般形式为:<变量名>=<表达式>;它的作用就是将右边表达式的值赋给左边的变量2.复合赋值运算符在赋值运算符的前面加上一个其它运算符后就构成复合的赋值运算符。其一般形式为:<变量><双目运算符>=<表达式>;等价于:<变量>=<变量><双目运算符><表达式>;3.赋值表达式由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式,它的一般形式为:<变量><赋值运算符><表达式>第三十五页,共49页。试一试问题2.10赋值运算符和赋值表达式用法演示,运行程序并观察运行结果。#include“stdio.h”voidmain(){intiA,iB,iC,iX,iY;iA=2;iY=iX=2*iA+6;printf("\niA=%d",iA);/*输出赋值表达式iA的值*/printf("\niX=2*iA+6is%d",iX=2*iA+6);/*输出赋值表达式iX=2*iA+6的值*/printf("\niY=%d",iY);/*输出变量iY的值*/iC=iB=iA=4;/*表达式iB=iA=4赋给iC*/printf("\niB=iA=4is%d",iB=iA=4);/*输出表达式iB=iA=4的值*/printf("\niA=%d,iB=%d,iC=%d",iA,iB,iC);/*输出变量iA,iB,iC的值*/}调试问题2.10程序,观察运行结果第三十六页,共49页。逗号运算符和逗号表达式

学一学逗号运算符“,”作为C语言的一种特殊的运算符,也称为顺序求值运算符,它的作用是把多个表达式连接起来,用逗号运算符连接起来的式子称为逗号表达式,其一般形式为:表达式1,表达式2,...,表达式n表达式的求解过程按照从左到右的顺序逐个求解表达式1,表达式2,...,表达式n,而整个逗号表达式的值是最后一个表达式(表达式n)的值。第三十七页,共49页。试一试问题2.11逗号运算符和逗号表达式用法演示,运行程序并观察运行结果。【程序代码】#include“stdio.h”voidmain(){intiA=2,iB=3;intiX,iY;floatfC;iX=(iA*2+1,iY=iB+2,iA*iY);fC=(iA+5,2.0*iX);printf("iX=%d,iY=%d\n",iX,iY);printf("fC=%f\n",fC);}调试问题2.11程序,观察运行结果第三十八页,共49页。小结不同数据类型的数据进行混合运算时,往往需要进行类型转换。在C语言中这种转换通常是自动进行的,当然也可以通过强制类型转换运算符进强制进行。各种运算符具有优先级和结合方向,通常情况下,可用圆括号限制优先级

第三十九页,共49页。2.5顺序结构程序设计C是结构化程序设计语言,结构化程序设计的基本思想是,用顺序结构、选择结构和循环结构三种基本结构来构造程序。C语言提供了丰富的语句用来支持结构化的程序设计。第四十页,共49页。C语句的分类C语句可以分为以下五大类:1.函数调用语句。由一次函数调用加一个分号构成的语句。2.表达式语句。表达式的后面加一个分号就构成了一个表达式语句。3.空语句,光有一个分号“;”,作为语句结束符,它表示什么也不做。4.复合语句。由“{”和“}”把一些变量说明和语句组合在一起,称之为复合语句(Block),又称语句块。5.控制语句,共九种。第四十一页,共49页。C的控制语句⑴if语句(条件语句)⑵switch语句(多分支选择语句)⑶while语句(循环语句)⑷do-while语句(循环语句)⑸for语句(循环语句)⑹break语句(终止执行循环语句或switch语句)⑺continue语句(结束本次循环语句)⑻goto语句(转向语句)⑼return语句(从函数返回语句)第四十二页,共49页。程序的三种基本结构1.顺序结构顺序执行每个操作,即先执行A操作,再执行B操作,两者之间是顺序执行的关系。图2-3

温馨提示

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

评论

0/150

提交评论