程序的三种基本逻辑结构
- 格式:docx
- 大小:207.96 KB
- 文档页数:3
结构化程序的三种基本结构1 结构化程序结构化程序是指使用一定的结构来控制程序执行的编程方法。
它的出现是由于普通的程序的条件判断和控制循环的结构性太弱,容易造成程序臃肿不便于修改。
结构化程序正是为了解决这一问题,也就是为了使程序结构清晰明了而提出的。
2 三种基本结构结构化程序的基本结构有顺序结构、分支结构、循环结构三大类。
顺序结构指程序是按照一定顺序执行,语句逐个执行,任何一个语句都要按照指定的顺序执行。
分支结构是常用的程序结构,当满足一定的条件的时候,多个次执行的情况就要使用该结构。
逻辑分支有 if-then-else、switch等,例如根据输出的结果进行不同的操作,然后执行不同的程序。
循环结构最典型就是 for 循环,实现需要多次执行某一段程序的情况,以便最终达到预期的效果。
3 常用结构结构化程序的三种基本结构之外,还有其他用得多的结构,如函数结构、框架结构、程序子集结构等。
函数结构提供了一种将一段程序的模块化的方法,函数的调用实现了程序的分离,使程序变得更加简单易懂。
框架结构能够将程序中共用的部分抽取出来,形成独立的程序模块,可以应用到多个程序中,从而实现代码重用性。
程序子集结构可以用来实现大型程序,将程序分拆成多个子程序,每个子程序单独完成一部分的任务,便于编写和管理大型程序。
4 结语结构化程序是一种利用各种结构来控制程序执行的编程方法,它解决了普通程序结构性太弱而造成程序臃肿不便于修改的问题。
其最基本的结构有顺序结构、分支结构和循环结构,结合函数结构、框架结构和程序子集结构,能够构成一个完整的程序结构,从而实现复杂任务的完成。
计算机理论部分复习资料(一)程序设计部分1.程序的三种基本控制结构是顺序、条件和循环,它们的共同点是................................. (A)A.只有一个入口和一个出口B.只能用来写简单的程序C.已经用硬件实现D.不能嵌套使用2.下面描述屮,符合结构化程序设计风格的是................................................... (A)A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B.模块只有一个入口,可以有多个岀口C.不使用goto语句D.注重提高程序的执行效率3.I960年Dijkstra提倡的(D )是一种有效的提高程序设计效率的方法,把程序的基本控制结构限于顺序、选择和循环三种,同时避免使用GOTO语句,这样使程序结构易于理解。
................................ (D )A.模块化程序设计B.标准化程序设计C.多道程序设计D.结构化程序设计4.程序设计语言的基本成分是数据成分、运算成分、控制成分和.................................... (D)A.对象成分B.变量成分C.语句成分D.传输成分5.在结构化程序设计思想提出来之前,在程序设计中曾强调程序的效率,现在,与程序的效率相比,人们更重视程序的........................................................................ (D)A.安全性B.—致性C.合理性D.可理解性6.对建立良好的程序设计风格,下面描述正确的是................................................ (D)A.程序的注释町有可无B.符号名的命名要符合语法C.充分考虑程序的执行效率D.程序应简单、清晰、可读性好7.提高程序可读性的有力手段是............................................................... (C )A.给程序加注释B.显式说明一切变量C.使用三种标准控制语句D.选好一种程序设计语言& 为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图通常也把这种图称为(B )A.PAD图B.N-S图C.数据流图D.结构图9.结构化程序设计主要强调的是................................................................ (B )A.程序的执行效率B.程序的易读性C.程序的规模D.程序的可移植性10.有关参数传递叙述止确的是 ................................................................. (D )A.接收参数的个数必须正好等于发送参数的个数B.参数接收时与发送的顺序相反C.接收参数的个数必须少于发送参数的个数D.参数接收时与发送的顺序相同11.FoxPro是结构化程序设计语言,下列不属于分支执行结构的是 .................................. (A)A、DO WHILE...ENDDOB、IF ... ENDIFC、DO CASE...ENDCASED、IF ... ELSE ... ENDIF12.FoxPro提供的语言体现了—特征,用FoxPro编写的程序是结构化的程序。
高考总复习:算法与程序框图【考纲要求】1.算法的含义、程序框图(1)了解算法的含义,了解算法的思想;(2)理解程序框图的三种基本逻辑结构:顺序、条件、循环。
2.基本算法语句理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句的含义。
【知识网络】【考点梳理】考点一、算法1.算法的概念(1)古代定义:指的是用阿拉伯数字进行算术运算的过程。
(2)现代定义:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。
(3)应用:算法通常可以编成计算机程序,让计算机执行并解决问题。
2.算法的特征:①指向性:能解决某一个或某一类问题;②精确性:每一步操作的内容和顺序必须是明确的;算法的每一步都应当做到准确无误,从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确.“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.③有限性:必须在有限步内结束并返回一个结果;算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.④构造性:一个问题可以构造多个算法,算法有优劣之分。
3.算法的表示方法:(1) 用自然语言表示算法: 优点是使用日常用语, 通俗易懂;缺点是文字冗长, 容易出现歧义;(2) 用程序框图表示算法:用图框表示各种操作,优点是直观形象, 易于理解。
要点诠释:泛泛地谈算法是没有意义的,算法一定以问题为载体。
考点二:程序框图1. 程序框图的概念:程序框图又称流程图,是最常用的一种表示法,它是描述计算机一步一步完成任务的图表,直观地描述程序执行的控制流程,最便于初学者掌握。
2.程序框图常用符号:连接点用于连接另一页或另一部分的框图注释框框中内容是对某部分流程图做的解释说明3.画程序框图的规则:(1)使用标准的框图的符号;(2)框图一般按从上到下、从左到右的方向画;(3)除判断框图外,大多数框图符号只有一个进入点和一个退出点。
算法与程序框图一、基础知识1.算法(1)算法通常是指按照一定规则解决某一类问题的明确和有限的步骤. (2)应用:算法通常可以编成计算机程序,让计算机执行并解决问题. 2.程序框图程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形. 3.三种基本逻辑结构 (1)顺序结构(2)条件结构(3)循环结构三种基本逻辑结构的适用情境(1)顺序结构:要解决的问题不需要分类讨论. (2)条件结构:要解决的问题需要分类讨论.(3)循环结构:要解决的问题要进行许多重复的步骤,且这些步骤之间有相同的规律.考点一 顺序结构和条件结构[例1] (2019·沈阳质检)已知一个算法的程序框图如图所示,当输出的结果为0时,输入的实数x 的值为( )A .-3B .-3或9C .3或-9D .-3或-9[解析] 当x ≤0时,y =⎝⎛⎭⎫12x -8=0,x =-3;当x >0时,y =2-log 3x =0,x =9.故x =-3或x =9,选B.[答案] B[例2] 某程序框图如图所示,现输入如下四个函数,则可以输出的函数为( )A .f (x )=cos x x ⎝⎛⎭⎫-π2<x <π2,且x ≠0 B .f (x )=2x -12x +1C .f (x )=|x |xD .f (x )=x 2ln(x 2+1)[解析] 由程序框图知该程序输出的是存在零点的奇函数,选项A 、C 中的函数虽然是奇函数,但在给定区间上不存在零点,故排除A 、C.选项D 中的函数是偶函数,故排除D.选B.[答案] B[解题技法] 顺序结构和条件结构的运算方法(1)顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的.解决此类问题,只需分清运算步骤,赋值量及其范围进行逐步运算即可.(2)条件结构中条件的判断关键是明确条件结构的功能,然后根据“是”的分支成立的条件进行判断.(3)对于条件结构,无论判断框中的条件是否成立,都只能执行两个分支中的一个,不能同时执行两个分支.[题组训练]1.半径为r 的圆的面积公式为S =πr 2,当r =5时,计算面积的流程图为( )解析:选D 因为输入和输出框是平行四边形,故计算面积的流程图为D. 2.运行如图所示的程序框图,可输出B =______,C =______.解析:若直线x+By+C=0与直线x+3y-2=0平行,则B=3,且C≠-2,若直线x+3y+C=0与圆x2+y2=1相切,则|C|12+(3)2=1,解得C=±2,又C≠-2,所以C=2.答案:3 2考点二循环结构考法(一)由程序框图求输出(输入)结果[例1](2018·天津高考)阅读如图所示的程序框图,运行相应的程序,若输入N的值为20,则输出T的值为()A.1B.2C.3 D.4[解析]输入N的值为20,第一次执行条件语句,N=20,i =2,Ni =10是整数,∴T =0+1=1,i =3<5;第二次执行条件语句,N =20,i =3,N i =203不是整数,∴i =4<5;第三次执行条件语句,N =20,i =4,Ni =5是整数,∴T =1+1=2,i =5,此时i ≥5成立,∴输出T =2. [答案] B[例2] (2019·安徽知名示范高中联考)执行如图所示的程序框图,如果输出的n =2,那么输入的 a 的值可以为( )A .4B .5C .6D .7[解析] 执行程序框图,输入a ,P =0,Q =1,n =0,此时P ≤Q 成立,P =1,Q =3,n =1,此时P ≤Q 成立,P =1+a ,Q =7,n =2.因为输出的n 的值为2,所以应该退出循环,即P >Q ,所以1+a >7,结合选项,可知a 的值可以为7,故选D.[答案] D[解题技法] 循环结构的一般思维分析过程 (1)分析进入或退出循环体的条件,确定循环次数.(2)结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、累乘的变量的表达式.(3)辨析循环结构的功能. 考法(二) 完善程序框图[例1] (2018·武昌调研考试)执行如图所示的程序框图,如果输入的a 依次为2,2,5时,输出的s 为17,那么在判断框中可以填入( )A .k <n?B .k >n?C .k ≥n?D .k ≤n?[解析] 执行程序框图,输入的a =2,s =0×2+2=2,k =1;输入的a =2,s =2×2+2=6,k =2;输入的a =5,s =2×6+5=17,k =3,此时结束循环,又n =2,所以判断框中可以填“k >n ?”,故选B.[答案] B[例2] (2018·全国卷Ⅱ)为计算S =1-12+13-14+…+199-1100,设计了如图所示的程序框图,则在空白框中应填入( )A .i =i +1B .i =i +2C .i =i +3D .i =i +4[解析] 由题意可将S 变形为S =⎝⎛⎭⎫1+13+…+199-⎝⎛⎭⎫12+14+…+1100,则由S =N -T ,得N =1+13+…+199,T =12+14+…+1100.据此,结合N =N +1i ,T =T +1i +1易知在空白框中应填入i =i +2.故选B.[答案] B[解题技法] 程序框图完善问题的求解方法(1)先假设参数的判断条件满足或不满足;(2)运行循环结构,一直到运行结果与题目要求的输出结果相同为止; (3)根据此时各个变量的值,补全程序框图.[题组训练]1.(2018·凉山质检)执行如图所示的程序框图,设输出的数据构成的集合为A ,从集合A 中任取一个元素a ,则函数y =x a ,x ∈[0,+∞)是增函数的概率为( )A.47B.45C.35D.34解析:选C 执行程序框图,x =-3,y =3;x =-2,y =0;x =-1,y =-1;x =0,y =0;x =1,y =3;x =2,y =8;x =3,y =15;x =4,退出循环.则集合A 中的元素有-1,0,3,8,15,共5个,若函数y =x a ,x ∈[0,+∞)为增函数,则a >0,所以所求的概率为35.2.(2019·珠海三校联考)执行如图所示的程序框图,若输出的n 的值为4,则p 的取值范围是( )A.⎝⎛⎦⎤34,78B.⎝⎛⎭⎫516,+∞C.⎣⎡⎭⎫516,78D.⎝⎛⎦⎤516,78解析:选A S =0,n =1;S =12,n =2;S =12+122=34,n =3;满足条件,所以p >34,继续执行循环体;S =34+123=78,n =4;不满足条件,所以p ≤78.输出的n 的值为4,所以34<p ≤78,故选A.3.(2019·贵阳适应性考试)某程序框图如图所示,若该程序运行后输出的值是137,则整数a 的值为( )A .6B .7C .8D .9解析:选A 先不管a 的取值,直接运行程序.首先给变量S ,k 赋值,S =1,k =1,执行S =S +1k (k +1),得S =1+11×2,k =2;执行S =1+11×2+12×3,k =3;……继续执行,得S =1+11×2+12×3+…+1k (k +1)=1+⎝⎛⎭⎫1-12+⎝⎛⎭⎫12-13+…+⎝⎛⎭⎫1k -1k +1=2-1k +1,由2-1k +1=137得k =6,所以整数a =6,故选A.考点三 基本算法语句[典例] 执行如图程序语句,输入a =2cos 2 019π3,b =2tan 2 019π4,则输出y 的值是( )A .3B .4C .6D .-1[解析] 根据条件语句可知程序运行后是计算y =⎩⎪⎨⎪⎧a (a +b ),a <b ,a 2-b ,a ≥b ,且a =2cos 2 019π3=2cos π=-2,b =2tan 2 019π4=2tan 3π4=-2.因为a ≥b ,所以y =a 2-b =(-2)2-(-2)=6, 即输出y 的值是6. [答案] C[变透练清]1. 执行如图所示的程序,输出的结果是________.i =11S =1DOS =S*ii =i -1LOOP UNTIL i<9PRINT S END解析:程序反映出的算法过程为 i =11⇒S =11×1,i =10; i =10⇒S =11×10,i =9; i =9⇒S =11×10×9,i =8;i =8<9退出循环,执行“PRINT S ”. 故S =990. 答案:9902.阅读如图所示的程序.a 的值是________. 解析:由题意可得程序的功能是计算并输出a =⎩⎪⎨⎪⎧2+a ,a >2,a ×a ,a ≤2的值, 当a >2时,由2+a =9得a =7; 当a ≤2时,由a 2=9得a =-3, 综上知,a =7或a =-3. 答案:-3或7[课时跟踪检测]1.(2019·湖北八校联考)对任意非零实数a ,b ,定义a *b 的运算原理如图所示,则(log222)*⎝⎛⎭⎫18-23=( )A .1B .2C .3D .4解析:选A 因为log222=3,⎝⎛⎭⎫18-23=4,3<4,所以输出4-13=1,故选A. 2.执行如图所示的程序框图,则输出的x ,y 分别为( )A .90,86B .94,82C .98,78D .102,74解析:选C 第一次执行循环体,y =90,s =867+15,不满足退出循环的条件,故x =90;第二次执行循环体,y =86,s =907+433,不满足退出循环的条件,故x =94;第三次执行循环体,y =82,s =947+413,不满足退出循环的条件,故x =98;第四次执行循环体,y =78,s =27,满足退出循环的条件,故x =98,y =78.3.(2018·云南民族大学附属中学二模)执行如图所示的程序框图,若输出的k 的值为6,则判断框内可填入的条件是( )A .s >12?B .s >710?C .s >35?D .s >45?解析:选B s =1,k =9,满足条件;s =910,k =8,满足条件;s =45,k =7,满足条件;s =710,k =6,不满足条件.输出的k =6,所以判断框内可填入的条件是“s >710?”.故选B.4.(2019·合肥质检)执行如图所示的程序框图,如果输出的k 的值为3,则输入的a 的值可以是( )A .20B .21C .22D .23解析:选A 根据程序框图可知,若输出的k =3,则此时程序框图中的循环结构执行了3次,执行第1次时,S =2×0+3=3,执行第2次时,S =2×3+3=9,执行第3次时,S =2×9+3=21,因此符合题意的实数a 的取值范围是9≤a <21,故选A.5.(2019·重庆质检)执行如图所示的程序框图,如果输入的x =0,y =-1,n =1,则输出x ,y 的值满足( )A .y =-2xB .y =-3xC .y =-4xD .y =-8x解析:选C 初始值x =0,y =-1,n =1,x =0,y =-1,x 2+y 2<36,n =2,x =12,y=-2,x 2+y 2<36,n =3,x =32,y =-6,x 2+y 2>36,退出循环,输出x =32,y =-6,此时x ,y 满足y =-4x ,故选C.6.(2018·南宁二中、柳州高中联考)执行如图所示的程序框图,若输出的结果s =132,则判断框中可以填( )A.i≥10? B.i≥11?C.i≤11? D.i≥12?解析:选B执行程序框图,i=12,s=1;s=12×1=12,i=11;s=12×11=132,i =10.此时输出的s=132,则判断框中可以填“i≥11?”.7.(2019·漳州八校联考)执行如图所示的程序,若输出的y的值为1,则输入的x的值为() INPUT xIF x>=1THENy=x2ELSEy=-x2+1END IFPRINT yENDA.0 B.1C.0或1 D.-1,0或1解析:选C当x≥1时,由x2=1得x=1或x=-1(舍去);当x<1时,由-x2+1=1得x=0.∴输入的x的值为0或1.)8.执行如图所示的程序框图,若输入的n=4,则输出的s=(C.20 D.35解析:选C执行程序框图,第一次循环,得s=4,i=2;第二次循环,得s =10,i =3; 第三次循环,得s =16,i =4; 第四次循环,得s =20,i =5.不满足i ≤n ,退出循环,输出的s =20.9.(2018·洛阳第一次统考)已知某算法的程序框图如图所示,则该算法的功能是( )A .求首项为1,公差为2的等差数列的前2 018项和B .求首项为1,公差为2的等差数列的前2 019项和C .求首项为1,公差为4的等差数列的前1 009项和D .求首项为1,公差为4的等差数列的前1 010项和解析:选D 由程序框图得,输出的S =(2×1-1)+(2×3-1)+(2×5-1)+…+(2×2 019-1),可看作数列{2n -1}的前2 019项中所有奇数项的和,即首项为1,公差为4的等差数列的前1 010项和.故选D.10.(2018·郑州第一次质量测试)执行如图所示的程序框图,若输出的结果是7,则判断框内m 的取值范围是( )A .(30,42]B .(30,42)C .(42,56]D .(42,56)解析:选A k =1,S =2,k =2;S =2+4=6,k =3;S =6+6=12,k =4;S =12+8=20,k =5;S =20+10=30,k =6;S =30+12=42,k =7,此时不满足S =42<m ,退出循环,所以30<m ≤42,故选A.11.(2019·石家庄调研)20世纪70年代,流行一种游戏——角谷猜想,规则如下:任意写出一个自然数n ,按照以下的规律进行变换,如果n 是奇数,则下一步变成3n +1;如果n 是偶数,则下一步变成n2.这种游戏的魅力在于无论你写出一个多么庞大的数字,最后必然会落在谷底,更准确地说是落入底部的4-2-1循环,而永远也跳不出这个圈子,下列程序框图就是根据这个游戏而设计的,如果输出的i 值为6,则输入的n 值为( )A .5或16B .16C .5或32D .4或5或32解析:选C 若n =5,执行程序框图,n =16,i =2;n =8,i =3;n =4,i =4;n =2,i =5;n =1,i =6,结束循环,输出的i =6.若n =32,执行程序框图,n =16,i =2;n =8,i =3;n =4,i =4;n =2,i =5;n =1,i =6,结束循环,输出的i =6.当n =4或16时,检验可知不正确,故输入的n =5或32,故选C.12.(2018·贵阳第一学期检测)我国明朝数学家程大位著的《算法统宗》里有一道闻名世界的题目:“一百馒头一百僧,大僧三个更无争.小僧三人分一个,大小和尚各几丁?”如图所示的程序框图反映了对此题的一个求解算法,则输出的n 的值为( )A .20B .25C .30D .35解析:选B 法一:执行程序框图,n =20,m =80,S =60+803=8623≠100;n =21,m =79,S =63+793=8913≠100;n =22,m =78,S =66+783=92≠100;n =23,m =77,S =69+773=9423≠100;n =24,m =76,S =72+763=9713≠100;n =25,m =75,S =75+753=100,退出循环.所以输出的n =25.法二:设大和尚有x 个,小和尚有y 个, 则⎩⎪⎨⎪⎧x +y =100,3x +13y =100,解得⎩⎪⎨⎪⎧x =25,y =75, 根据程序框图可知,n 的值即大和尚的人数,所以n =25.13.已知函数y =lg|x -3|,如图所示程序框图表示的是给定x 值,求其相应函数值y 的算法.请将该程序框图补充完整.其中①处应填________,②处应填________.解析:由y =lg|x -3|=⎩⎪⎨⎪⎧lg (x -3),x >3,lg (3-x ),x <3及程序框图知,①处应填x <3?,②处应填y=lg(x -3).答案:x <3? y =lg(x -3)14.执行如图所示的程序框图,若输入的N =20,则输出的S =________.解析:依题意,结合题中的程序框图知,当输入的N =20时,输出S 的值是数列{2k -1}的前19项和,即19(1+37)2=361.答案:36115.执行如图所示的程序框图,则输出的λ是________.解析:依题意,若λa +b 与b 垂直,则有(λa +b )·b =4(λ+4)-2(-3λ-2)=0,解得λ=-2;若λa +b 与b 平行,则有-2(λ+4)=4(-3λ-2),解得λ=0.结合题中的程序框图可知,输出的λ是-2.答案:-216.执行如图所示的程序框图,如果输入的x ,y ∈R ,那么输出的S 的最大值为________.解析:当条件x ≥0,y ≥0,x +y ≤1不成立时,输出S 的值为1,当条件x ≥0,y ≥0,x +y ≤1成立时,输出S =2x +y ,下面用线性规划的方法求此时S 的最大值.作出不等式组⎩⎪⎨⎪⎧x ≥0,y ≥0,x +y ≤1表示的平面区域如图中阴影部分所示,由图可知当直线S =2x +y 经过点M (1,0)时S 最大,其最大值为2×1+0=2,故输出S 的最大值为2.答案:2。
C语言判断题1.每一个C语言程序都必须有一个main函数。
答案: 正确2.C语言程序的三种基本结构是顺序结构、选择结构和递归结构。
答案: 错误,C语言程序的三种基本结构是顺序结构、选择结构和循环结构。
3.在程序设计中,经常用选择(又称分支)、循环和函数3种控制结构。
答案: 错误,程序设计中经常用选择(又称分支)、循环和函数3种控制结构。
4.用C语言编写的源程序必须经过编译连接后生成可执行程序,才能运行。
答案: 正确5.C程序主函数中的一个变量可以被定义为两个或多个不同的类型。
答案: 错误,C程序主函数中的一个变量只能被定义为一种类型。
6.在C源程序中,/*与*/之间的注释信息也被编译,但对程序运行结果不发生影响。
答案: 错误,/*与*/之间的注释信息在编译时会被忽略,不会被编译。
7.C程序是由函数构成的,每一个函数完成相对独立的功能。
答案: 正确8.一个C语言程序中,有且只能有一个main函数。
答案: 正确9.C程序总是从程序的第一条语句开始执行。
答案: 错误,C程序总是从main函数开始执行。
10.C语言标识符由字母、数字和下划线组成,其中第一个字符必须是字母。
答案: 错误,C语言标识符由字母、数字和下划线组成,其中第一个字符可以是字母或下划线。
11.C语言规定:在一个源程序中,main函数的位置必须在最开始。
答案: 错误,C语言规定:在一个源程序中,main函数可以出现在任意位置。
12.C语言程序的基本单位是语句。
答案: 错误,C语言程序的基本单位是函数。
13.对于C程序中的逻辑错误,编译器是可以发现的。
答案: 错误,编译器只能检查语法错误,不能检查逻辑错误。
14.一系列计算机指令的有序组合就构成了程序。
答案: 正确15.C程序由函数所组成。
答案: 正确16.在C程序中,每行只能写一条语句。
答案: 错误,在C程序中,一行可以写多条语句,但是每条语句必须以分号结束。
17.C程序中能直接让机器执行的文件是编辑后的.c源文件。
C语言最重要的知识点总体上必须清楚的:1)程序结构是三种:顺序结构、选择结构(分支结构)、循环结构。
2)读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。
3)计算机的数据在电脑中保存是以二进制的形式•数据存放的位置就是他的地址•4) bit是位是指为0或者1。
byte是指字节,一个字节=八个位.概念常考到的:1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
误的,一定不能出现分号。
3、每个C语言程序中main函数是有且只有一个。
4、在函数中不可以再定义函数。
5、算法:可以没有输入,但是一定要有输出。
第一章C语言的基础知识第一节、对C语言的基础认识1、C语言编写的程序称为源程序,又称为编译单位。
2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。
3、一个C语言程序有且只有一个main函数,是程序运行的起点。
第二节、2、每个C语言程序写完后,都是先编译,后链接,最后运行。
(.c---(.obj---(.exe )这个过程中注意.c和.obj文件时无法运行的,只有.exe文件才可以运行。
(常考!)(程序编辑-程序编译-程序连接-程序运行)第三节、标识符1、标识符(必考内容):合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了预定义标识符:背诵define scanf printf 2 include。
记住预定义标识符可以做为用户标识符。
第五节:整数与实数1)C语言只有八、十、十六进制,没有二进制。
但是运行时候,所有的进制都要转换成二进制来进行处理。
(考过两次)a、C语言中的八进制规定要以0开头。
(数码取值0-7)018的数值是非法的,八进制是没有8的,逢8进1。
b、C语言中的十六进制规定要以0x(X)开头。
软件工程练习题一、填空或选择题1、程序的三种基本结构是(A),它们的共同特点是(B),结构程序设计的一种基本方法是(C)。
软件测试的目的是(D),软件排错的目的是(E)。
A(1)过程,子程序,分程序(2)顺序,条件,循环(3)递归,堆栈,队列(4)调用,返回,转移B(1)不能嵌套使用(2)只能用来写简单程序(3)已经用硬件实现(4)只有一个入口和一个出口C(1)筛选法(2)递归法(3)归纳法(4)逐步求精法D(1)证明程序中没有错误(2)发现程序中的错误(3)测量程序的动态特性(4)检查程序中的语法错误E(1)找出错误所在改正之(2)排除存在错误的可能性(3)对错误性质进行分析(4)统计出错的次数2、软件测试的目的是(A)。
为提高测试的效率,应该(B)。
使用白盒测试方法时,测试数据应根据(C)和指定的覆盖标准。
一般说来,与设计测试数据无关的文档是(D),软件集成测试最好由(E)承担,以提高集成测试的效果。
A(1)评价软件质量(2)发现软件的错误(3)找出软件中的所有错误(4)证明软件是正确的B(1)随机地选取测试数据(2)取一切可能的输入数据作为测试数据(3)在完成编码以后制定软件测试计划(4)选择发现错误的可能性大的数据作为测试数据C(1)程序内部逻辑(2)程序的复杂程序(3)使用说明书(4)程序的功能D(1)需求规格说明书(2)总体设计说明书(3)源程序(4)项目开发计划E(1)该程序的设计人员(2)该软件开发组的负责人(3)该软件的编程人员(4)不属于该软件开发组的软件设计人员3、软件测试中常用的静态测试分析方法是(A)和(B)。
(B)用来检查模块或子程序间的调用是否正确。
分析方法(白盒法)中常用的方法是(C)方法。
非分析方法(黑盒法)中常用的方法是(D)方法和(E)方法。
(E)在单元测试后进行。
A,B(1)引用分析(2)算法分析(3)可靠性分析(4)效率分析(5)接口分析(6)操作性分析C,D,E(1)路径测试(2)等价类(3)边界值分析(4)归纳测试(5)综合测试(6)追踪(7)深度优待(8)排错(9)相对图4、原型法是用户和设计者之间执行的一种交互过程,适用于(A)系统。
程序的三种基本结构程序通常由三种基本结构组成,包括顺序结构、选择结构和循环结构。
1.顺序结构:顺序结构是程序中最基本的结构,它按照代码在程序中的顺序一步一步地执行。
在顺序结构中,代码会从上到下顺序执行,每个语句都会按照编写顺序被执行一遍。
例如,下面是一个简单的顺序结构的示例代码:```x=5y=10z=x+yprint(z)```2.选择结构:选择结构根据给定的条件选择要执行的代码块。
如果条件满足,将执行一个代码块;如果不满足,将执行另一个代码块或跳过执行。
常见的选择结构有if语句、if-else语句和switch语句。
以下是一个使用if语句的示例:```x=5if x > 0:print("x is positive")```在这个示例中,如果x大于0,那么if后面的代码块就会被执行,输出"X是正数"。
3.循环结构:循环结构允许程序多次执行同一段代码,直到满足一些条件才停止。
循环结构可分为for循环和while循环两种常见的类型。
以下是一个使用for循环的示例:```for i in range(5):print(i)```在这个示例中,循环将执行5次,每次输出一个从0到4的数字。
除了这三种基本结构外,还可以通过嵌套结构来组合使用这些结构以实现更复杂的逻辑。
嵌套结构是指将一个结构内部再加上另一个结构,以形成新的逻辑单元。
例如,可以在循环结构中嵌套选择结构,或在选择结构中嵌套循环结构。
综上所述,这三种基本结构(顺序结构、选择结构和循环结构)是编写程序时最常用的结构,在编写复杂程序时,可以根据实际需求灵活组合使用这些结构来实现所需的功能。
程序的三种基本逻辑结
构
Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT
学习目标
在具体问题的解决过程中,理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构.
学习过程
提出问题
(1)请大家再次观察上节课中所画的一些程序框图例子.
(2)回答什么是顺序结构什么是条件分支结构什么是循环结构、循环体
(3)试用程序框图表示循环结构.
(4)指出三种基本逻辑结构结构的相同点和不同点.
讨论结果:
很明显,顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构. 三种逻辑结构可以用如下程序框图表示:
顺序结构 条件结构 循环结构
应用示例
例1 阅读以下程序框图,分析其所实现的算法功能.
算法分析:第1步,0+1=1.
第2步,1+2=3.
第3步,3+3=6.
第4步,6+4=10.
……
第100步,4 950+100=5 050.
步都可以表示为第(i-1)步的结果+i=第i 步的结果.
为了方便、有效地表示上述过程,我们用一个累加
变量S 来表示第一步的计算结果,即把S+i 的结果
仍记为S ,从而把第i 步表示为S=S+i ,
其中S 的初始值为0,i 依次取1,2,…,100,由
于i 同时记录了循环的次数,所以也称为计数变量.
解决这一问题的算法是:
第一步,令i=1,S=0.
第二步,若i≤100成立,则执行第三步;否则,输
出S ,结束算法.
第三步,S=S+i.
第四步,i=i+1,返回第二步.
程序框图如右:
(1)(2)
点评:在数学计算中,i=i+1不成立,S=S+i 只有在i=0时才能成立.在计算机程序中,它们被赋予了其他的功能,不再是数学中的“相等”关系,而是赋值关系.变量i 用来作计数器,i=i+1的含义是:将变量i 的值加1,然后把计算结果再存贮到变量i 中,即计数器i 在原值的基础上又增加了1.变量S 作为累加器,来计算所求数据之和.如累加器的初值为0,当第一个数据送到变量i 中时,累加的动作为S=S+i ,即把S 的值与变量i 的值相加,结果再送到累加器S 中,如此循环,则可实现数的累加求和.
变式训练
已知有一列数
1
,,43,32,21 n n ,设计框图实现求该列数前20项的和.
练习1:设计框图实现1+3+5+7的算法.
练习2:高中某班一共有40名学生,设计算法流程图,统计班级数学成绩良好(分数>80)和优秀(分数>90)的人数.
课堂小结
(1)熟练掌握三种基本逻辑结构的特点及功能.
(2)能用循环结构画出求和等实际问题的程序框图,进一步理解学习算法的意义.。