《C语言程序设计案例教程 》课件-第2篇 初始C语言_第1页
《C语言程序设计案例教程 》课件-第2篇 初始C语言_第2页
《C语言程序设计案例教程 》课件-第2篇 初始C语言_第3页
《C语言程序设计案例教程 》课件-第2篇 初始C语言_第4页
《C语言程序设计案例教程 》课件-第2篇 初始C语言_第5页
已阅读5页,还剩117页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

C语言程序设计案例教程授课教师:XXX

授课日期:20XXx月x日初始C语言本篇重点:1)学习C语言的相关知识。2)了解C语言程序的基本结构。3)初步掌握两个输入输出函数,即scanf()和printf()。4)掌握变量的概念与作用。5)掌握算法的作用与意义。6)掌握C语言运算的相关知识。7)进行中考成绩分析程序设计。Case1横空出世—初始C语言横空出世—初始C语言了解下面这段程序各部分所代表的意义。1.“Helloworld”程序为纪念C语言程序的设计者,第一个程序范例选自C语言的定义文档——BrianKernighan和DennisRitchie合著的《TheCProgrammingLanguage》。这个范例就是“Helloworld”程序,它是所有C程序员共有的财富,具体代码如图所示。横空出世—初始C语言此程序说明C程序的结构分为3个部分:程序注释、库包含列表和主程序。(1)程序注释Helloworld程序的第一部分是一段英文注释,起描述该程序的作用。在C语言中,注释是“/*”与“*/”之间的所有文字,可以占连续的几行。在“Helloworld”程序中,注释是从第一行的“/*”开始,在第八行的“*/”后结束。横空出世—初始C语言(2)库包含列表程序的第二部分由以下两行代码组成:(3)主程序(也称为主函数)Helloworld程序的最后一部分是程序的主体,它由以下几行代码组成:横空出世—初始C语言2.C语言的由来与发展C语言之所以命名为C,是因为C语言源自于KenThompson发明的B语言,而B语言源自于BCPL语言。1972年,美国贝尔实验室的D.M.Ritchie在B语言的基础上设计出了一种新的语言;C语言的创始人是D.M.Ritchie。横空出世—初始C语言3.C语言的特点(1)结构化程序设计语言C语言语法结构简单,语句数目较少,适合作为编程学习的入门语言。C语言一共只有40个关键字,9种控制语句,程序书写形式自由,但区分大小写。(2)功能强大C语言的表现能力和处理能力极强。(3)灵活性可以创建自定义的函数和类型,从而提高灵活性。(4)模块化C语言能够将程序存储在称为模块的单元内。(5)可移植性C语言在不同机器上的C编译程序,86%的代码是公共的,所以其编译程序便于移植。横空出世—初始C语言4.编译和执行C程序C语言是高级程序语言,用C语言编写的程序通常称为源程序。要使计算机能完成某个C源程序所描述的工作,就必须先把源程序转换为二进制形式的机器语言程序,这种转换由C语言编译系统完成。源程序的编译和执行过程如图所示。通常,C程序在编译和执行过程中有4个不同的文件与其关联,具体如下。1)源程序2)头文件3)目标文件4)二进制可执行文件横空出世—初始C语言1.创建通用库文件(genlib.h)1)打开VC6.0,执行“文件”→“新建”命令,进入“新建”对话框,选择“文件”选项卡下的“C/C++HeaderFile”选项,在“文件名”文本框中输入要创建的文件名称(如genlib.h),一定要加上扩展名“.h”(代表头文件),选择好文件保存的位置(最好是当前C程序的位置),然后单击“确定”按钮进入编辑状态,如图所示。横空出世—初始C语言2)在编辑窗口中输入以下注释内容,如图所示。3)保存并关闭genlib.h文件。横空出世—初始C语言2.创建hello.c源程序文件1)执行菜单→“新建”命令,进入“新建”对话框,选择“文件”选项卡下的“C++SourceFile”选项,在“文件名”的文本框中输入要创建的文件名称“hello.c”,一定要加上扩展名“.c”(代表C语言源程序文件),选择好文件保存的位置(与genlib.h同一位置),然后单击“确定”按钮进入编辑状态,如图所示。横空出世—初始C语言2)在编辑窗口中输入hello.c的内容,具体如图所示。3)编译、链接并运行程序,结果如图所示。横空出世—初始C语言3.hello.c程序的执行过程分析hello.c程序的执行过程分析如图所示。横空出世—初始C语言根据上述所学知识,利用C程序完成如下字符画的输出。提示:1)打开VC6.0,在该平台的编辑界面中先设计好该字符画(利用英文的全角模式),如图所示。横空出世—初始C语言2)在字符画的周围添加上C程序的结构内容,如图所示。3)编译、链接、运行程序。挑战自己*********************************************************C语言程序设计学习*********************************************************横空出世—初始C语言1)C语言属于高级语言,它是20世纪70年代由美国贝尔实验室的D.M.Ritchie设计出来的。它有一个著名的入门程序——“hello.c”。2)一个完整的C语言程序一般包括3个部分,即程序注释、库包含列表和主程序。3)C程序分为不同的单元,这些单元称为函数。4)main函数被称为主函数,是C程序执行的起点。C程序必须有且仅有一个main函数。5)C程序编写完成后以扩展名“.c”进行保存,它首先需要通过编译转换成目标文件,然后通过连接创建可执行文件,最后才可以执行。6)编程时的好习惯是添加适当的注释对C程序进行解释和说明,并且提供有关作者、日期、程序描述、业务流程等信息。横空出世—初始C语言Case2牙牙学语—printf()函数人开始学讲话的时候,第一句是“妈妈”,还是“爸爸”?不管是什么,我们都勇敢地迈出了这一步。程序的学习也要如此,下面学习已接触过的printf()函数。任务描述:利用格式控制的方式完成在屏幕上输出自己的基本信息,可以用中文,也可以用英文。输出信息如下:Hello!我叫小C。3岁了。身高1.8米。来自深圳宝安。Howareyou?界面设计要求如图所示。牙牙学语—printf()函数相关知识:本主题介绍C语言中的printf()函数。1)printf()函数调用的一般格式为:2)功能:按用户指定的格式把双引号里的格式控制字符串显示到屏幕上。3)说明:printf()函数是一个标准库函数,实现它的功能的函数定义语句体(即函数原型)放在头文件“stdio.h”中。牙牙学语—printf()函数4)举例:设计如图2-13所示的屏幕输出结果,可以有以下两种设计方案。第一种设计方案:第二种设计方案:牙牙学语—printf()函数①“\n”和“\t”在printf()函数中代表转义序列。在C中定义了用“\”与一个字母组合形成的一个字符序列来表示一些不可显示在屏幕上的控制符和特殊字符(如换行符、退格符、单引号等),这种字符序列称为转义序列。C语言中的各种转义序列见表2-1。牙牙学语—printf()函数②%s、%c、%d、%.2f在printf函数中代表格式字符串。printf()函数一般格式中的“格式控制字符串”用于指定输出格式。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明“输出表列”(printf()函数一般格式中的可选项内容)数据的类型、形式、长度、小数位数等。常用的格式字符串见表2-2。牙牙学语—printf()函数活动指南:1)界面分析。程序设计的界面要求是上面和左边留空,大概上面空两行,左边空两个到三个制表位的空格,具体如图所示。牙牙学语—printf()函数2)根据界面分析的结果,按非格式字符与格式字符组合的方式,设计的程序如下:3)编译调试程序。牙牙学语—printf()函数我来试一试:这里有个输出心形的程序,要求使用格式字符控制的方式,在每个心形图案的中间加入“我”“爱”“你”3个字。心形程序的代码如下:牙牙学语—printf()函数具体操作步骤如下:1)在VC6.0平台上输入以上程序,编译调试出3个心形,运行结果如图所示。2)分析运行结果,修改特定的输出语句内容,以完成“我”“爱”“你”3个字的添加。注意,“我”“爱”和“你”是字符串(一个中文相当于半角状态下的两个英文字符)。参考语句如下:牙牙学语—printf()函数3)编译、调试、运行程序,可得到如图所示的结果(响声是由第一个输出语句中的“\a”产生的警铃声)。提示:在VC6.0平台的程序设计界面下,可用“查找”和“替换”的方式,把组成心形符号的双引号改为其他符号。尝试一下把双引号改为反斜杠(“\”),效果如图所示。牙牙学语—printf()函数我来归纳:1)printf()函数的功能是把数据输出到屏幕上,不能输出到屏幕上的程序几乎没有用,因为程序必须能与用户进行“交流”。2)printf()函数需要一个“格式控制字符串”,它可以由非格式字符串和格式字符串组成。非格式字符串能原样在屏幕上显示输出,它包括转义序列字符。格式字符串由%加上相应的字符组成,用于控制输出表列中的对应数据类型数据的输出。3)输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上一一对应。4)“%f”代表小数类型,它可以指定小数的位数,默认为输出6个小数位。牙牙学语—printf()函数Case3触碰世界—变量与scanf()函数任务描述:在屏幕的提示下,通过键盘输入两个字符和两个数字,并把字符和数字按指定的格式在屏幕的相应位置输出。屏幕提示与输出结果如图所示。触碰世界—变量与scanf()函数相关知识:计算机收集和处理信息(数据)的方式是通过I/O设备输送到主机(由CPU和RAM组成)来进行处理的,形式如图所示。从图中可以看到,程序处理的数据是先存储在RAM中,然后由CPU进行处理。而在程序设计中,通常使用变量来存储数据。触碰世界—变量与scanf()函数1.数据及数据类型数据的原型来自现实世界,常见的有代表各种各样性质的数字(如长短、日期、成绩、代号等)、能标识不同物品的名字等(如人名、国名、物品名等),可用图来表示。人们找出了数据的特点,将它们进行了分类,如图所示。触碰世界—变量与scanf()函数通常,数据类型可分为数值类型和非数值类型,而数值类型又可分为整型和非整型,具体如图所示。图所示的是计算机能识别的二进制代码表示图。C语言中的数据类型如图所示。触碰世界—变量与scanf()函数2.变量与常量(1)变量(variable)1)变量的概念。在程序执行过程中,其值可以改变的量称为变量。图来表示内存与变量的关系。触碰世界—变量与scanf()函数使用变量并不需要了解变量在计算机内存中的地址,只要通过变量名引用变量就可以查看或更改变量的值。所以,要区分变量名和变量值这两个不同的概念,解释如图所示。触碰世界—变量与scanf()函数2)变量的命名。变量的命名要符合标识符的命名规则,以下列出了C语言中标识符的命名规则:①变量名由字母(大写字母A~Z、小写字母a~z)、数字(0~9)、和下画线“_”组合而成。②变量名不能包含除下画线“_”以外的任何特殊字符。③变量名必须以字母或下画线“_”开头。④变量名不能包含空白字符(包括换行符、空格和制表符)。⑤变量名的长度无统一规定,随系统的不同而不同,大多系统取8个字符。⑥C语言中的某些词(如main、printf等)为保留字,具有特殊意义,不能作为变量名。⑦C语言区分大小写,如price与PRICE是两个不同的变量。触碰世界—变量与scanf()函数3)变量类型。C语言中的变量类型如图所示,这里只介绍要用到的几种常用的基本类型,即字符型(char)、整型(int)、长整型(longint)、浮点型(float)、双精度浮点型(double)。触碰世界—变量与scanf()函数4)变量的定义。在源程序代码中要通过定义变量来向内存申请并命名这样的存储空间,然后才能通过变量名来使用这段存储空间。它们可以存放3种不同类型的数据:字符数据(char)、整型数据(int)和浮点型数据(float),实质如图所示。触碰世界—变量与scanf()函数5)在变量中存储数据。初始化变量的一般格式如下:数据类型变量名=变量值;触碰世界—变量与scanf()函数(2)常量和符号常量在程序执行过程中,其值不发生改变的量称为常量。常量有以下两种:1)直接常量(字面常量)。整型常量:如12、0、-3。实型(浮点型或小数类型)常量:如4.6、-1.23字符常量:如'a'、'b'、'\n’2)符号常量。在C语言中,可以用一个标识符来表示一个常量,称为符号常量。符号常量在使用之前必须先定义,其一般形式为:触碰世界—变量与scanf()函数3.scanf()函数当变量的数据需要由键盘的按键来决定时,就要使用scanf()函数。(1)一般格式(2)功能scanf()函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量中。(3)说明1)格式控制字符串。格式控制字符串的作用与printf()函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。触碰世界—变量与scanf()函数与printf()函数中的格式说明相似,格式控制字符串以“%”开始,以一个格式字符结束,中间可以插入附加的字符。表2-4列出了scanf()函数用到的格式字符串。触碰世界—变量与scanf()函数与printf()函数中的格式说明相似,格式控制字符串以“%”开始,以一个格式字符结束,中间可以插入附加的字符。表2-4列出了scanf()函数用到的格式字符串。触碰世界—变量与scanf()函数2)地址表列。在地址表列中给出各变量的地址,各变量的地址由逗号分隔。地址是由地址运算符“&”加变量名组成的。举例:完成如图所示的界面要求的设计。触碰世界—变量与scanf()函数要完成这个例子的程序设计,思路应该是:①确定要处理数据的类型;②界面设计;③结果处理。根据以上思路,主程序的设计如下:触碰世界—变量与scanf()函数活动指南:1.设计思路1)程序要处理4个由键盘输入的数据,数据类型分别是两个字符、两个数字,所以要申请4个变量,其中两个为字符类型,两个为整型。可以参考以下变量定义语句:2)界面设计:固定的提示信息由printf()函数完成,参考语句如下:3)接收键盘输入数据:用scanf()函数实现,参考语句如下:触碰世界—变量与scanf()函数4)输出结果设计:输出结果根据界面的要求进行分析,然后利用printf()函数提取变量值来实现规定格式的输出。结果输出界面的分析如图所示。所以,输出结果可以参考以下语句:触碰世界—变量与scanf()函数通过屏幕的提示输入两个数,并把这两个数相加的结果输出。例如,如果输入的两个数是2和3,那么应得到相加等于5的结果,如图所示。如果输入的是10和20,那么应得到相加等于30的结果。触碰世界—变量与scanf()函数提示:1)参照活动指南的设计思路。2)此任务有两个可变的量,即从键盘输入的两个数字。它们可以是整型数,也可以是浮点数,申请变量时要确定为同一种类型。例如:或可以在printf()函数中进行相加的操作,参考语句如下:触碰世界—变量与scanf()函数我来归纳:1)程序处理的数据可分为数值型和非数值型。2)在C语言中常用的数据类型包括char(字符型)、int(整型)、longint(长整型)、float(浮点型)、double(双精度浮点型),它们分别占用指定长度的内存空间。3)在程序设计中,数据有常量和变量两种形式。4)变量要先定义,后使用。5)变量名的命名要符合标识符的命名规则。6)变量的初始化可以保证变量运算的准确性。7)赋值可以改变变量空间的值。8)scanf()函数用于按照指定的格式接受用户输入的内容。9)字符型变量可以存储单个字符,其值是该字符的ASCII码值。触碰世界—变量与scanf()函数Case4练练手脚—作业课相关知识:本篇案例3学习了整数、小数和字符类型数据的简单应用,在日常数据处理中总是要面对很多名字信息,如人名、动植物名、公司名等,这些名字信息在C语言里可用字符串进行处理。1)字符串的标记。2)字符串在C语言中的存储方式:字符数组。图所示的是字符数组name[8]的内存空间分配情况。练练手脚—作业课3)字符串的特点。每个字符串的末端都会由系统自动加上一个结束符,以识别字符串,这个结束符可以叫null零,可用字符'\0'来表示。如果字符串"love"保存在字符数组name[8]中,那么字符串结束符就在'e'字符的后面,具体可用图来表示。练练手脚—作业课4)字符串的长度(length)是指最大的字符数,但不包括字符串结束符(null零)。5)字符串数组(加上了字符串结束符的字符数组)的特点如下:①下标从0开始。②申请字符串数组的长度时一定要考虑多申请一个字符(字符串结束符)。③%s代表字符串格式。④语句:scanf("%s",name);。6)字符串数组的初始化。练练手脚—作业课活动指南:1.程序设计思路1)分析本任务要处理的变量(不确定值):一是水果的品种;二是购买水果的数量。所以,程序要使用两个变量。2)确定两个变量的数据类型:一是字符串数据(水果名);二是小数类型数据(购买水果的数量)。3)申请变量空间,参考语句如下:练练手脚—作业课4)设计屏幕的提示信息,参考语句如下:5)设计键盘输入语句,参考语句如下:或6)输出结果设计,参考语句如下:练练手脚—作业课我来试一试:编写程序,实现输入个人的一些信息(姓名、性别、年龄),并在屏幕输出这些信息。程序参考界面如图所示。练练手脚—作业课我来试一试:编写程序,实现输入个人的一些信息(姓名、性别、年龄),并在屏幕输出这些信息。程序参考界面如图所示。程序设计思路:1)分析程序要处理的数据的类型。2)声明变量。3)根据提示接收用户输入,并将输入的值赋给变量。4)将变量的值按要求输出。5)编译、运行和保存程序。练练手脚—作业课我来归纳:1)用双引号引起来的字符序列称为字符串,也称为字符串常量。2)用字符数组可以保存字符串。3)字符数组要先定义后使用。定义的是数组(包括数组名、数组大小和数组类型),使用的是数组元素(数组的引用方式:数组名[数组下标])。4)字符数组的下标从0开始。5)保存了字符串的字符数组称为字符串数组。6)字符串的最大特点就是有一个字符串结束符,这个结束符由系统自动添加,它由%s来代表。7)字符串的长度不算字符串结束符。8)可利用字符串来初始化字符数组。练练手脚—作业课Case5开始思考—算法相关知识:有两个杯子,一个杯子里是水,另一个杯子里是饮料,怎样把两个杯子里的液体进行交换呢?日常生活里,人们经常会遇到一些问题,需要制订出解决这些问题的方法,称为算法。1.算法的概念广义地说,算法是为解决一个问题而采取的方法和步骤,有个非常著名的司马光砸缸的故事能说明这个概念。开始思考—算法2.算法的描述(举例说明)例1:要把大象运走分几步?算法描述:Step1:准备一个箱子。Step2:把大象装进箱子。Step3:用车把箱子运走。例2:有50个学生,要求将他们之中成绩在80分以上的打印出来。如果n表示学生学号,ni表示第i个学生的学号,gi表示第i个学生的成绩,则算法可描述如下:Step1:1→i。Step2:如果gi≥80,则打印ni和gi,否则不打印。Step3:i+1→i。Step4:若i≤50,则返回Step2;否则结束。开始思考—算法3.算法的图形化表示方法——流程图用流程图表示算法,直观形象且易于理解。美国国家标准化协会(ANSI)规定了一些常用的流程图符号,现已被世界各国的程序工作者普遍采用。下面对上述2个例子改用流程图表示。开始思考—算法3.算法的图形化表示方法——流程图用流程图表示算法,直观形象且易于理解。美国国家标准化协会(ANSI)规定了一些常用的流程图符号,现已被世界各国的程序工作者普遍采用。下面对上述2个例子改用流程图表示。开始思考—算法4.算法的特性1)有穷性:一个算法应包含有限的操作步骤,而不能是无限的。2)确定性:算法中每一个步骤应当是确定的,不能是含糊的、模棱两可的。3)有零个或多个输入。4)有一个或多个输出。5)有效性:算法中的每一个步骤都能有效地执行,并得到确定的结果。对于程序设计人员来说,必须会设计算法,并根据算法编写程序。开始思考—算法我来试一试:已知变量a,b分别存有两个数,如a=3,b=2。怎样把这两个变量的值进行交换,使得结果变为a=2,b=3?1.算法分析已知两个变量:a=3,b=2,这代表了在内存中存在着两个分别叫a和b的变量空间,可用图表示。开始思考—算法交换两个变量空间里的内容要引入一个中间变量,如多申请一个同类型的变量c,就像交换两个杯子里的饮料要准备一个空杯子一样。交换两个变量空间内容的过程可用图来表示。开始思考—算法我来归纳:1)算法的定义是为解决一个问题而采取的方法和步骤。2)算法可分为数值运算算法和非数值运算算法。3)流程图是算法的一种图形化表示方法。4)一个流程图只能有一个开始点和一个结束点。5)算法有以下特点:①有穷性。②确定性。③有零个或多个输入。④有一个或多个输出。⑤有效性。开始思考—算法Case6成长的样子—数据结构+算法=程序相关知识:当要处理很多数据时,如学生的书桌,如图所示。从图中可以看出,不同的人对于整理书桌上的书有不同的办法,但不管使用哪种办法,能整理好书的同学总容易给人以整齐有序的感觉,这种感觉人们普遍喜欢且乐于接纳。成长的样子—数据结构+算法=程序著名的计算机科学家沃思(NikiklausWirth)提出了一个公式:数据结构+算法=程序它所包含的意思是:一个程序应包括以下两个方面的内容。1)对数据的描述。在程序中要指定数据的类型和数据的组织形式,即数据结构(DataStructure)。2)对操作的描述。即操作步骤,也就是算法(Algorithm)。描绘算法要用到3种基本逻辑结构:顺序结构、条件结构和循环结构,如图所示。成长的样子—数据结构+算法=程序活动指南:1)根据所学知识,画出找出10个数中的最小数的流程图。2)提供3把工具,利用这3把工具根据流程图完成程序的设计,并上机完成验证。工具1:构建数据结构:其中,“inta[10]”代表申请了一个名为a的整型数组,长度为10。工具2:C语言的一个判断语句格式:成长的样子—数据结构+算法=程序工具3:C语言的一个循环语句格式:参考语句如下:成长的样子—数据结构+算法=程序我来试一试:有10个学生的成绩信息,统计成绩合格的学生人数。1)构建数据结构。用数组初始化的方式提交数据,参考语句如下:2)流程图本任务的算法流程图如图所示。成长的样子—数据结构+算法=程序3)参考语句如下:成长的样子—数据结构+算法=程序Case7学运算—运算符知识相关知识:小时候学习运算总是从竖起的两个手指头开始。看看这两个手指头,应该知道运算本身要有对象和带有意义的运算符,计算机的运算原理也是如此。学运算—运算符知识1.C语言中的运算符1)算术运算符:用于各类数值运算,包括加(+)、减(-)、乘(*)、除(/)、求余(或称为模运算,%)、自增(++)、自减(--),共7种。2)关系运算符:用于比较运算,包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)6种。3)逻辑运算符:用于逻辑运算,包括与(&&)、或(||)、非(!)3种。4)位操作运算符:参与运算的量,按二进制位进行运算,包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)6种。学运算—运算符知识5)赋值运算符:用于赋值运算,有简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<=)3类,共11种。6)条件运算符:这是一个三元运算符,用于条件求值(?:)。7)逗号运算符:用于把若干表达式组合成一个表达式(,)。8)指针运算符:用于取内容(*)和取地址(&)两种运算。9)求字节数运算符:用于计算数据类型所占的字节数(sizeof)。10)特殊运算符:有括号()、下标[]、成员(→,.)等。学运算—运算符知识2.表达式运算符与运算对象组合成的式子叫表达式。表达式可分为多种类别,具体取决于使用的运算符类型。在C语言中,按运算符的不同主要分为算术表达式、赋值表达式、条件表达式和逻辑表达式。3.运算符的优先级四则运算口诀“先算乘除,后算加减,有括号要先算括号”,这个口诀说明了运算有优先顺序之分,C语言中的运算也是如此。4.各类数值型数据之间的混合运算变量的数据类型是可以转换的,转换方法有两种,一种是自动转换,另一种是强制转换。自动转换发生在不同数据类型的数据进行混合运算时,由编译系统自动完成。学运算—运算符知识5.算术运算符和算术表达式(1)基本的算术运算符1)加法运算符“+”;

