版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章顺序结构流程及应用
本章内容中我们将学习1C语言中的数据类型2标识符、常量与变量3数据输入/输出处理4运算符与表达式5顺序结构程序设计第2章顺序结构流程及应用本章内容中我们将学习12.1基本字符、标识符和关键字学一学基本字符标识符关键字2.1基本字符、标识符和关键字学一学2基本字符一个C程序也可以看成是由C语言的基本字符按一定的规则组成的一个序列。C语言中使用的基本字符包括:数字字符:0~9;大小写英文字母:a~z,A~Z;其他可打印(可显示)字符:!#%^&*_(下划线)-+=~<>/\|.,:;?‘“()[]{}空白字符:空格符、换行符、制表符等。基本字符一个C程序也可以看成是由C语言的基本字符按一定3
和其它高级语言一样,用来标识函数名、变量名、符号常量、数组名、类型名、文件名的有效字符序列称为“标识符”(identifier),通俗地讲,标识符就是一个名字。在C语言中,标识符的命名规则为:(1)有效字符:只能由字母、数字和下划线组成,且以字母或下划线开头;(2)有效长度:随系统而异,但至少前8个字符有效。如果超长,则超长部分被舍弃;(3)C语言的关键字(或称保留字)不能用作标识符。例如:sum,Total,day,_f2048,file_name,a3b06 都是合法的标识符,而 99new,a-b,W.S.Piter,$88,cd#ab,@vbase,int 都是不合法标识符。标识符
和其它高级语言一样,用来标识函数名、变量名、符4关键字 由系统预先定义的标识符称“关键字”,它们都有特殊的含意,不能用于其它目的。C语言关键字32个,如表2-1所示。关键字 由系统预先定义的标识符称“关键字”,它们都有特殊的含52.2数据类型及常量、变量
学一学数据类型常量变量2.2数据类型及常量、变量学一学6数据类型
数据类型7常量常量是在程序的执行过程中其值不变的量。在C语言中,常量不需要类型说明就可以直接使用,常量的类型是由常量本身隐含决定的。在C语言中,从其表现形式常量分为普通常量和符号常量。普通常量就是用数字直接表示的常量,符号常量是用一个标识符来代表的常量。无论是普通常量,还是符号常量,它们都有自己的类型。
常量8普通常量与符号常量 1.普通常量 普通常量有3类:数值常量、字符型常量和字符串常量。例如, 1,200,3500,0x12——整型数值常量 835.6,77.2,0.618——实型数值常量 ‘a’,‘A’,‘$’——字符型常量 “Hello”,“Welcome”——字符串常量 2.符号常量 在C语言程序中,可对常量进行命名,即用符号代替常量,叫做符号常量,一般用大写字母表示,一经定义就可以代替常量使用。普通常量与符号常量 1.普通常量9变量 变量是指在程序执行过程中,其值可以改变的量。一个变量用一个名字表示,在内存中占据一定的存储单元,用于存放变量的值。变量必须先定义后使用,变量的值可以通过赋值的方法获得和改变。变量 变量是指在程序执行过程中,其值可以改变的量。10变量定义和初始化 [存储类型]数据类型变量名1[=初始数据],变量名2[=初始数据2],…,变量n[=初始数据n];变量定义和初始化11试一试 问题2.1新生入学需要保存学生数据,现在定义整型变量存放年龄、学号,定义字符变量存放性别,定义浮点型变量存放入学分数和班费。 intiAge=20,iNum=201; charcSex=’m’;/*f:female(女),m:male(男)*/ floatfScore,fSum; fScore=580.5; fMoney=78.5试一试 问题2.1新生入学需要保存学生数据,现在定义整型变量12想一想
生活、学习、工作中有哪些量是其值不变的常量?哪些信息是经常变化的?定义成什么类型的变量比较合适?想一想132.3数据的输出和输入数据的格式化输出数据的格式化输入单个字符的输出和输入2.3数据的输出和输入14数据的格式化输出学一学格式化输出函数printf的功能是按指定的格式向终端(或系统默认的输出设备)输出若干个任意类型的数据。printf函数的一般形式为:printf(格式控制,[输出表列]);其中,“格式控制”是用双引号括起来的字符串,也称“转换控制字符串”。它是由字符“%”、格式字符(如d、f、c等)和普通字符(原样输出的)组成。“输出表列”是一些与“格式控制”中的格式字符一一对应的需要输出的数据,可以是变量或表达式。。数据的格式化输出学一学15试一试问题2.2新生入学需要将自己的姓名、年龄、学号、性别、入学成绩打印出来,请编程实现。【解题步骤】1.定义整型变量iAge,iNum存放年龄、学号;2.定义字符变量chSex存放性别;3.定义实型变量fScore用来存放入学成绩;4.用printf函数上面的信息打印出来;试一试问题2.2新生入学需要将自己的姓名、年龄、学号16程序代码#include“stdio.h”voidmain(){intiAge=20,iNum=201; charchSex=’m’;/*f:female(女),m:male(男)*/floatfScore=580.5;printf(“Tony’spersonalinformation\n”);printf(“Name:Tony\n”);printf(“ID:%d\n”,iNum);printf(“Age:%d\nSex:%c\nScore:%d\n”,iAge,chSex,fScore);}程序代码17
问题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);/*每输出一个字符后换行*/}问题2.3转义字符输出演示请观察下面程序运行结果。18数据的格式化输入格式化输入函数scanf的功能是用来从外部设备(通常是键盘),向程序中的变量输入一个或若干个任意类型的数据。scanf函数的一般形式为:scanf(格式控制,地址表列);其中“格式控制”的含义同printf函数;“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。数据的格式化输入格式化输入函数scanf的功能是用19试一试问题2.4Tony因学习努力,成绩突出,上半学年获奖学金2500元,下半学年获奖学金3000元。用scanf函数输入数据,计算Tony本学年所获得的奖学金并输出结果。【解题步骤】1.定义变量iPrize1、iPrize2和iSum用来存放上半年、下半年和本年度的奖学金值;2.输出提示信息;3.从键盘输入上半年和下半年的奖学金;4.计算本年度奖学金存入iSum;5.输出本年度奖学金iSum中的值。试一试问题2.4Tony因学习努力,成绩突出,上半学年获奖20程序代码
#include“stdio.h”voidmain(){intiPrize1,iPrize2,iSum;/*定义变量*/printf("pleaseinputtwoprizes:");/*输出提示信息*/scanf("%d%d",&iPrize1,&iPrize2);/*从键盘输入数据*/isum=iPriz1+iPrize2;/*求和计算*/printf("Tom’sprizeis%d",iSum);/*输出计算结果*/}?程序代码21单个字符的输出和输入函数putchar()和getchar()专门用来输入和输出字符型数据,使用时要包含头文件stdio.h。putchar函数的功能是用于将一个字符输出到显示器上显示,其一般调用形式为:putchar(ch);其中,ch为一个字符型数据(普通字符或转义字符)或整型数据(0~255)。getchar函数的功能是从标准输入设备(键盘)读入一个字符。它的一般调用形式为:ch=getchar();其中ch为一个字符型变量,把从键盘接收到字符放到变量ch中。单个字符的输出和输入函数putchar()和getc22试一试问题2.5从键盘输入一个小写字母,将其转化为大写字母输出。【解题步骤】定义字符变量ch用来存放从键盘输入的数据。;输出提示信息;从键盘接收一个小写字母存入ch;将字符ch转换为大写字母,即ch-32后仍存入到ch;输出字符变量ch中的字符;试一试23程序代码#include“stdio.h”voidmain(){charch;printf(“从键盘输入一个小写字母”);ch=getchar();/*从键盘接收一个小写字母*/ch=ch-32;/*小写字母转化为大写字母*/putchar(ch);/*输出大写字母*/}程序代码#include“stdio.h”24小结格式化输出函数printf中双引号括起来的内容除了%d等格式说明符外,其它字符原样输出。同样格式化输入函数scanf中双引号括起来的内容除了%d等格式说明符外,其它字符照原样输入。printf函数中的格式说明符非常丰富,如表2-4所示。使用scanf函数时要输入的变量名前要加取地址符号“&”,scanf函数的格式说明符如表2-5所示小结格式化输出函数printf中双引号括起来的内容除了%d等252.4运算符与表达式算术运算符与算术表达式赋值运算符和赋值表达式
逗号运算符和逗号表达式2.4运算符与表达式算术运算符与算术表达式26运算符分类C的运算符大致有如下的几类。基本算术运算符:+-*/%关系运算符:<>>=<===!=逻辑运算符:!&&||强制类型转换运算符:()自增、自减运算符:++――赋值运算符:=条件运算符:?:逗号运算符:,指针运算符:*&求字节数运算符:sizeof位运算符:<<>>~|^&分量运算符:.->下标运算符:[]运算符分类C的运算符大致有如下的几类。27算术运算符和算术表达式试一试问题2.6从键盘输入一个3位数,求该数个位、十位、百位上的数的和。【解题步骤】定义整型变量iNum接收从键盘输入的三位数;定义整型变量i1,i2,i3,iSum用来存放个位、十位、百位上的数据及其和;从键盘输入一个3位数存入变量iNum中;用iNum%10求得个位上的数存入i1中,用iNum/10%10求得十位上的数存入i2中;用iNum/100求得百位上的数存入i3中;求和输出和。算术运算符和算术表达式试一试28程序代码#include“stdio.h”voidmain(){intiNum;inti1,i2,i3,iSum;printf(“pleaseinputainteger(100-999):”);scanf(“d%”,&iNum);i1=iNum%10;/*求个位数*/i2=iNum/10%10;/*求十位数*/i3=iNum/100;/*求百位数*/iSum=i1+i2+i3;printf(“d%thesumis:”,iSum);}程序代码#include“stdio.h”29想一想对于一个四位整数,其千位、百位、十位、个位上的数如何求得?想一想30强制类型转换运算符学一学在实际应用中,常常要把一些表达式的类型转换成所需的类型。C语言提供了强制类型转换运算符。其格式为:(类型名)(表达式)强制类型转换运算符学一学31试一试问题2.7从键盘输入一个球的半径值,计算并输出这个球的体积。球体积计算公式为:v=4/3*∏*r3。其中r是球的半径,∏是圆周率,v是球的体积。【解题步骤】定义符号常量PAI=3.1415926作为圆周率;定义float型变量fRadius、fVolum用来存放球半径和球体积;从键盘输入球半径放变量fRadius;计算球的体积;输出球体积。试一试问题2.7从键盘输入一个球的半径值,计算并输出这个球32程序代码#include“stdio.h”#definePAI3.1415926voidmain(){floatfRadius,fVolume;printf(“pleasetheball’sradius:”);
scanf(“%f”,&fRadius);fVolume=(float)4/3*PAI*fRadius*fRadius*fRadius;printf(“theball’svolume:%f”,fVolume);}程序代码#include“stdio.h”33自增、自减运算符学一学自增、自减运算符是单目运算符,即对一个运算对象施加运算,运算结果仍赋予该对象。参加运算的对象必须是变量。如表2-7所示。自增、自减运算符学一学34试一试问题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);}试一试35算术表达式学一学用算术运算符和括号将运算对象(也称操作数)连接起来的符合C语法规则的式子,称为C算术表达式。运算对象可以是常量、变量、函数等。5.算术运算符的优先级和结合方向C语言规定了运算符的优先级和结合方向,在表达式求值时,先按运算符的优先级别高低次序执行,再按运算符的结合方向结合(相同优先级时)。例如先乘除后加减,如表2-8所算术表达式学一学36算术运算符的优先级和结合方向C语言规定了运算符的优先级和结合方向,在表达式求值时,先按运算符的优先级别高低次序执行,再按运算符的结合方向结合(相同优先级时)。例如先乘除后加减,如表2-8所示。算术运算符的优先级和结合方向C语言规定了运算符的优先级37试一试问题2.9函数f(x)=3x3+2x2+x+1,编一程序计算并输出f(3)值。【解题步骤】定义整型变量iX、iY;从键盘输入一个自变量的值;计算函数值;输出函数值;试一试问题2.9函数f(x)=3x3+2x2+x+1,编38程序代码#include“stdio.h”voidmain(){intiX,iY;printf(“请输入自变量值:”);scanf(“%d”,&iX);iY=3*iX*iX*iX+2*iX*iX+iX+1;printf(“函数值是:%d”,iY);}程序代码#include“stdio.h”39赋值运算符和赋值表达式学一学1.赋值运算符在C语言中,等号“=”被作为是一种运算符来处理,称为赋值运算符。其一般形式为:<变量名>=<表达式>;它的作用就是将右边表达式的值赋给左边的变量2.复合赋值运算符在赋值运算符的前面加上一个其它运算符后就构成复合的赋值运算符。其一般形式为:<变量><双目运算符>=<表达式>;等价于:<变量>=<变量><双目运算符><表达式>;3.赋值表达式由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式,它的一般形式为:<变量><赋值运算符><表达式>赋值运算符和赋值表达式学一学40试一试问题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赋值运算符和赋值表达式用法演示,运行程序41逗号运算符和逗号表达式学一学逗号运算符“,”作为C语言的一种特殊的运算符,也称为顺序求值运算符,它的作用是把多个表达式连接起来,用逗号运算符连接起来的式子称为逗号表达式,其一般形式为:表达式1,表达式2,...,表达式n表达式的求解过程按照从左到右的顺序逐个求解表达式1,表达式2,...,表达式n,而整个逗号表达式的值是最后一个表达式(表达式n)的值。逗号运算符和逗号表达式学一学42试一试问题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);}试一试43小结不同数据类型的数据进行混合运算时,往往需要进行类型转换。在C语言中这种转换通常是自动进行的,当然也可以通过强制类型转换运算符进强制进行。各种运算符具有优先级和结合方向,通常情况下,可用圆括号限制优先级
小结不同数据类型的数据进行混合运算时,往往需要进行类型转换。442.5顺序结构程序设计
C是结构化程序设计语言,结构化程序设计的基本思想是,用顺序结构、选择结构和循环结构三种基本结构来构造程序。C语言提供了丰富的语句用来支持结构化的程序设计。2.5顺序结构程序设计C是结构化程序设计语言,结45C语句的分类C语句可以分为以下五大类:1.函数调用语句。由一次函数调用加一个分号构成的语句。2.表达式语句。表达式的后面加一个分号就构成了一个表达式语句。3.空语句,光有一个分号“;”,作为语句结束符,它表示什么也不做。4.复合语句。由“{”和“}”把一些变量说明和语句组合在一起,称之为复合语句(Block),又称语句块。5.控制语句,共九种。C语句的分类C语句可以分为以下五大类:46C的控制语句⑴if语句(条件语句)⑵switch语句(多分支选择语句)⑶while语句(循环语句)⑷do-while语句(循环语句)⑸for语句(循环语句)⑹break语句(终止执行循环语句或switch语句)⑺continue语句(结束本次循环语句)⑻goto语句(转向语句)⑼return语句(从函数返回语句)C的控制语句⑴if语句(条件语句)47程序的三种基本结构1.顺序结构顺序执行每个操作,即先执行A操作,再执行B操作,两者之间是顺序执行的关系。图2-3是顺序结构的流程图。2.选择结构设P代表一个判断条件,当P成立(或称“为真”)时,执行A操作,否则执行B操作。即A和B中只能选择其中之一。图2-4是选择结构的流程图。3.循环结构C语言提供了两种循环结构。(1)当型循环结构:如图2-5所示,当条件P成立时,反复执行A操作,直到条件P不再成立时才跳出循环。(2)直到型循环结构:如图2-6所示,先执行A操作,再判断条件P是否成立,若P成立,则再执行A操作,如此反复,直到条件P不成立时跳出循环。程序的三种基本结构1.顺序结构48三种基本结构流程图三种基本结构流程图49试一试问题2.12编一程序将华氏温度转换为摄氏温度。公式为:摄氏温度=5/9(华氏温度-32),要求从键盘输入华氏温度的值。【解题步骤】定义fF变量存放华氏温度值;定义变量fC存放摄氏温度值;从键盘输入华氏温度值存入变量fF;计算摄氏温度;输出摄氏温度。试一试问题2.12编一程序将华氏温度转换为摄氏温度。公式为50程序代码#include“stdio.h”voidmain(){floatfF,fC;printf("PleaseinputthedegreesFahrenheit:");scanf("%d",&fF);fC=5.0/9*(fF-32);printf("thedegreesCelsiusis%f\n",fC);}程序代码51问题2.13交换两个变量的值。解题步骤:1.定义整型变量iX,iY;2.定义临时变量iTemp;3.iX=1,iY=2;4.输出iX,iY;5.将变量iX的值存入iTemp;6.将变量iY的值存入iX;7.将变量iTemp的值存入iX;8.输出iX,iY;问题2.13交换两个变量的值。52程序代码#include"stdio.h"voidmain(){intiX,iY;intiTemp;iX=1;iY=2;printf("iX=%d,iY=%d\n",iX,iY);iTemp=iX;iX=iY;iY=iTemp;printf("iX=%d,iY=%d\n",iX,iY);getch();}程序代码#include"stdio.h"53想一想交换两个变量中的值类似于日常生活中的哪些问题?想一想交换两个变量中的值类似于日常生活中的哪些问题?54小结1.顺序结构、选择结构和循环结构是结构化程序设计的三种基本结构,其中顺序结构是最基本的程序结构。2.C语言提供了五大类语句可以实现结构化的程序设计。小结1.顺序结构、选择结构和循环结构是结构化程序设计的三种基55第2章顺序结构流程及应用
本章内容中我们将学习1C语言中的数据类型2标识符、常量与变量3数据输入/输出处理4运算符与表达式5顺序结构程序设计第2章顺序结构流程及应用本章内容中我们将学习562.1基本字符、标识符和关键字学一学基本字符标识符关键字2.1基本字符、标识符和关键字学一学57基本字符一个C程序也可以看成是由C语言的基本字符按一定的规则组成的一个序列。C语言中使用的基本字符包括:数字字符:0~9;大小写英文字母:a~z,A~Z;其他可打印(可显示)字符:!#%^&*_(下划线)-+=~<>/\|.,:;?‘“()[]{}空白字符:空格符、换行符、制表符等。基本字符一个C程序也可以看成是由C语言的基本字符按一定58
和其它高级语言一样,用来标识函数名、变量名、符号常量、数组名、类型名、文件名的有效字符序列称为“标识符”(identifier),通俗地讲,标识符就是一个名字。在C语言中,标识符的命名规则为:(1)有效字符:只能由字母、数字和下划线组成,且以字母或下划线开头;(2)有效长度:随系统而异,但至少前8个字符有效。如果超长,则超长部分被舍弃;(3)C语言的关键字(或称保留字)不能用作标识符。例如:sum,Total,day,_f2048,file_name,a3b06 都是合法的标识符,而 99new,a-b,W.S.Piter,$88,cd#ab,@vbase,int 都是不合法标识符。标识符
和其它高级语言一样,用来标识函数名、变量名、符59关键字 由系统预先定义的标识符称“关键字”,它们都有特殊的含意,不能用于其它目的。C语言关键字32个,如表2-1所示。关键字 由系统预先定义的标识符称“关键字”,它们都有特殊的含602.2数据类型及常量、变量
学一学数据类型常量变量2.2数据类型及常量、变量学一学61数据类型
数据类型62常量常量是在程序的执行过程中其值不变的量。在C语言中,常量不需要类型说明就可以直接使用,常量的类型是由常量本身隐含决定的。在C语言中,从其表现形式常量分为普通常量和符号常量。普通常量就是用数字直接表示的常量,符号常量是用一个标识符来代表的常量。无论是普通常量,还是符号常量,它们都有自己的类型。
常量63普通常量与符号常量 1.普通常量 普通常量有3类:数值常量、字符型常量和字符串常量。例如, 1,200,3500,0x12——整型数值常量 835.6,77.2,0.618——实型数值常量 ‘a’,‘A’,‘$’——字符型常量 “Hello”,“Welcome”——字符串常量 2.符号常量 在C语言程序中,可对常量进行命名,即用符号代替常量,叫做符号常量,一般用大写字母表示,一经定义就可以代替常量使用。普通常量与符号常量 1.普通常量64变量 变量是指在程序执行过程中,其值可以改变的量。一个变量用一个名字表示,在内存中占据一定的存储单元,用于存放变量的值。变量必须先定义后使用,变量的值可以通过赋值的方法获得和改变。变量 变量是指在程序执行过程中,其值可以改变的量。65变量定义和初始化 [存储类型]数据类型变量名1[=初始数据],变量名2[=初始数据2],…,变量n[=初始数据n];变量定义和初始化66试一试 问题2.1新生入学需要保存学生数据,现在定义整型变量存放年龄、学号,定义字符变量存放性别,定义浮点型变量存放入学分数和班费。 intiAge=20,iNum=201; charcSex=’m’;/*f:female(女),m:male(男)*/ floatfScore,fSum; fScore=580.5; fMoney=78.5试一试 问题2.1新生入学需要保存学生数据,现在定义整型变量67想一想
生活、学习、工作中有哪些量是其值不变的常量?哪些信息是经常变化的?定义成什么类型的变量比较合适?想一想682.3数据的输出和输入数据的格式化输出数据的格式化输入单个字符的输出和输入2.3数据的输出和输入69数据的格式化输出学一学格式化输出函数printf的功能是按指定的格式向终端(或系统默认的输出设备)输出若干个任意类型的数据。printf函数的一般形式为:printf(格式控制,[输出表列]);其中,“格式控制”是用双引号括起来的字符串,也称“转换控制字符串”。它是由字符“%”、格式字符(如d、f、c等)和普通字符(原样输出的)组成。“输出表列”是一些与“格式控制”中的格式字符一一对应的需要输出的数据,可以是变量或表达式。。数据的格式化输出学一学70试一试问题2.2新生入学需要将自己的姓名、年龄、学号、性别、入学成绩打印出来,请编程实现。【解题步骤】1.定义整型变量iAge,iNum存放年龄、学号;2.定义字符变量chSex存放性别;3.定义实型变量fScore用来存放入学成绩;4.用printf函数上面的信息打印出来;试一试问题2.2新生入学需要将自己的姓名、年龄、学号71程序代码#include“stdio.h”voidmain(){intiAge=20,iNum=201; charchSex=’m’;/*f:female(女),m:male(男)*/floatfScore=580.5;printf(“Tony’spersonalinformation\n”);printf(“Name:Tony\n”);printf(“ID:%d\n”,iNum);printf(“Age:%d\nSex:%c\nScore:%d\n”,iAge,chSex,fScore);}程序代码72
问题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);/*每输出一个字符后换行*/}问题2.3转义字符输出演示请观察下面程序运行结果。73数据的格式化输入格式化输入函数scanf的功能是用来从外部设备(通常是键盘),向程序中的变量输入一个或若干个任意类型的数据。scanf函数的一般形式为:scanf(格式控制,地址表列);其中“格式控制”的含义同printf函数;“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。数据的格式化输入格式化输入函数scanf的功能是用74试一试问题2.4Tony因学习努力,成绩突出,上半学年获奖学金2500元,下半学年获奖学金3000元。用scanf函数输入数据,计算Tony本学年所获得的奖学金并输出结果。【解题步骤】1.定义变量iPrize1、iPrize2和iSum用来存放上半年、下半年和本年度的奖学金值;2.输出提示信息;3.从键盘输入上半年和下半年的奖学金;4.计算本年度奖学金存入iSum;5.输出本年度奖学金iSum中的值。试一试问题2.4Tony因学习努力,成绩突出,上半学年获奖75程序代码
#include“stdio.h”voidmain(){intiPrize1,iPrize2,iSum;/*定义变量*/printf("pleaseinputtwoprizes:");/*输出提示信息*/scanf("%d%d",&iPrize1,&iPrize2);/*从键盘输入数据*/isum=iPriz1+iPrize2;/*求和计算*/printf("Tom’sprizeis%d",iSum);/*输出计算结果*/}?程序代码76单个字符的输出和输入函数putchar()和getchar()专门用来输入和输出字符型数据,使用时要包含头文件stdio.h。putchar函数的功能是用于将一个字符输出到显示器上显示,其一般调用形式为:putchar(ch);其中,ch为一个字符型数据(普通字符或转义字符)或整型数据(0~255)。getchar函数的功能是从标准输入设备(键盘)读入一个字符。它的一般调用形式为:ch=getchar();其中ch为一个字符型变量,把从键盘接收到字符放到变量ch中。单个字符的输出和输入函数putchar()和getc77试一试问题2.5从键盘输入一个小写字母,将其转化为大写字母输出。【解题步骤】定义字符变量ch用来存放从键盘输入的数据。;输出提示信息;从键盘接收一个小写字母存入ch;将字符ch转换为大写字母,即ch-32后仍存入到ch;输出字符变量ch中的字符;试一试78程序代码#include“stdio.h”voidmain(){charch;printf(“从键盘输入一个小写字母”);ch=getchar();/*从键盘接收一个小写字母*/ch=ch-32;/*小写字母转化为大写字母*/putchar(ch);/*输出大写字母*/}程序代码#include“stdio.h”79小结格式化输出函数printf中双引号括起来的内容除了%d等格式说明符外,其它字符原样输出。同样格式化输入函数scanf中双引号括起来的内容除了%d等格式说明符外,其它字符照原样输入。printf函数中的格式说明符非常丰富,如表2-4所示。使用scanf函数时要输入的变量名前要加取地址符号“&”,scanf函数的格式说明符如表2-5所示小结格式化输出函数printf中双引号括起来的内容除了%d等802.4运算符与表达式算术运算符与算术表达式赋值运算符和赋值表达式
逗号运算符和逗号表达式2.4运算符与表达式算术运算符与算术表达式81运算符分类C的运算符大致有如下的几类。基本算术运算符:+-*/%关系运算符:<>>=<===!=逻辑运算符:!&&||强制类型转换运算符:()自增、自减运算符:++――赋值运算符:=条件运算符:?:逗号运算符:,指针运算符:*&求字节数运算符:sizeof位运算符:<<>>~|^&分量运算符:.->下标运算符:[]运算符分类C的运算符大致有如下的几类。82算术运算符和算术表达式试一试问题2.6从键盘输入一个3位数,求该数个位、十位、百位上的数的和。【解题步骤】定义整型变量iNum接收从键盘输入的三位数;定义整型变量i1,i2,i3,iSum用来存放个位、十位、百位上的数据及其和;从键盘输入一个3位数存入变量iNum中;用iNum%10求得个位上的数存入i1中,用iNum/10%10求得十位上的数存入i2中;用iNum/100求得百位上的数存入i3中;求和输出和。算术运算符和算术表达式试一试83程序代码#include“stdio.h”voidmain(){intiNum;inti1,i2,i3,iSum;printf(“pleaseinputainteger(100-999):”);scanf(“d%”,&iNum);i1=iNum%10;/*求个位数*/i2=iNum/10%10;/*求十位数*/i3=iNum/100;/*求百位数*/iSum=i1+i2+i3;printf(“d%thesumis:”,iSum);}程序代码#include“stdio.h”84想一想对于一个四位整数,其千位、百位、十位、个位上的数如何求得?想一想85强制类型转换运算符学一学在实际应用中,常常要把一些表达式的类型转换成所需的类型。C语言提供了强制类型转换运算符。其格式为:(类型名)(表达式)强制类型转换运算符学一学86试一试问题2.7从键盘输入一个球的半径值,计算并输出这个球的体积。球体积计算公式为:v=4/3*∏*r3。其中r是球的半径,∏是圆周率,v是球的体积。【解题步骤】定义符号常量PAI=3.1415926作为圆周率;定义float型变量fRadius、fVolum用来存放球半径和球体积;从键盘输入球半径放变量fRadius;计算球的体积;输出球体积。试一试问题2.7从键盘输入一个球的半径值,计算并输出这个球87程序代码#include“stdio.h”#definePAI3.1415926voidmain(){floatfRadius,fVolume;printf(“pleasetheball’sradius:”);
scanf(“%f”,&fRadius);fVolume=(float)4/3*PAI*fRadius*fRadius*fRadius;printf(“theball’svolume:%f”,fVolume);}程序代码#include“stdio.h”88自增、自减运算符学一学自增、自减运算符是单目运算符,即对一个运算对象施加运算,运算结果仍赋予该对象。参加运算的对象必须是变量。如表2-7所示。自增、自减运算符学一学89试一试问题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);}试一试90算术表达式学一学用算术运算符和括号将运算对象(也称操作数)连接起来的符合C语法规则的式子,称为C算术表达式。运算对象可以是常量、变量、函数等。5.算术运算符的优先级和结合方向C语言规定了运算符的优先级和结合方向,在表达式求值时,先按运算符的优先级别高低次序执行,再按运算符的结合方向结合(相同优先级时)。例如先乘除后加减,如表2-8所算术表达式学一学91算术运算符的优先级和结合方向C语言规定了运算符的优先级和结合方向,在表达式求值时,先按运算符的优先级别高低次序执行,再按运算符的结合方向结合(相同优先级时)。例如先乘除后加减,如表2-8所示。算术运算符的优先级和结合方向C语言规定了运算符的优先级92试一试问题2.9函数f(x)=3x3+2x2+x+1,编一程序计算并输出f(3)值。【解题步骤】定义整型变量iX、iY;从键盘输入一个自变量的值;计算函数值;输出函数值;试一试问题2.9函数f(x)=3x3+2x2+x+1,编93程序代码#include“stdio.h”voidmain(){intiX,iY;printf(“请输入自变量值:”);scanf(“%d”,&iX);iY=3*iX*iX*iX+2*iX*iX+iX+1;printf(“函数值是:%d”,iY);}程序代码#include“stdio.h”94赋值运算符和赋值表达式学一学1.赋值运算符在C语言中,等号“=”被作为是一种运算符来处理,称为赋值运算符。其一般形式为:<变量名>=<表达式>;它的作用就是将右边表达式的值赋给左边的变量2.复合赋值运算符在赋值运算符的前面加上一个其它运算符后就构成复合的赋值运算符。其一般形式为:<变量><双目运算符>=<表达式>;等价于:<变量>=<变量><双目运算符><表达式>;3.赋值表达式由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式,它的一般形式为:<变量><赋值运算符><表达式>赋值运算符和赋值表达式学一学95试一试问题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赋值运算符和赋值表达式用法演示,运行程序96逗号运算符和逗号表达式学一学逗号运算符“,”作为C语言的一种特殊的运算符,也称为顺序求值运算符,它的作用是把多个表达式连接起来,用逗号运算符连接起来的式子称为逗号表达式,其一般形式为:表达式1,表达式2,...,表达式n表达式的求解过程按照从左到右的顺序逐个求解表达式1,表达式2,...,表达式n,而整个逗号表达式的值是最后一个表达式(表达式n)的值。逗号运算符和逗号表达式学一学97试一试问题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"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024秋新沪科版物理八年级上册课件 第六章 熟悉而陌生的力 第4节 探究:滑动摩擦力大小与哪里因素有关
- 《2024产业互联网发展报告》教学应用说明
- 电力及电机拖动试题及参考答案
- 养老院老人生活设施维修人员晋升制度
- 养老院老人关爱服务制度
- 金属材料课件范文
- 施工单位室内电梯使用安全协议书
- 2024年度碎石材料采购与市场风险控制合同3篇
- 《电梯的基本结构》课件
- 《HM品牌介绍》课件
- 建设精神病医院
- 荒漠区生态治理工程(尼龙网沙障、植物固沙)施工方案
- 道路交通法规(陕西交通职业技术学院)知到智慧树答案
- 2024版光伏发电站清洗维护合同3篇
- 《文明礼仪概述培训》课件
- 保险金信托课件
- 人教版(2024年新教材)七年级上册英语各单元语法知识点复习提纲
- 陕煤集团笔试题库及答案
- 33 《鱼我所欲也》对比阅读-2024-2025中考语文文言文阅读专项训练(含答案)
- 2022年国防军工计量检定人员考试附有答案
- 民族医药学概论智慧树知到期末考试答案章节答案2024年云南中医药大学
评论
0/150
提交评论