当前位置:文档之家› 第3章 顺序结构程序设计教案

第3章 顺序结构程序设计教案

第3章 顺序结构程序设计教案
第3章 顺序结构程序设计教案

第3章顺序结构程序设计

本章要点

?结构化程序设计及三种基本控制结构

?语句的概念

?数据的输入/输出

本章学习目标

?掌握顺序结构程序设计方法

?掌握Visual Basic数据的输入/输出方法

第3章顺序结构程序设计47

3.1 结构化程序设计概述

Visual Basic是面向对象的程序设计语言,但面向对象的程序设计并不是要抛弃结构化程序设计方法,而是站在比结构化程序设计更高、更抽象的层次上去解决问题。当它被分解为低级代码模块时,仍需要结构化编程的方法和技巧,只是它分解一个大问题为小问题时采取的思路与结构化方法是不同的。结构化的分解突出过程,强调的是如何做(How to do?),代码的功能如何完成;面向对象的分解突出现实世界和抽象的对象,强调的是做什么(What to do?),它将大量的工作由相应的对象来完成,程序员在应用程序中只需说明要求对象完成的任务。

3.1.1 结构化程序设计

20世纪60年代末,著名学者E.W.Dijkstra首先提出了“结构化程序设计”的思想。这种方法要求程序设计者按照一定的结构形式来设计和编写程序,使程序易阅读、易理解、易修改和易维护。这个结构形式主要包括两方面的内容:

(1)在程序设计中,采用自顶向下、逐步细化的原则。

按照这个原则,整个程序设计过程应分成若干层次,逐步加以解决。每一步是在前一步的基础上,对前一步设计的细化。这样,一个较复杂的大问题,就被层层分解成为多个相对独立的、易于解决的小模块,有利于程序设计工作的分工和组织,也使调试工作比较容易进行。

(2)在程序设计中,编写程序的控制结构仅由三种基本的控制结构(顺序结构、选择结构和循环结构)组成,避免使用可能造成程序结构混乱的GoTo语句。

所谓程序的控制结构是指用于规定程序流程的方法和手段。它是一种逻辑结构,描述程序执行的顺序,也是一种形式结构,描述程序的编写规则。按照结构化程序设计方法,使设计编写的程序的控制结构由上述三种结构组成,这样的程序就是结构化程序。

3.1.2 三种基本的控制结构的流程图

流程图是一种传统的算法表示方法,它使用不同的几何图形框来代表各种不同性质的操作,用流程线来指示算法的执行方向。由于它直观形象,易于理解,所以应用广泛。

1.常用的流程符号

起止框:表示算法的开始和结束。

处理框:表示初始化或运算赋值等操作。

输入输出框:表示数据的输入输出操作。

判断框:表示根据一个条件成立与否,决定执行两种不同操作中的其中一个。

流程线:表示流程的方向。

连接点:用于流程分支的连接。

2.三种基本结构的表示

(1)顺序结构。顺序结构是简单的线性结构,各框按顺序执行。其流程图如图 3.1所示,语句的执行顺序为:语句1→语句2。

Visual Basic 6.0程序设计实用教程

48

(2)选择(分支)结构。这种结构是对某个给定条件进行判断,条件为真或假时分别执行不同的框的内容。其基本形状有两种,如图3.2 所示。图3.2(a)的执行序列为:当条件为真时执行语句1,否则执行语句2;图3.2(b)的执行序列为:当条件为真时执行语句1,否则什么也不做。

图3.1 顺序结构图3.2 选择结构

(3)循环结构。循环结构有以下两种:

先判断条件,后执行循环:执行过程是先判断条件,当条件为真时,反复执行“语句组”(也称循环体),一旦条件为假,跳出循环,如图3.3(a)所示。

先执行循环,后判断条件:执行过程是先执行“语句组”,再判断条件,条件为真时,一直循环执行语句组;一旦条件为假时,结束循环,如图3.3(b)所示。

图3.3 循环结构流程图

例3.1 输入三个数,然后输出其中最大的数,用算法用流程图表示如图3.4所示。

例3.2输入10个数,打印输出其中最大的数,用算法流程图表示如图3.5所示。

图3.4 例3.1的算法流程图图3.5 例3.2的算法流程图

第3章顺序结构程序设计49

3.2 顺序结构程序设计

顺序结构是结构化程序设计中的第一种基本结构,在该结构中,各语句或语句组按照出现的先后顺序依次执行。在选择结构和循环结构中,顺序结构也是组成部分。

例3.1鸡兔同笼,已知鸡兔总头数为H头,它们脚的总数为F只,编写程序,计算出鸡的只数X和兔的只数Y。

解:数学上可列出二元一次方程:

X+Y=H

2X+4Y=F

通过解方程得:X=(4H-F)/2,Y=(F-2H)/2。

程序代码写在窗体的单击事件中(假设H=11,F=34),代码如下:

Private Sub Form_Click()

Dim X As Integer, Y As Integer ' 定义变量X,Y为整形

Dim H As Integer, F As Integer ' 定义变量H,F为整形

H=11: F=34 ' 11赋值给H,34赋值给F

X=(4*H-F)/2 ' X赋值成5

Y=(F-2*H)/2 ' Y赋值成6

Form1.Print "鸡的只数=";X,"兔的只数=";Y ' 在窗体Form1上打印结果

End Sub ' 结束过程

工程运行时,单击窗体Form1后,事件过程Form_Click()的执行顺序是这样的Dim X As Integer,Y As Integer →Dim H As Integer,F As Integer →H=11→F=34 →X=(4*H-F)/2 →Y=(F-2*H)/2 →Form1.Print“鸡的只数=”;X,“兔的只数=”;Y →End Sub。可见在程序运行时,语句的执行从头到尾顺序执行,最后执行End Sub 结束过程的运行。

说明:

1)VB只能计算和赋值,不能进行解方程(如例3.1中的二元一次方程求解)和因式分解(如A2-B2=(A+B)(A-B))等代数运算。

