2016年重庆邮电大学自动化学院J03程序设计(C)(同等学力加试)复试笔试仿真模拟题
● 摘要
一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。 A.1 B.123 C.23 D.3 答:A 【解析】和
是转义字符,表示空字符,故
成立,输出1;
是字符常量和0不等,
,不执行if 后面的语句,所以最后输出只有1,故答案为A 选项。都是字符常量,因为
2. 在C 语言中,只有在使用时才占用内存单元的变量,其存储类型是( )。
A.auto 和 register B.extern 和 register C.auto 和 static D.static 和 register 答:A
【解析】C 语言中,动态存储区域中存放的变量在使用时才分配内存空间,函数调用时返回auto 变量的储存处单元是分配在内存的动态的地址和自动类 局部变量等存放在动态存储区域中。
存储区中,每当进入函数体时自 动分配存储单元。register 变量也是自动类变量, 。static 说明的变extern 量为静态变量,静态变量在内存的静态存储中 占据着永久的存储单元,直至程序运行结束。说明的变量为外部变量,属于全局变量,全局变量在整个程 序运行期间都占用内存空间。
3. 以下叙述中正确的是( )。
A. 不能用字符串常量对字符数组名进行整体赋值操作
B. 字符串常量“Hello”会被隐含处理成一个无名字符型数组,它有5个元素
C. D. 答:A
在语法上是合法的,运行也是安全的
效果是一样的
【解析】A 项正确,不可以用赋值语句给字符数组整体赋一串字符,但是可以直接用字符串B 项错误,常量给一维字符 数组赋初始值。编译器会在字符串常量最后添加最近的’\0’作为其结束标志,运行时不安全;D 项错误,不能给数组str 赋值。
4. 下列叙述中正确的是( )。
A. 可以用关系运算符比较字符串的大小 B. 空字符串不占用内存,其内存空间大小是0 C. 两个连续的单引号是合法的字符常量 D. 两个连续的双引号是合法的字符串常量 答:D
【解析】A 项错误,关系运算符不能比较字符串大小,可以用函数库中的字符串比较函数来比较字符串的大小;B 项错误,空字符串占用一个字节的内存;C 项错误,字符常量是用单引号把一个字符括起来;D 项正确,两个连续的双引号是一个字符串常量,称为空串。
5. 有如下程序:
程序运行后的输出结果是( )。 A.X B.XYZ C.YZ D.Y 答:A 【解析】字符不成立,不输出;判断
6. 有以下程序:
它共有6个元素;
C 项错误,在语法上是合法的,但是没有字符串尾标识符,系统将要在其后的内存中找一个距它
的ASCII 码值分别为0、48、97、98。putchar 函数是
不成立,不输出。故A 项正确。
向标准输出设备上输出一个字符。程序执行过程为:判断‘\0’==0成立,输出X ; 判断‘0’==0
t
程序运行后的输出结果是( )。 A.0 B.1 C.2 D.3 答:C 【解析】
和
运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当以
结果为
然后输出b 的值。即b 为2。
则其中与w 等价的表达式是( )。
后缀形式出现时,则先取值,再进行加一或减一操作。a 初始定义为1,b 为0, 先执行0, 即if 判断为假,执行
7. 如有表达式
A.w==l B.w==0
c.
D. 答:D
【解析】在C 语言中,没有专门的“逻辑值”,而是用非0表示“真”,用0表示“假”。此条件表达式的形式为<表达式1>?<表达式2>:<表达式3>, 当表达式1的值为真,即为非零时,求出表达式2的值作为结果;当表达式1的值为假,求出表达式3的值作为结果。可见表达式W ,不为1时返回(++y)等价于W!=0。A 项,w==l表示当w 的结果为1是返回(-X )。
8. 设有宏定义
:且变量m 已正确定义并赋值,则宏调用:IsDIV
A. 判断m 是否能被5或7整除 B. 判断m 是否能被5和7整除 C. 判断m 被5或7整除后是否余1 D. 判断m 被5和7整除后是否都余1 答:D 【解析】
要求一个选择表达式,当否则返回
都为真,即
返回1,这是
为真时返回1,否则返回0,即当k 除以n 的余数为1是返回1,
是逻辑表达式,只有当IsDIV (m ,5)和IsDIV (m ,为真时所要表达的是( )。
7)同时为真时,整个表达式才为真。
9. 有以下程序(其中k 的初值为八进制数):