C语言项目化教程(基于智能制造软件)教案 项目2 车辆行驶状态显示(输入、输出)_第1页
C语言项目化教程(基于智能制造软件)教案 项目2 车辆行驶状态显示(输入、输出)_第2页
C语言项目化教程(基于智能制造软件)教案 项目2 车辆行驶状态显示(输入、输出)_第3页
C语言项目化教程(基于智能制造软件)教案 项目2 车辆行驶状态显示(输入、输出)_第4页
C语言项目化教程(基于智能制造软件)教案 项目2 车辆行驶状态显示(输入、输出)_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

PAGE课题项目二任务1统计汽车的数量(printf函数)课型讲练授课班级授课时数2教学目标1、掌握c语言中提供的各种数据类型,理解常量的概念。2、掌握各种类型的变量的定义,初始化方式。教学重点1、C语言数据类型的分类。2、符号常量的定义。3、变量的定义初始化。教学难点数据类型的理解(引入数据类型的因素)学情分析学生经过第一次理论课的学习对C语言程序整体有了解,对于数据类型及常量变量的介绍属概念记忆类较多,因此学生在理解上没有很大困难,重点于在一些概念,格式的记忆。教学效果教后记项目二车辆行驶状态显示(输入、输出)知识目标熟悉输入、输出用法的格式。熟悉C语言几种常用的数据类型、运算符和表达式掌握标识符的命名规则。掌握常量和变量的定义和引用规则。掌握流程图的几种符号。能力目标能准确运用输入与输出用法。能熟练运用数据类型之间的自动转换和强制转换。掌握算术运算符的使用规则、优先级和结合性。能画出简单程序的流程图。掌握程序的最基本的算法过程。情景设置主要通过printf()等函数打印出整个案例的宏观流程,主要包括车辆采集端进行车辆数据的采集、存储和发送;服务器接收端完成数据接收、呈现(打印)。通过输入函数实现与用户的简单交互,输入车号显示运行状态。任务2.1统计汽车的数量(printf函数)2.1.1任务目标已知A汽车公司第一季度生产新能源客车5987辆,新能源物流车1245辆,公交客运2580辆,轻型客车7890辆,求该公司一季度共生产汽车多少。任务目标运行截图如图2-1-1所示:图2-1-1任务目标运行截图2.1.2知识储备一个基本的程序应该包含数据的描述和操作步骤两个方面的内容。著名计算机科学家沃思(NiklausWirth)提出了一个公式:数据结构+算法=程序在C语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。1.数据类型C语言提供的数据结构是以数据类型形式出现的。在对数据存放中,根据使用数据的类型,定义不同类型。C语言中包含的基本数据类型如图2-1-2所示。图2-1-2C语言基本数据类型在C程序中什么样的数据类型用什么样的符号输出,另外需要注意数据类型的范围,否则会出错。[示例2-1]通过printf语句显示3.0,3,’a’数据。#include"stdio.h"voidmain(){printf("%f,%d,%c",3.0,3,'a');}[示例2-2]运行如下程序,分析运行错误原因#include"stdio.h"voidmain(){printf("%f,%d,%c",5,7,b);}分析:第4行的5是整数,%f是浮点型,输出类型不匹配。b作为字符必须加单引号。2.常量常量:在程序运行过程中其值不能被改变的量。常用的常量有以下几种类型:(1)整型常量。比如10,-2,0等。(2)实型常量。主要包含两种形式,第一种十进制小数形式,有数字和小数点组成。如34.56,-90.8等。第二种指数形式,如45.78e5(代表45.78×105)等,由于计算机输入或者输出时无法表示上角或者下角,故规定以E或者e代表以10为底的指数。(3)字符常量。主要包含两种形式,第一种普通型字符,用单撇号括起来,如’b’,’d’等,注意只能是一个。第二种转义字符,以字符”\”字符开头的字符序列。比如’\n’等。(4)字符串常量。用双撇号括起来的字符。比如“234”,a“”等。(5)符号常量。用#define指令,指定用一个符号名称代表一个常量。如:#definePI3.1416示例2-3求半径为2.1的圆的面积#include"stdio.h"#definePI3.14voidmain(){ doubler,s; r=3; s=PI*r*r; printf("圆的面积为%.2lf",s);}3.变量变量:在程序执行过程中,其值可以改变的量。就如同一个杯子,开始可以装水,后面可以装咖啡,下来可以换成牛奶或者汽油,其变量图解如图2-1-3所示:图2-1-3变量图解在变量定义命名中是有一定规范的,在语言定义中,用来标识变量名,符号,数组,类型名,文件名等有效字符序列我们称之为标识符。上面的常量命名的PI也是一个标识符。其命名规则如下:标识符的命名规则如下:(1)标识名中只能出现数学、大写英文字母、小写英文字母和下划线。(2)标识名必须以字母或下划线开头。(3)标识符名与关键字不能相同。(4)标识符需要见名知义注意:变量是标识符的一种,必须先定义后使用。变量在使用过程中,有一定规则的,定义什么类型,一般使用什么类型,输出什么类型,当定义的类型和输出的类型不一致时,程序结果就会出错,这也是初学者会常犯的错误。定义变量的一般形式:类型名变量1,变量2,…,变量名n;变量的三个属性:变量名、变量值、变量类型4.常见的数据类型根据我们日常的使用习惯,列出了下面一些主要的数据类型的符合,格式符,取值范围等。具体如表2-1-1所示:表2-1-1常见的数据类型数据类型符号格式符字节位数取值范围无符号短整型unsignedshort%d2160~(216-1)短整型short%d216-215~(215-1)无符号整型unsignedint%d4320~(232-1)整型int%d432-231~(231-1)无符号长整型unsignedlong%ld4320~(232-1)长整型long%ld432-231~(231-1)单精度型float%f432-1038~1038双精度型double%lf864-10308~10308无符号字符unsigned%d180~(28-1)字符char%c18--27~(27-1)5.编程规范:在实际变量命名中,规范会根据各个公司内部规定而有区别,一般变量命名规则为类型和对应英文单词的组合,单词首字母大写或单词之间用下划线隔开,如fVeh_Speed(或fVehSpeeD.分别为类型float的缩写f、车辆vehicle和车速speed的组合而成。类型前缀表如表2-1-2所示:表2-1-2类型前缀表2.1.3典型案例典型案例1.已知B汽车运营公司共拥有48377辆汽车,目前正在运营的车辆47342辆,求维修的车辆数?算法分析:定义变量Veh_SumNum总车辆,Veh_Run运营车辆,Veh_Repair维修车辆给总车辆和运营车辆赋值计算维修车辆输出维修车辆程序代码:#include"stdio.h"voidmain(){intVeh_SumNum,Veh_Run,Veh_Repair;//定义变量Veh_SumNum=48377;//给数据赋值Veh_Run=47342;Veh_Repair=Veh_SumNum-Veh_Run;//计算printf("目前正在维修中的车辆的个数为%d",Veh_Repair);//输出}典型案例1运行截图如图2-1-4所示:图2-1-4典型案例1运行截图典型案例2.已知B汽车运营公司共有48377辆汽车,为了保证公司业务的正常运营,售后维修部门必须有车辆数量的1/80的轮胎数,求维修部门的轮胎数。算法分析:1) 定义变量Vehicle_SumNo总车辆,Vehicle_TyreNo轮胎数2) 给总车辆赋值3) 计算轮胎数4) 输出轮胎数程序代码:#include"stdio.h"voidmain(){intVehicle_SumNumber,Vehicle_TyreNum;//定义变量Vehicle_SumNumber=48377;//赋值Vehicle_TyreNum=Vehicle_SumNumber/80;//计算printf("目前车辆的备用轮胎数为%d",Vehicle_TyreNum);//输出}典型案例2运行截图如2-1-5所示:图2-1-5典型案例2运行截图典型案例3.编写程序,将数字字符‘2’,‘7’转换为响应的数字。算法分析:1) 定义数字字符2) 转换3) 输出程序代码:#include"stdio.h"voidmain(){charch_Num1,ch_Num2;//定义变量ch_Num1='2';//赋值ch_Num2='7';ch_Num1=ch_Num1-'0';//计算ch_Num2='7'-48;printf("第一个字符的整型数据%d\n",ch_Num1);//输出printf("第二个字符的整型数据%d\n",ch_Num2);} 典型案例3运行截图如图2-1-6所示:图2-1-6典型案例3运行截图 2.1.4任务分析与实践算法分析:变量命名:新能源汽车数目:uMotorVeh_No;物流车数目:uDeliveryVeh_No公交车数目:uBus_No轻型客车数目:uLightBus_No车辆总数:uVeh_Sum定义变量给大客车的数量和小客车的数量赋值求客车总的数量输出客车的数量程序代码:#include"stdio.h"voidmain(){intuMotorVeh_No,uDeliveryVeh_No,uBus_No,uLightBus_No,uVeh_Sum; uMotorVeh_No=5987; uDeliveryVeh_No=1234; uBus_No=2580; uLightBus_No=7890; uVeh_Sum=uMotorVeh_No+uDeliveryVeh_No+uBus_No+uLightBus_No; printf("该公司一季度共生产汽车%d辆车",uVeh_Sum);}2.1.5巩固练习1.已知4S店目前45位男性员工,宿舍是4人间,需要准备多少间宿舍。(参考变量英文男性员工Maleemployee,宿舍人数Numberofhostelresidents,宿舍间数Numberofdormitories)2.假设两个驾驶员的工资甲为5500一个月,乙为7800一个月,那么一年工资相差多少。(参考变量工资salary,差额difference)3.一辆新能源车2019年的车辆保险为3507.5元,2020年的车辆保险为3209.5元,求一共花费的保险费用。(参考变量保险insurance)课题任务2.2统计汽车的载客人数(scanf函数)课型讲练授课班级授课时数2教学目标掌握三种输入输出函数的使用方法;scanf()和printf()函数的调用方法和允许使用的格式转换控制符。熟悉scanf()函数对各种类型数据的键盘输入格式的要求。能灵活使用printf()函数控制屏幕格式输出。能用scanf()和printf()函数和赋值语句进行简单的顺序结构程序的设计编写。教学重点scanf()和printf()函数的调用方法和允许使用的格式转换控制符。能用scanf()和printf()函数和赋值语句进行简单的顺序结构程序的设计编写。教学难点格式控制符的灵活使用学情分析输出函数前面学生已经基本接触,但是只是原型输出,对于具体的格式输出,不太了解。输入函数只是从书上的部分例题看到,还没有具体的接触,此处应该具体讲解各种不同的用途。教学效果教后记任务2.2统计汽车的载客人数(scanf函数)2.2.1任务目标已知某公交车队某品牌某款纯电动城市客车的额定载客人数为56人,以键盘上输入该车队的客车数量,计算客车总的载客人数。程序运行结果如图2-7所示。图2-7程序运行结果2.2.2知识储备图2-7程序运行结果在程序中,需要一些从外面输入的数据。下面就来介绍输入数据的输入/输出函数。1.scanf()函数(格式输入函数)scanf()函数可以用于输入任何类型的多个数据,其语法格式为:scanf(格式说明符,变量地址列表);功能:按用户指定的格式从键盘上把数据输入指定的变量中。注意:“地址列表”里由若干个地址组成,是变量地址,而不是变量名;输入数据只能是常量,不能是表达式;输入多个整型或实型数据时,可用空格、回车、制表符为间隔;“格式说明”中的普通字符原样输入;“格式说明”中一般只写若干个格式符。举例:scanf("%d%d%d",&a,&b,&c);scanf("%d,%d,%d",&a,&b,&c);2.printf()函数(格式输出函数)一般都是按照默认类型数据输出的,在此情况下,我们有时需要根据实际情况输出数据,如实型数一般默认显示小数点后6位,但是有时只需要显示小数点后2位。整数原来有2位,但是需要最终显示占5个空格等,特殊格式显示如表2-2所示。表2-2特殊格式显示要求格式显示到小数点后2位的单精度类型%.2f显示到小数点后1位的双精度类型%.1lf双精度显示整数%.0f整型显示至少占5个位置左空格%-5d整型显示至少占4个位置右空格%4d小贴士:输出函数的格式种类较多,需要按要求灵活掌握。2.2.3典型案例典型案例1:从键盘上输入某客车的累计行驶里程和使用年限,计算该客车平均每年的行驶里程。算法分析如下。(1)变量名命名:累积行驶里程AccumulatedMileage、使用年限ServiceYears、平均每年的行驶里程AvgMileage。(2)定义变量。(3)输入累积行驶里程和使用年限。(4)计算平均每年的行驶里程。(5)输出平均每年的行驶里程。代码如下:#include"stdio.h"voidmain(){intServiceYear;doubleAccumulatedMileage,AvgdMileage;printf("请输入累积行驶里程");scanf("%lf",&AccumulatedMileage);printf("请输入使用年限");scanf("%d",&ServiceYear);AvgdMileage=AccumulatedMileage/ServiceYear;printf("平均每年的行驶里程为%lf",AvgdMileage);}典型案例1的运行结果如图2-8所示。典型案例2:已知某公交车队某品牌A款纯电动城市大型客车的载客人数为36人,B款纯电动城市小型客车的荷载人数为18人,输入两款客车的数量,计算总的载客人数。算法分析如下。(1)变量名命名:大型客车载客人数BVehicle_LoadNumber、小型客车载客人数SVehicle_Loadnumber、大型客车数量BVehicle_Number、小型客车数量SVehicle_Number、客车总的载客人数Vehicle_SumLoadnumber。(2)定义5个变量。(3)输入大型客车和小型客车的数量。(4)计算总的荷载人数。(5)计算总的输出荷载人数。代码如下:#include"stdio.h"voidmain(){intBVehicle_Loadnumber=36,SVehicle_Loadnumber=18;intBVehicle_Number,SVehicle_Number,Vehicle_SumLoadnumber;printf("请输入大型客车的车辆数");scanf("%d",&BVehicle_Number);printf("请输入小型客车的车辆数");scanf("%d",&SVehicle_Number);Vehicle_SumLoadnumber=BVehicle_Number*BVehicle_Loadnumber+SVehicle_Number*SVehicle_Loadnumber;printf("客车总的载客人数为%d",Vehicle_SumLoadnumber);}典型案例2的运行结果如图2-8所示。 图2-8典型案例1的运行结果 图2-9典型案例2的运行结果典型案例3:从键盘上输入某客车平均每年的行驶里程和使用年限,计算该客车的累计行驶里程。算法分析如下。(1)变量名命名:累积行驶里程AccumulatedMileage、使用年限ServiceYear、平均每年的行驶里程AvgdMileage。(2)定义变量。(3)输入平均每年的行驶里程和使用年限。(4)计算累积行驶里程。(5)输出累积行驶里程。代码如下:#include"stdio.h"voidmain(){intServiceYear;doubleAccumulatedMileage,AvgdMileage;printf("请输入平均每年的行驶里程");scanf("%lf",&AvgdMileage);printf("请输入使用年限");scanf("%d",&ServiceYear);AccumulatedMileage=AvgdMileage*ServiceYear;printf("%d年的累计行驶里程为%.2lf",ServiceYear,AccumulatedMileage);}典型案例3的运行结果如图2-10所示。图2-10典型案例3的运行结果2.2.4任务分析与实践图2-10典型案例3的运行结果算法分析如下。(1)变量名客车的载客人数Vehicle_Loadnumber、客车的数量Vehicle_Number、客车总的载客人数Vehicle_SumLoadnumber。(2)定义变量。(3)输入客车的数量。(4)计算。(5)输出总的载客量。#include"stdio.h"voidmain(){intVehicle_Loadnumber=56,Vehicle_Number,Vehicle_SumLoadnumber;printf("请输入客车的数量");scanf("%d",&Vehicle_Number);SumLoadnumber=Vehicle_Loadnumber*Vehicle_Number;printf("客车总的载客人数为%d",Vehicle_SumLoadnumber);}2.2.5巩固练习1.编写程序,有一辆汽车历经了两个车主的使用,从键盘上输入两个车主的使用年限,计算目前这辆汽车总的使用年限(变量参考:车主ownerofavehicle、使用年限servicelife)。2.编写程序,从键盘上输入车辆的单价和数量,计算所有车辆的总价格(变量参考:车辆的单价VehiclePrice、车辆的数量Numberofvehicles、总价格Vehiclecosts)。3.编写程序,从键盘上输入一个驾驶员的驾驶证类型,输出该驾驶证类型对应的小写字母(变量参考:大小写字母的ACSII码值相差32Typeofdriver'slicense)。课题任务2.3统计需要的车辆(算术运算符、强制转换)课型讲练授课班级授课时数2教学目标1.了解算术运算符,关系运算符并且会合理的使用它们。2.会判断逻辑值的真和假3.会编写程序计算教学重点算术运算符,关系运算符的使用教学难点合理使用运算符学情分析+、-、*、/这些运算符基本上学生平时都有接触,只需讲解日常不太使用的运算符即可,但由于没有接触使用到判断语句,对于运算符的使用面还是比较狭窄,需要利用以后的课时将这个知识点逐渐的渗入。教学效果教后记任务2.3统计需要的车辆(算术运算符、强制转换)2.3.1任务目标某公司承办某班级春游包车服务,要求通过键盘输入参加活动的学生人数以及一辆客车的载客人数,计算该公司承接该项服务所需要的车辆数?任务目标运行截图如图2-3-1所示:

图2-3-1任务目标2.3.2知识储备C语言的运算符范围很宽,把除了控制语句和输入输出以外所有的基本操作都作为运算符处理。一些基本的运算符与数学运算一样比如+,-,*等,但是有一些运算符不太一样,比如‘=’与“==”的区别,‘/’在数据为浮点型和整数类型时是不同的,‘%’是求余的含义等,在具体使用时需要注意。1.算术运算符算数运算符包含以下几种基本运算符+(加法运算符):双目运算符-(减法运算符):双目运算符*(乘法运算符):双目运算符/(除法运算符):双目运算符,/(整除)对于int,float,double均适用,例如:8.0/3.0%(求余运算符):双目运算符,%(求余)只对整数类型起作用。++(自增运算符):单目运算符--(自减运算符):单目运算符2.赋值运算符=(单等号)就是赋值运算符,作用就是将一个常量或者变量等赋值给一个变量。[示例2-3]观察下面的程序,说出程序结果#include"stdio.h"voidmain(){intdataA=2,dataB;dataB=20;//将20赋值给dataBdataA*=dataB+1;//等价于dataA=dataA*(dataB+1); printf("dataA=%d,dataB=%d",dataA,dataB);}运算符的优先级在数据运行时,不同类型的数据要先转换成同一类型,然后进行运算,转换的规则如图2-3-1所示:图2-3-1转换的规则4.数学头文件#include“math.h”2.3.3典型案例典型案例1.从键盘输入货物的吨数和货车的载重量,求共需要拉几次和最后一次拉的吨数。(吨数不能整除载重量)算法分析:定义变量Cargo_Quantity货物量,Truck_load货车载重量,Pull_Number拉货次数,Final_load最后一次的载重量。输入货物的吨数和货车的载重量。计算拉货次数,求最后一次的拉货量。输出拉货次数和最后一次的拉货量。程序代码:#include"stdio.h"#include"stdio.h"voidmain(){intCargo_Quantity,Truck_load,Pull_Number,Final_load;printf("请输入货物的重量(单位:吨)");scanf("%d",&Cargo_Quantity);printf("请输入货车的载重量");scanf("%d",&Truck_load);Pull_Number=Cargo_Quantity/Truck_load+1;Final_load=Cargo_Quantity%Truck_load;printf("货车需要拉%d趟\n",Pull_Number); printf("最后一次需要拉%d吨\n",Final_load);}典型案例1运行截图如图2-3-2所示:图2-3-2典型案例1运行截图典型案例2.从键盘输入一个浮点数,求它的整数部分和小数部分。算法分析:定义变量Float_Number浮点数,Int_Part整数部分,Decimal_Part小数部分