2)H=11: F=34两个赋值语句写在同一行上,中间用冒号:分隔,组成了语句组。

3)每行后由单引号开始的部分(如:‘定义变量X,Y为整形)是注释部分,用来解释语句或程序段功能的,程序运行时不被执行。

一般一个完整的程序包括三个部分:数据输入、数据处理和结果输出。如果要使用变量,应遵循先定义后使用的原则。

3.3 语句

语句是程序最基本的执行单位,程序的功能就是通过对一系列语句的执行来实现的。例3.1的顺序结构程序就是由多个语句组成的。顺序结构程序的语句一般由两部分组成:语句定义符和语句体。语句定义符是关键字,决定系统作什么;语句体是语句定义符的操作对象或操作的内容。例如:

(1)Dim X As Integer,Y As Integer是申明变量的语句。其中:

Visual Basic 6.0程序设计实用教程

50

dim是语句定义符,它的作用是定义变量;X As Integer,Y As Integer则是语句体,是定义变量的具体内容,表示x,y被申明成整数。

(2)Form1.Print“鸡的只数=”;X,“兔的只数=”;Y是打印语句。其中:

Print是语句定义符,作用是打印;“鸡的只数=”;X,“兔的只数=”;Y是语句体,它是print(打印)的对象。

(3)h=11是赋值语句。其中:

“=”就是赋值的意思,赋值的内容是把11赋值给h。

说明:语句也可以只有语句定义符,如end就表示结束程序的运行。

除了顺序结构程序中以上类型的语句外,VB还有条件语句、循环语句、注释语句等其他类型的语句,这些我们以后都会陆续学习到。

3.4 数据输入

在Visual Basic程序执行过程中,主要通过以下方式给程序中的变量赋值:

(1)使用赋值语句,具体使用方法详见第2章的2.6.2。

(2)使用文本框输入数据。

通过使用文本框的Text属性获得用户输入的数据。使用的格式如下:变量名=文本框名.Text

因为文本框的Text属性值是字符串型的,所以要得到数值类型的数据,就要使用Val函数进行类型转换。例如,X=Val(Text1.Text)。

(3)使用Inputbox函数,具体使用方法详见第2章的2.7.7。

3.5 数据输出

在Visual Basic程序中可以通过Print方法、文本框、标签框、MsgBox函数和MsgBox 过程来输出数据。

(1)使用Print方法。具体使用方法详见第2章的2.6.1。

(2)使用文本框输出数据。

通过使用文本框的Text属性输出用户的数据。使用的格式如下:

文本框名.Text=字符表达式

因为文本框的Text属性是字符串型的,所以要输出数值类型的数据,就要使用Str 函数先进行类型转换。例如,Text1.Text=Str(X)。

(3)使用标签框输出数据。

通过使用标签框的Caption属性输出用户的数据。使用的格式如下:

标签框名.Caption=字符表达式

因为标签框的Caption属性是字符串型的,所以要输出数值类型的数据,就要使用Str函数进行类型转换。例如,Label1.Caption=“X=”+Str(X)。

(4)使用Msgbox函数和Msgbox过程来输出数据。具体使用方法详见第2章的2.7.7。

顺序结构选择结构和循环结构的程序设计典型例题分析与解答

