软件设计师真题,程序设计语言专项练习(七)

视频讲解

软件设计师 上午题 程序设计专题

程序异常和错误

若C程序的表达式中引用了未赋初值的变量,则 (20) 。(2011年下半年)
(20)
A. 编译时一定会报告错误信息,该程序不能运行
B. 可以通过编译并运行,但运行时一定会报告异常
C. 可以通过编译,但链接时一定会报告错误信息而不能运行
D. 可以通过编译并运行,但运行结果不一定是期望的结果

在编写C/C++源程序时,为所定义的变量赋初始值是良好的编程习惯,而赋初值不是强制的要求,因此编译程序不检查变量是否赋初值。如果表达式中引用的变量从定义到使用始终没有赋值,则该变量中的值表现为一个随机数,这样对表达式的求值结果就是不确定的了。

以下关于程序错误的叙述中,正确的是 (50) 。(2012年下半年)
(50)
A. 编译正确的程序必然不包含语法错误
B. 编译正确的程序必然不包含语义错误
C. 除数为0的错误可以在语义分析阶段检查出来
D. 除数为0的错误可以在语法分析阶段检查出来

编译程序的工作过程可以分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等阶段。
用户编写的源程序不可避免地会有一些错误,这些错误大致可分为静态错误和动态错误。动态错误也称动态语义错误,它们发生在程序运行时,例如变量取零时作除数、引用数组元素下标错误等。静态错误是指编译阶段发现的程序错误,可分为语法错误和静态语义错误,如单词拼写错误、标点符号错、表达式中缺少操作数、括号不匹配等有关语言结构上的错误称为语法错误,而语义分析时发现的运算符与运算对象类型不合法等错误属于静态语义错误。

在某C/C++程序中,整型变量a的值为0且应用在表达式“C=b/a”中,则最可能发生的情形是 (50) 。(2014年上半年)
(50)
A. 编译时报告有语法错误 B. 编译时报告有逻辑错误
C. 运行时报告有语法错误 D. 运行时产生异常

对程序中含有变量的表达式求值发生在运行时,若除数为О进行除运算在运行时报告异常。

某程序运行时陷入死循环,则可能的原因是程序中存在 (48) 。(2015年下半年)
(48)
A. 词法错误 B. 语法错误
C. 动态的语义错误 D. 静态的语义错误

程序已经开始运行,说明编译时无错误,因此不是语法错误和词法错误,编译时发现的语义错误称为静态的语义错误。运行时陷入死循环属于动态语义错误。

运行下面的C程序代码段,会出现 (50) 错误。(2016年下半年)
在这里插入图片描述

(50)
A. 变量未定义 B. 静态语义 C. 语法 D. 动态语义

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_50843918/article/details/134965764