内容正文:
CCF-GESP C++二级
CCF-GESP C++二级
编程能力等级认证
编程语言与流程图
第二课
编程语言与流程图
2
编程语言与流程图
01
01
3
编程语言
机器语言
汇编语言
高级语言
1946
1953
至今
与计算机沟通交流的语言,称为编程语言。
知识讲解
与计算机沟通交流的语言,称为编程语言。计算机编程语言主要包括汇编语言、机器语言以及高级语言,汇编语言:该语言主要是以缩写英文作为标符进行编写的,运用汇编语言进行编写的一般都是较为简练的小程序,其在执行方面较为便利,但汇编语言在程序方面较为冗长,所以具有较高的出错率。
机器语言:这种语言主要是利用二进制编码进行指令的发送,能够被计算机快速地识别,其灵活性相对较高,且执行速度较为可观,机器语言与汇编语言之间的相似性较高,但由于具有局限性,所以在使用上存在一定的约束性。
高级语言:所谓的高级语言,其实是由多种编程语言结合之后的总称,其可以对多条指令进行整合,将其变为单条指令完成输送,其在操作细节指令以及中间过程等方面都得到了适当的简化,所以,整个程序更为简便,具有较强的操作性,而这种编码方式的简化,使得计算机编程对于相关工作人员的专业水平要求不断放宽。
4
编程语言
高级语言
面向过程:
面向对象:
C语言、Pascal、Fortran等
C++、C#、 Java、 Python、JavaScript、PHP等
知识讲解
高级语言可以分为面向过程的语言和面向对象语言,面向过程语言自顶向下逐步求精,最重要的是模块化的思想方法,C语言、Pascal、Fortran等
面向对象语言把事物抽象成类,再实例化成对象,对象包括属性与行为,C++、C#、 Java、 Python、JavaScript、PHP等
5
源代码
编译器
可执行文件
CPU执行
程序的运行过程
机器语言:直接在计算机CPU上执行。
高级语言:不能直接在CPU上执行,需要先编译再执行。
知识讲解
机器语言可以直接在计算机CPU上执行
高级语言不能直接在CPU上执行,需要先编译再执行,例如编写源代码test.cpp,经过编译器编译,编译为可执行文件test.exe,然后CPU执行
6
计算机硬件能直接识别并执行的语言是( )。
选择题
高级语言
汇编语言
机器语言
符号语言
C
课堂练习
解析:语言分为机器语言,汇编语言和机器语言,其中只有机器语言,计算硬件能直接识别并执行
7
判断题
(2023年9月)C++是一种高级程序设计语言。
正确 错误
真题解析
解析:C/C++、Python、Java、PHP....都属于常见的高级程序设计语言。
8
(2023年6月)高级语言编写的程序需要经过以下( )操作,可以生成在计算机上运行的可执行代码。
选择题
编辑
保存
调试
编译
D
真题解析
解析:计算机上运行的可执行代码均为二进制文件,高级语言需要经过编译才能形成可执行文件。
9
流程图
顺序结构
选择结构
循环结构
条件A
是
语句B
否
流程图可以使用规定的图形,指向线和文字说明来准确、直观的表示程序的执行流程。
语句A
语句B
语句C
开始
结束
条件A
是
否
语句C
语句B
开始
结束
开始
结束
知识讲解
流程图可以使用规定的图形,指向线和文字说明来准确、直观的表示程序的执行流程。使用图形表示算法的思路是一种极好的方法,因为千言万语不如一张图。
流程图可以用来描述三大结构:
1、顺序结构:在顺序结构中,各个步骤是按先后顺序执行的,这是一种最简单的基本结构。如图,A、B、C是三个连续的步骤,它们是按顺序执行的,即完成上一个框中指定的操作才能再执行下一个动作。
2、选择结构:根据条件选择不同的执行路径,即根据不同的条件执行不同的代码块。如图,当条件A成立时执行语句B,条件A不成立时执行语句C
3、循环结构:就是流程在一定的条件下,反复执行某一操作的结构。如图:如果条件A成立,则执行语句B,再判断条件A是否成立,如果成立,则继续执行语句B,重复这个过程,直到某次条件A不成立,循环结束。
10
(2023年3月)下列流程图,属于计算机的哪种程序结构( )。
选择题
顺序结构
循环结构
分支结构
数据结构
C
开始
是否按下空格键
是
否
小猫移动100步
小猫的颜色特效增加25
结束
真题解析
解析:流程图根据是否按下空格键设置了两个分支,符合分支结构的特征,所以本题正确答案为C。
11
(2023年6月)能够实现下面流程图功能的伪代码是( )。
选择题
if 条件判断 then 语句块
if 条件判断 then 什么也不做 else 语句块
while 条件判断 do 语句块
while not 条件判断 do 语句块
D
条件判断
是
否
语句块
真题解析
解析:本题考察对流程图的理解,以及循环结构中的while循环;观察流程图可知,当条件判断不成立时,会执行语句块,并重新进行条件判断,当条件判断成立时,则流程继续往下进行,所以本题正确答案为D。
12
(2023年9月)在特殊情况下流程图中可以出现三角框和圆形框。
判断题
正确 错误
真题解析
解析:流程图中不存在三角框和圆形框。因此该说法是错误的。
13
选择题
(2023年9月)如果要找出整数 a、b 中较大一个,通常要用下面哪种程序结构?( )
顺序结构
循环结构
分支结构
跳转结构
C
真题解析
解析:找出整数 a 、 b 中较大一个,需要进行判断,因此需要使用分支结构。
14
变量、运算符和表达式
02
02
15
判断题
(2023年3月)在C++语言中,标识符中可以有下划线_,但不能以下划线开头。
正确 错误
真题解析
解析:本题考察变量的概念及定义规则。变量定义时,必须指定类型,且变量名必须为合法标识符(只能由字母,数字,下划线组成,且不能以数字开头)。所以本题错误。
16
判断题
(2023年3月)如果a是int类型的变量,而且值为1,则表达式 'a' 的值为 '1' 。
正确 错误
真题解析
解析:本题属于考察对不同数据类型的区分,加上单引号后'a'表示字符常量,与变量 a 无关,且与字符常量'1'不同。所以本题错误。
17
判断题
(2023年3月)C++语言中,>=是运算符,但=>不是。
正确 错误
真题解析
解析:本题考察运算符,>=是表示“大于等于”的关系运算符,=>不是 C++中的运算符。所以本题正确。
18
判断题
(2023年3月)在 C++语言中,一个程序不能有多个 main函数。
正确 错误
真题解析
解析:本题考察 C++程序的基本结构,一个程序只能有一个 main 函数。所以本题正确。
19
选择题
(2023年3月)以下哪个不是C++语言的运算符( )。
A
\=
/=
-=
!=
真题解析
解析:B选项a /= b,等价于a = a / b,;C选项a -= b 等价于a = a -– b,;D选项“!=”是不等于,。A选项\=并不是C++语言的运算符,所以本题正确答案为A。
20
(2023年3月)以下哪个不是C++语言的关键字( )。
B
选择题
return
max
else
case
真题解析
解析:本题属于考察C++语言的关键字,max是C++中的一个内置库函数,不属于关键字,所以本题正确答案为B。
21
(2023年3月)如果a和b都是char类型的变量,下列哪个语句不符合C++语法?( )
b = a + 1;
b = a + '1';
b = 'a'++;
b = a++;
C
选择题
真题解析
解析:A选项,赋值号右侧表达式对a的ASCII码数值加1,结果为int类型,赋值给b时转换为char类型,也即比a的ASCII码值大1的对应字符。符合C++语法。
B选项,'1'为char类型常量,赋值号右侧表达式对a的ASCII码数值加'1'的ASCII码数值,结果为char类型,赋值给b。符合C++语法。
C选项,'a'为char类型常量,常量不能进行++自增运算,不符合C++语法。
D选项,a为char类型常量,可以进行++自增运算。该语句将a变为ASCII码值增加1的对应字符,并将变化前的a值赋值给b。符合C++语法。
’a’为字符常量,常量不能进行自增运算,所以本题正确答案为C。
22
选择题
(2023年3月)如果a为int类型的变量,且a的值为9,则执行a-=3;之后,a的值会是( )。
3
6
9
12
B
真题解析
解析:a -= 3;等价于a = a - 3; 表示把a - 3的计算结果重新赋值给a变量,所以本题正确答案为B。
23
选择题
(2023年3月)如果a和b均为int类型的变量,下列表达式能正确判断“a等于0或b等于0”的是( )。
A
(!a) || (!b)
(a==b==0)
(a==0) && (b==0)
(a==0) - (b==0) == 0
真题解析
解析:A选项中“!a”表示a等于0,同理“!b”表示b等于0,整个表示式表示a等于0或b等于0。B选项会先判断a变量和b变量是否相等(若a和b相等,表达式的值为1,若a和b不相等,表达式的值为0),然后再判断表达式(a==b)的值是否为0与c变量相等。C选项表示a等于0且b等于0。D选项表示表达式(a==0)减表达式(b==0)的计算结果是否为0,表示a和b同时为0或a和b同时都不为0。所以本题正确答案为A。
24
判断题
(2023年6月)++和==都是C语言的运算符,但+=不是。
正确 错误
真题解析
解析:本题考察基本运算中的算术运算以及赋值语句;++是自增运算符,==是比较运算符,+=是复合加赋值运算符,三者都是 C++语言的运算符,所以本题错误。
25
选择题
(2023年6月)以下哪个不是C++语言的运算符?( )
D
>=
/=
||
<>
真题解析
解析:本题考察 C++语言中的运算符;选项 A 为比较运算符:大于等于;选项 B 为赋值运算符:除并赋值;选项 C 为逻辑运算符:逻辑或;选项 D 不是C++中的运算符;所以本题正确答案为 D。
26
(2023年6月)如果a和b均为int类型的变量,下列表达式能正确判断“a等于1且b等于1”的是( )。
A
(a==b) && (b==1)
(a && b)
(a == b == 1)
(a * b == 1)
选择题
真题解析
解析:本题主要考察 C++条件判断的语法格式;判断两个条件是否同时成立时,需要把两个条件用&&符号连接起来;B 选项只要 a 和 b 都非 0 即成立;C 选项会将(a==b)的结果(0 或 1)与 1 判断相等,于是只要 a 和 b 相等,结果就为真;D 选项 a 和 b 都是-1 也满足条件;A 选项符合语法规则,所以本题正确答案为 A。
27
判断题
(2023年9月)C++表达式 (2 * 3) || (2 + 5) 的值为 67 。
正确 错误
真题解析
解析:根据运算符的优先级,应该先计算小括号中的内容,2*3的结果为6,2+5的结果为7。两个结果做逻辑或运算,结果为1。因此本题的说法是错误的。
28
判断题
(2023年9月)如果 a 为 int 类型的变量,则表达式 (a >= 5 && a <= 10) 与 (5 <= a <= 10) 的值总是相同的。
正确 错误
真题解析
解析:<=的运算顺序是从左至右,表达式5 <= a <= 10被理解为(5 <= a) <= 10,首先将5和a进行比较,如果5<=a成立则结果为1,否则结果为0。不管5 <= a是否成立,0或1都是小于10,整个表达式的结果都是真,也就是1。这种写法其实是无意义的。表达式(a >= 5 && a <= 10) ,会先计算a>=5的结果,再计算a<=10的结果,将两个结果进行逻辑与运算。当a在5~10之间,整个表达式的结果为1,否则为0。因此两个表达式的结果不一定总是相同的。
29
选择题
(2023年9月)以下不是C++关键字的是( )。
B
continue
cout
break
goto
真题解析
解析:cout不属于C++的关键字,而是一个类的对象。
30
感谢你的学习
31
$$