顺序结构、选择结构和循环结构的程序设计典型例题分析与解答 1 在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构 【分析】能用1个条件,控制某个操作做或不做的选择结构是单分支结构;能用1个条件,控制从2个操作中选择一个操作执行的选择结构是双分支结构;能用n(n>l)个条件,控制从n+ l个操作中选择一个操作执行的选择结构是多分支结构。【答案】多分支 2 在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。 【分析】当型循环结构是先判断控制循环的条件,条件成立,执行循环体;条件不成立,则退出循环体。次数型循环结构也是先判断是否达到循环次数,没有达到循环次数,执行循环体;达到循环次数的,退出循环。只有直到型循环结构才是先执行循环体,然后再判断控制循环的条件,如果条件成立,进行循环;条件不成立,退出循环。 【答案】直到型 3 使用“getchar( )”函数时,程序的开头必须写一条包含命令为____________。 【分析】凡是使用系统函数的程序,都要在程序的开头写一条包含命令,包含命令中的“头函数.h”是一个文件,其中有关于该系统函数的定义。系统函数“getchar( )”是在名为“stdio.h(标准输入输出函数)”的头函数文件中定义的。【答案】#include"stdio.h"或#include<stdio.h> 4 执行输入语句“scanf("x=%c,y=%d",&x,&y);”,要使字符型变量X的值为'A'、整型变量y的值为12,则从键盘上正确的输入是( ) ①'A'/②A/③x=A/ ④x=A,y=12/ 12/ 12/ y=12/ 说明:备选答案中的"/"表示回车换行键 【分析】输入语句的格式控制符串中的“x=”、“,”、“y=”都是非格式控制符, 在输入时必须原样位置输人,所以只有备选答案④才符合这个要求。【答案】④ 5 设有下列程序段,则执行该程序段后的输出是( ) int i=012; float f=1.234E-2; printf("i=%-5df=%5.3f",i,f); ... ①i=__012f=1.234 ②i=10___f=0.012 ③10___O.012 ④___100.012 注:答案中的_代表一个空格。 【分析】输出语句的格式控制符串中的“i=”、“f=”都是非格式控制符,在输出时必须原样,原位置输出,所以只有备选答案①和②才符合这个要求;格式控制符“%-5d”的格式控制是数据左对齐、宽度为5的整型数据,备选答案①中的数据是右对齐的;此外,该答案中的实数“1.234E-2”应该代表“0.01234”,而不是“1.234”。只有备选答案②符合题意。【答案】② 6 在Turbo C的主屏幕中,将当前编辑的源程序以原名存盘,可以选用___________菜单项,也可以直热键________。 【分析】如果选用“File/Save”菜单项,或者使用热键(f12),当前编辑的源程序将以原来的文件名存盘;如果选用“File /Write to”,当前编辑的源程序将以新的文件名存盘。 【答案】File/Save F2 7 下列各种选择结构的问题中,最适合用if-else语句来解决的是( ) ①控制单个操作做或不做的问题 ②控制两个操作中选取一个操作执行的问题 ③控制三个操作中选取一个操作执行的问题 ④控制10个操作中选取一个操作执行的问题 【分析】if-else语句是专门解决“双分支结构”的,而“双分支结构”的问题就是用单个条件控制从两个操作中选取一个操作来执行的问题。 【答案】② 8 下列程序是输入一个小写字母,转换成对应大写字母的后一个字母输出。例如:'a'将转换成’B’、…、‘y’将转换成’Z’,其中的’Z’将转换成’A’。请填写程序中所缺少的语句。 main() {char ch ; scanf(”%c”,&ch〕; ch=ch- 32+1; ___________________; printf("%c\n",ch); } 【分析】分析程序库中的“ch=ch- 32+ 1;”语句,可知是将字符型变量 ch中的小写字母转换成对应的大写字母(- 32)的后一个字母(+ l)。如果ch中的字母是' a'、' b'、··,'y',转换结果都不会出错,但是,如果 ch中的字母是'Z',则-32后是大写字母'Z',再+l后将不是大写字母了。为了使其转换成'A',需要用一个单分支结构来实现:如果ch的值等于'Z'+ l,则硬性将 ch的值改成'A'。完成这个任务的语句是一条单分支语句,正是所缺少的语句。 【答案】 if (ch=='Z'+l) h='A'; 9不能正确计算下列分段函数的程序段是_________ |-1 x<0 y=|0 x=0 x>0 ① switch(x< 0)② if(x> 0) {case1:y=-1;break; y=1; case 0:switch(x==0)else {casel:y=0;break;if(x==0) case 0: y= l;y=0 } else } &ny=-l ③ y= l;④ y= l; if(x==0)if(x<0) y=0; y =-l; else else y=- l; if(x== 0) y=0; 【分析】先来分析备选答案①:表达式“x<0”的值只有两种可能性,成立值为1、不成立值为on如果“x<0”的值为 1(即 x< 0),则执行“easel:”后的语句“y=-l”后,退出 switch语句,符合分段函数要求。如果“x<0”的值为0(即x>=0),则执行“case 0:”后的switch语句。该switch语句的表达式是“x==0”,结果也有两种:成立为1、不成立为0.如果“x==0”的值为1(即x=0),则执行“case l:”后的语句“y=0”后,退出 switch语句,符合分段函数要求。如果“x==0”的值为0(即x>0),则执行“case 0:”后的语句“y=1”,也符合分段函数要求。再分析备选答案②:这是标准的用嵌套双分支结构来实现三分支的分段函数,结果显然是能求解分段函数的。分析备选答案③:双分支语句的条件是“x==0”,条件成立时,y值为0,符合分段函数的要求,条件不成立时(包含x>0和x<0两种情况),结果y值为-l,显然不符合分段函数的要求,所以本题要选该答案。至于备选答案④,是能正确计算分段函数的,首先置y为1;接着用双分支结构处理“x<0”和“x>=0”的两种情况:前者使得y值为一l;后者再执行一个单分支结构,如果“x==0”则使y值为0,否则不改变y值,保持y的原值1,符合分段函数的要求。 【答案】③ 10 三种循环语句都能解决循环次数已经确定的次数型循环,其中__________循环语句最适合。 【分析】当“for(表达式 1;表达式 2;表达式 3)语句;”中的表达式1为:整型变量 k=l;表达式 2为:整型变量 k<= n;表达式 3为:整型变量 k++;则这个 for循环就是次数为n次的标准次数型循环结构。 【答案】for 11执行下列程序段后的输出是() x=l; while(x<=3) x++,y=x+++x; printf("%d,%d",x,y); ① 6,10 ②5,8 ③4,6 ④3,4 【分析】我们可以使用逐步记录运行结果的方法来获得输出结果,记录如下: x=1; 进入循环,条件满足执行循环体:计算x+十得x为2,计算y=x+++x,得y为4、x为3; 继续循环,条件满足执行循环体:计算x+十得x为4,计算y=x+++x,得y为8、x为5; 继续循环,条件不满足退出循环; 输出x和y的值为5,8。 【答案】② 12 执行下列程序段,其中的do-while循环一共执行_次。 static int x; do x+=x*x; while (x); 【分析】对静态型变量,不赋初值也有值,对整型变量,其值为 0。执行循环语句 do-while 的循环体,x+=x* x是x=x+(x*

程序框图、顺序结构、循环结构(精)