从键盘输入一个浮点数。求整数部分。求小数部分。输出整数和小数部分。程序代码:#include"stdio.h"voidmain(){doubleFloat_Number,Decimal_Part;intInt_Part;printf("请输入一个浮点数");scanf("%lf",&Float_Number);Int_Part=(int)Float_Number;Decimal_Part=Float_Number-Int_Part;printf("浮点数的整数部分为%d,小数部分为%lf",Int_Part,Decimal_Part);}典型案例2运行截图如图2-3-3所示:小贴士:请大家将本题目中浮点数的类型换成float试一试,对比一下结果。图2-3-3小贴士:请大家将本题目中浮点数的类型换成float试一试,对比一下结果。典型案例3.编写程序,计算函数y=的值,其中自变量的值从键盘输入。算法分析:1) 定义变量x,y;2) 从键盘输入x的值。3) 求y的值。4) 输出y的值。程序代码:#include"stdio.h"#include"math.h"voidmain(){doublex,y;printf("请输入x的值");scanf("%lf",&x);y=sqrt(x)+5*x+3/(x*x+2);printf("y的值为%lf",y);}典型案例3运行截图如图2-3-4所示:图2-3-4典型案例3截图2.3.4任务分析与实践算法分析:定义变量Vehicle_Passenger车载人数,Vehicle_Number车辆数,Student_NumBer学生人数。从键盘输入车载人数,学生数求车辆数程序代码#include"stdio.h"voidmain(){intVehicle_Passenger,Vehicle_Number,Student_NumBer;printf("请输入每量车的载客人数");scanf("%d",&Vehicle_Passenger);printf("请输入学生人数");scanf("%d",&Student_NumBer);Vehicle_Number=Student_NumBer/Vehicle_Passenger+1;printf("共需要车辆%d辆",Vehicle_Number);}2.3.5巩固练习1.一名驾驶员的工号为4位的整数,从键盘输入一名驾驶员的工号,输出工号各位数字之和。(变量参考工号jobnumber,个位units,十位tens,百位hundreds,千位thousands)2.从键盘输入一名驾驶员的身高(米)和体重(公斤),求这名驾驶员的体指数。(体脂数公式为BIM=体重/(身高*身高);变量参考体重weight,身高heigh)3.从键盘输入一辆箱式货车箱长的长、宽、高,求它的容积。(变量长length,宽width,高high)4.一名驾驶员想看一下天气温度,结果给出的时华氏温度,他希望知道摄氏温度。从键盘输入华氏温度,求出摄氏温度。(华氏转化为摄氏的公式:C=5/9*(F-32))课题任务2.4显示驾照的类型(字符输入与输出)课型讲练授课班级授课时数2教学目标1.利用getchar(),putchar()函数单个字符的输入输出2.利用scanf(),printf()函数单个字符的输入输出3.当输入多个字符时输入函数的注意点教学重点多个字符函数的输入与输出教学难点多个字符函数的输入与输出学情分析scanf与printf也可以对于字符和字符串进行输入与输出,本节课主要是字符的输入与输出,但是有时判断不出字符的输入与输出应该采用哪个函数更好一些。教学效果教后记任务2.4显示驾照的类型(字符输入与输出)2.4.1任务目标从键盘输入驾驶员的驾照类型(高于C级),因为1个实习年度扣分超过12分被降1级,输出新的驾照类型。2.4.2知识储备由于字符是按照整数形式存放的,因此字符型数据也作为整数类型的一种,在使用过程中有其独特的特点。1.字符常量C语言的字符常量一般用单引号括起来,个数只能有一个,比如’A’(A字符),’b’等。除了这种情况外,C语言还允许另一种特殊格式的字符常量,以‘\’开头,比如’\n‘代表换行等,常用的以‘\’开头的特殊字符如表2-4-1所示:表2-4-1常用特殊字符字符格式功能\n换行\t横向跳格\\反斜杠字符“\”\ddd1到3位8进制所代表的字符\xhh1到2位16进制所代表的字符2.字符变量用来存放字符类型,并且只能放一个字符的变量,称为字符变量。将一个字符常量放到字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符对应的ASCII代码放到存储单元中。例如’A’字符的ASCII代码为65,在内存中存放的就是65,所以一个字符数据既可以以字符形式输出,也可以以整数形式输出。那么字符数据参与算术运算时,就相当于对于他们的ASCII值进行算数运算。[示例2-4]观察下面的程序,说出程序结果#include"stdio.h"voidmain(){charchA=65,chB='A',chC;chC=chB+32; printf("chA=%d,chB=%d,ASCIIchC=%d,字符chC=%c",chA,chB,chC,chC);}3.字符数据输出函数putchar()在项目一中我们接触到了printf函数,它也可以输出字符类型,putchar函数是专门输出字符的函数,只能输出一个字符。格式:putchar(c);功能:在终端上输出一个字符,不换行如:chara=‘A’;intk=65;putchar(a);putchar(k);putchar(‘A’+32);putchar(65);putchar(‘\101’);4.字符输入函数getchar()在项目一中我们接触到了scanf函数,它也可以输入字符类型,getchar函数是专门输入字符的函数,只能输入一个字符。格式:getchar();功能:返回从键盘输入一个字符,不带任何参数。[示例2-4]观察下面的程序,猜测结果,并运行程序看结果和猜测是否一致#include"stdio.h"voidmain(){charchA,chB;chA=getchar();chB=chA+32; printf("chA=%d,chB=%c\n",chA,chB);}2.4.3典型案例典型案例1.一个驾驶员原来是小轿车类型C型驾照,驾驶员通过大客车的学习升了二级级,显示驾驶员最新的驾照类型。典型案例1运行截图如2-4-1所示图2-4-1典型案例1截图算法分析:定义变量Driver_LicenseType驾照类型输入驾照类型Driver_LicenseType减2输出驾照类型程序代码:#include"stdio.h"voidmain(){charDriver_LicenseType;printf("请输入原有的驾照类型");Driver_LicenseType=getchar();Driver_LicenseType=Driver_LicenseType-2;printf("升二级后的驾照类型为");putchar(Driver_LicenseType);}典型案例2.从键盘输入一个大写字母,转换成小写字母并输出。典型案例2程序运行截图如图2-4-2所示:图2-4-2典型案例2运行截图算法分析:定义变量输入大写字母转换成小写字母输出转换后的字母程序代码:#include"stdio.h"voidmain(){intch;printf("请输入一个大写字母");scanf("%c",&ch);ch=ch+32;printf("转换后的小写字母为%c",ch);}典型案例3.从键盘输入3个字母,输出这些字母后面的字母。典型案例3运行截图如图2-4-3所示:图2-4-3典型案例3截图方法一:算法分析:定义变量输入3个字母转换成后面的字母输出转换后的3个字母程序代码:#include"stdio.h"main(){ charch1,ch2,ch3; scanf("%c%c%c",&ch1,&ch2,&ch3); ch1=ch1+5; ch2=ch2+5; ch3=ch3+5; printf("ch1=%c,ch2=%c,ch3=%c",ch1,ch2,ch3);}注意使用1个scanf函数输入多个字符时,在各字符之间不能用任何分隔符,因为系统将空格,TAB键,回车符等均作为合法字符。方法二:算法分析:定义变量输入第1个字母转换成后面的字母输入第2个字母转换成后面的字母输入第3个字母转换成后面的字母输出转换后的3个字母程序代码程序1:#include"stdio.h"main(){ charch1,ch2,ch3; printf("请输入第一个字母"); ch1=getchar(); getchar(); printf("请输入第二个字母"); ch2=getchar(); getchar(); printf("请输入第三个字母"); ch3=getchar(); getchar(); printf("转换后的三个字母为"); ch1=ch1+1; ch2=ch2+1; ch3=ch3+1; putchar(ch1); putchar(ch2); putchar(ch3);}注意:getchar();是接收输入字符后的回车符。程序2:#include"stdio.h"main(){ charch1,ch2,ch3; printf("请输入第一个字母"); scanf("%c",&ch1); printf("请输入第二个字母"); scanf("%c",&ch2); printf("请输入第三个字母"); scanf("%c",&ch3); ch1=ch1+5; ch2=ch2+5; ch3=ch3+5; printf("ch1=%c,ch2=%c,ch3=%c",ch1,ch2,ch3);}注意:%c前有一个空格主要是接收前一个字符后面的回车符。2.4.4任务分析与实践算法分析:定义变量Driver_LicenseType驾照类型输入驾照类型降级驾照输出驾照类型程序代码:#include"stdio.h"voidmain(){charDriver_LicenseType;printf("请输入原有的驾照类型");Driver_LicenseType=getchar();Driver_LicenseType=Driver_LicenseType++;printf("降级后的驾照类型为");putchar(Driver_LicenseType);}2.4.5巩固练习1.一名驾驶员在输入年龄时方法错误,输入成了二个数字字符,请将它变为实际年龄值。(变量参考年龄age)2.从键盘输入一名驾驶员的驾照等级,输出等级对应的小写字母。(变量参考年龄Classofdriver'slicense)3.从键盘输入一个车辆三角形警示牌的三边(单位cm),求警示牌的面积。(变量参考长length,面积area)课题任务2.5求能拿到驾照的过程(流程图)课型讲练授课班级授课时数2教学目标掌握流程图的各种符号,能辨别基本的符号教学重点能根据题意画出顺序,选择,循环的流程图教学难点循环流程图的画法学情分析高中数学知识已经讲解了基本的流程图格式。教学效果教后记任务2.5求能拿到驾照的过程(流程图)2.5.1任务目标通过流程图,显示获得驾照的过程。如果要按期拿到驾照需要通过科目一、科目二、科目三、科目四每次最多5次机会。2.5.2知识储备1.算法的概念为解决一个问题而采取的方法和步骤称为算法。2.算法的特征(1)有穷性:算法的步骤

温馨提示

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

评论

0/150

提交评论