2016年江西理工大学信息工程学院通信与信息系统(加试)之C语言程序设计复试笔试仿真模拟题
● 摘要
一、选择题
1. 有如下程序:
程序运行后的输出结果是( )。
A.FDBXX
B.FFFXX
C.FDBBB
D.ABCDE
答:A
【解析】对数组进行初始化时,如果在说明数组时给出了长度,但没有给所有的元素赋予初始值,而只依次给前面的几个数组元素赋予初值,那么C 语言将自动对余下的元素赋初值,
即
程序执行过程为:执行for 循环,将数组首地址赋给指针prr ,依次遍历每
一个元素,如果数组元素为0则输出‘X ’,如果不为0则按照字母表输出字符‘A ’后第个字符。程序运行后的输出结果为:FDBXX ,故A 项正确。
2. 以下叙述中错误的是( )。
A. —个C 程序可以包含多个不同名的函数
B. —个C 程序只能有一个主函数
C.C 程序在书写时,有严格的缩进要求,否则不能编译通过
D.C 程序的主函数必须用main 作为函数名
答:C
【解析】一个C 程序有且只有一个主函数main 。一个C 程序可以包含多个不同名字的子函数。C 程序在书写时没有严格的缩进要求。
3. 以下选项中,不能对主函数中变量i 和j 的值进行交换的程序是( )。
}
}
}
;
答:A
【解析】选项A ,定义了一个临时指针,实现两个指针地址的交换,而传入了参数是二个指针的副本,即a 、b 地址的副本,故交换了副本地址,对a 、b 无影响,故选择A 选项。B 选项调用函数传人的是i 与j 地址,函数体内交换是地址内元素,临时变量为整型变量,能实现i 与j 值交换。C 选项调用函数传入的是i 与j 地址,函数体内交换是地址内元素,临时变量为整型指针,且已正确开辟内存,能实现i 与j 值交换。D 选项与B 选项相同,能实现i 与j 值交换。
4. 若有定义语句inta=10;doubleb=3.14;, 则表达式'A'+a+b值的类型是( )。
A.char
B.int
C.double
D.float
答:C
【解析】在多目运算符相关联的运算数中,如果类型不一致,系统将自动进行类型转换,使
a 是整型,b 是double 两边的类型达到一直后,再进行运算,转换的规则是由“低到高V A' 是字符型,
型。字符型数据占1个字节,整型占2个字节,double 型占8个字节,故三者相加后为double 型,即选择答案C 。
5. 表达式a+=a-=a=9的值是( )。
A.9
B.-9
C.18
D.0
答:D
a+=a-=a=9计算顺序为a+=a-=9, 即a=a-9=9-9=0;,【解析】(a-=(a=9))首先a=9,最后a+=0,
即a=a+0=0+0=0。
6. 有以下程序
程序运行后的输出结果是( )。
A.7
B.-1
C.1
D.0
答:D
【解析】自身与自身异或,结果是0。