一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。 A.Hay
B.How are you C.we D.ay
【答案】D
for 语句循环体执行功能是,【解析】每次当
元素为
时,自动将
下一个元素赋值给
赋值完成后,j 值加1,因此的和分别赋值给
2. 以下定义语句中正确的是( )。
【答案】C
输出结果为ay 。
【解析】C 项正确,int 转换成char 类型时,按照ASCII 码表进行转换,65表示’A ’,66表示‘B ’,等价于A=‘B ’。A 项错误,b ,c 都是float*类型
,的结束,应改成逗号。
3. 有以下程序:
第 2 页,共 35 页
无
法把float**转换成float*。B 项错误,b 未定义,可改成inta ,b ; a=b=0; D 项错误,分号表示语句
程序运行后的输出结果是( )。 A.2, 1 B.6, 1 C.6,0 D.2, 0 【答案】A
【解析】程序前面表达式等同于a=2; 优先级低于得b=l。
4. 设有定义:
【答案】D
【解析】逗号表达式的计算过程是从左到右逐个求每个表达式的值,取最右边一个表达式的值作为该逗号表达式的值。赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类型 相同才能实现赋值。成功实现赋值后以左值为返回值。逻辑表达式成立则返回1,不成立返回0。D 选项逻辑表 达式逗号表达式X ,y 取y 值为表达式值,然后赋值给取y 值为表达式值,然后赋值给
不成立,则
表达式值为0。B 选项
取y 值为表达
表达式值为12。C 选项逗号表达式程序执行过程为:c=241, c/100=2, 2%9=2, 得
为真,
非0值为真,0值为假,即(-1)为真,逻辑与表达式
以下表达式值不等于12的是( )。
表达式值为12。A 选项逗号表达式
式值12。故选择D 选项。
5. 设函数中有整型变量n ,为保证其在未赋值的情况下初值为0, 应选择的存储类别是 ( )。
A.auto B.register C.static
D.auto 或 register
【答案】C
【解析】静态存储类型定义变量在未对其初始化时会对其初始化为默认值,其中int 型的默认初始化是0,其他选项的存储类型不能保证。
6. 以下选项中,值为1的表达式是( )。
【答案】C
【解析】ASCII 码表
,
选C 。
第 3 页,共 35 页
7. 若在程序中变量均已定义成int 类型,且已赋大于1的值,则下列选项中能正确表示代数式的表达式是( )。
【答案】A
【解析】abc 均大于1,所以表达式B 项错误。C 项表示表达 式
小于1,需要用浮点类型表示。若要计算表达式值,
结果
需要使其自动转化成浮点类型,A 项正确。B 项变量与常量均为整型,不会自动转换为浮点类型,
错误。D 项,算数运算法结合性自左向右,先计算
为0, 之后的计算无论是否转换数据类型结果均为0, D项错误。
8. 有以下程序:
程序运行后的输出结果是( )。 A.48 B.34 C.35 D.45
【答案】A
【解析】函数fun 中定义了一个静态局部变量num ,在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久性的存储单元。第一次调用fun 时,故最终【程序有错,两个for 中的
9. 有如下程序:
程序运行后的输出结果是( )。 A.54321 B.98765 C.
均为
】
此处考查的是静
态变量,即第一次调用完之后的数值并不会被释放,因此第二次调用时num 仍保持上次的值4,
第 4 页,共 35 页