2017年浙江工商大学C程序设计复试仿真模拟三套题
● 摘要
一、选择题
1. 有以下程序:
程序的运行结果是( )。 A.12300 B.123 C.1 D.321
【答案】B
【解析】
程序开始定义了一个指针文件
然后for 循环语句向文件中依次写入数据。此时以只读方式打开
文件
数读进来,最后输出n 的值为123。
2. 有以下程序:
第 2 页,共 17 页
语句
应该为
打开文件
读取一个整数,但这时它把123作为一个整
程序运行后的输出结果是( )。
【答案】D
【解析】D 项正确,main 函数中,首先为结构变量a ,b 初始化,再调用函数f ( ),在f ( )函数中,使用结构体变量a 对指针b 指向的结构体进行赋值,使得指针b 指向的结构体成员依次赋值为结构体a 的成员,然后依次输出指针b 指向的结构体成员的值;由于f 函数 形参b 为指针,所以指针b 指向的值被修改为a 的同时,main 函数中的实参b 的值也被修改成a 。
3. 有以下程序:
程序运行后的输出结果是( )。 A.1, 2, 1, 2 B.1, 2. 2, 1 C.2, 1, 2, 1 D.2, 1. 1, 2 【答案】B
【解析】本题定义了两个整型变量,然后用两个指针分别指向这两个整型变量,接着对指针进行交换,那么原来指向第一个整数的指针将指向第二个整数,原来指向第二个整数的指针将指向第一个整数。
4. 以下关于C 语言数据类型使用的叙述中错误的是( )。
A. 若只处理“真”和“假”两种逻辑值,应使用逻辑类型 B. 若要保存带有多位小数的数据,可使用双精度类型
C. 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型 D. 整数类型表示的自然数是准确无误差的 【答案】A
【解析】A 项错误,C 语言中没有逻辑类型,在
中才引入的;B 项正确,float 类型称为
单精度类型,double 类型称为双精度类型,一般系统中,为float 类型的变量分配4个字节的存储单元,为double 类型的变量分配8 个字节的存储单元。C 项正确,struct 结构体,可以用来描述
第 3 页,共 17 页
包含多种基本类型的复杂对象。
5. 有以下程序:
程序运行后的输出结果是( )。 A.21 B.11 C.6 D.1
【答案】A
【解析】将十进制数转换为二进制数进行位运算,5转换为二进制数是101, 再做<<2运算,即为10100, 然后100001等于10101,转换为十进制数为21。
6. 有以下程序
程序运行后的输出结果是( )。 A.-1 B.0 C.1 D.7
【答案】A
【解析】当a 为0时,a-表达式为0, 条件为假,循环结束,执行判断条件后a 为-1。
7. 已知大写字母A 的码是65, 小写字母a 的码是97。以下不能将变量c 中的大写字母转换为对应小写字母的语句是( )。
【答案】A
【解析】A 项,模26运算后得到0~25之间的数,再与‘a ’相减结果是负数。B 项,表中,同一字母的小写码比大写码数值上大32; C 项,价于C 项。
第 4 页,共 17 页
码
D 项,c-‘A ’取值在0~26, 等