程序框图、顺序结构、循环结构 1.程序框图 (1程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形. (2在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序. 2.常见的程序框、流程线及各自表示的功能 图形符号名称功能 终端框(起止框表示一个算法的起始和结束 输入、输出框表示一个算法输入和输出的信息 处理框(执行框赋值、计算

判断框判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N” 流程线连接程序框 ○连接点连接程序框图的 两部分 3.条件结构的概念 在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构. 名称双条件结构单条件结构 结构 形式 特征两个步骤A、B根据条件是否满足选 择其中一个执行 根据条件是否成立选择是否执行步 骤A

4.循环结构的定义 在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是循环结构.反复执行的步骤称为循环体. 名称 双条件结构单条件结构 结构形式 特征 两个步骤 A 、 B 根据条件是否满足选择其中一个执行 根据条件是否成立选择是否执行步 骤A 对条件结构的理解

(1如图1-1-16是算法流程图的一部分,其算法的逻辑结构是( 图1-1-16 A .顺序结构 B .条件结构 C .判断结构 D .以上都不对 (2给出以下四个问题:

①输入一个数x ,输出它的相反数;②求面积为6的正方形的周长;③求三个数 a , b , c 中的最大数;④求函数f (x x -1,x ≥0,x +2,x <0 的函数值. 其中不需要用条件结构来描述其算法的有( A .1个 B .2个 C .3个 D .4个 [再练一题] 1.条件结构不同于顺序结构的特征是含有( A .处理框 B .判断框 C .输入、输出框 D .起止框 简单条件结构的设计

第八讲:顺序结构程序设计举例

第八讲:顺序结构程序设计举例 所谓的顺序结构就是从头到尾一步步按部就班的执行下去,不会中途出现放弃或者跳转的情况。利用这样的思想实现的程序我们称之为顺序结构程序。在前面学习了许多知识点之后我们就可以开始最基本的顺序结构程序的设计了。 8.1 顺序结构 所谓的顺序结构可以用一个成语形容叫“按部就班”。任何事情都遵循着先做什么,再做什么的思想进行。这样的结构是我们日常生活中最常见的结构。在顺序结构中当一件事情开始后就再也不会停下,直到最后一步完成,整件事情做完为止,中途不会有放弃或者选择性放弃的过程。 8.2 经典算法—数据交换 很多语言的程序设计大多数都是从数据交换这个最经典的算法开始的,所谓的数据交换是将两个同等性质的物质进行对换,例如有两个整数a和b,a = 1,b = 2,在交换之后,使得a = 2,b = 1。 交换的算法是由于变量的性质所决定的,由于变量在同一时刻只能够存储一个数据,因此我们不能直接使用 a = b,b = a的方式对数据进行交换。此时我们就需要想出一些方法,帮助程序实现最正确的交换。 对于任何的数据我们都可以采用“第三变量法”进行交换。所谓的“第三变量法”即借助第三个变量实现对数据的交换,例如对a和b的数据交换,就有: 接下来我们将通过如下示意图对“第三变量法”进行简单的介绍: b

在程序未执行交换前,a = 1,b = 2。在执行交换算法的过程中,首先执行“t = a;”一句,将a中的值1转移到t中暂存,接下来执行“a = b;”一句,将b之中的值2存放到变量a中,a中原先的1被覆盖;最后执行“b = t;”一句,将t中所暂存的原先a的值1存放到变量b中,b中原有的2被覆盖。此时 a = 2,b = 1,t = 1。 当然,读者也可以使用先暂存b的方式对a和b之中的数据进行交换。下面给出该案例的完整代码: [例] 使用“第三变量法”交换a和b之中的数据。 当然对于一些数值型的数据(所谓的数值型数据是指单纯的数字或者ASCII 码),我们也可以直接采用“算数交换法”进行交换。所谓的算数交换法是指利用数值型数据可进行算术运算的特性进行交换。以上例a与b的值交换为例,则有: 假设a = 1,b = 2。首先执行“a = a + b;”,此时a = a + b = 1 +2 = 3,而b = 2;

1、1、2、1程序框图及顺序结构学案(已修改)

1、1、 2、1程序框图及顺序结构 一、【学习目标】 1、掌握程序框的画法和功能. 2、了解什么是程序框图,掌握学习程序框图的意义. 3、掌握顺序结构的应用,并能解决与顺序结构有关的程序图的画法. 二、【自学内容和要求及自学过程】 1、阅读教材第6—7页内容,回答问题(程序框图) <1>什么是程序框图? <2>请说出程序框、流程线的符号与功能. 结论:<1>程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执 行顺序.<2>①椭圆形框:表示程序的开始和结束,称为终端框(起止框),表示开始时只有一个出口,表示结束时只有一个入口.②平行四边形框:表示一个算法的输入和输出信息,又称为输入和 输出框,它有一个入口和出口.③矩形框:表示计算、赋值等 处理操作,又称为处理框(执行框),它有一个入口和出口.④菱形框: 是用来判断给出的条件是否成立,根据判断结果来决定程序的流向,称为判断框,它有一个入口和两个出口.⑤流程线:表示程序的流向.⑥圆圈:连接点.表示相关两框的连接处,圆圈内的数字相同 的含义表示相连接在一起. (具体见教材第6页). 2、阅读教材第7—8页内容,回答问题(顺序结构) 材料:算法的三种基本逻辑结构分别称为顺序结构、条件结构和循环结构,尽管算法千差万别,但都是由这三种基本逻辑结构构成的.如图: <3>上图哪一个是顺序结构、条件结构、逻辑结构? <4>什么是顺序结构? 结论:<3>分别对应图一、二、三.<4>很明显,顺序结构是由若干个依次执行的步骤组成的.这是任何一个算法都离不开的基本结构.

第3章顺序结构程序设计练习题及答案

第3章顺序 一、单选题: 1.己知int k,m=1;执行语句k=-m++;后k的值是( A)。(提示:负号与自加运算符同级,结合方向从右向左) A)-1 B) 0 C)1 D)2 2.若变量a, b已正确定义,且a,b均已正确赋值,下列选项中合法的语句是( B) A) a=b B)++a; C) a+=b++=1; D)a=int(b); (提示:a=b 只是表达式非语句; b++是个表达式)3.若有定义int x=4;则执行语句 x + = x * = x + 1;后,x的值为( C )。 A)5 B)20 C)40 D)无答案 4.若有定义和语句: int s,p; s=p=5; p=s++,++p,p+2,p++;则执行语句后 p的值是( C) A)9 B)8 C)7 D)6 5.若有定义:int a,b;则表达式 a=4,b=3,a+b+2,a++,a+b+2的值为( C)。 A) 12 B)11 C)10 D)无答案 6.若有定义:float a=3.0,b=4.0,c=5.0;则表达式 1/2*(a+b+c)的值为( C )。 A)6.0 B)6 C)0.0 D)无答案 7.以下程序段的输出结果是( C )。(提示:a当约束过严时,约束失效。按自由格式输出。) int a=1234; printf("%2d\n",a); A)12 B)34 C)1234 D)提示出错,无结果 8.下列程序段的输出结果是(C)。 int a=1234; float b=123.456; double c=12345.54321; printf("%2d,%3.2f,%4.1f",a,b,c); A)无输出 B)12, 123.46, 12345.5 C)1234,123.46,12345.5 D)1234,123.45, 1234.5 9.设x, y均为整型变量,且x=8, y=5,则以下语句的输出结果是(D)。 printf("%d,%d\n",x--,++y); A)8,5 B)7,5 C) 7,6 D) 8,6 10.以下程序的输出结果是( A )。 void main() { int a=20,b=10; printf("%d,%%d\n",a+b,a-b); } A) 30,%d B)30,10 C)30,%10 D)以上答案均不正确(%%d中第一个%后面的表示字符)11.下列程序的运行结果是(A)。 void main() { float x=2.5; int y; y=(int)x; printf("x=%f,y=%d",x,y);} A) x=2.500000,y=2 B)x=2.5,y=2 C)x=2,y=2 D) x=2.500000,y=2.000000 12.己知int k=10 , m=3,n;则下列语句的输出结果是(B)。 printf("%d\n",n=(k%m,k/m));

