版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计案例教程项目1·学生成绩的输入和输出目录本项目共12个学习单元01项目导入:学生成绩的输入和输出02任务导入:学生成绩的输入和输出实例03思政园地041.1.1程序和程序设计语言051.1.2简单的C程序061.2C程序的基本结构071.3基本输入和输出方法(1.3.1、1.3.2)081.3.3格式输出函数printf()091.3.4格式输入函数scanf()101.4C程序的上机步骤11实验初识VisualC++2010环境及运行C程序12小结与习题02项目导入:学生成绩的输入和输出以“学生成绩输入输出”为主线,学习C程序的基本结构与基本输入输出03学习目标知识、能力、素质三维目标共同构成项目1的学习要求知识目标1认识C程序,了解其基本结构。2理解基本输入输出方法,涵盖字符输入输出、格式输入输出。3熟悉C程序的上机步骤。能力目标1理解C程序基本结构。2熟练运用基本输入输出函数进行数据操作。3掌握C程序上机步骤,为后续学习奠定基础。素质目标1理解课程意义与基本概念,构建C语言程序设计课程整体知识框架。2树立民族自尊自信,了解我国科学家科学探索精神,厚植家国情怀。3激发不断学习、精益求精的工匠精神,形成良好职业素养。04项目内容导航从程序结构到上机步骤,本项目形成一条完整的入门知识链01任务实例用一个真实任务引出项目全部知识点021.1C程序介绍程序、程序设计语言与简单的C程序示例031.2C程序的基本结构函数、语句的层次与一般书写格式041.3基本输入和输出方法getchar、putchar、printf与scanf051.4C程序的上机步骤编辑、编译、连接、运行四个环节06实验初识VisualC++2010环境并运行C程序05重点与难点重点是C程序基本结构与输入输出函数,难点是数据的输入输出方法重点1C程序的基本结构C程序由函数构成,一个程序由多个函数组成。程序从main()开始执行,其他函数只能被调用。函数是完成某个整体功能的最小单位。2基本输入输出函数printf()按指定格式向显示器输出数据,scanf()按指定格式从键盘读入数据。调用前都要先包含头文件stdio.h。难点数据的输入输出方法格式控制字符串中的%d、%f、%c必须与参数表一一对应;scanf()的参数必须是变量地址,变量名前要加取地址符&;打错一个字母或标点,程序就会报错,得不到正确结果。06任务导入:学生成绩的输入和输出实例用一个真实任务引出本项目全部知识点07问题情景成绩录入与屏幕输出,就是本项目要解决的编程需求辅导员张老师在工作中发现,需要把学生的成绩录入并输出到电脑屏幕上,于是他找来了正在学习计算机编程的小王同学,说明了自己的需求。小王根据张老师的需求,运用所学的C语言编程知识,参考相关资料,设计了一个学生成绩的输入和输出程序,帮助张老师解决了实际问题。这个真实场景,正是本项目要完成的编程任务。需求一:三科成绩录入把语文、数学、英语三科成绩,从键盘输入到程序中保存。需求二:成绩屏幕输出把三科成绩逐项输出到屏幕上,便于查看与核对。08程序实现/*功能:学生成绩的输入和输出*/#include<stdio.h>intmain(){floatyuwen,shuxue,yingyu;printf("请输入学生的语文,数学,英语的成绩:");scanf("%f%f%f",&yuwen,&shuxue,&yingyu);printf("该生的语文,数学,英语的成绩分别是:\n");printf("%f分\t%f分\t%f分\n",yuwen,shuxue,yingyu);return0;}用float变量配合scanf()与printf()即可完成三科成绩的输入输出09运行结果提示:%f默认输出6位小数,成绩以“分”为单位逐项打印程序运行结果请输入学生的语文,数学,英语的成绩:60.570.580.5该生的语文,数学,英语的成绩分别是:60.500000分70.500000分80.500000分运行环境:VisualC++2010控制台窗口1输入运行时先显示提示文字,用户键入60.570.580.5三个数,然后按回车键确认。2输出程序把三科成绩逐项打印,每项后面都带有“分”字,并按语文、数学、英语的顺序排列。3格式%f默认保留6位小数,所以60.5显示为60.500000,可用%m.nf指定宽度与精度。10相关知识导引完成本任务需要掌握C程序基本结构、基本输入输出函数与上机步骤。理解C程序基本结构弄清函数是C程序基本单位,掌握主函数与子函数执行顺序。熟练使用输入输出函数会用printf()与scanf()完成数据的输入与输出。掌握C程序上机步骤熟悉编辑、编译、连接与运行的完整流程。11思政园地以基础之实,筑创新之基12以基础之实,筑创新之基C语言以简洁的结构和严谨的语法,成为编程界的“常青树”。01筑牢根基语法、结构、输入输出是共同的基础,任何程序设计都从这里起步。地基越实,楼才能盖得越高;基础越牢,技术之路才能走得越远。02务实精进写程序要反复调试、逐行核对,不放过任何一个可疑的细节。把“差不多”改成“确保正确”,是工程师最基本的职业素养。03技术报国从算盘到超级计算机,中国科技的每一次跨越都始于扎实的基本功。今天的编程学习,正是明天技术报国的起点。13严谨规范·工匠精神C语言严格区分大小写、语法只认英文标点,规范是程序的通行证。1严格区分大小写max与Max是两个不同的标识符,关键字必须全部小写。2标点用英文除字符串内容外,括号、逗号、分号都要在英文输入法下输入。3遵循标准规范标识符命名与代码格式遵循国家标准和行业规范,便于阅读与维护。4精益求精写程序要有细致耐心、一丝不苟、精益求精的工匠精神。一个标点写错,程序就无法通过编译——规范不是束缚,而是通行证。14算盘——绵延千年的中国计算智慧算盘是中国古代的计算工具,也是绵延千年的中国计算智慧。它起源于北宋,由古代劳动人民在长期生产实践中创造出来。算盘距今已有2600多年历史,它的发明常与四大发明相提并论。在阿拉伯数字出现前,它曾是世界广为使用的计算工具。从算盘到今天的计算机,探索的脚步从未停止。151.1.1程序和程序设计语言认识程序与程序设计语言,是学习C语言的第一步16什么是程序洗衣服的五个步骤就是一个“程序”:程序是完成一件事情的步骤序列,且可以不唯一。第1步放衣服把待洗衣物放进洗衣机第2步接水通电打开水龙头再插上电源第3步放洗衣粉按用量加入适量洗衣粉第4步按下开始按下启动键开始洗涤第5步等待晾晒等待程序结束取出后晾晒17低级语言:机器语言与汇编语言机器语言用0和1组成的二进制指令直接指挥计算机工作。执行速度最快,但难记难写、可读性差,出错不易发现。与具体机器相关,换一台机器就未必可用,可移植性差。汇编语言用ADD、MOV等助记符号代替二进制指令。指令与机器指令一一对应,需要汇编程序翻译后执行。比机器语言好读易改,但同样依赖硬件,可移植性仍较差。低级语言直接依赖硬件:执行速度快,但可读性与可移植性差。18高级语言高级语言接近自然语言和数学语言,程序员不必关心机器的内部细节。1可读性好语句接近英语和数学表达式,程序一目了然,便于阅读和修改。2可移植性高同一份源程序换到不同机器上,稍作修改甚至不用修改就能使用。3效率大幅提升用更少的代码完成更多的工作,编程效率和可维护性显著提高。if(a>b)c=a;elsec=b;一行判断即可完成两数比较取大值,不必理会机器内部如何执行。191.1.1编译系统与解释系统高级语言到机器语言需要“翻译”,C语言的编译程序属于编译系统解释系统逐句翻译:读入一句,翻译成机器指令后立即执行边翻译边执行,不生成完整的可执行文件每次运行都需解释程序参与,速度较慢便于逐句调试,灵活但运行效率不高编译系统整体翻译:把源程序一次性翻译成目标程序生成可执行文件后再运行,不依赖编译程序运行效率高,程序执行速度快C语言的编译程序属于编译系统结论:高级语言必须“翻译”成机器语言;C语言采用编译方式,属于编译系统201.1.2简单的C程序用三个简单程序建立对C程序组成的感性认识211.1.2【例1.1】一个简单的C程序一个只含主函数的最小C程序即可完成一行字符串的输出Li1_1.c/*源文件名:Li1_1.c功能:在屏幕输出一串字符串*/#include<stdio.h>intmain(){printf("Thisisacprogram.\n");/*打印输出一行信息*/return0;}运行结果Thisisacprogram.要点printf()是系统提供的格式输出函数字符串原样输出到屏幕\n是换行符,输出后光标移到下一行221.1.2【例1.1】程序结构剖析注释、预处理命令、主函数、函数体、语句分号五要素构成C程序基本框架01注释/*…*/为块注释,//为单行注释,只用于说明程序,不参与编译02预处理命令#include<stdio.h>把系统头文件包含进来,提供输入输出函数03主函数intmain()是程序的唯一入口,程序从main开始执行04函数体用一对大括号{}把main的全部语句括起来05语句与分号每条语句以分号;结尾,printf负责把字符串输出到屏幕231.1.2【例1.2】求两数之和变量先定义后使用,赋值后参与运算,printf输出结果Li1_2.c/*源文件名:Li1_2.c功能:求两个数a、b之和sum*/#include<stdio.h>intmain(){inta,b,sum;/*定义三个整型变量*/a=123;/*给变量a赋值为123*/b=456;/*给变量b赋值为456*/sum=a+b;/*变量a的值加上变量b的值,然后将两数的和赋给变量sum*/printf("sumis%d\n",sum);/*输出变量sum的值*/return0;}运行结果sumis579小结变量必须先定义后使用赋值后即可参与算术运算%d按整型格式输出579241.1.2【例1.3】求两数中较大者程序可由多个函数组成,main调用自定义函数max完成比较并返回结果①包含文件与主函数/*源文件名:Li1_3.c功能:从键盘输入两个数,通过比较求得两个数的较大者,并打印输出*/#include<stdio.h>intmax(int,int);/*声明函数max*/intmain(){inta,b,c;/*声明部分,定义变量*/printf("请输入a和b的值:");/*提示输入a和b的值*/scanf("%d%d",&a,&b);/*从键盘输入变量a和b的值*/c=max(a,b);/*调用max函数,将得到的值赋给c*/printf("max=%d\n",c);/*输出c的值*/return0;}②自定义函数max/*定义max函数,函数值为整型,形式参数x,y为整型*/intmax(intx,inty){intz;/*max函数中的声明部分,定义本函数中用到的变量z为整型*/if(x>y)z=x;elsez=y;return(z);/*将z的值返回,通过max带回调用处*/}运行结果请输入a和b的值:3456max=56251.2C程序的基本结构函数是C程序的基本结构261.2C程序的一般格式包含文件、子函数说明、全局变量、主函数与若干子函数构成C程序的一般格式教材图1-1C程序的一般格式/*1.包含文件*/#include<stdio.h>/*2.子函数类型说明*/函数类型子函数名();/*3.全局变量定义*/数据类型全局变量名;/*4.主函数*/intmain(){变量定义部分;执行语句部分;}/*5.若干子函数sub1…subn*/函数类型子函数名(形式参数表){…}一个C程序由主函数main和若干个子函数组成271.2函数的三部分与执行顺序每个C函数都由函数名、形式参数、函数体三部分组成,程序总从main开始、在main结束函数名函数的名称,是调用函数的依据,如main、max;命名应见名知义。形式参数写在函数名后的括号内,说明参数的个数与类型;没有参数时写void。函数体由一对花括号{}括起,包含变量定义与执行语句,实现函数的具体功能。执行顺序①程序从main开始→②main调用其他函数→③最终在main中结束281.2书写格式三条原则项目1学生成绩的输入和输出规范的书写格式是C程序可读性的基础一行一条语句一般情况下,一行只写一条语句。短语句可以一行写多条,长语句可以分成多行,但不要把一个单词分开。适当缩进、层次对齐用适当的缩进格式书写程序,可以提高程序可读性;表示同一类内容或同一层次的语句要对齐。大括号固定风格每个大括号占一行,并与使用大括号的语句对齐;大括号内的语句按缩进4个字符的格式书写。291.3基本输入和输出方法C语言本身不提供输入输出语句,一切由库函数完成项目1学生成绩的输入和输出1.3输入输出的四个基本函数项目1学生成绩的输入和输出getchar、putchar、printf、scanf是C最基本的输入输出函数getchar()字符输入函数从键盘接收一个字符。putchar()字符输出函数向显示器输出一个字符。printf()格式输出函数按指定格式输出数据。scanf()格式输入函数按指定格式输入数据。311.3.1字符输入函数getchar()项目1学生成绩的输入和输出getchar()从键盘接收一个字符,其值可以赋给字符型或整型变量【例1.4】从键盘输入字符(Li1_4.c)/*源文件名:Li1_4.c功能:从键盘输入一个字符,并将其存入字符型变量c中*/#include<stdio.h>intmain(){charc;c=getchar();/*从键盘输入一个字符*/printf("c='%c'.\n",c);return0;}格式:getchar()功能:从键盘接收输入的一个字符。说明:getchar()的值可以送给字符型变量,也可以送给整型变量。运行结果ac='a'.321.3.2字符输出函数putchar()项目1学生成绩的输入和输出putchar(c)向显示器输出一个字符【例1.5】从键盘输入字符并在屏幕上显示(Li1_5.c)/*源文件名:Li1_5.c功能:从键盘输入一个字符,并用putchar(c)在屏幕上显示出来*/#include<stdio.h>intmain(){charc;c=getchar();/*从键盘输入一个字符*/putchar(c);/*在屏幕上显示一个字符*/printf("\n");return0;}格式:putchar(c)功能:向显示器输出一个字符。说明:c可以是字符型或整型变量,也可以是字符常量或整型常量。运行结果bb331.3.3格式输出函数printf()printf()按指定的格式输出数据项目1学生成绩的输入和输出1.3.3printf()的调用格式项目1学生成绩的输入和输出printf由格式控制字符串和参数表两部分构成,%d、%f、%c分别控制整数、浮点数、字符输出printf("格式控制字符串",参数表);格式控制字符串用双引号括起来,用来规定输出格式:%d输出整数、%f输出浮点数、%c输出字符。参数表包含零个或多个输出项,可以是整数、浮点数、变量或表达式,多个输出项之间用逗号隔开。调用示例printf("%d%d",a,b);按十进制整数形式输出变量a和b。351.3.3【例1.6】打印输出两个整型变量的值项目1学生成绩的输入和输出用一条printf语句即可在同一行输出多个变量的值【例1.6】打印输出两个整型变量的值(Li1_6.c)/*源文件名:Li1_6.c功能:在屏幕上打印输出变量a和变量b的值*/#include<stdio.h>intmain(){inta=8;intb=18;printf("a=%d,b=%d\n",a,b);return0;}运行结果a=8,b=18小结格式控制字符串中的提示文字原样输出,%d依次输出变量a和b的十进制值。361.3.3表1-1printf函数格式字符项目1学生成绩的输入和输出不同格式字符决定数据的输出形式,宽度与精度可进一步控制版面格式字符功能%d或%i按十进制形式输出带符号的整数(正数不带符号)%o按八进制形式无符号输出(无前缀0)%x或%X按十六进制形式无符号输出(无前缀0x)%u按十进制形式无符号输出%c按字符形式输出一个字符%f按十进制形式输出单、双精度浮点数(默认6位小数)%e或%E按指数形式输出单、双精度浮点数%g或%G选用%f或%e中输出宽度较短的一种格式,不输出无意义的0%s输出以'\0'结尾的字符串%ld按长整型形式输出%lo按长八进制整型形式输出%lx按长十六进制整型形式输出%lu按无符号长整型形式输出%m格式字符按宽度m输出,右对齐%-m格式字符按宽度m输出,左对齐%m.n按宽度m输出n位小数,或截取字符串前n个字符,右对齐%-m.n按宽度m输出n位小数,或截取字符串前n个字符,左对齐371.3.4格式输入函数scanf()scanf()按指定格式输入数据38scanf()的调用格式与取地址符scanf的参数必须是变量地址,变量名前要加&调用格式scanf(格式控制字符串,参数表);1格式控制字符串用%d、%f、%c等格式字符说明要输入数据的类型,与printf中的格式控制字符串写法相同。2参数表:变量地址scanf的参数必须是变量的地址,不能直接写变量名。变量名前加取地址符&,表示把数据存放到该变量所在的存储单元。示例scanf("%d%d",&a,&b);读入的两个整数依次存入变量a和变量b。39【例1.7】从键盘输入两个整型变量的值先提示、再scanf读入、最后printf输出,是最常见的交互模式源程序Li1_7.c#include<stdio.h>intmain(){inta,b;printf("请输入变量a和变量b的值:");scanf("%d%d",&a,&b);/*从键盘输入变量a和变量b的值*/printf("a=%d,b=%d\n",a,b);return0;}运行结果请输入变量a和变量b的值:225a=2,b=25键入2和25后按回车,程序按a=2、b=25输出结果。交互三步骤①printf提示输入②scanf读入数据③printf输出结果40表1-2scanf函数格式字符scanf的格式字符决定读入数据的类型格式字符功能%d,%i输入十进制整数%o输入八进制整数%x,%X输入十六进制整数%u输入无符号十进制整数%c输入一个字符%f输入浮点数(小数形式)%e,%E输入浮点数(指数形式)%g,%G输入浮点数(自动选f或e形式)%s输入字符串%ld输入长整型十进制整数%lo输入长整型八进制整数%lx输入长整型十六进制整数%lf输入双精度浮点数%le输入双精度浮点数(指数形式)%hd输入短整型十进制整数%ho输入短整型八进制整数%hx输入短整型十六进制整数41关于#include头文件包含用系统头文件用尖括号,用自定义头文件用双引号尖括号形式#include<stdio.h>先到系统include目录中查找该头文件,找不到时再到当前目录查找。适用于包含系统提供的标准头文件,例如stdio.h、math.h等。双引号形式#include"stdio.h"先到当前源文件所在目录查找该头文件,找不到时再到系统include目录查找。适用于包含自己编写的头文件。写法上只需把尖括号换成双引号。使用建议:包含系统提供的头文件用尖括号,包含自己编写的头文件用双引号。两种写法在语法上都合法,区别在于搜索目录的先后顺序。421.4C程序的上机步骤C源程序要经过编辑、编译、连接和运行四个环节43C程序操作流程编辑→编译→连接→运行四个环节顺序推进,缺一不可编辑录入与修改源程序.c/.cpp编译检查语法生成目标代码.obj连接与库函数连接成程序.exe运行执行并查看运行结果运行结果四个环节顺序推进,缺一不可。上一环节的产物是下一环节的输入:源程序经编译得目标代码,目标代码经连接得可执行文件。44编辑与编译编辑生成源程序文件,编译把源程序转换成目标代码并检查语法01编辑在VisualC++2010中录入或修改源程序,生成源程序文件。源程序是用C语言按语法规则书写的文本文件。VisualC++2010默认扩展名为.cpp,需要.c时可在保存时手动指定。源程序文件是后续编译环节的输入。02编译编译程序对源程序进行词法分析与语法分析,检查是否存在语法错误。没有错误时,生成二进制目标代码文件,扩展名为.obj。发现错误时给出错误信息,需要修改源程序后重新编译。编译只检查语法,程序的逻辑是否正确还要靠运行结果来判断。45连接与运行连接把目标代码与库文件合成.exe,运行后据结果判断程序是否有误03连接连接程序把编译生成的目标代码与系统库函数连接成完整的程序。最终生成可执行文件,扩展名为.exe。连接成功后,源程序才真正变成可以执行的软件。04运行在VisualC++2010中运行程序,或直接双击生成的.exe文件。根据运行结果判断程序是否正确,结果不对往往是算法或逻辑错误。编译时出现的警告信息也可能导致结果错误,不应忽视。连接成功后才有可执行文件,运行是检验程序正确与否的最后一步。46实验初识VisualC++2010环境及运行C程序在VisualC++2010中完成一次完整的编辑—编译—连接—运行47实验目的与实验内容实验目的01熟悉VisualC++2010集成开发环境界面02掌握新建Win32控制台应用程序的方法03掌握新建C源程序文件并保存的方法04掌握编译、连接与运行程序的完整流程05掌握程序调试与常见错误的定位与修改实验内容一、启动与退出:正确启动VisualC++2010,并掌握安全退出IDE的方法。二、新建项目:在指定位置C:\STUDENT\建立Win32控制台应用程序项目ch01_01。三、新建源程序文件:为项目添加C源程序文件ch01_01.c并保存。四、编译连接运行:按F5完成编译、连接与运行,查看控制台输出结果。48启动IDE与新建Win32控制台应用程序VisualC++2010主窗口MicrosoftVisualC++2010文件(F)编辑(E)视图(V)调试(D)工具(T)解决方案资源管理器"ch01_01"源文件ch01_01.c头文件资源文件代码编辑区(源程序)输出窗口生成:1成功,0失败调试:按F5启动调试1>ch01_01.vcxproj->ch01_01.exe操作步骤01启动:双击桌面图标,或从"开始"菜单启动VisualC++2010。02新建项目:【文件】|【新建】|【项目】,打开新建项目对话框。03选择类型:在"VisualC++"下选择"Win32控制台应用程序"。04指定路径与名称:位置C:\STUDENT\,项目名称ch01_01。05向导设置:按向导提示完成四步设置,单击【完成】结束新建。49新建C源程序文件添加新项对话框添加新项-ch01_01VisualC++已安装的模板已安装的模板C++文件(.cpp)头文件(.h)代码文件名称(N):ch01_01.c位置(L):C:\STUDENT\ch01_01\添加(A)提示:文件名需手动补全扩展名.c操作步骤01打开项目:双击ch01_01.sln打开解决方案。02添加新项:右键项目|【添加】|【新建项】。03选择模板:在列表中选择"C++文件(.cpp)"。04命名文件:在"名称"框中输入ch01_01.c。05确认创建:单击【添加】按钮,生成源程序文件。06保存:按Ctrl+S保存,注意扩展名为.c。50编译、连接、运行与常见错误输出窗口(生成与调试信息)1>------已启动生成:项目:ch01_01,配置:DebugWin32------1>ch01_01.c1>ch01_01.vcxproj->C:\STUDENT\ch01_01\Debug\ch01_01.exe1>ch01_01.pdb==========生成:成功1个,失败0个==========常见错误与处理errorC2143:语法错误:缺少";"出现error表示存在语法错误,程序无法通过编译。双击输出窗口中的错误行,可直接定位到出错语句。改正后按F5重新生成,直至生成成功。warning也应逐一检查,否则可能得到错误结果。调试与运行①【调试】|【启动调试】,或按F5。②编译、连接、运行一次完成。③在控制台窗口查看输出结果。④结果异常时检查算法与类型。⑤修改代码后重新按F5运行。51小结与习题回顾项目1核心知识并完成配套练习52本小结01程序是为完成特定工作而设计的指令序列;程序设计语言按层次分为机器语言、汇编语言和高级语言。02一个C程序由一个或多个函数组成,main函数是程序的入口,程序从main开始执行,也在main中结束。03每个函数由函数名、形式参数和函数体三部分组成;函数体由若干语句构成,每条语句都以分号结束。04C语言本身不提供输入输出语句,数据的输入与输出由printf、scanf等库函数完成。05C源程序要经过编辑、编译、连接和运行四个环节,缺少任一环节都无法得到正确的运行结果。53习题一、选择题10题函数结构:组成单位是函数主函数:main的作用与位置标识符与关键字:合法性判断覆盖注释、分隔符、默认后缀、工作区文件与错误类型二、填空题10题三部分:函数名、形参、函数体程序执行:总是从main开始四环节:编辑、编译、连接、运行头文件包含:#include的两种写法三、程序设计题3题输出图案:用printf输出图形输出信息:打印一行提示文字putchar与printf输出对比54谢谢大家打好基础,方能行稳致远大连理工大学出版社《C语言程序设计案例教程》55C语言程序设计案例教程项目2·成绩的计算目录本项目从数据类型出发,经常量变量、运算符表达式,到类型转换01项目导入:成绩的计算02任务导入:成绩的计算03思政园地042.1数据类型及表达式——C程序引例052.2C语言的数据类型062.2.4基本数据类型072.3运算符与表达式082.4数据类型转换09项目小结与习题02项目2成绩的计算本项目以“成绩的计算”贯穿,学习数据类型与运算符表达式03学习目标知识目标1掌握标识符与关键字的命名规则2掌握基本数据类型的存储与取值范围3掌握常量与变量,会定义变量并赋初值4掌握运算符与表达式及其优先级与结合性能力目标1能正确定义变量并完成数据的输入与输出2能读懂并编写成绩计算类的简单程序3能发现类型不匹配等常见错误并修正素质目标1养成严谨规范的代码书写习惯2培养精益求精的工匠精神3树立用代码服务实际问题的意识04项目内容导航1任务实例提出成绩计算任务,明确输入、处理与输出22.1C程序引例用完整引例认识数据与变量的使用32.2数据类型认识标识符、关键字、常量变量与基本数据类型42.3运算符与表达式掌握赋值、算术、自增自减等运算符的使用52.4类型转换掌握不同类型数据之间的转换规则05重点与难点重点难点01变量的定义与使用先定义后使用;变量名必须是合法标识符,做到见名知意。02运算符与表达式重点是赋值运算符与算术运算符的书写与运算规则。01数据类型转换赋值转换与混合运算中的自动转换,处理不当会丢失精度。02自增自减运算前置与后置形式取值时机不同,运算结果也不同。06任务成绩的计算用一个真实任务引出本项目全部知识点07问题情景情景描述学期末,张老师要统计全班学生的C语言课程成绩。学生按提示依次输入高等数学、英语、C语言三门课的成绩,张老师希望程序立即算出总分和平均分。手工计算既费时又容易出错,用程序处理就轻松多了。需求要点01输入三门课成绩,计算总分用scanf读入三个float变量并求和。02根据总分计算平均分总分除以3得到平均分并输出。08程序实现#include<stdio.h>intmain(){floatscore1,score2,score3;floatsum,average;scanf("%f%f%f",&score1,&score2,&score3);sum=score1+score2+score3;average=sum/3;printf("总分=%.2f\n",sum);printf("平均分=%.2f\n",average);return0;}用float变量配合scanf/printf即可完成输入、求和与求平均。09运行结果输入三个成绩后,程序逐项打印总分与平均分,%f默认输出6位小数程序运行窗口请输入三门课的成绩:60.570.580.5sum=211.500000average=70.500000第2行为用户从键盘输入,其余为程序输出输入:三个成绩按scanf语句的顺序依次读入,用空格分隔;60.5、70.5、80.5分别赋给三个float变量。输出:总分sum211.5被打印成211.500000,因为%f默认输出6位小数,不足部分补0。输出:平均分average平均分同样按%f输出,保留6位小数;两项结果各占一行,便于逐项核对。10相关知识导引完成本任务,需要先掌握以下四个方面的基础知识标识符与关键字变量、函数的名字统称标识符;关键字由编译程序专用,必须小写。常量与变量常量在程序运行过程中值不能改变;变量占内存单元,值可以改变。数据类型整型、实型、字符型决定数据的存放形式、占用字节与运算方式。运算符与表达式算术、赋值、自增自减等运算符,把操作数连接成表达式完成运算。11思政园地精准运算,筑牢科技根基在精准运算中筑牢科技根基一个小数点的位置、一个赋值运算符的疏漏、一次类型转换的疏忽,都会让成绩计算结果出现偏差。严谨,是编程的第一基本功。锤炼工匠精神:优先级与结合性看似琐碎,却是程序正确运行的前提。吸收国际技术通用逻辑:C语言的数据类型与运算规则遵循国际标准,可与世界对话。怀揣中国创造初心:从基础语法到国产软件研发,扎实基本功是投身中国创造的底气。13严谨规范·工匠精神运算符与表达式的学习,也是锤炼工匠精神的过程;扎实掌握每个知识点,方能行稳致远。1牢记优先级:先乘除后加减,括号优先,宁可多加括号也不凭记忆猜顺序。2规范书写表达式:变量先定义后使用,运算符与操作数之间留出空格。3重视类型转换:实型赋给整型会截去小数,转换前先想清楚精度的变化。4精益求精:编译通过只是第一步,多用测试数据验证,让结果既跑得动也算得准。严谨规范不是束缚,而是让代码走得更稳、算得更准的基石。142.1数据类型及表达式——C程序引例数据与数据类型数据是C语言程序的处理对象。程序中的数据必须先说明它的类型,然后才能被计算机正确处理。不同类型的数据在内存中的存放形式、占用空间与允许参加的运算都不相同。数据示例数据类型说明年龄20→整型int整数类型,用来表示年龄、人数、件数等没有小数含义的量工资2560.56→实型float实数类型,用来表示工资、单价、平均分等带小数的量姓名张三→字符数组char[]字符数组,一串字符的集合,用来存放姓名、地址等文本16【例2.1】输入职工信息并输出用char数组、int、float三类变量分别存储姓名、年龄、工资12345678910111213141516#include<stdio.h>intmain(){charemployname[6];intemployage;floatemploywage;printf("请输入职工姓名:");scanf("%s",employname);printf("请输入职工年龄:");scanf("%d",&employage);printf("请输入职工工资:");scanf("%f",&employwage);printf("姓名:%s\n",employname);printf("年龄:%d\n",employage);printf("工资:%f\n",employwage);return0;}17【例2.1】代码剖析三条定义语句分别开辟6、4、4字节空间,把变量名与存储空间首地址对应charemployname[6];字符数组,占6个字节,最多存5个字符的姓名和结束标志。intemployage;整型变量,占4个字节,用来存放年龄这类整数数据。floatemploywage;单精度实型变量,占4个字节,用来存放工资这类带小数的数据。内存字节示意图employname[6]employageemploywage6字节4字节4字节三个变量共占14个字节18【例2.1】运行结果与结论2.1数据类型及表达式——C程序引例控制台运行结果请输入职工姓名:张三请输入职工年龄:20请输入职工工资:2560.56姓名:张三年龄:20工资:2560.56关键语句的作用scanf("%s",employname);输入字符串到字符数组,数组名本身是地址,不加&。scanf("%d",&employage);输入整数,需要取地址符&把变量地址传给函数。scanf("%f",&employwage);输入实数,同样要用取地址符&取得变量地址。printf("年龄:%d\n",employage);按格式串把变量的值输出到屏幕上。结论:scanf完成输入赋值、printf完成输出,操作数据都以变量为载体,做到先定义、后使用。19变量使用两步法2.1数据类型及表达式——C程序引例①定义变量先说明数据的类型,再给变量起个名字。floatscore;②赋值或输入用赋值语句或输入函数把数据写入变量。scanf("%f",&score);③使用变量让变量参与运算,也可以直接输出。printf("%.1f",score);操作数据要“先定义变量、再使用变量”,这是C语言处理数据的基本步骤。202.2C语言的数据类型数据类型决定数据的存放形式、占用空间与运算方式21数据类型总览2.2C语言的数据类型C语言的数据类型基本类型整型(int)实型(float、double)字符型(char)枚举型(enum)构造类型数组结构体(struct)共用体(union)由基本类型构造而成指针类型存放变量的地址用*声明指针变量如int*p;C语言的特色类型空类型类型名为void用于没有返回值的函数也可定义无类型指针表示“无值”四大类数据类型中,基本类型是构造其他类型的基础,也是最常用的一类。222.2.1标识符2.2C语言的数据类型标识符:用来标识变量、常量、函数、数组等名字的字符序列。简单地说,程序中出现的每一个名字,都是标识符。C语言的标识符分为三类①关键字由编译系统定义并专用,不能另作它用,如int、float、if。②预定义标识符系统提供的库函数名与宏名,如printf、scanf、main。③用户自定义标识符由程序员自己命名,例如变量名、函数名。例2.1中的标识符:employnameemployageemploywage变量名、函数名都叫标识符,用户自定义标识符必须符合命名规则。23标识符命名规则2.2C语言的数据类型①只能由字母、数字和下划线三种字符组成,不能含空格或其它符号;②必须以字母或下划线开头,不能以数字开头;③严格区分大小写,Sum与sum是两个不同的标识符;④不能使用C语言的关键字,也不能与系统预定义标识符重名。命名建议:做到“见名知意”,名称不宜过长,多数系统只识别前8个字符。合法标识符sum_totalstudent1aver_age非法标识符1sta+bintmyname$price标识符必须以字母或下划线开头,且严格区分大小写。242.2.2关键字2.2C语言的数据类型表2-1ANSIC标准规定的关键字(共32个)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile关键字是编译程序已经定义好的、有特定含义的专用词。所有关键字必须小写,不能用作变量名或函数名。关键字由编译系统规定,必须小写,且不能用作标识符。252.2.3常量2.2C语言的数据类型常量:在程序运行过程中,其值不能被改变的量。按书写形式分为直接常量(字面常量)与符号常量。直接常量:直接写出的常量值①整型常量直接写出的整数,如100、-25、0。②实型常量小数形式或指数形式,如3.14、1.2e3。③字符常量单引号括起的一个字符,如'A'、'9'。④字符串常量双引号括起的字符序列,如"Hello"、"a"。符号常量用标识符代表一个常量,如#definePI3.14159中的PI。常量分为直接常量与符号常量,程序运行中其值不能改变。26符号常量:#define与const2.2C语言的数据类型#define定义符号常量#include<stdio.h>#definePI3.14159#defineMAX10intmain(){printf("%f\n",PI*2);printf("%d\n",MAX);return0;}const定义常变量#include<stdio.h>intmain(){constfloatpi=3.14159;constintmax=10;printf("%f\n",pi*2);printf("%d\n",max);return0;}说明:#define是预处理命令,行末不加分号;const定义的常变量会被检查类型,更安全。用标识符代表常量有两种方法,符号常量名习惯用大写字母。27变量2.2C语言的数据类型变量的三个要素1变量名必须是合法的标识符,如age、score,严格区分大小写2变量值存放在存储单元中的数据,在程序运行中可以被改变3存储与地址每个变量占用若干字节,变量名与存储单元首地址相对应内存中的变量地址存储单元内容100010011002100320age是变量名,20是变量值变量名与存储单元首地址相对应28变量赋初值2.2C语言的数据类型定义变量时同时赋初值inta=3,b,c=5;/*a、c赋初值,b未赋初值*/floatx=2.5,y=1.5;/*实型变量定义时赋初值*/charc1='A';/*字符型变量定义时赋初值*/intm=1,n=2;/*多个变量分别赋初值*/intp,q=8;/*只对部分变量赋初值*/定义变量时可同时赋初值,也可以只对部分变量初始化。292.2.4基本数据类型整型、实型、字符型是C语言最常用的基本数据类型整型数据2.2.4基本数据类型常用整型类型对照表类型字节数取值范围int(基本整型)4-2147483648~2147483647unsignedint(无符号整型)40~4294967295short(短整型)2-32768~32767unsignedshort(无符号短整型)20~65535long(长整型)4-2147483648~2147483647取值范围由类型与字节数决定,运算结果超出范围会产生溢出。31整型变量的定义与溢出2.2.4基本数据类型定义格式:类型名变量名;inta,b;/*定义两个基本整型变量*/unsignedintc;/*定义无符号整型变量*/longm,n;/*定义长整型变量*/a=2147483647;b=a+1;/*溢出:b的值为-2147483648*/printf("%d%d\n",a,b);无符号整型只能存放非负数;结果超出取值范围时发生溢出。32实型数据2.2.4基本数据类型单精度与双精度对照类型字节数有效位数表示范围float(单精度)46~7位-3.4E-38~3.4E+38double(双精度)815~16位-1.7E-308~1.7E+308小数形式3.140.0-12.5指数形式1.5e32E-4实型常量可用小数形式或指数形式表示,默认按double型处理。33字符型数据2.2.4基本数据类型字符型数据的特点1变量定义类型名为char,如charc1,c2;同时定义多个变量2字符常量用单引号括起的单个字符,如'A'、'5'3存储方式占1个字节,存放的是字符的ASCII码值常用字符的ASCII码值字符ASCII码值'A'65'a'97'0'48字符数据以ASCII码值存放可以像整数一样参与运算34转义字符与字符串常量2.2.4基本数据类型转义字符含义\n回车换行\t横向跳格(Tab)\\反斜线字符\\'单引号字符'\"双引号字符"\0空字符,其ASCII码值为0字符串常量用双引号括起,系统自动在末尾加上结束标志\0。35各类数值型数据间的混合运算char字符型·精度最低int整型·向实型提升float单精度实型·向double提升double双精度实型·精度最高转换规则混合运算时,先转换为同一类型再运算转换方向:char→int→float→double结果类型取参与运算中的最高精度示例inti=5;floatf=2.5;floats=i+f;/*结果为7.5*/结果s的值为7.5(float型)混合运算时先按“低向高”转换成同一类型,结果类型取其中最高精度。36数据类型小结整型int存放整数数据如年龄、人数占4个字节范围约±21亿实型float存放带小数的实数如平均分75.5float占4字节double占8字节字符型char存放单个字符如'A'按ASCII码存储占1个字节字符串用双引号括起的字符序列以\0结束如"张三"掌握每种基本数据类型的字节数、取值范围与适用场景,是选对类型的前提。372.3运算符与表达式运算符把操作数连接成表达式,是程序完成运算的核心38运算符总览赋值运算符把右边表达式的值赋给左边变量复合赋值:+=-=结合方向从右至左算术运算符+-*/%五种基本算术运算含除法与取余%要求操作数为整数自增自减++使变量增1--使变量减1前置与后置取值时机不同其他运算符关系、逻辑、条件逗号与求字节数sizeof运算符共同构成表达式体系C语言的运算符种类丰富,本项目重点掌握赋值、算术与自增自减运算符。392.3.1赋值运算符与赋值表达式inta,b;/*定义整型变量a、b*/a=5;/*把常量5赋给变量a*/a=10;/*再次赋值,旧值5被覆盖*/b=a+3;/*把表达式a+3的值赋给b*/a=b=3+5;/*从右至左结合:先算3+5,再赋给b,最后给a*/printf("%d%d\n",a,b);/*输出:88*/“=”是赋值运算符,不是数学中的“等于”,左边必须是变量结合方向从右至左:a=b=3+5等价于a=(b=(3+5))优先级低于算术运算符:先计算3+5,再依次赋值40复合赋值运算符复合运算符等价形式说明+=x+=5即x=x+5把x与5的和赋给x-=x-=5即x=x-5把x与5的差赋给x*=x*=5即x=x*5把x与5的积赋给x/=x/=5即x=x/5把x与5的商赋给x%=x%=5即x=x%5把x除以5的余数赋给x<<=x<<=2即x=x<<2x左移2位后赋给x>>=x>>=2即x=x>>2x右移2位后赋给x&=x&=1即x=x&1x与1按位与后赋给x|=x|=1即x=x|1x与1按位或后赋给x^=x^=1即x=x^1x与1按位异或后赋给x在赋值号前加上其他运算符即构成复合赋值运算符,共10种;x+=5与x=x+5完全等价。41赋值过程中的类型转换赋值号两边类型不一致时,按左边变量的类型转换,可能丢失精度。01实型数据赋给整型变量小数部分被直接舍去,只保留整数部分。inta;a=3.7;/*a的值为3*/02整型数据赋给实型变量数值大小不变,转换后补足小数部分。floatx;x=5;/*x的值为5.000000*/03字符型数据赋给整型变量取字符的ASCII码值存放在整型变量的低8位。intb;b='A';/*b的值为65*/422.3.2算术运算符与算术表达式运算符名称示例运算规则+加法a+b求两个操作数的和-减法a-b求两个操作数的差*乘法a*b求两个操作数的积/除法a/b两个整数相除结果取整,如1/2得0%求余(取模)a%b操作数必须为整数,结果为整除后的余数除法:两个整数相除只保留整数部分(1/2得0);只要有一个操作数为实型,就按实型相除(1.0/2得0.5)。取余:%要求两边都是整数,结果为整除后的余数,如5%3得2。43算术运算符的优先级与结合性!逻辑非(最高)算术运算符+-*/%关系运算符><==!=逻辑与&&逻辑或||赋值运算符=逗号(最低)结合性同级运算符从左向右结合赋值运算符从右至左结合括号()可改变运算顺序计算示例3+4*5=3+20/*先算4*5*/=23/*再算3+20*/乘法优先级高于加法,结果为23。先按优先级由高到低运算,同级运算符按结合方向依次运算。442.3.3自增与自减运算符2.3运算符与表达式示例代码#include<stdio.h>intmain(){inti=5,j,k;j=i++;/*后置先取值再自增*/k=++i;/*前置先自增再取值*/i--;--i;/*变量两次自减1*/printf("%d%d%d\n",i,j,k);return0;}前置与后置的区别j=i++;后置:先取i的值赋给j,i再自增k=++i;前置:i先自增,再把新值赋给k--i和i--自减同理;只能用于变量,不能用于常量结论:后置先取值再自增,前置先自增再取值。45其他常用运算符2.3运算符与表达式关系运算符(6个)>>=<<===!=比较两个值的大小或相等关系;成立结果为1,不成立为0逻辑运算符(3个)&&||!与、或、非三种逻辑运算;&&与||具有短路求值特性条件运算符(1个)max=(a>b)?a:bC语言唯一的三目运算符;按条件在两个值中选一个逗号运算符与sizeofa=(1,2,3);sizeof(int)逗号表达式自左向右依次求值;sizeof求类型或变量所占字节数结论:关系、逻辑、条件、逗号与sizeof运算符共同构成C语言的表达式体系。462.4数据类型转换数据类型转换分为自动转换与强制转换两种本项目内容自动类型转换强制类型转换47自动类型转换2.4数据类型转换低精度高精度charintunsignedlongdouble自动转换方向:低精度→高精度转换规则①混合运算时,先自动转换为同一类型,再参与运算②转换按“就高不就低”进行,低精度向高精度转换③赋值时,右边表达式的值按左边变量的类型转换floatf=4.5;inti=3;doubled=i+f;/*结果类型为double*/结论:混合运算按“低向高”自动转换,保证精度不丢失。48强制类型转换2.4数据类型转换示例代码floatx=3.6,y=2.4;inta=5,b=2;intn=(int)(x+y);/*n=6舍去小数*/floatm=(float)a/b;/*m=2.5结果为实型*/printf("%d\n",n);printf("%.2f\n",m);语法与注意格式:(类型名)(表达式)只对本次运算临时转换,变量类型不变强制转换直接取整,不做四舍五入括号不可省略:(int)(x+y)结论:用(类型名)把表达式的值转换成所需类型后再参与运算。49项目小结与习题回顾数据类型、常量变量与运算符表达式三大板块本项目内容项目小结习题与思考50项目小结项目小结与习题01数据类型基本类型包括整型int、实型float/double、字符型char与枚举;构造类型含数组、结构体、共用体,此外还有指针类型与空类型。02常量与变量常量分为直接常量与符号常量,符号常量用#define或const定义;变量必须先定义后使用,定义时可赋初值,也可只初始化其中一部分。03运算符与表达式赋值与复合赋值、算术、自增自减、关系、逻辑、条件、逗号等运算符;求值要牢记优先级与结合方向,赋值运算按左边变量的类型进行转换。结论:本项目介绍了标识符、关键字、常量、变量、数据类型、运算符、表达式与类型转换。51习题与思考项目小结与习题通过练习巩固数据类型判断、命名规则与表达式求值。01判断下列标识符是否合法,并说明理由(注意命名规则):_num3maxsum_1intScore02指出下列常量各属于哪种常量类型:123.6'A'"China"03设inta=5,写出下列表达式执行后a与表达式的值:a++++aa----a04分析下列表达式的值与结果类型(注意整数除法):(int)3.9(float)(5/2)5/2.052谢谢掌握数据类型与运算,为后续项目打好基础53C语言程序设计案例教程项目3·输入学生成绩转化为等级目录01项目导入:输入学生成绩转化为等级02任务导入:输入学生成绩转化为等级03思政园地043.1–3.2顺序结构053.3–3.4选择结构063.5–3.6循环结构073.7综合举例08项目小结与习题02项目3输入学生成绩转化为等级本项目以“成绩转化为等级”贯穿,学习C语言的三种控制结构学习目标01知识目标了解C语言中的顺序结构理解选择结构:单分支if、双分支if…else、多分支elseif、if语句嵌套、switch语句理解并应用循环结构:while语句、do…while语句、for语句02能力目标掌握顺序结构、选择结构和循环结构的应用能针对实际问题灵活选择合适的控制语句03素质目标树立精益求精、细致认真的设计理念了解“规矩是人们处理一切事情的基础”04项目内容导航01任务实例:成绩转化为等级023.1顺序结构引例033.2顺序结构043.3选择结构引例053.4选择结构063.5循环结构引例073.6循环结构083.7综合举例任务驱动线成绩转化为等级→引出多分支选择结构化程序的三种基本结构顺序结构3.1–3.2选择结构3.3–3.4循环结构3.5–3.605重点与难点重点01熟练掌握C语言的三种控制结构和相关语句,熟悉各语句执行流程02掌握选择结构(if、if…else、elseif、switch)与循环结构(while、do…while、for)的语法格式难点01掌握各控制语句的嵌套02选择使用好控制语句来解决实际问题06任务导入:输入学生成绩转化为等级一个成绩等级判断任务,把三种控制结构串联起来问题情景成绩区间等级90~100A(优秀)80~89B(良好)70~79C(中等)60~69D(及格)0~59E(不及格)需要解决的问题输入一个学生成绩,输出它对应的等级手工判断与程序判断手工逐个比较既繁琐,又容易出错程序自动判断按规则自动判断,既快又准08算法分析①定义变量存放成绩,输入成绩②判断成绩是否≥90,是则等级为A③否则继续判断是否≥80、≥70、≥60,依次得到B、C、D④都不满足则等级为E,输出等级判断从高到低逐级进行,条件一旦满足即确定等级,属于多分支选择结构输入成绩ss≥90?等级=As≥80?等级=Bs≥70?等级=Cs≥60?等级=D等级=E输出等级g09程序实现score_grade.c#include
<stdio.h>intmain(){floats;/*学生成绩*/charg;/*成绩等级*/printf("请输入学生成绩:");scanf("%f",&s);if(s>=90)g='A';elseif(s>=80)g='B';elseif(s>=70)g='C';elseif(s>=60)g='D';elseg='E';printf("成绩等级:%c\n",g);return0;}代码要点用float存放成绩用char存放等级elseif逐级判断条件从高到低比较首个成立分支被执行开发环境VisualC++2010Win32控制台应用程序用elseif多分支语句,把成绩判断规则直接翻译成C代码10运行结果命令提示符-score_grade.exeE:\C>score_grade.exe请输入学生成绩:95成绩等级:A请输入学生成绩:72成绩等级:C请输入学生成绩:48成绩等级:EE:\C>输入95输出成绩等级A成绩区间90~100·优秀输入72输出成绩等级C成绩区间70~79·中等输入48输出成绩等级E成绩区间0~59·不及格elseif按条件自上而下依次判断,第一个成立的分支被执行,其后的分支不再判断11思政园地顺序的遵循、选择的精准、循环的坚守,诠释“做事讲逻辑、成事守规矩”12三种控制结构中的中国智慧顺序结构·循序渐进做事讲逻辑、成事守规矩,程序按部就班,一步不错。选择结构·精准取舍从脱贫攻坚的精准施策到乡村振兴的分步推进,“中国方案”依据实情选择最优路径。循环结构·执着坚守科研工作者在技术攻关中反复试验、久久为功,正是循环的执着坚守精神。逻辑清晰、条理有序,是编程少走弯路的关键,更是国家稳步前行的保障13以编程逻辑为镜01嵌套if语句的严谨判断一步一考量内层条件层层递进,判断不留死角02switch语句的规范分支守规矩、讲规矩分支书写规范,规则面前不讲例外03循环边界的精准把控谋定而后动,行稳而致远初始与终止条件算准,循环才能稳稳推进熟练运用控制结构解决问题,同时养成清晰逻辑与坚定执行力,为人生与国家发展筑牢根基143.1–3.2顺序结构顺序结构是最简单的结构,程序自上而下依次执行153.1顺序结构引例生活中做事一般都按一定顺序:炒菜先洗菜、再切菜、最后下锅炒。问题:a=3、b=5,如何交换两数的值?杯子A杯子B空杯C好比交换两个杯子中的水,必须借助第三个空杯。正确写法c=a;a=b;b=c;结果:a=5,b=3错误写法a=b;c=a;b=c;结果:a=b=c=5,达不到交换目的16例3.1一个简单的顺序结构C程序seq_demo.c#include
<stdio.h>intmain(){printf("好好学习,\n");printf("天天向上。\n");return0;}程序说明两条printf语句自上而下依次执行屏幕上先输出:好好学习,再输出:天天向上。运行输出好好学习,天天向上。17例3.1执行过程与流程图执行过程1第一步:执行第一条printf语句屏幕上显示“好好学习,”2第二步:执行第二条printf语句屏幕上显示“天天向上。”整个执行过程自上而下依次进行,这就是顺序结构。顺序结构流程图开始输出“好好学习,”输出“天天向上。”结束183.2顺序结构顺序结构的含义顺序结构的程序设计最简单,只要按解决问题的顺序写出相应语句,执行顺序自上而下、依次执行。顺序结构可独立使用,构成一个简单的完整程序;也常作为程序的一部分,与选择、循环结构一起构成复杂程序。执行流程:自上而下依次执行开始语句A语句B结束常见的“输入—计算—输出”三部曲程序就是顺序结构输入数据计算处理输出结果19顺序结构应用举例【例3.2】交换两个变量的值inta=3,b=5,t;t=a;a=b;b=t;借第三个变量t完成交换:先暂存a,再把b赋给a,最后把暂存值赋给b。若写成a=b;b=a;两值都会变成原来的b,达不到交换目的。【例3.3】鸡兔同笼x=(4*H-F)/2;y=H-x;已知总头数H、总脚数F,用含H、F的公式表示鸡数x与兔数y,再分别计算。最后输出所求,是典型的“输入—计算—输出”顺序结构。203.3–3.4选择结构根据条件选择不同分支,是程序“做判断”的核心213.3选择结构引例引例问题程序中经常需要根据给定条件,决定执行哪一段语句。例如:成绩是否及格、打车是否加收空驶费,都要先判断再处理。这时出现了选择情况,要用到分支选择结构:条件成立走“是”分支,不成立走“否”分支。选择结构是继顺序结构之后的第二种基本结构。选择结构流程图条件?否是不成立:不执行成立:执行语句条件成立执行“是”分支,不成立执行“否”分支选择结构是继顺序结构之后的第二种基本结构223.4选择结构概述单分支选择结构简单的if语句双分支选择结构if…else语句多分支选择结构switch语句、elseif语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一年级数学上册全册教案
- 乡镇食品安全监管站配套用房建设方案
- 乡村振兴示范村配套工程勘察报告
- 水电站增效扩容改造引水系统优化方案
- 室内管道支架及吊架深化设计方案
- 人力资源服务产业园项目申请报告
- 人教版三年级公开示范课设计
- 防溺水健康课件
- 屋面瓦铺设施工监理实施细则
- 施工现场噪声污染应急处置方案
- 2026年年度大学艺术学院教学副院长年终述职报告课件
- 2.3 制作独轮车 课件(内嵌视频)2026-2027学年科学五年级上册教科版
- 2026年新版道德与法治六年级上册全套单元、期中、期末检测题及答案(共6套)
- 商场冷库氟利昂泄漏应急演练脚本
- 全球硅碳负极材料市场应用前景与投资潜力判断研究报告
- 中医适宜技术在妇科疾病中的应用指南课件
- 商场装饰装修工程验收规范
- 国聘网笔试校招题库
- 大宗贸易财经科普
- 新课堂、新课堂、新高考++2025年版《普通高中语文课程标准》解读
- 老年疾病AI管理策略
评论
0/150
提交评论