程序语言的控制成分
被考次数: 1次
被考频率: 低频率
答错率:    43%
知识难度:
考试要求: 掌握     
知识路径:  > 计算机系统基础知识  > 计算机软件基础知识  > 程序设计语言和语言处理程序知识  > 程序设计语言的基本成分(数据、运算、控制和传输)、函数调用机制  > 程序语言概述  > 程序语言的基本成分


本知识点历年真题试卷分布
>> 试题列表    
 

 
       控制成分指明语言允许表述的控制结构,程序员使用控制成分来构造程序中的控制逻辑。理论上已经证明,可计算问题的程序都可以用顺序、选择和循环这三种控制结构来描述。
       顺序结构
       顺序结构用来表示一个计算操作序列。计算过程从所描述的第一个操作开始,按顺序依次执行后续的操作,直到序列的最后一个操作,如下图所示。顺序结构内也可以包含其他控制结构。
       
       顺序结构示意图
       选择结构
       选择结构提供了在两种或多种分支中选择其中一个的逻辑。基本的选择结构是指定一个条件P,然后根据条件的成立与否决定控制流走计算A还是计算B,从两个分支中选择一个执行,如下图(a)所示。选择结构中的计算A或计算B还可以包含顺序、选择和重复结构。程序语言中通常还提供简化了的选择结构,也就是没有计算B的分支结构,如下图(b)所示。
       
       选择结构示意图
       循环结构
       循环结构描述了重复计算的过程,通常由三部分组成:初始化、循环体和循环条件。其中初始化部分有时在控制的逻辑结构中不进行显式的表示。循环结构主要有两种形式:while型循环结构和do-while型循环结构。while型结构的逻辑含义是先判断条件P,若成立则执行循环体A,然后再去判断条件P;否则控制流就退出循环结构,如下图(a)所示。do-while型结构的逻辑含义是先执行循环体A,然后再判断条件P,若成立则继续执行A的过程并判断条件;否则控制流就退出循环结构,如下图(b)所示。
       
       循环结构示意图
       C/C++语言中的控制语句
       (1)复合语句。复合语句用于描述顺序结构。复合语句是一系列用“{”和“}”括起来的声明和语句,其主要作用是将多条语句组成一个可执行单元。语法上能出现语句的地方都可以使用复合语句。复合语句是一个整体,要么全部执行,要么一条语句也不执行。
       (2)if语句和switch语句。
       ①if语句实现的是双分支的选择结构,其一般形式为:
       
       其中,语句1和语句2可以是任何合法的C/C++语句,当语句2为空语句时,可以简化为:
       
       使用if语句时,需要注意if和else的匹配关系。C/C++语言规定,else总是与离它最近的尚没有else的if相匹配。
       ②switch语句描述了多分支的选择结构,其一般形式为:
       
       执行switch语句时,首先计算表达式的值,然后用所得的值与列举的常量表达式值依次比较,若任一常量表达式都不能与所得的值相匹配,则执行default的“语句n+1”,然后结束switch语句。若表达式的值与常量表达式i(i=1,2,…,n)的值相同,则执行“语句序i”,当case i的语句i中无break语句时,则执行随后的语句i+1,语句i+2……直到执行完语句n+1后,才退出switch语句;或者遇到break时跳出switch语句。要使得程序在执行“语句i”后结束整个switch语句,则语句i中应包含控制流能够到达的break语句。
       常量表达式通常为字符型或整型。多个常量表达式可以共用一个语句组。
       (3)循环语句。C/C++语言中有while、do-while和for三种循环语句,用于描述循环计算的控制结构。
       ①while语句。while语句描述了先判断条件再执行循环体的控制结构,其一般形式是:
       
       其中,循环体语句多于一条时,应使用“{”和“}”括起来。执行while语句时,先计算条件表达式的值,当值为非0时,就执行循环体语句,然后重新计算条件表达式的值后再进行判断,否则就结束while语句的执行过程。
       ②do-while语句。do-while语句描述了先执行循环体再判断条件的控制结构,其一般格式是:
       
       执行do-while语句时,先执行其循环体语句,然后再计算条件表达式的值,若值为非0,则再一次地执行循环体语句,计算条件表达式并进行判断,直到条件表达式的值为0时,才结束do-while语句的执行过程。
       ③for语句。for语句的基本格式是:
       
       可用while语句等价地表示为:
       
       for语句的使用是很灵活的,其内部的三个表达式都可以省略,但用于分隔三个表达式的分号“;”不能遗漏。
       C/C++语言中还有实现控制流跳转的goto、break和continue语句,由于使用goto有可能导致程序的逻辑结构不够清晰,因此不提倡使用。
       程序语言的传输成分指明语言允许的数据传输方式,如赋值处理、数据的输入和输出等。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有