实验一 顺序结构程序设计

实验一顺序结构程序设计 一、实验目的 1. 掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。2 2. 学会使用有关算术运算符,以及包含这些运算符的表达式。 3. 掌握数据的输入输出方法,能正确使用各种格式转换符。 二、实验学时数 4学时 三、实验内容和步骤 1..启动TC 2.0编译系统,进入编辑界面,建立一个新文件。文件名自定。(要求每个学生建立一个自己的文件夹,每个同学的练习和作业的源程序命名形成系列,便于检查、查找和考核)。 利用一个小程序验证常量、变量的使用方法与特点,验证数据类型和表达式值的计算规则及其输出格式。 参考程序: main( ) { char c1,c2; c1=97;c2=98; printf(″%c,%c\n″,c1,c2); } (1)在此基础上加入以下printf语句,并运行。 printf(″%d,%d\n″,c1,c2); (2)将第二行改为以下语句,并运行。 int c1,c2; (3)将第三行改为以下语句,并运行。 c1=300;c2=400; 分别写出三次运行结果。 2.编程并调试运行 (1)编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf 函数输出这两个字符。上机运行此程序,比较putchar和printf函数输出字符的特点。 (2)试编写程序,从键盘输入一个大写字母,要求改用小写字母输出。 3.写出下面程序的运行结果: 1)main() { int x=1,y=1,z=1; y=y+x; x=x+y; printf(″%d\n″,x); printf(″%d\n″,y); } 2) main()

03实验三 顺序结构程序设计_答案

湖北工业大学实验报告 课程名称:C语言程序设计实验内容实验三顺序结构程序设计 学院:工程技术学院专业班级: 姓名:学号:教师:成绩: 一、实验目的 1、掌握赋值语句、表达式语句、函数调用语句、复合语句、空语句的使用方法。 2、掌握输入、输出函数的格式及格式符的使用。掌握文件包含预处理命令的使用方法。 3、掌握数据的输入、存储、输出之间的关系。 4、掌握顺序程序设计的逻辑结构,掌握数据结构的功能。 二、预习作业 1、程序填空题:试在括号中填入正确的答案,并上机验证程序的正确性。(1) 输入大写字符A,则输出为( )。(文件名:ex3_1.c) (#include ) main( ) { ( char ch,chr; ) chr=(ch= getchar( )) main( ) { ( long int) a =80000 , b = 60000, c, d; ( c) = ( a - b ,a + b ); ( d) = (a + b,a - b); printf(“%ld ,%ld\n”, c, d); }

2、程序改错并上机调试运行 (1)更改下列程序中的位运算符和逻辑运算符,能使变量d、e输出的结果为零。 (文件名:ex3_3.c) #include main( ) { int a = 8, b = 2,c = 3,d,e; /********** found **********/ d = (a % c & ^ a % c); e = a / c - b || && c + + ; printf (“%d, %d\n”, d, e); } (2) 查找改程序中的错误,并修改正确。(文件名:ex3_4.c) #include main( ) { int a = 4, b = 6, c= 3; /********** found **********/ a = a + b = b + c ; b = a < b ?a :b < c ?b :c printf(“%d,%d\n”, a, b); } 3、读程序写结果并上机验证其正确性 (1) 变量 a,b,c,d如下,将变量a以各种格式输出并输出表达式c+a,d – 32的值。(文件名:ex3_5.c) #include main( ) 结果为:(-1,4294967295,37777777777,ffffffff ) { int a = - 1 , b = 2 ; C,B char c = …D?,d = …b?; b = b + c;//??? printf (“%d, %u,%o,%x \n ”,a,a,a,a ); printf (“%c,%c \n ”,c + a, d - 32); } (2) 运行程序后输入”a空格b空格c回车”后,输出结果是(a ,b )。(文件

顺序结构程序设计练习题3

C语言练习题总汇 一、单选题: 【顺序结构程序设计】 1.己知int k,m=1;执行语句k=-m++;后k的值是(A )。(提示:负号与自加运算符同级,结合方向从右向左) A)-1 B) 0 C)1 D)2 2.若有定义int x=4;则执行语句x + = x * = x + 1;后,x的值为(C )。 A)5 B)20 C)40 D)无答案 3.若有定义:float a=3.0,b=4.0,c=5.0;则表达式1/2*(a+b+c)的值为( C )。 A)6.0 B)6 C)0.0 D)无答案 4.以下程序段的输出结果是( C )。(提示:a当约束过严时,约束失效。按自由格式输出。)int a=1234; printf("%2d\n",a); A)12 B)34 C)1234 D)提示出错,无结果 5.下列程序段的输出结果是(C)。 int a=1234; float b=123.456; double c=12345.54321; printf("%2d,%3.2f,%4.1f",a,b,c); A)无输出 B)12, 123.46, 12345.5 C)1234,123.46,12345.5 D)1234,123.45, 1234.5 6.设x, y均为整型变量,且x=8, y=5,则以下语句的输出结果是(D)。 printf("%d,%d\n",x--,++y); A)8,5 B)7,5 C) 7,6 D) 8,6 7.以下程序的输出结果是( A )。 int main() { int a=20,b=10; printf("%d,%%d\n",a+b,a-b); } A) 30,%d B)30,10 C)30,%10 D)以上答案均不正确(%%d中第一个%后面的表示字符) 8.下列程序的运行结果是(A)。 int main() { float x=2.5; int y; y=(int)x; printf("x=%f,y=%d",x,y);} A) x=2.500000,y=2 B)x=2.5,y=2 C)x=2,y=2 D) x=2.500000,y=2.000000 9.以下程序的输出结果是(A)。 int main() { char c=‘z’; printf("%c",c-25);} A)a B)z C)z-25 D)y (字母共有26个,而z是最后一个)

