第三章 顺序程序设计《计算机基础与程序设计》广东普通专升本
第三章 顺序程序设计
刷 真 题
一、单项选择题
1.【精析】 C
scanf 函数的一般形式为:scanf(格式控制,地址表列);,“地址表列”是变量地址,而不 是变量名,在C 语言中“&”是地址符,&a 的含义是“变量a 的地址”,选项A、B 错误。输入 int 型数据 应使用"%d" 格式声明,输入float 型数据应使用“%f” 格式声明,选项C 正确,选项D 错误。
技巧点拨

二、 判 断 题
1.【精析】 ×算法是解决问题的步骤,而程序是对问题的具体代码实现,算法依靠程序来完成功能,
算法+数据结构=程序。
三、填空题
1.循环结构
四 简答题
1.【参考答案】 (1)算法具有以下5个特性:①输入,在算法中可以有零个或者多个输入;②输出,在算 法中至少有一个输出;③有穷性,任意一个算法在执行有穷个计算步骤后必须终止;④确定性,算法的 每一个步骤都具有确定的含义,不会出现二义性;⑤可行性,算法的每一步都必须是可行的。
(2)算法和程序的区别是:①算法是解决问题的步骤;程序是一组计算机能识别和执行的指令,决定 计算机所进行的一切操作。②算法+数据结构=程序,算法是程序的灵魂,算法的好坏在很大程度上 决定了一个程序的效率。
基础题
单项选择题
1-5 ACAAA
6-10 ADCDB
11- 12 CB
判断题
1-5 ✘✔✘✔✔
6-10 ✘✔✔✔✘
11 ✔
一、单项选择题
1.【精析】 A
算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一 个或多个操作。算法具有五个特性:
(1)输入:在算法中可以有零个或者多个输入。
(2)输出:在算法中至少有一个输出。
(3)有穷性:任意一个算法在执行有穷个计算步骤后必须终止。
(4) 确定性:算法的每一个步骤都具有确定的含义,不会出现二义性。
(5) 可行性:算法的每一步都必须是可行的。
2.【精析】 C
算法最终必须将计算结果告诉用户,因此,必须有一个或多个输出,没有任何输出的算 法是毫无意义的,选项C 不正确。
3.【精析】 A
算法的表示方法有很多,常用的有自然语言、流程图、N-S流程图、伪代码、计算机语言 等。E-R图是实体-联系图,是用来描述现实世界的概念模型。
4.【精析】 A
程序有三种基本结构,即顺序结构、选择结构和循环结构。由这三种结构组成的程序称 为结构化程序。
5.【精析】 A
执行语句“c2='A¹+'6'-13';” 得到c2 的 ASCII 码为十进制数68,因为c2为字符型,十进 制数68对应ASCII码表中的字符 ID',所以选项A正确。
6.【精析】 A
选项A 中关系运算符错误,不等于应使用!=运算符,选项A 应表示为;a!=b+c;。
7.【精析】 D
scanf函数的一般形式为:scanf( 格式控制,地址表列);,如果在“格式控制”字符串中除 了格式声明以外还有其他字符,则在输入数据时在对应的位置上应输入与这些字符相同的字符,选
项 D 正确。
8.【精析】 C
c1 和c2 均被定义为字符型数据,%d 指定输出格式为十进制整数,字符¹A′ 对应的 ASCII 码值用十进制数表示为65,由ASCII 码表可知,大写字母由A~Z 是依次排列的,字符IY ' 对应 的ASCII 码值用十进制数表示为65+24=89,选项C 正确。
9.【精析】 D
%是求余运算符,x、y 均被定义为整数类型,即x%y=1,x/y=3;则输出语句可以简化为 “printf("%d\n", z=(1,3));”,z=(1,3)为逗号表达式,其值是最后一个表达式的值,所以 z 的值为 3并进行输出,选项D 正确。
10.【精析】 B
输入变量的值应使用scanf 函数,选项A 错误;scanf 函数格式为scanf(格式控制,地址 表列);,“格式控制”字符串需要用英文双引号括起来,选项C 错误;“地址表列”前应加取地址符 (&) ,选项 D 错误,故选B。
11.【答案】 C
12.【答案】 B
二、判断题
1.【精析】 ×
printf 是 C 语言中的格式输出函数,scanf函数是语言中的格式输人函数。
2.【答案】 √
3.【精析】×
输人输出是程序最基本的操作,一个 C 程序可以没有输入,但必须有输出,没有输出的 程序是没有意义的。
4.【精析】 √
一 个良好的程序,无论多么复杂,都可以由这三种基本结构组成。仅用这三种基本结 构构成的程序称为“结构化程序”。
5.【精析】 √
C语言本身不提供输入输出语句,输入和输出操作是由C 函数库中的函数实现的。
6 . 【精析】×
%d 的作用是以十进制整数的形式进行输出;% c 的作用是以字符形式进行输出。
7.【精析】 √
% s 的作用是输出字符串。
8.【精析】 √
putchar函数是输出字符的函数,它只能输出字符而不能输出整数。
9.【精析】 √
用 getchar 函数得到的字符可以赋给一个字符变量或整型变量,也可以不赋给任何变 量,仅作为表达式的一部分,在表达式中使用它的值。
10.【精析】 ×
在C 语言中,反斜线“\”作为转义字符的标志,因此在字符串或字符中要表示“\”时应 使用“\\”。
11. 【精析】 √
++i 和 i++的作用都相当于i=i+1; 但不同的是:++i 的作用是先使i 的值加1再使用 i; i++的作用先使用i 再使 i 的值加1。 执行语句“j=i++;”后 ,j的值为3 ,i 的值为4,再执行语句 “j=++i;”, 此时,j的值为5,i 的值为5。
三、填空题
1. 有穷
2.平行四边形(或口)
3.0 非 0
4. 顺序结构选择结构循环结构
5.getchar
6.f
7.printf scanf
8.a=1,b=3,c=2
9.A
10.A
四、简答题
1.【参考答案】 算法的五个基本特性如下:
(1)输入:在算法中可以有零个或者多个输入。
(2 )输出:在算法中至少有一个或者多个输出。
(3) 有穷性:任意一个算法在执行有穷个计算步骤后必须终止。
(4)确定性:算法的每一个步骤都具有确定的含义,不会出现二义性。
(5)可行性:算法的每一步都必须是可行的。
2.【参考答案】 常用的算法表示方法有自然语言、流程图、N-S图、伪代码和计算机语言等。
(1)自然语言:指人们在日常生活中使用的语言,用自然语言描述的算法通俗易懂,但缺乏直观性和 简洁性,容易产生歧义。
(2)流程图:它是算法的一种图形化表示方法,与自然语言相比,它的描述形象直观更容易理解。
(3) N-S图:它是一种简化的流程图,去掉了流程图中的流程线,全部算法写在一个矩形框内。
(4) 伪代码:介于自然语言和计算机程序语言之间的一种算法描述方法,没有严格的语法限制。
(5)计算机语言:计算机无法识别用自然语言、流程图和伪代码描述的算法。这些方法仅为了帮助 人们描述、理解算法,只有用计算机语言编写的程序才能被计算机执行(当然还要被编译成目标 程序)。
3.【参考答案】 (1) 顺序结构:按照语句的先后顺序执行即为顺序结构,是算法中最简单的一种结构。
(2)选择结构:根据条件的不同,程序执行不同的语句,即为选择结构。
(3)循环结构:根据约束条件的不同,多次重复执行某一条或多条语句的结构,称为循环结构。
提升题
一、计算题
1.【精析】(1)指定输出格式为十进制整数 (2)9 10
因为i 的初值为八进制数011,%d 指定输出格式为十进制整数,将i 的初值转换成十进制数为9,执行 i++ 后,变量i 的值加1变成10,表达式i++的值为变量i 加1之前的值9。因此,输出结果为910。
2. 【精析】(1)4 (2)5
在C 语言中,“=”为赋值运算符,因此,赋值表达式(b=4) 的值为4,此时b 的值为4;语句“a=(b=4)+c;” 等 价于语句“a=4+c;”, 即 a 的值为5。
3.【精析】(1) & & 为逻辑与,即两侧表达式的值都为真,其结果才为真 (2)103
a++, 先判断再将a 加1 ;a=-1, 表达式“a++<=0” 为真,判断之后a=a+1=0 。b--, 先进行判断再减
1,b=4, 所以表达式“b--<=0” 值为假,判断之后b=b-1=3, 对表达式进行逻辑非运算,结果为真,即 表达式(a++<=0)&&(!(b--<=0)) 的值为真,所以k=1,a=0,b=3。
4.【精析】(1)1(2) 211
根据运算符的优先级,先计算1 运算符左侧的a++的值,表达式a++ 的值为1,执行a++ 后a 的值变为 2;由于11运算符左侧的值为真,右侧便不再被计算,即 b++ 没有被执行,b 的值仍为1;表达式 a++Ilb++ 的值为真,即为1,c 被赋值为1。因此,输出结果为211。
5.【精析】(1)强制类型转换 (2)3
根据运算符的优先级,其运算过程是:先计算3/2,值为1,强制转换为 double 类型,即1.0;将1.2强 制转换为int 型,值为1;再计算1*2,值为2,即“(( double)(3/2)+0.5+(int)1.2*2)” 的计算结果为
1.0+0.5+2,得到3.5;最后将3.5强制转换为int 型,得到结果3,并赋给变量a 进行输出。
6.【精析】(1)++z 的作用是使用 z 之前,先使z 的值加1;z++的作用是使用z 之后,再使z 的值加1
(2) 244
执行语句“x=z++;” 后 ,x的值为2,z的值为3,再执行语句“y=++z;”, 此时,y的值为4,z 的值为4, 所以输出结果为244。
7.【精析】(1)1212 (2)1112
(1)因为i 的初值为11,执行++i 时,变量i 的值加1变成12,表达式++i 的值为变量i 加1之后的值
12,因此,输出结果为1212。
(2)执行i++时,变量i 的值加1变成12,表达式i++的值为变量i 加1之前的值11,因此,输出结果为 1112。
8.【精析】(1)14 (2)6
(1)逗号表达式(2*3,a+4) 的值为表达式 a+4 的值,即14,将14赋给变量 a 并进行输出。
(2)逗号表达式(a+4,2*3) 的值为表达式2*3的值,即6,将6赋给变量a 并进行输出。
二、应用题

