2017年南昌航空大学程序设计复试仿真模拟三套题
● 摘要
一、选择题
1. 有以下程序
程序运行后的输出结果是( )。 A.7 B.-1 C.1 D.0
【答案】D
【解析】自身与自身异或,结果是0。
2. 以下叙述中正确的是( )。
A. 如果根据算法需要使用无限循环(即通常所称的“死循环”),则只能使用while 语句 B. 对于“for (表达式1; 表达式2; 表达式3)循环体”首先要计算表达式2的值,以便决定是否开始循环
C. 对于“for (表达式1; 表达式2; 表达式3)循环体”,只在个别情况下才能转换成while 语句
D. 只要适当地修改代码,就可以将do-while 与while 相互转换 【答案】D
【解析】D 项正确,C 语言中do-while 语句和while 语句作用是等价的,二者可以经过适当的修改互换。A 项错误,do-while 和for 循环也能写成死循环;B 项错误,for 循环首先执行表达式1; C 项错误,for 循环体经过适当的修改都可以转换成while 语句。
3. 有以下程序:
当执行程序时,按下列方式输入数据(从第一列开始,符)
代表回车,注意:回车是一个字
则输出结果是( )。 A.1234 B.12 C.123 D.1234 【答案】C 【解析】
函数的一般调用形式为:scanf (格式控制,输入地址列表)。其中,格式控
和格式字符组成。
制是用双引号括起来的字符串,包括格式字符和普通字符,格式是由1赋给了 a ,2赋给了 b ,然后
函数的功能是从标准输入设备上读入一个字符。根据程序中的格式控制可知,接收输入时分别把
函数提取了一个换行符赋给c ,再提取了一个字符3赋给了
d 。所以程序的输出结果为:
4. 以下叙述中错误的是( )。
A. 书写风格良好的程序执行效率尚 B. 书写风格良好的程序易读性好 C.C 程序可以在一行上写多条语句 D.C 程序允许将一条语句分写在多行上 【答案】A
【解析】书写风格与程序执行效率无关,程序执行效率与程序的数据结构有关,由算法的时间复杂度和空间复杂度决定,但书写风格会深刻地影响软件的质量和可维护性,良好的程序设计风格可以使程序结构清晰合理。C 语言程序书写规范中,良好的书写习惯中一般一行写一条语句,这样方便阅读,但是将一行写多条语句或者将一条语句分写在多行上是符合C 程序编写规则的。
5. 有以下函数:
函数的功能是( )。 A. 查找x 和y 所指字符串中是否有
B.x 、y 所指字符串最前面连续相同的字符个数 C. 将y 所指字符串赋值给x 所指存储空间 D. 统计x 和y 所指字符串中相同的字符个数 【答案】B
【解析】由程序可知,定义语句中的x 和y 是用户标识符,在每个变量前的是一个说明符,循环执行只有在x 和y 所指字符串中最前面连续相同,并统计其个数,一旦不满足,则终止循环而返回相同个数II 。
6. 以下能正确表述算式
【答案】A
【解析】A 项正确。sin 是库函数,其参数中的角度要求用弧度制表示。C 语言中义的常量,需要用户自定义或者直接使用是
代替
B 项未替换
误。C 项没有将30度换算成弧度,错误。D 项弧度换算错误,对应于
7. 设有定义:intx=7, y=12;,则以下表达式值为3的是( )。
A. (y%=x)-(x%=5) B.y%=(x%=5) C.y%=x-x%5
D.y%=(x-x%5) 【答案】A
【解析】A 项正确,a%=b表示a=a%(b ),A 项可改写成y=y%x,x=x%5,再计算y-x 计算的结果为3,满足题意;B 项为0, C 项为2, D 项等同于C 项。
8. 若在程序中变量均已定义成int 类型,且已赋大于1的值,贝!J 下列选项中能正确表示代数
式
的表达式是( )。 A.1.0/a/b/c B.1/(a*b*c) C.1.0/a*b*c
D.1/a/b/(double )c 【答案】A
【解析】abc 均大于1, 所以表达式1/abc小于1,需要用浮点类型表示。若要计算表达式值,需要使其自动转化成浮点类型,A 项正确。B 项变量与常量均为整型,不会自动转换为浮点类型,B 项错误。C 项表示表达式be/a,错误。D 项,算数运算法结合性自左向右,先计算1/a,结果为0, 之后的计算无论是否转换数据类型结果均为0, D 项错误。
应该除以
不是已定
而不
也没有将30度换算成弧度,错
的C 语言表达式是( )。
二、设计题