c语言程序设计实验报告1--顺序结构

福建农林大学金山学院实验报告 系(教研室):专业:年级: 实验课程: C语言程序设计姓名:学号:实验室号:_ 计算机号:实验时间:指导教师签字:成绩: 实验1:顺序结构程序设计 一、实验目的和要求 1.了解Visual C++ DEV_C++的基本操作方法 2.掌握C程序设计的基本步骤:编辑、编译、连接和运行 3.掌握各种类型数据的输入输出方法 4.能够编写一个简单的程序 二、实验内容和原理 1. 输入并运行一个简单、正确的程序。 # include <> int main( ) { printf ("This is a c program!\n"); return 0; } 2. 要使下面程序的输出语句在屏幕上显示:A,B,34,则从键盘输入的数据格式应为AB34__________ 。 #include<> int main() { char a, b; int c;

scanf("%c%c%d",&a,&b,&c); printf("%c,%c,%d\n",a,b,c); return0; 问题1:要使上面程序的键盘输入数据格式为a=A,b=B,34,输出语句在屏幕上显示的结果也为A,B,34,则应修改程序中的哪条语句怎样修改 scanf( “a=%c,b=%c,%d”,&a,&b,&c ); 问题 2:要使上面程序的键盘输入数据格式为A,B,34,而输出语句在屏幕上显示的结果为“A”,“B”,34,则应修改程序中的哪两条语句怎样修改 scanf( “%c,%c,%d”,&a,&b,&c); printf(“\”%c\”,\”%c\”,%d\n”,a,b,c); 3、编程求一个圆的周长和面积。用scanf输入圆半径,输出保留两位小数。 4、输入一个华氏温度F,要求输出摄氏温度C。公式为 c=5/9(F-32),取两位小数。 5、编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf 函数输出这两个字符。 6. 计算定期存款本利之和。 设银行定期存款的年利率rate为%,并已知存款期为n年,存款本金为capital元,试编程计算n年后的本利之和deposit。要求定期存款的年利率rate、存款期n和存款本金capital 均由键盘输入。(提示:pow为幂函数:pow(2,3)表示23)。 #include <> #include <> int main() { } 三、实验环境

C语言(顺序结构程序设计)习题与答案

1、一个C程序的执行是从( )。 A.本程序的main函数开始,到main函数结束。 B.本程序的main函数开始,到本程序文件的最后一个函数结束。 C.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 D.本程序文件的第一个函数开始,到本程序main函数结束。 正确答案:A 2、C语言规定:在一个源程序中,main函数的位置( )。 A.必须在系统调用的库函数的后面 B.必须在最开始 C.可以任意 D.必须在最后 正确答案:C 3、下面四个选项中,均是不合法的浮点数的选项是( )。 A.160. 0.12 e3 B.123 2e4.2 .e5 C.-e3 .234 1e3 D..18 123e4 0.

4、下面四个选项中,均是合法浮点数的选项是( )。 A.+le+1 5e-9.4 03e2 B.123e 1.2e-.4 +2e-1 C.-.60 12e-4 -8e5 D.-e3 .8e4 5.e-0 正确答案:C 5、下面正确的字符常量是( )。 A.'' B.'W' C."a" D.'\\'' 正确答案:B 6、下面四个选项中,均是不正确的八进制数或十六进制数的选项是( )。 A. 016 0x8f 018 B. 010 -0x11 0x16

7ff -123 D.oabc 017 0x8 正确答案:C 7、下面不正确的字符串常量是( )。 A."12\12" B."0" C."" D.'abc' 正确答案:D 8、在C语言中,要求运算数必须是整型的运算符是( )。 A./ B.= C.++ D.% 正确答案:D 9、若以下变量均是整型,且num=sum=7;则执行表达式 sum=num++,sum++,++num后sum的值为( )。 A.7 B.9 C.10 D.8 正确答案:D 10、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )。

程序框图、顺序结构

1.1.2程序框图与算法的基本逻辑结构 第1课时程序框图、顺序结构 1.掌握程序框图的概念. 2.熟悉各种程序框及流程线的功能和作用. 3.能用程序框图表示顺序结构的算法. 1.程序框图 (1)程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形. (2)在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序. (3)常见的程序框、流程线及各自表示的功能

(4)算法的逻辑结构 顺序结构、条件结构和循环结构是算法的基本逻辑结构,所有算法都是由这三种基本结构构成的. 2.顺序结构 (1)顺序结构的定义 由若干个依次执行的步骤组成的.这是任何一个算法都离不开的基本结构. (2)结构形式 判断正误.(正确的打“√”,错误的打“×”) (1)有的程序框可以不用流程线连接.() (2)程序框只有一个进入点和一个退出点.() (3)流程线是直线或折线,可以不带箭头.() [提示](1)×各程序框必须用流程线依次连接. (2)×判断框有一个进入点,两个退出点. (3)×流程线必须带箭头. 题型一程序框图的认识和理解

