2017年南昌航空大学程序设计考研复试核心题库
● 摘要
一、选择题
1. 以下选项中关于C 语言常量的叙述错误的是( )。
A. 所谓常量,是指在程序运行过程中,其值不能被改变的量 B. 常量分为整型常量、实型常量、字符常量和字符串常量 C. 常量可分为数值型和非数值型常量 D. 经常被使用的变量可以定义为常量 【答案】D
【解析】常量是指在程序运行过程中其值不能被改变的量。在C 语言中,有整型常量、实型常量、字符常量和字符串常量等类型。整型常量和实型常量又称数值型常量,它们有正值和负值的区分。所谓变量是指在程序运行过程中其值可以改变的量。C 语言规定,程序中所有变量都必须先定义后使用。变量和常量有明显的区分。
2. 以下选项中叙述正确的是( )。
A.
是合法的变量定义语句
B. 数组说明符的一对方括号中只能使用整型常量,而不能使用表达式 C. 数组下标的下限可以是负值 D. 若有数组定义【答案】A
【解析】A 项正确定义了字符变量cl 、c2, 字符型指针c3, 字符型一维数组
,A
项正确。
是下标运算符,“下标”可以是任何非负整型数据,取值范围是0〜(数据元素的个数一1)。在引用数组元素时,下标运算符内可以是常量也可以是变量或者表达式,B 项错误。数组下标的下限不可以是负值,C 项错误。数组下标必须是整型数据,3.12为浮点数,D 项错误。
3. 已知大写字母A 的ASCII 码是65,小写字母a 的ASCII 码是97。以下不能将变量c 中的大写字母转换为对应小写字母的语句是( )。
A.c=c+32 B. C. D. 【答案】B
【解析】大写字母转换为对应小写字母,即加上32, B 项不是累加32。
4. 若想给已定义为int 型的变量a 、b 、c 、d 赋整数1,以下选项中错误的语句是( )。
A.d=c,c=b,b=a,a=l;
第 2 页,共 23 页
则语句是合法的
B.d=c=b=a=l; C.d=(b=c=(a=l); )D.d=l,c=d>b=c,a=b; 【答案】A
【解析】赋值是将一个常量的值赋给一个变量,A 项中,变量c 初始值未定义,相当于一个未知数给变量d 赋值,不满足赋值为1的条件。
5. 有以下程序:
程序的运行结果是( )。 A.y=0 B.y=l C.y=2 D.y=3
【答案】D
【解析】数组a 定义结果为,后,p 指向数组元素
6. 有以下程序
程序运行后的输出结果是( )。 A.-12 B.9 C.0 D.3
【答案】A
【解析】C 语言中,
表达式从右向左计算。
等价于
可以写成
而
等价于
指针P 指向
执行一p ; 语句
y 的值为指针p 所指向的地址的存储值为3。
7. 若有定义doublea=22; inti=0,k=18; ,则不符合C 语言规定的赋值语句是( )。
A.a=a++,i++
B.i=(a+k)<=(i+k) C.i=a%ll D. 【答案】C
第 3 页,共 23 页
【解析】C 项错误,在C 语言的算术运算符中,取余运算符“%”的左右两侧的两个运算分量必须是整数。A 项,赋值运算符的优先级高于“,”运算法,先进行赋值;B 项,将“=”右边的逻辑表达式的计算结果赋给变量i ; D 项,首先对变量a 求逻辑非操作,然后将结果赋值给变量i 。
8. 在C 语言中,只有在使用时才占用内存单元的变量,其存储类型是( )。
A.auto 和 register B.extern 和 register C.auto 和 static D.static 和 register 【答案】A
【解析】C 语言中,动态存储区域中存放的变量在使用时才分配内存空间,函数调用时返回auto 变量的储存处单元是分配在内存的动态的地址和自动类 局部变量等存放在动态存储区域中。
存储区中,每当进入函数体时自 动分配存储单元。register 变量也是自动类变量, 。static 说明的变extern 量为静态变量,静态变量在内存的静态存储中 占据着永久的存储单元,直至程序运行结束。说明的变量为外部变量,属于全局变量,全局变量在整个程 序运行期间都占用内存空间。
二、设计题
9. 函数fun 的功能是:将8所指字符串中除了下标为奇数、同时ASCII 值也为奇数的字符之外,其余的所 有字符都删除,串中剩余字符所形成的一个新串放在t 所指的数组中。。
例如,若s 所指字符串中的内容为但所在元素
的下标为偶数,因此必须删除;而字符1的ASCII 码值为奇数,所在数组中的下标也为奇数,因此不应当删除, 其他依此类推。最后t 所指的数组中的内容应是文件句。
给定源程序:
第 4 页,共 23 页
其中字符A 的ASCII 码值虽为奇数,
注意:部分源程序存在
中。
请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入编写的若干语
相关内容
相关标签