2)减法运算符“-”;3)乘法运算符“*”;4)除法运算符“/”5)求余运算符(模运算符)“%”(2)自增、自减运算符自增1运算符记为“++;自减1运算符记为“--”;学运算—运算符知识常常很难弄清,因此应仔细分析。例如:执行上述程序时,i在内存中的变化如图所示。学运算—运算符知识6.赋值运算符和赋值表达式(1)简单赋值运算符简单赋值运算符记为“=”,由“=”连接的式子称为赋值表达式,其一般格式为:变量=表达式(2)复合的赋值运算符在赋值符“=”之前加上其他的二元运算符即可构成复合赋值符,如+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=。学运算—运算符知识活动指南:1)准备工作。①下载tc30。②下载picture.c文件,并把它放在tc30目录下的DISK_C目录中。③运行TurboC++3.0.vbs。④打开picture.c文件,进行编译和运行。2)修改箭头指定位置的数字(2→4→8→27),观察运行结果。3)对3位同学的作品进行评判。4)老师点评。5)让同学按照自己的理解在以下指定的程序范围内,找出所有的算术表达式和赋值表达式。学运算—运算符知识我来试一试:输入圆半径r和圆柱高h,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。输出时要求有文字说明,结果取小数点后两位。具体步骤如下:1)申请变量。2)设计输入界面,接收圆半径r和圆柱高h。3)计算圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。4)设计输出结果界面。5)上机调试运行。学运算—运算符知识我来归纳:1)运算符与运算对象组合成的式子叫表达式。2)表达式主要包括算术表达式、赋值表达式、条件表达式和逻辑表达式。3)运算符是表达式中使用的有意义的符号。4)一元运算符只处理一个运算对象,如“++”和“--”。5)二元运算符是指处理两个运算对象的运算符,如算术运算符和赋值运算符。6)赋值运算符用于为变量赋值。7)运算符有优先级和结合性,以确定复杂表达式的运算顺序。学运算—运算符知识Case8学判断—关系运算符和逻辑运算符任务描述:已知三角形的三边长a,b,c,则该三角形的面积公式为其中:1)三边关系定理:三角形任意两边之和大于第三边,任意两边之差小于第三边。2)s=(a+b+c)/2。参考程序(不带三边关系定理)如下:学判断—关系运算符和逻辑运算符相关知识:计算机的判断能力来自于程序设计,对象是存储在内存里的数据,那么,用什么来实现判断,就是下面将学习的内容。1.使用关系表达式或逻辑表达式描述条件(1)关系运算符和关系表达式1)关系运算符:<(小于),<=(小于或等于),>(大于),>=(大于或等于),==(等于),!=(不等于),前4种(<,<=,>,>=)的优先级相同,高于==和!=,==和!=的优先级相同。2)关系表达式:用关系运算符将两个表达式连接起来的式子。关系表达式的一般格式为:表达式关系运算符表达式学判断—关系运算符和逻辑运算符(2)逻辑运算符与逻辑表达式1)逻辑运算符。①&&(逻辑与):相当于文字描述中的“和”“与”“又”“并且”。②||(逻辑或):相当于文字描述中的“或”的意思。③!(逻辑非):相当于文字描述中的“不”“非”。2)逻辑表达式就是用逻辑运算符把逻辑运算对象连接在一起组合成的式子。逻辑表达式的一般格式为:表达式逻辑运算符表达式学判断—关系运算符和逻辑运算符2.使用if语句执行条件判断下面详细介绍if语句的3种形式。(1)if基本式if基本式的一般格式如下:(2)if-else式if-else式的一般格式是:学判断—关系运算符和逻辑运算符(3)if-else-if式前两种形式的if语句一般都用于两个分支的情况。那么,当有多个分支选择时,可采用if-else-if式,其一般格式为:学判断—关系运算符和逻辑运算符活动指南:1)在VC6.0平台上录入老师提供的程序,并进行调试、编译、运行。2)参考流程图,改写程序并上机验证通过。学判断—关系运算符和逻辑运算符我来试一试:一家休闲俱乐部为所有年龄在55周岁以上(包含55周岁)的女性会员提供10%的折扣,而为所有其他会员提供5%的折扣。编写程序实现从键盘接收客户的年龄和性别信息,并显示该客户可享受的折扣,界面设计要清楚,参考界面如图所示。学判断—关系运算符和逻辑运算符1)算法分析参考流程图如图所示。注意:①申请的变量类型,年龄(age)为整型,性别(sex)为字符型。②判断条件的写法参考:age>=55&&sex=='f'。2)编写程序,上机调试验证。学判断—关系运算符和逻辑运算符我来归纳:1)关系表达式和逻辑表达式主要用于程序设计中的条件判断。2)“>”“<”“>=”“<=”“==”和“!=”都是C语言中的关系运算符。3)逻辑运算符主要用于组合各种条件。4)C语言提供了3种逻辑运算符:“&&”“||”和“!”。5)运算符“&&”用于组合两个表达式,只有两个表达式的值都为真(非0)时,整个表达式的值才为真。6)运算符“||”用于组合两个表达式,只要其中一个表达式的值为真(非0),整个表达式的值就为真。7)运算符“!”用于执行某个表达式的求反运算。8)C语言提供了用于判断的if、if-else和if-else-if结构。9)if语句中的表达式可以是任意表达式。学判断—关系运算符和逻辑运算符Case9玩新花样—更高级的运算符任务描述:制作电子显示屏模拟显示程序,现实生活中的电子显示屏如图所示。根据电子显示屏的显示原理制作如图所示的显示数字程序。玩新花样—更高级的运算符相关知识:1.条件运算符(?:)在if语句中,当被判断的表达式的值为“真”或“假”时,都执行一个赋值语句,且向同一个变量赋值,则此时可以用一个条件运算符来处理,如以下的if语句:此语句中,无论表达式a<b是否满足,都向同一个变量(min)赋值。在C语言里也可以用下面的语句来实现这种功能:玩新花样—更高级的运算符其中,“(a<b)?a:b”是一个条件表达式,它是这样执行的:如果(a<b)条件为真(非0),则条件表达式取值a,否则取值b。条件运算符?:要求有3个操作对象,是三元运算符。它的一般格式为:1)条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值运算符。因此:可以去掉括号写为:玩新花样—更高级的运算符2)条件运算符?:是一对运算符,不能分开单独使用。例如:3)条件运算符的结合方向是自右至左。应理解为:玩新花样—更高级的运算符2.条件表达式的应用能显示由字符变量控制的图形,利用上述程序后面的多个printf语句可实现如图2-72~图2-74所示的输出效果(程序一次只能运行一次)。玩新花样—更高级的运算符2.条件表达式的应用能显示由字符变量控制的图形,利用上述程序后面的多个printf语句可实现如图示的输出效果(程序一次只能运行一次)。玩新花样—更高级的运算符3.运算符sizeof运算符sizeof是一个独特的运算符,它只用于处理一个运算对象(数据类型或数值)。此运算符以字节的形式返回运算对象所占内存的大小。以上程序的输出结果如图所示,第一个sizeof(name)的结果是12,代表初始化的字符数组name的长度是12(也就是包含12B,注意其中有1B存放的是字符串结束符'\0'),而字符串的长度却是11B。玩新花样—更高级的运算符活动指南:分析现实生活中电子显示屏的组成和显示原理,如图所示,并用它来构建算法。1.构建显示列表1)在Word字处理系统下设计好显示的界面。注意,由于VC6.0平台不能很好地设计字符图案,所以要先借助Word字处理系统(也可用别的系统)来设计显示界面。设计好的界面如图所示。玩新花样—更高级的运算符2)把这幅图复制到VC6.0平台的编辑界面里,同时把框内的字母复制一份,如图所示。3)用“查找/替换”的方法把框内的字母全变为“%c”,并加上printf函数的格式,使它变为如图所示的内容。玩新花样—更高级的运算符2.完善程序设计算法分析:1)申请3个字符变量a、b、c,用于控制列表的显示,并进行相应的初始化。申请一个整型变量i,用于接收用户输入的数字。参考语句如下:2)根据接收的数据i来确定变量a、b、c的字符(显示的内容用“*”)。参考语句如下:3)完善程序并上机进行调试和运行。玩新花样—更高级的运算符我来归纳:1)条件表达式的格式为“表达式1?表达式2:表达式3”。2)条件表达式通常用于赋值语句中。3)条件运算符(也叫三元运算符)等同于if-else结构。

温馨提示

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

最新文档

评论

0/150

提交评论