【典例1】下列关于程序框图中图形符号的理解正确的有() ①任何一个流程图必须有起止框; ②输入框只能放在开始框后,输出框只能放在结束框前; ③判断框是唯一的具有超过一个退出点的图形符号; ④对于一个程序框图来说,判断框内的条件是唯一的. A.1个B.2个C.3个D.4个 [思路导引]根据程序框图的概念,逐一验证每个选项是否正确. [解析]①任何一个程序必须有开始和结束,从而流程图必须有起止框,正确.②输入、输出框可以用在算法中任何需要输入、输出的位置,错误.③正确.④判断框内的条件不是唯一的,错误.故选B. [★答案★] B (1)理解程序框图中各框图的功能是解此类题的关键,用程序框图表示算法更直观、清晰、易懂. (2)起止框用“”表示,是任何流程不可少的,表明程序的开始和结束. (3)输入、输出框用“”表示,可用在算法中任何需要输入、输出的位置,需要输入的字母、符号、数据都填在框内. (4)处理框用“”表示,算法中处理数据需要的算式、公式等可以分别写在不同的用以处理数据的处理框内,另外,对变量进行赋值时,也用到处理框. (5)判断框用“”表示,是唯一具有超过一个退出点的图形符号. [针对训练1]下列说法正确的是() A.程序框图中的图形符号可以由个人来确定 B.也可以用来执行计算语句 C.程序框图中可以没有输出框,但必须要有输入框 D.用程序框图表达算法,其优点是算法的基本逻辑结构展现得非常直接 [解析]一个完整的程序框图至少要有起止框和输入、输出框,输入、输出框只能用来输入、输出信息,不能用来执行计算. [★答案★] D

实验三 顺序结构程序设计

实验三顺序结构程序设计 一、实验目的 学习数据传送指令和算术运算指令的用法;掌握数据定义伪指令的格式,会用DEBUG 中的D命令观察DB、DW、DD存储数据的格式;熟悉汇编语言的基本框架,掌握编写汇编语言程序的基本方法。 二、示例 试问如下程序执行到exit时,字单元A、B、C、C+1、C+2中的内容各是什么? 源程序如下: data segment a d b 0 b db 0 c db 30,40,50 data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov al,c+1 add al,c mov a,al mov al,c+1 add al,c+2 mov b,al add c,10 add c+1,20 add c+2,30 exit: mov ah,4ch int 21h code ends

end start 注:c db 30,40,50为c=30,c+1=40,c+2=40. 阅读以上程序,分析出结果,并上机验证。 (1)输入以上源程序,以TX4_1.ASM命名。 (2)用MASM 汇编TX3_1.ASM,生成TX4_1.OBJ文件。 (3)用LINK 连接TX3_1.OBJ,生成TX4_1.EXE文件。 (4)用DEBUG调试TX3_1.EXE文件,观测运行结果。 三、实验题 1、求表达式Y=A*X2+B*X+C的值,已知A、B、C分别存放在DATAA、DATAB、DATAC字节单元,X存放在TABL字节单元,结果Y放入RESULT字单元。 要求:①在DEBUG下多次修改X的值,观察执行结果Y; data segment DATAA db 1 DATAB db 2 DATAC db 3 TABL db 0 RESULT db ? data ends

VB程序设计 习题及答案第3章 顺序结构程序设计

第3章顺序结构程序设计 3.1 下列语句是否有错?若有,请改正。 (1) Let = 17 (2) T1$ = XYZ (3) L*2 = K + E (4) 1A = 34 , 2A = 66 【答案】 (1) Let x = 17 或 x = 17 (2) T1$ = “XYZ” (3) L = (K + E)/2 (4) A1 = 34 : A2 = 66 3.2 编一个对三种商品零售计价程序,商品数量由键盘输入。 A商品:每件1.25元 B商品:每件3.12元 C商品:每件11.27元 总计金额 SUM。 【参考答案】 (1)用户界面设计 图3-1 程序运行结果 (2)控件属性设置(略) (3)程序代码设计 Private Sub Command1_Click() Sum = 1.25 * Text1.Text + 3.12 * Text2.Text + 11.27 * Text3.Text Text4.Text = Sum End Sub 程序运行结果如图3-1所示 3.3 小王有存款A元,年利率P,存储时间T年,试编程求本利合计。 【参考答案】 (1)用户界面设计 (2)控件属性设置(略) (3)程序代码设计 (说明:存款按单利计算) Private Sub Command1_Click() a = Text1.Text p = Text2.Text t = Text3.Text a = a + a * p * t

Text4.Text = a End Sub 程序运行结果如图3-2所示: 图3-2 程序运行结果 3.4 试编写打印下面三角形图案的源程序。 * * * * * * * * * * * * * * * * * * * * * * * * * 【参考答案】 程序代码设计 Private Sub Form_Click() Form1.Print Tab(15); "*" Form1.Print Tab(14); "***" Form1.Print Tab(13); "*****" Form1.Print Tab(12); "*******" Form1.Print Tab(11); "*********" End Sub Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "显示星号三角形,单击窗体开始" End Sub 程序运行结果如图3-3所示:

c语言顺序结构程序设计练习题10道

c语言顺序结构程序设计练习题 1、编写程序:输入一矩形的长和宽,计算该矩形的面积。 2、编程:输入求的半径R,计算并输出球的体积。 3、编程:输入三个数,求出这三个数的和以及平均值,并在屏幕上输出。 4、编程:输入一个三位整数x(999=>x>=100),将其分解出百位、十位、各位,并求出各位之和以及各位之积 5、编程:已知三角形的三边a=3,b=4,c=5,求其面积s。(提示:假设有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=sqrt(p(p-a)(p-b)(p-c)),而公式里的p为半周长:p=(a+b+c)/2。 6、编写一个C程序,输出以下信息: ************************** Very Good! ************************** 7、编写一个程序,输入a、b、c三个值,输出其中最大值. 8、写出程序运行的结果: main() { int i,j,m,n;

i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d”,i,j,m,n); } 9、写出程序运行的结果: main() { char a ,b, c1,c2; float x ,y; a = 3; b =7; x = 8.5; y = 71.82; c1 = ' A' ; c2 = 'a '; printf("a= %d b = %d/n",a,b); printf("x = %f y = %f",x,y); printf("c1= %c,c2 =%c",c1,c2); } 10、求ax2+bx+c=0方程的根,a,b,c由键盘输入,假设b2-4ac>0。

2.2程序的顺序结构

