当前位置:问答库>考研试题

2017年中北大学程序设计基础复试仿真模拟三套题

  摘要

一、选择题

1. 已知大写字母A 的ASCII 码是65,小写字母a 的ASCII 码是97。以下不能将变量c 中的大写字母转换为对应小写字母的语句是( )。

A.c=c+32 B. C. D. 【答案】B

【解析】大写字母转换为对应小写字母,即加上32, B 项不是累加32。

2. 若有定义:inta=0,b=0,c=0,d=0; ,以下关于C 语言表达式:顺序的叙述正确的是( )。

A. 先执行++a,表达式++a的值为1; 再执行++b,表达式++b的值为1,由此可确定为1,因此执行++C

B. 先执行++a, 表达式++a的值为1, 由此可确定值为1, 因此执行++C

D. 先执行++a, ++b,++c,++d,使得a , b , c ,d 的值都为1, 由此可确定此执行++C

【答案】B

【解析】++a表示先将变量a+1, 再执行其他操作,逻辑或运算符遵循“短路求值”策略,即只有在仅靠左操作数的值无法确定该逻辑表达式的结果时,才会求解右操作数,表达式

中,左操作数++a的值为1,已经可以确定整个逻辑表达式的结果为1,因此右操作数++b不再求解,直接执行表达式2, 即++C,B 项正确。

3. 有以下定义语句,编译时会出现编译错误的是( )。

【答案】C

【解析】本题中a 为一个字符型变量,只能为其赋值一个字符常量。C 项中量,所以会编译错误。BD 两项为转义字符,编译可以通过。

不是字符常值为1,因

|值为1, 因此执行++c

_'

C. 先执行++b, 表达式++b的值为1; 再执行++a, 表达式++a的值为1,由此可确定’

执行

4. 有以下程序:

程序运行后的输出结果是( )。

【答案】D

【解析】声明结构类型S 中有一个字符数组name , 在input , 为input 中成员name 初始化给name ,

由于

后,调用

函数

函数的形参为结构体指针,因此

函数中,定义了一个结构变量

执行功能是把

赋值

函数改变形参指针data 指向的

name 值的同时,也改变了实参input 的成员name 值;而形参value 为整型变量,是num 的一个副本,修改了nnm 的副本,对num 本身不产生影响,所以输出为#,3。

5. 以下叙述中错误的是( )。

A.gets 函数用于从终端读入字符串 B.getchar 函数用于从磁盘文件读入字符 C.fputs 函数用于把字符串输出到文件

D.fwrite 函数用于以二进制形式输出数据到文件 【答案】B

【解析】fgeto 函数从磁盘文件中读入字符,getchar 函数从终端或者键盘接收字符。

6. C 语言中,最基本的数据类型包括( )。‘

A. 整型、实型、逻辑型 B. 整型、字符型、数组

C. 整型、实型、字符型 D. 整型、实型、结构体 【答案】C

【解析】C 语言中,最基本的数据类型包括整型、实型、字符型,答案为C 选项。

7. 有以下定义:

inta ; longh ;

double x,y ;

则以下选项中正确的表达式是( )。

【答案】C

【解析】C 项正确,(int )(x-y )是把x-y 得到的浮点数强制转换成整型。A 项错误,a*y结果是浮点数,不能参与模运算;B 项错误,C 语言中没有<>运算符;D 项错误,x+y是右值,不能给其赋值。

8. 有如下程序:

程序运行后的输出结果是( )。 A.4,4 B.0,1 C.1,4 D.0,4 【答案】A

【解析】程序执行过程为:定义整型变量a=0与指针ptr ,使指针指向变量a 。对指针指向的变量进行赋值a=3,将指针所指向变量加1,并赋值给a=4,此时指针依然指向变量a ,输出a 与指针指向的变量值:4,4,故A 项正确。

二、设计题