版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计项目一课程准备C语言程序设计项目一课程准备
C语言程序设计初步熟悉C语言程序开发过程和VisualC++开发程序的步骤理解语句的概念掌握C语言程序和C函数(包括主函数)的结构知识目标能够初步对C语言程序进行调试能力目标项目一课程准备C语言程序设计任务1.1计算机语言介绍1.1.1计算机语言发展1.1.2C语言介绍任务1.2C工具介绍任务1.3创建第一个C语言程序1.2.1VisualC++6.0环境介绍1.2.2C/C++程序实验与学习系统1.3.1任务目标1.3.2知识储备1.3.3典型实例1.3.4巩固练习C工具介绍创建第一个C语言程序计算机语言介绍C语言程序设计任务1计算机语言介绍1.1.1计算机语言发展计算机语言(ComputerLanguage)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。计算机系统最大特征是指令通过一种语言传达给机器。机器语言计算机只能识别和接受由0和1组成的指令,计算机能直接识别和接受的二进制代码称为机器指令(machineinstruction)。机器指令的集合就是该计算机的机器语言。一般计算机的指令长度为16,即以16个0和1组成的各种排列组合,例如,用1100110000000001汇编语言一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。程序员用汇编语言写出源程序,再用汇编编译器将其编译为机器码,由计算机最终执行。C工具介绍创建第一个C语言程序计算机语言介绍C语言程序设计任务1.1计算机语言介绍1.1.1计算机语言发展高级语言是高度封装了的编程语言,与低级语言相对。它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性。20世纪50年代创造出了第一个计算机高级语言-FORTRAN语言,目前的高级语言有java,c,c++,C#,pascal,python等。高级语言经历了非结构化的语言、结构化的语言、面向对象的语言三个阶段非结构化语言编程比较随意,只要符合语法规则即可,程序中可以随意跳转。比如BASIC,FORTRAN等。结构化的语言程序必须由良好特性的基本结构构成,不允许随意跳转,程序从上到下顺序执行各个基本结构。比如QBASIC等。面向对象的语言是一类以对象作为基本程序结构单位的程序设计语言,语言中提供了类、继承等成分。C工具介绍创建第一个C语言程序计算机语言介绍C语言程序设计任务1.1计算机语言介绍1.1.2C语言介绍C语言是20世纪70年代初由美国贝尔实验室在B语言的基础上发展起来的,它保持了B语言精练、接近硬件的特点,又改进了B语言过于简单的缺点。在C的基础上,贝尔实验室在1983年推出了C++。C++进一步扩展和完善了C语言,成为一种面向对象的程序设计语言。C语言的主要特点如下:(1)C语言简洁、紧凑,使用方便灵活。标准C语言(ANSIC)只有32个关键字,9种控制语句。书写形式自由,一行可以书写多条语句,一个语句也可以写在不同行上。(2)运算符丰富共有34种运算符,可以实现其它高级语言中难以实现的运算(3)数据类型丰富C语言具有现代化语言的各种数据类型;用户能自己扩充数据类型,实现各种复杂的数据结构,完成用于具体问题的数据描述。C工具介绍创建第一个C语言程序计算机语言介绍C语言程序设计任务1.1计算机语言介绍1.1.2C语言介绍(4)以函数作为模块单位C语言是一种结构化语言。C语言的主要成分是函数。函数是C语言程序的基本结构模块,程序可以由不同功能的函数有机组装而成,从而可以达到结构化程序设计中模块的要求。另外,C语言提供了3种基本结构(顺序、选择、循环),使程序流程具有良好的结构性。(5)C语言有丰富的数据类型C语言具有现代化语言的各种数据类型;用户能自己扩充数据类型,实现各种复杂的数据结构,完成用于具体问题的数据描述。(6)C语言具有较高的移植性,目标代码质量高、运行效率高用C语言编写的程序,其生成的目标代码质量高、运行效率高,一般只比汇编程序生成的目标代码效率低10%~20%。(7)允许直接访问物理地址C工具介绍创建第一个C语言程序计算机语言介绍C语言程序设计任务1.2C工具介绍1.2.1VisualC++6.0环境介绍1.2.2
DEV-C++环境介绍1.2.3
C/C++程序实验与学习系统程序打开、保存、运行如下视频:C工具介绍创建第一个C语言程序计算机语言介绍C语言程序设计任务1.3创建第一个C语言程序—欢迎使用车辆监控系统1.3.1创建一个C语言程序,显示欢迎使用车辆监控系统。运行截图如图1-14所示:C工具介绍创建第一个C语言程序计算机语言介绍C语言程序设计任务1.3创建第一个C语言程序—欢迎使用车辆监控系统1.3.21.C程序的主要结构2.C语言的程序注意点①C语言由函数构成函数是C程序的基本单位,C程序由一个多或个函数组成,必须有一个main()主函数;C程序从main()主函数开始执行,函数的位置无关紧要;C程序中的函数可以是库函数和用户自定义的函数;函数名后面必须有一对圆括号,是函数标志;函数体必须由一对大括号括起来;程序至少有一个输出函数,0个及以上的输出函数。C工具介绍创建第一个C语言程序计算机语言介绍C语言程序设计任务1.3创建第一个C语言程序—欢迎使用车辆监控系统1.3.2②一个函数由若干行组成一行一个语句或几个语句,也可一个语句写在多行,用“\”作续行符;“;”是语句结束标志;③C程序书写习惯是小写英文字母④头文件的作用--赋予了调用某些函数的权限当有输入输出函数是必须要有头文件--#include"stdio.h"当有数学函数时必须要有头文件--#include"math.h"当有字符串函数必须要有头文件--#include"string.h"3.printf函数输出的格式printf(格式控制,输出项表)C工具介绍创建第一个C语言程序计算机语言介绍C语言程序设计任务1.3创建第一个C语言程序—欢迎使用车辆监控系统1.3.24.格式控制5.注释格式C工具介绍创建第一个C语言程序计算机语言介绍C语言程序设计任务1.3创建第一个C语言程序—欢迎使用车辆监控系统1.3.21.3.3典型实例1.已知2015年江苏省的车辆上牌数量如图1-2所示,显示苏州的车辆上牌信息:#include"stdio.h"//头文件voidmain()//主函数{printf("2015年江苏省的新车上牌量排名%d,城市%s,上牌量%f",1,"苏州",32.8);//显示数据}程序代码:C工具介绍创建第一个C语言程序计算机语言介绍C语言程序设计任务1.3创建第一个C语言程序—欢迎使用车辆监控系统1.3.22.显示一辆新能源车辆的基本数据。驾驶员的驾照类型为A,车牌号码为苏E88888,车辆速度为80公里/小时,累计里程15347.5公里,充放点次数100次,目前处在的档位为4档。#include"stdio.h"//头文件voidmain()//主函数{printf("一辆新能源车辆的基本数据为\n");//车辆数据显示printf("教师员的驾照类型为%c\n",'A');printf("车牌号码为%s\n","苏E88888");printf("车辆速度为%d公里/小时\n",80);printf("累计里程%lf公里\n",15347.5);printf("充放点次数%d次\n",100);printf("目前处在的档位为%d档\n",4);}程序代码:C工具介绍创建第一个C语言程序计算机语言介绍C语言程序设计任务1.3创建第一个C语言程序—欢迎使用车辆监控系统1.编写程序,实现在屏幕上显示如下语句。安全情系生命,文明创造和谐,建设平安校园,你我共同责任。C工具介绍创建第一个C语言程序计算机语言介绍C语言程序设计任务1.3创建第一个C语言程序—欢迎使用车辆监控系统2.编写程序,显示一名驾驶人员的信息,其中驾驶员,18,1990,C用格式符表示。我是一名驾驶员;我的安全驾驶年限为18.5年;我从1990开始开车;我的驾照类型为C型号C工具介绍创建第一个C语言程序计算机语言介绍C语言程序设计任务1.3创建第一个C语言程序—欢迎使用车辆监控系统3.编写程序,计算边长为150的正方形面积和183的值,并按如下形式显示。
==========Welcome==========Theareais22500Thethirdpowerof18is5832.000000==========Good-bye==========C工具介绍创建第一个C语言程序计算机语言介绍C语言程序设计任务1.3创建第一个C语言程序—欢迎使用车辆监控系统#include"stdio.h"voidmain(){printf("####################\n");printf("欢迎来到车辆监控系统\n");printf("####################\n");}1.3.5C语言程序设计项目二车辆行驶状态显示(输入、输出)C语言程序设计项目二车辆行驶状态显示(输入、输出)C语言程序设计熟悉输入、输出用法的格式。熟悉C语言几种常用的数据类型、运算符和表达式掌握标识符的命名规则。掌握常量和变量的定义和引用规则。掌握流程图的几种符号。知识目标能准确运用输入与输出用法。能熟练运用数据类型之间的自动转换和强制转换。掌握算术运算符的使用规则、优先级和结合性。能画出简单程序的流程图。掌握程序的最基本的算法过程。能力目标01020304统计汽车的数量
(printf函数)统计汽车的载客人数(scanf函数)统计需要的车辆(算术运算符、强制转换)显示驾照的类型(字符输入与输出)项目二05求能拿到驾照的过程(流程图)引入:
在日常生活中,我们的很多数据必须显示出来,本次课程主要讲解各种数据类型的显示。01任务目标:运行截图
已知A汽车公司第一季度生产新能源客车5987辆,新能源物流车1245辆,公交客运2580辆,轻型客车7890辆,求该公司一季度共生产汽车多少。任务目标:
已知A汽车公司第一季度生产新能源客车5987辆,新能源物流车1245辆,公交客运2580辆,轻型客车7890辆,求该公司一季度共生产汽车多少。(1)变量名中只能出现数字、大写英文字母、小写英文字母和下划线。(2)变量名必须以字母或下划线开头。(3)变量名与关键字不能相同。(4)需要见名知意。任务目标:
已知A汽车公司第一季度生产新能源客车5987辆,新能源物流车1245辆,公交客运2580辆,轻型客车7890辆,求该公司一季度共生产汽车多少。变量命名:新能源汽车数目:uMotorVeh_No;物流车数目:uDeliveryVeh_No公交车数目:uBus_No轻型客车数目:uLightBus_No车辆总数:uVeh_Sum任务分析与实践:1.定义变量2.给变量赋值3.求车辆的总数4.输出车辆的总数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);引例分析与实践:程序代码#include
"stdio.h"voidmain(){
int
uMotorVeh_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);}问题的提出不同的课程在不同的教学地点、不同的数据类型,用不同的形式表示教室高等数学、语文等C语言、ps等体育、运动会等机房操场知识储备31C语言中包含的数据类型如图2-2所示(定义)1.数据类型
图2-2C语言数据类型知识储备321.数据类型(格式类型)数据类型格式符int%ddouble%lffloat%fchar%c知识储备331.数据类型[示例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);}
在C程序中什么样的数据类型用什么样的符号输出,另外需要注意数据类型的范围,否则会出错。知识储备342.常量
常量就是在程序运行过程中保持不变的量。图2-3变量图解定义变量的一般形式:
类型名
变量1,变量2,…,变量名n;变量的三个属性:变量名、变量值、变量类型变量的命名规则
(1)变量名中只能出现数字、大写英文字母、小写英文字母和下划线。(2)变量名必须以字母或下划线开头。(3)变量名与关键字不能相同。(4)见名知意。注意:变量必须先定义后使用3.变量定义:在程序执行过程中,其值可以改变的量。知识储备354.数据类型表2-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%c180~(28-1)字符char%c18--27~(27-1)知识储备364.数据类型
变量命名规则为类型和对应英文单词的组合,单词间首字母大写或单词之间用下划线隔开,如fVeh_Speed(或fVehSpeed)分别为类型float的缩写f、车辆vehicle和车速speed的组合而成。类型缩写如下表2-2所示:表2-2类型前缀表学习目标1.熟悉变量的定义、赋值、输出的格式。2.掌握程序的一般过程第一步:定义变量第二步:给变量赋值第四步:输出第三步:计算典型案例:案例1.已知B汽车运营公司共拥有48377辆汽车,目前正在运营的车辆47342辆,求维修的车辆数?算法分析:1.定义变量Veh_SumNum总车辆,Veh_Run运营车辆,Veh_Repair维修车辆2.给总车辆和运营车辆赋值4.输出维修车辆3.计算维修车辆典型案例:案例1.已知B汽车运营公司共拥有48377辆汽车,目前正在运营的车辆47342辆,求维修的车辆数?#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);//输出}典型案例:案例2.已知B汽车运营公司共有48377辆汽车,为了保证公司业务的正常运营,售后维修部门必须有车辆数量的1/80的轮胎数,假设一个轮胎的价格为655.5元。求维修部门的准备轮胎的费用。算法分析:1.定义变量Vehicle_SumNo总车辆,Vehicle_TyreNo轮胎数,Tire_Money一个轮胎的费用,Tire_SumMoney轮胎总费用;2.给总车辆、一个轮胎的费用赋值4.输出维修车辆3.计算轮胎总费用典型案例:案例2.已知B汽车运营公司共有48377辆汽车,为了保证公司业务的正常运营,售后维修部门必须有车辆数量的1/80的轮胎数,假设一个轮胎的价格为655.5元。求维修部门的准备轮胎的费用。#include"stdio.h"voidmain(){
//1)定义变量
intVehicle_SumNo,Vehicle_TyreNo; doubleTire_Money,Tire_SumMoney;
//2)给总车辆、一个轮胎的费用赋值Vehicle_SumNo=48377;Tire_Money=655.3;
//3)计算轮胎总费用 Vehicle_TyreNo=Vehicle_SumNo/80; Tire_SumMoney=Vehicle_TyreNo*Tire_Money;
//4)输出轮胎总费用 printf("维修部门的准备的轮胎费用为%lf",Tire_SumMoney);
}巩固练习:1.已知4S店目前45位男性员工,宿舍是4人间,需要准备多少间宿舍。(参考变量男性员工Maleemployee,宿舍人数Numberofhostelresidents,宿舍间数Numberofdormitories)2.假设两个驾驶员的工资甲为5500一个月,乙为7800一个月,那么一年工资相差多少。(参考变量工资salary,差额difference)3.一辆新能源车2019年的车辆保险为3507.5元,2020年的车辆保险为3209.5元,求一共花费的保险费用。(参考变量保险insurance)C语言程序设计项目二车辆行驶状态显示(输入、输出)C语言程序设计01020304统计汽车的数量
(printf函数)统计汽车的载客人数(scanf函数)统计需要的车辆(算术运算符、强制转换)显示驾照的类型(字符输入与输出)项目二05求能拿到驾照的过程(流程图)统计汽车的载客人数02引入:
在日常生活中,我们的很多数据必须从键盘输入后者从外部获取,本次课程主要讲解数据从外部输入如何解决。02问题的提出知识储备49scanf()函数格式:scanf(格式说明,变量地址列表);功能:按格式控制符的格式输出将数据从终端传送到变量地址所指定的内存空间示例1:一个变量的输入intnum;scanf(“%d”,&num);运行:12回车知识储备50scanf()函数格式:scanf(格式说明,变量地址列表);功能:按格式控制符的格式输出将数据从终端传送到变量地址所指定的内存空间示例2:两个变量的输入intnum;doublesum;scanf(“%d%lf”,&num,&sum);运行方法一:12空格34.5回车运行方法二:12回车34.5回车运行方法三:12TAB键34.5回车输入多个变量时,一般输入时以空格、回车键、TAB区分,最后以回车键结束。知识储备51要求格式显示到小数点后2位的单精度类型%.2f显示到小数点后1位的双精度类型%.2lf双精度显示整数%.0f整型显示至少占5个位置左空格%-5d整型显示至少占4个位置右空格%4d2.数据特殊格式显示(输出使用的时候)表2-1特殊格式显示一般浮点型输出默认小数点后6位,当需要特殊形式的输出,需要稍作更改输出格式知识储备522.数据特殊格式显示(输出使用的时候)#include"stdio.h"voidmain(){intnum;doublesum;scanf("%d%lf",&num,&sum);printf("num=%d,sum=%lf\n",num,sum);printf("num=%-5d,sum=%.2lf\n",num,sum);printf("num=%5d,sum=%.0lf\n",num,sum);printf("num=%0d,sum=%-7.1lf\n",num,sum);}任务目标:运行截图
已经一辆新能源大客车的荷载人数为56人,从键盘输入客车的数量,求可以荷载的人数。运行截图为:任务目标:已经一辆新能源大客车的荷载人数为56人,从键盘输入客车的数量,求可以荷载的人数。运行截图为:分析需要的变量变量1:大客车荷载人数变量2:客车的数量(需要从键盘输入)变量3:可以荷载的人数(需要求解)任务分析与实践:1.定义变量(Vehicle_Loadnumber客车荷载数量Vehicle_Number客车数量sumLoadnumber总的载客量)2.给变量赋值(输入客车的数量)3.计算(总的载客量)4.输出载客量intVehicle_Loadnumber=56,Vehicle_Number,sumLoadnumber;printf("请输入客车的个数");scanf("%d",&Vehicle_Number);
sumLoadnumber=Vehicle_Loadnumber*Vehicle_Number;printf("客车总的载客量为%d",sumLoadnumber);引例分析与实践:程序代码#include"stdio.h"voidmain(){
intVehicle_Loadnumber=56,Vehicle_Number,sumLoadnumber;printf("请输入客车的个数");scanf("%d",&Vehicle_Number);sumLoadnumber=Vehicle_Loadnumber*Vehicle_Number;printf("客车总的载客量为%d",sumLoadnumber);}学习目标1.进一步熟悉变量的定义、赋值、输出的格式。3.进一步掌握程序的一般过程第一步:定义变量第二步:给变量赋值第四步:输出第三步:计算2.掌握变量输入的格式典型案例:1.从键盘上输入汽车的累积里程和使用年限,求每年平均里程。算法分析:1.定义变量.累积里程AccumulatedMileage、使用年限ServiceYear、平均里程AvgdMileage2.输入累积里程和使用年限4.输出平均里程3.计算平均里程典型案例:1.从键盘上输入汽车的累积里程和使用年限,求每年平均里程。#include"stdio.h"voidmain(){intServiceYear;doubleAccumulatedMileage,AvgdMileage;printf("请输入累积里程");scanf("%lf",&AccumulatedMileage);printf("请输入使用年限");scanf("%d",&ServiceYear);AvgdMileage=AccumulatedMileage/ServiceYear;printf("每年的平均里程为%lf",AvgdMileage);}典型案例:2.已知大客车荷载人数为36,小客车荷载人数为18,输入大客车和小客车的数量,求出荷载人数。算法分析:1.定义需要的5个变量.BVehicle_Loadnumber大客车荷载人数,SVehicle_Loadnumber小客车荷载人数,BVehicle_Num大客车数量,SVehicle_Num小客车数量,Vehicle_SumLoadnumber2.输入大客车和小客车的数量4.输出荷载人数3.求出荷载人数典型案例:2.已知大客车荷载人数为36,小客车荷载人数为18,输入大客车和小客车的数量,求出荷载人数。#include"stdio.h"voidmain(){ intBVehicle_Loadnumber=36,SVehicle_Loadnumber=18; intBVehicle_Num,SVehicle_Num,Vehicle_SumLoadnumber; printf("请输入大客车的车辆数"); scanf("%d",&BVehicle_Num); printf("请输入小客车的车辆数"); scanf("%d",&SVehicle_Num);Vehicle_SumLoadnumber=BVehicle_Num*BVehicle_Loadnumber+SVehicle_Loadnumber*SVehicle_Num; printf("客车的荷载人数为%d",Vehicle_SumLoadnumber);}巩固练习
1.有一辆车历经了两位车主的使用,从键盘输入两位车主使用的年限,求目前这辆车的使用年限。(变量参考车主ownerofavehicle,使用年限servicelife)2.从键盘输入车辆的价格和个数,求需要付的费用。(变量参考车辆价格VehiclePrice,车辆个数Numberofvehicles,车辆费用Vehiclecosts)3.输入一个驾驶员的驾照类型,输出类型对应的小写字母。(变量参考Typeofdriver'slicense大小写ACSII值相差32)C语言程序设计项目二车辆行驶状态显示(输入、输出)C语言程序设计01020304统计汽车的数量
(printf函数)统计汽车的载客人数(scanf函数)统计需要的车辆(算术运算符、强制转换)显示驾照的类型(字符输入与输出)项目二05求能拿到驾照的过程(流程图)引入:
在日常生活中,要对数据进行各种运算,本次课程主要讲解各种运算符。03任务目标:运行截图
某公司承办某班级春游包车服务,要求通过键盘输入参加活动的学生人数以及一辆客车的载客人数,计算该公司承接该项服务所需要的车辆数?引例分析与实践:算法分析:1.定义变量Vehicle_Passenger车载人数,Vehicle_Number车辆数,Student_NumBer学生人数。intVehicle_Passenger,Vehicle_Number,Student_NumBer;2.从键盘输入车载人数,学生数
scanf("%d",&Vehicle_Passenger);scanf("%d",&Student_NumBer);3.使用除法运算符(/)求车辆数Vehicle_Number=Student_NumBer/Vehicle_Passenger+1;4.输出所需车辆数
printf("共需要车辆%d辆",Vehicle_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);}
问题的提出老师,我们C语言的运算符和平时数学中的运算符一样吗?加减乘除的基本一致,但是也有一些特殊的格式比如求余,整除等知识储备71
+、-、*、/、%、++、--注意:/(整除)对于int,float,double均适用,例如:8.0/3.08/3%(求余)只对int起作用。
1.算术运算符示例1:#include"stdio.h"voidmain(){doublenum1,num2;doublenum3,num4;printf("%lf,%lf",num1/num2,num3%num4);}程序出错知识储备72
+、-、*、/、%、++、--注意:/(整除)对于int,float,double均适用,例如:8.0/3.08/3%(求余)只对int起作用。
1.算术运算符示例1(修改):#include"stdio.h"voidmain(){doublenum1,num2;intnum3,num4;printf("%lf,%d",num1/num2,num3%num4);}知识储备732、关系运算符运操作符作用>大于>=大于等于<小于<=小于等于==等于!=不等于知识储备743、运算符的优先级高低!算术运算符关系运算符&&和||赋值运算符例:如a=5,b=3,c=2求下列各表达式的值。(1)a<b0(2)a!=b>=c1(3)c>b<a1(4)c==b>a0知识储备754、逻辑运算符&&逻辑与||逻辑或!逻辑非例:如a=5,b=3,c=2求下列各表达式的值(1)!a||b1(2)a<b&&b>c0(3)!b&&a||c1知识储备765、强制转换强制转换一般形式如下:(数据类型)(表达式)#include"stdio.h"voidmain(){floata;intb;a=4.68;b=(int)a;printf("a=%lf,b=%d\n",a,b);}学习目标1.熟悉变量的各种类型。3.进一步掌握程序设计的一般过程第一步:定义变量,确定变量类型第二步:给变量赋值第四步:输出第三步:计算2.掌握scanf函数的输入方法。典型案例:案例1.从键盘输入货物的吨数和货车的载重量,求共需要拉几次和最后一次拉的吨数。算法分析:定义变量Cargo_Quantity货物量,Truck_load货车载重量,Pull_Number拉货次数,Final_load最后一次的载重量。输入货物的吨数和货车的载重量。计算拉货次数,求最后一次的拉货量。输出拉货次数和最后一次的拉货量。典型案例:案例1.从键盘输入货物的吨数和货车的载重量,求共需要拉几次和最后一次拉的吨数。#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;Final_load=Cargo_Quantity%Truck_load;printf("货车需要拉%d趟\n",Pull_Number);printf("最后一次需要拉%d吨\n",Final_load);}程序代码典型案例:案例1.从键盘输入货物的吨数和货车的载重量,求共需要拉几次和最后一次拉的吨数。运行截图典型案例:案例2.从键盘输入一个浮点数,求它的整数部分和小数部分。算法分析:定义变量Float_Number浮点数,Int_Part整数部分,Decimal_Part小数部分从键盘输入一个浮点数。求整数部分。求小数部分。输出整数和小数部分。典型案例:案例2.从键盘输入一个浮点数,求它的整数部分和小数部分。#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.从键盘输入一个浮点数,求它的整数部分和小数部分。运行截图巩固练习1.一名驾驶员的工号为4位的整数,从键盘输入一名驾驶员的工号,输出工号各位数字之和。(变量参考工号jobnumber,个位units,十位tens,百位hundreds,千位thousands)2.从键盘输入一名驾驶员的身高(米)和体重(公斤),求这名驾驶员的体指数。(体脂数公式为BIM=体重/(身高*身高);变量参考体重weight,身高heigh)3.从键盘输入一辆箱式货车箱长的长、宽、高,求它的容积。(变量长length,宽width,高high)4.一名驾驶员想看一下天气温度,结果给出的时华氏温度,他希望知道摄氏温度。从键盘输入华氏温度,求出摄氏温度。(华氏转化为摄氏的公式:C=5/9*(F-32)C语言程序设计项目二车辆行驶状态显示(输入、输出)C语言程序设计01020304统计汽车的数量
(printf函数)统计汽车的载客人数(scanf函数)统计需要的车辆(算术运算符、强制转换)显示驾照的类型(字符输入与输出)项目二05求能拿到驾照的过程(流程图)引入:
在日常生活中,处理数据时,需要从键盘输入各种类型的数据,本次课程主要讲解如何对键盘输入的各种类型的数据进行处理。04任务目标:运行截图从键盘输入驾驶员的驾照类型(高于C级),因为1个实习年度扣分超过12分被降1级,输出新的驾照类型。知识储备90格式:putchar(c);功能:在终端上输出一个字符,不换行如:chara=‘A’;intk=65;putchar(a);putchar(k);putchar(‘A’+32);putchar(65);putchar(‘\101’);1.字符数据输出函数putchar()知识储备912、字符输入函数getchar()格式:getchar();功能:返回从键盘输入一个字符,不带任何参数。例:
main()
{charletter;/*等待键盘输入一个字符*/
letter=getchar();printf(“%c”,letter);
}学习目标2.掌握%,\符号的用法。3.更深入地掌握程序设计的一般过程第一步:定义变量第二步:给变量赋值第四步:输出第三步:计算1.进一步熟悉输入输出的各种类型应用。典型案例:案例1.一个驾驶员原来是小轿车类型C型驾照,驾驶员通过大客车的学习升了二级,显示驾驶员最新的驾照类型。算法分析:定义变量Driver_LicenseType驾照类型输入驾照类型Driver_LicenseType减二输出驾照类型典型案例:案例1.一个驾驶员原来是小轿车类型C型驾照,驾驶员通过大客车的学习升了二级级,显示驾驶员最新的驾照类型。#include"stdio.h"voidmain(){charDriver_LicenseType;printf("请输入原有的驾照类型");Driver_LicenseType=getchar();Driver_LicenseType=Driver_LicenseType-2;printf("升二级后的驾照类型为");putchar(Driver_LicenseType);}程序代码典型案例:案例1.一个驾驶员原来是小轿车类型C型驾照,驾驶员通过大客车的学习升了二级,显示驾驶员最新的驾照类型。运行截图典型案例:案例2.从键盘输入一个大写字母,转换成小写字母并输出。算法分析:定义变量输入大写字母转换成小写字母输出转换后的字母典型案例:案例2.从键盘输入一个大写字母,转换成小写字母并输出。#include"stdio.h"voidmain(){intch;printf("请输入一个大写字母");scanf("%c",&ch);ch=ch+32;printf("转换后的小写字母为%c",ch);}程序代码典型案例:案例2.从键盘输入一个大写字母,转换成小写字母并输出。运行截图引例分析与实践:算法分析:1.定义变量Driver_LicenseType驾照类型2.输入驾照类型3.降级驾照4.输出驾照类型引例分析与实践:程序代码#include"stdio.h"voidmain(){charDriver_LicenseType;printf("请输入原有的驾照类型");Driver_LicenseType=getchar();Driver_LicenseType=Driver_LicenseType++;printf("降级后的驾照类型为");putchar(Driver_LicenseType);}巩固练习1.一名驾驶员在输入年龄时方法错误,输入成了二个数字字符,请将它变为实际年龄值。(变量参考年龄age)2.从键盘输入一名驾驶员的驾照等级,输出等级对应的小写字母。(变量参考年龄Classofdriver'slicense)3.从键盘输入一个车辆三角形警示牌的三边(单位cm),求警示牌的面积。(变量参考长length,面积area)C语言程序设计项目二车辆行驶状态显示(输入、输出)C语言程序设计01020304统计汽车的数量
(printf函数)统计汽车的载客人数(scanf函数)统计需要的车辆(算术运算符、强制转换)显示驾照的类型(字符输入与输出)项目二05求能拿到驾照的过程(流程图)引入:日常生活中,如果我们遇到需要处理的问题,但是处理问题时我们采用何种方法和步骤,这是需要考虑的重点。在编写程序过程中,我们根据要求采用哪种方法和步骤进行处理,也是作为程序员需要必备的编程能力。05任务目标:流程图通过流程图,显示获得驾照的过程。如果要按期拿到驾照需要通过科目一、科目二、科目三每次最多5次机会,任何一个科目超过5次没能通过则未通过考试(实际驾考共有四个科目,因展示原因设置该题目仅为三个科目)。知识储备:3算法的表示:(1)用自然语言表示算法(2)用流程图表示算法1算法的概念:为解决一个问题而采取的方法和步骤称为算法。2算法的特征:(1)有穷性:算法的步骤是有限的。(2)确定性算法中的每一个步骤都应当是确定的,不能产生歧义。(3)可行性算法的每一步必须是切实可行的。(4)有输入有0个或者多个输入。(5)有输出有1个或者多个输出。用自然语言表示算法算法可以用自然语言来描述,自然语言就是人们日常使用的语言,可以是汉语、英语或者其他各种语言,其优点在用表示的算法通俗易懂,便于理解,但是缺点在于文字冗长,容易产生歧义,特别是在表达条件判断和循环算法时,很难表述清楚。用流程图表示算法流程图表示算法:用一些图框表示各种操作,用箭头表示算法的流程。图形是一种比较好的表达程序的一种方式,用图形表示算法直观形象,易于理解流程图符号说明110符号形状名称功能
圆角矩形起止框程序的开始或者结束标识
菱形判断框对一个给定的条件进行判断,根据其是否成立决定如何执行其后操作
平行四边形输入输出框变量的输入、输出
开放矩形注释框解释、说明
矩形执行框执行语句
圆点连接点可以避免流程线的交叉或过长,使流程图更加清晰线条流程线表示流程图的路径和方向用N-S图表示算法人们对传统的流程图进行改进,规定几种基本的结构,然后有这些基本结构按照一定规律组成算法结构,整个算法结构至上而下地将各个基本结构顺序排列起来。
将流程图中的流程线去掉,基本结构之间顺序组合表示,构造出一种新的流程图N-S图。在N-S中取消了带箭头的流程线,每种结构用一个矩形框表示。25%LoremipsumdolorsitametputanyMale典型案例一:大客车驾驶员的工资等级分为四级,连续10年无事故为一级,满8年无事故为二级,满5五年无事故为三级,其余为四级。输入驾驶员的无事故年限,输出等级,请画出流程图。该例题是典型的条件判断例题,是一道多分支条件判断例题。根据题目内容画出流程图确定判断条件流程图展示:开始输入安全年限yearyear>=10year>=8year>=8Y工资等级一级工资等级二级工资等级三级工资等级四级结束YYNNN典型案例二:B企业有120人,目前需要所有人从B企业到A场去参观,只有一辆大客车可容纳的人数为32人,运用流程图画出一辆大客车运送人员的过程,画出流程图该例题是典型的循环例题。根据题目要求画出流程图确定循环条件:把所有人的送完为止流程图展示:开始输入公司的总人数num=120num>=0Y结束num=num-32N运送次数i=0;i=i+1巩固练习:问题一使用流程图画出“找到3个数据中最大的数字”问题二使用N-S图画出“找到3个数据中最大的数字”123问题三使用伪代码完成“找到3个数据中最大的数字”引例分析与实践:任务分析:将本任务进行拆分该任务要求每次任务可以进行5次考试,即用到循环语句通过前一个科目才能进行下一个,用到判断语句程序设计要遵照自顶而下的设计模式,该任务可以分解为循环和条件判断两种结构完成。思考正常进行驾照科目考试流程,只有当前一科目通过时才能够进行下一个科目的学习,此题目中给出每一科目考试的次数为五次以内循环条件有两个,一是科目的通过与否,二是学习的次数是否小于5定义计数变量,记录每科目考试通过的次数,用循环结构,判断计数变量是否小于5及是否考试通过,使用选择结构判断通过与否。任务解析:任务流程图展示:开始计数器i=1,j=1,k=1,l=1;考试科目一;计数器i++;科目一未通过?&&i<=5NY考试科目一;i>5Y结束N科目二未通过?&&j<=5计数器j++;考试科目二;j>5Y科目三未通过?&&k<=5计数器k++;考试科目三;YNj>5N未通过考试;未通过考试;未通过考试;YYNN通过考试;同步练习:问题一问题二问题三思考典型案例一如果用N—S图去表示,应该如何画出?思考典型案例二如果用伪代码去表示,应该如何完成?思考本次任务如果用N-S图和伪代码去表示,应该如何完成?同步练习:问题一问题二问题三思考典型案例一如果用N—S图去表示,应该如何画出?思考典型案例二如果用伪代码去表示,应该如何完成?思考本次任务如果用N-S图和伪代码去表示,应该如何完成?巩固练习1.有一位学生目前需要从学校到苏州火车站,过程为宿舍、四号支线地铁站、苏州火车站。请用流程图画出来。2.有一位同学目前需要从学校到苏州火车站,当他从宿舍开始时,可以选择打车,也可以四号支线地铁站、苏州火车站。3.从键盘输入两个数据A,B,交换后输出。(程序)当A>B的时候不交换,否则交换(流程图)C语言程序设计项目三车辆数据类型选择(选择结构)C语言程序设计01020304新能源汽车电池组的选择(单分支)判断车辆是否存在故障(双分支)判断车辆的故障等级(多分支)判断车辆的故障等级(switch)项目三05车辆故障诊断与维修(选择嵌套)项目三车辆数据类型选择(选择结构)C语言程序设计熟悉if语句和switch语句的定义和使用。理解if语句和switch语句的嵌套。知识目标能基本利用C语言流程控制语句设计选择结构程序。能熟练运用if语句、switch语句及选择语句的嵌套编写程序。能准确运用选择语句编写简单程序。能力目标任务1:新能源汽车电池组的选择(单分支)项目三引入:在生活中我们总会碰到选择的问题,那么在程序中我们如何解决呢?
01知识储备C语言程序设计
(2)行进中的分叉路口任务目标
通过键盘输入新能源汽车的电池型号,如果输入1则输出使用铅酸电池。(变量:电池型号batterytype)知识储备C语言程序设计
(2)行进中的分叉路口(1)树生长程中的分叉一、if语句的格式格式:if(条件)
语句组1;[else
语句2; ]知识储备C语言程序设计
(2)行进中的分叉路口(1)树生长程中的分叉二、选择结构structstudent{intsno;
intname;
charsex(3);intage;charaddress(30);doublehight;doubleweight;}示例C语言的选择结构是通过条件判断语句来实现的,模块化的结构便于阅读、调试和修改。选择结构有两种方式来实现:由if语句来实现的两分支语句;由switch语句来实现的多分支语句。在选择结构中要对条件判断表达式进行判断,根据判断的结果决定选择哪一个分支路径,条件判断表达式大多情况下是由关系表达式或者逻辑表达式构成。个结构体为student,成员包含学号,姓名,性别,
年龄,家庭住址,身高,体重。知识储备C语言程序设计
(2)行进中的分叉路口(1)树生长程中的分叉三、流程结构图示例3:定义一个结构体为student,成员包含学号,姓名,性别,出生年月(结构体包含年、月、日),家庭住址。图3-1选择结构的三种流程图知识储备C语言程序设计
(2)行进中的分叉路口(1)树生长程中的分叉四、关系运算符及优先顺序关系运算符:<、<=、>、>=、==、!=,分别称之为:小于、小于等于、大于、大于等于、等于、不等于。
名称说明
关系运算符系统提供了六种关系运算符<:小于
双目运算符
优先级第6级<=:小于等于
双目运算符
同上>:大于
双目运算符
同上>=:大于等于
双目运算符
同上==:等于
双目运算符
优先级第7级!=:不等于
双目运算符
同上关系表达式用关系运算符将两个表达式连接起来的式子,称关系表达式。例如:3>2、x+y>x+z、x>y==z、z=x>y、'c'<'d'等都是关系表达式。
关系表达式的值是一个逻辑值,即“真”或“假”。若关系成立,为“真”,值为“1”;若关系不成立,为“假”,值为“0”。知识储备C语言程序设计
(2)行进中的分叉路口(1)树生长程中的分叉五、逻辑运算符及优先级知识储备C语言程序设计
(2)行进中的分叉路口(1)树生长程中的分叉六、运算符的优先级示例4:定义两个学生的结构体变量图3-2运算符的优先级知识储备C语言程序设计
(2)行进中的分叉路口(1)树生长程中的分叉七、if单分支语句格式示例5:定义两个学生的结构体变量structstudent{intstuId;charname[9];charsex[3];intage;charaddress[30];doublehight;doubleweight;}stu1,stu2;if单分支语句格式if(表达式){
语句1;
语句2;…}知识储备C语言程序设计
(2)行进中的分叉路口(1)树生长程中的分叉八、if单分支流程图与N-S流程图知识储备C语言程序设计
运行截图行进中的分叉路口(1)树生长程中的分叉九、示列一求关系表达式的值。#include<stdio.h>voidmain(){intx=1,y=2,z=3;printf("%d\n",3>2);printf("%d\n",2>3);printf("%d\n",x+y>x+z);printf("%d\n",x>y==z);printf("%d\n",z=x>y);printf("%d\n",'c'<'d');}知识储备C语言程序设计
(2)行进中的分叉路口(1)树生长程中的分叉十、示例二求逻辑表达式的值。#include<stdio.h>voidmain(){intx=1,y=2,a=1,b=2,c=3,d=4,m=1,n=1;//定义整型变量printf("%d\n",0&&x||y);//输出逻辑表达式的值printf("%d\n",2||9&&0);printf("%d\n",4-!3&&'c');printf("%d,%d,%d\n",(m=a>b)&&(n=c>d),m,n);printf("%d,%d,%d\n",(m=d>c)||(n=c>d),m,n);}知识储备
C语言程序设计(1)树生长程中的分叉
十一、示例三任意输入三个数a,b,c,求三个数中最大数max。算法:1.定义变量2.输入变量3.比较并输出知识储备
C语言程序设计(1)树生长程中的分叉
十一、示例三任意输入三个数a,b,c,求三个数中最大数max。voidmain(){intnum_a,num_b,num_c,max;printf("请输入三个数据");scanf(“%d%d%d”,&num_a,&num_b,&num_c)max=num_a;if(max<num_b)max=num_b;if(max<num_c)max=num_c;printf("最大值为%c",max);}任务分析与实践C语言程序设计(1)树生长程中的分叉
程序代码算法:1.定义变量 2.输入电池型号 3.判别#include"stdio.h"voidmain(){intbattery_type;printf("请输入新能源汽车的电池型号");scanf("%d",&battery_type);if(battery_type==1)printf("使用铅酸电池");}项目三任务一C语言程序设计
(2)行进中的分叉路口问题的提出
现实生活中有很多问题需要我们选择后,做决定,本次课程就是解决程序中碰到选择问题如何决定的。项目三任务一C语言程序设计
(2)行进中的分叉路口(1)树生长程中的分叉典型案例1对纯电动客车可以通过剩余电池容量查询其续航里程,从键盘输入电池容量(27)千瓦时,现它的续航里程为200km。(变量:电池容量batterycapacity,续航里程limitedmileage)1.定义变量电池容量battery_capacity,续航里程limited_mileage2.输入电池容量3.判别显示4.输出项目三任务一C语言程序设计
(2)行进中的分叉路口(1)树生长程中的分叉典型案例1对纯电动客车可以通过剩余电池容量查询其续航里程,从键盘输入电池容量(27)千瓦时,现它的续航里程为200km。(变量:电池容量batterycapacity,续航里程limitedmileage)1.定义变量电池容量battery_capacity,续航里程limited_mileage2.输入电池容量3.判别显示4.输出项目三任务一C语言程序设计
(2)行进中的分叉路口(1)树生长程中的分叉典型案例1定义两个double类型变量battery_capacity,limited_mileage,使用关键词scanf接收用户输入的数据,当输入电池容量=27时,if语句判别输入,是则输出续航里程。#include"stdio.h"voidmain(){doublebattery_capacity,limited_mileage; printf("请输入电池容量"); scanf("%lf",&battery_capacity); if(battery_capacity==27) {limited_mileage=200;printf("续航里程为%lf",limited_mileage); }}项目三任务一C语言程序设计
(2)行进中的分叉路口(1)树生长程中的分叉典型案例2对纯电动客车可以通过续航里程查询其所需要的电池容量,要求从键盘输入汽车需要的续航里程(如果大于等于550km),输出此时对应的电池容量为80千瓦时。(变量:续航里程imited_mileage电池容量battery_capacity)算法分析:1. 定义变量2. 输入续航里程3. 判断输出电池容量项目三任务一C语言程序设计
(2)行进中的分叉路口(1)树生长程中的分叉典型案例2对纯电动客车可以通过续航里程查询其所需要的电池容量,要求从键盘输入汽车需要的续航里程(如果大于等于550km),输出此时对应的电池容量为80千瓦时。(变量:续航里程imited_mileage电池容量battery_capacity)算法分析:1. 定义变量2. 输入续航里程3. 判断输出电池容量项目三任务一C语言程序设计
(2)行进中的分叉路口(1)树生长程中的分叉典型案例2定义两个double类型变量battery_capacity(电池容量)imited_mileage(续航里程),使用关键词scanf接收用户入的数据,当输入续航里程>=550时,if语句判别输入,是则输出电池容量./*Note:YourchoiceisCIDE*/#include"stdio.h"voidmain(){doublebattery_capacity,limited_mileage;printf("请输入续航里程为");scanf("%lf",&limited_mileage);
if(limited_mileage>=550){battery_capacity=80;printf("电池容量为%lf",battery_capacity=80);}}项目三任务一C语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外包岗位劳务合同范例
- 摆摊转让店铺合同范例
- 托儿所服务的语音识别和翻译考核试卷
- 消防纸设计服务合同范例
- 污水管施工合同模板
- 植物采购合同范例
- 水利设计施工合同范例
- 房屋过户合同范例5篇
- 清垃圾合同范例
- 河堤施工合同范例
- 建筑施工安全风险辨识分级管控(台账)清单
- 电视墙安防监控系统报价单
- 人教版语文能力层级-·-教材-·-中考
- 【企业薪酬体系管理研究国内外文献综述】
- 千兆位以太网用光纤收发器设计-设计应用
- 《超星尔雅学习通》【对话大国工匠致敬劳动模范】章节测试题及答案
- 《月光曲》评课稿
- 白蚁防治分部工程验收鉴定书
- 口腔黏膜课件第9章10章性传播疾病的口腔表征 艾滋病
- 韩文那些事儿智慧树知到答案章节测试2023年嘉兴学院
- 江苏省建筑和装饰工程的计价定额说明及计算规则
评论
0/150
提交评论