程序的顺序结构 一、教学目标 1、知识与技能 理解程序顺序结构的执行流程,掌握赋值语句和输入输出语句,能够编写简单的顺序结构的程序,以解决生活中的一些计算问题。 2、方法与过程 本节从简单的问题入手,如求圆的面积,让学生初步掌握赋值语句和输入输出语句的使用方法及其功能。进而转入较为复杂的问题,如编写程序使从键盘上输入一个三位数,然后反方向输出,并且运用到上一章所学的运算符、表达式等,对知识进行巩固,课程安排形成循序渐进的梯度,充分挖掘学生潜力,让有余力的学生可以有更大空间。 3、情感态度和价值观 程序设计选取的题目与高一所学的数学、物理中学到的新知识有密切的联系,从而激发学生对程序设计的追求和向往。 二、重点难点 1、教学重点 (1)赋值语句和输入输出语句的使用 (2)程序顺序结构的执行流程 (3)能编写程序解决简单的应用题 2、教学难点 根据题目写出正确的程序

三、教学环境 1、教材处理 教材选自《广东省普通高中信息技术选修一:算法与程序设计》第二章第二节,原教材的第一个程序例子有关居民生活消费支出的计算,题目很简单,学生也能理解,但是涉及到的条件较多,写程序时多次使用同样的语句和函数,整个程序看起来长,而且是简单的重复。 所以上课时,把教材的内容作了的简单的处理,以求圆的面积这个程序作为导入,学生更易理解和掌握。而且这个例子也符合一般程序包括数据类型说明、数据输入、数据处理和数据输出四个部分,让刚入门的学生有规可依,进而觉得程序也不是太难学,从易到难进行过渡,提高学生的学习兴趣。 2、预备知识 学生已掌握算法的概念及描述方法,定义常量与变量的方法,程序设计的四个步骤——分析问题、建立模型、设计算法和编写程序。 3、硬件要求 建议本节课在多媒体电脑教室中完成,有广播教学系统或投影仪。 4、所需软件 学生机要安装VB6.0或以上版本。 5、所需课时 2课时(100分钟) 四、教学过程 导入:

顺序结构程序设计

第四章顺序结构程序设计 (4学时) 一、教学目的及要求 要求学生了解结构化程序设计的基本思想、算法的表示方法,熟练掌握C 语言语句、格式输入/输出函数、字符输入/输出函数。 二、教学重点及难点 重点:结构化程序设计的基本思想,输入/输出函数的使用方法。 难点:流程图的绘制。 三、教学手段 板书与多媒体课件演示相结合 四、教学方法 启发式教学、讲解、演示 五、作业 1、P88页:4.3、4.4、4.6、4.8、4.9 2、习题册本章练习。 六、参考资料 1、谭浩强、张基温、唐永炎主编《C语言程序设计教程》,第三章 2、杨非主编《C语言程序设计应试辅导—二级》,第三章 七、教学内容与教学设计

上节课我们介绍了几种常用的基本数据类型,以及不同数据类型的相互转换,变量赋初值。 这节课我们继续介绍几种常用的运算符以及表达式。形式回顾类型转换的两种类型 【讲授新课】 一、算法与结构化程序设计 1 、算法 例:求长方形的面积。 算法指解决一件事情的方法和步骤,怎样表示一个算法?用流程图表示算法。 流程图表示算法,直观形象,易于理解。 流程图中常用符号的含义如下: 例如将求长方形的面积的算法用流程图表示。讲解 [板书] [幻灯片] [重点] 算法在程序设计中的地位及表示 [板书] [幻灯片] [重点] [难点] [课堂设计]请同学回答,通过例题加强对

二、程序基本结构 1. 顺序结构: 2. 选择结构: 3. 循环结构概念的理解。[重点] [幻灯片] [重点] [课堂设计]利用生活中的例子,如跑步、走路等解释不

3.1.4 结构化程序设计方法 ● 自顶向下; ● 逐步细化; ● 模块化设计; ● 结构化编码。 C程序的结构: 源程序文件1预处理命令全局变量声明函数首部局部变量声明执行语句 函数体 函数1函数n 源程序文件2源程序文件n C程序 三、顺序结构程序设计 1.顺序执行语句概述 C程序的执行部分是由语句组成的。 程序的功能也是由执行语句实现的。 C 语句可分为以下五类: 1. 表达式语句:表达式语句由表达式加上分号“;”组成。 同结构的表示方法。 [幻灯片] [重点]

实验2 顺序结构程序设计

实验2 顺序结构程序设计 2.1 实验目的 1.掌握C语言数据类型的概念,熟悉如何定义一个整型、实型和字符型的变量,以及对它们赋值的方法。 2.掌握输出函数printf()及输入函数scanf()的各种格式控制符的用法。 3.掌握顺序结构程序设计方法及执行过程。 4.进一步熟悉C程序的编辑、编译、连接、运行的过程。 2.2 示例程序 【实验2.1】输入并运行以下程序。 #include main() { printf("What's "); /*输出What's */ printf("your "); /*输出your */ printf("name?\n"); /*’\n’是换行符*/ } 说明: 1.程序的运行结果为“What’s your name?”。 2.printf()函数中只有“格式控制字符串”部分,且只包含普通字符,所以会原样输出。 3.前两行的printf()函数中无换行符’\n’,不进行换行操作,第3行的printf()函数中包含换行符’\n’,字符串输出后换行,这样3个字符串输出到一行上。 【实验2.2】编写已知半径r为15求圆面积的程序。 #include #define PI 3.14159 /*定义符号常量PI*/ main() { float radius,area; /*定义浮点型变量radius,area*/ radius=15.0; /*给半径radius赋值*/ area=PI*radius*radius; /*计算圆面积area */ printf("area=%f\n", area ); /*输出圆面积*/ } 说明: 1.程序的运行结果为“area=706.857727”。 2.程序的第2行定义了符号常量PI。这样做的好处是程序中出现的所有PI,其值均为3.14159,既简化了程序,又提高了阅读性。 3.注意printf()函数中的“格式控制字符串”部分,area=为普通字符,所以会原样输出。 【实验2.3】整型变量的输出程序。 #include

相关主题
文本预览
相关文档 最新文档