A、 2,3,1
B、 2,3,2
C、 2,3,3
D、 2,2,1
答案:A
解析:【解析】注意区分,z=x++是先将x的值赋给z,在令x自增;z=++x是先将x自增,再将自增后的值赋给z;而无论是++x还是x++,都会完成x自增的运算。对于表达式“z=x++,y++,++y;”,因为赋值运算符的优先级高于逗号运算符的优先级,所以可以将上式改成“(z=x++),(y++),(++y)”。然后从左向右先计算表达式z=x++,后缀自增运算先进行其他运算,再执行自增运算,所以z的值为1,x的值为2,再计算逗号表达式第二个表达式y++,此时y的值为1,y++的值为2,最后计算第三个表达式++y,y的值为3。答案选择A选项。
A、 2,3,1
B、 2,3,2
C、 2,3,3
D、 2,2,1
答案:A
解析:【解析】注意区分,z=x++是先将x的值赋给z,在令x自增;z=++x是先将x自增,再将自增后的值赋给z;而无论是++x还是x++,都会完成x自增的运算。对于表达式“z=x++,y++,++y;”,因为赋值运算符的优先级高于逗号运算符的优先级,所以可以将上式改成“(z=x++),(y++),(++y)”。然后从左向右先计算表达式z=x++,后缀自增运算先进行其他运算,再执行自增运算,所以z的值为1,x的值为2,再计算逗号表达式第二个表达式y++,此时y的值为1,y++的值为2,最后计算第三个表达式++y,y的值为3。答案选择A选项。
A. 0
B. 5
C. 14
D. 15
解析:【解析】do-while循环,先执行循环体sum+=x,则sum=sum+x=0+5=5,再执行while中的表达式,结果为0,退出循环,所以运行结果是5。答案选择
A. 有一个以上根结点的数据结构不一定是非线性结构
B. 只有一个根结点的数据结构不一定是线性结构
C. 循环链表是非线性结构
D. 双向链表是非线性结构
解析:【解析】线性结构应满足:①有且只有一个根结点;②每个结点最多有一个前件,也最多有一个后件。有一个以上根结点的数据结构一定是非线性结构,所以A错误。树只有一个根结点,但是树是非线性结构,B项正确。循环链表和双向链表都是线性结构。答案选择B选项。
A. 全局变量的作用域是从定义位置开始至源文件结束
B. 全局变量是在函数外部任意位置上定义的变量
C. 用extern说明符可以限制全局变量的作用域
D. 全局变量的生存期贯穿于整个程序的运行期间
解析:【解析】在不同编译单位内用extern说明符来扩展全局变量的作用域,extern可以将全局变量作用域扩展到其他文件,而不是限制全局变量的作用域。答案选择C选项。
A. 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B. 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C. 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D. 在栈中,栈中元素不会随栈底指针与栈顶指针的变化而动态变化
解析:【解析】栈中元素遵循“先进后出”的原则。入栈和出栈都是对栈顶指针操作,因此,栈底指针不变,栈中元素随栈顶指针的变化而动态变化。答案选择C选项。
A. 对象
B. 继承
C. 类
D. 过程调用
解析:【解析】面向对象方法是一种运用对象、类、封装、继承、多态和消息等概念来构造、测试、重构软件的方法。答案选择D选项。
A. 0
B. 3
C. 4
D. 5
解析:【解析】运算符“/”、“%”的优先级高于“-”,所以先进行除法和求余运算,再进行减法运算。强制类型转换表达式的形式:(类型名)(表达式)。“9/2”结果为4,转换成double类型再转换成int类型结果依然为
A. 项正确,C语言的可执行程序是由一系列机器指令组成的;
B. 用C语言编写的源程序不能直接在计算机上运行
C. 通过编译得到的二进制目标程序需要连接才可以运行
D. 在没有安装C语言集成开发环境的机器上不能运行C源程序生成的exe文件
解析:【解析】
A. 项错误,case后面的应该为整形或字符型常量;
B. 项错误,switch后面的表达式需要在括号内;
C. 项错误,case和后面的常量表达式应该由空格隔开。答案选择
D. 选项。
解析:【解析】
A. 12
B. 11
C. 10
D. 9
解析:【解析】整型变量k的值“011”是用八进制表示的,即十进制的“9”,而输出格式为%d,即十进制格式,所以输出为“9”,然后k自增1。答案选择D选项。
A. 12
B. 11
C. 10
D. 9
解析:【解析】x=011表示按照八进制赋值,则十进制数为9,所以输出++x的结果为