山东大学c语言程序设计模拟卷,2016年山东大学管理学院综合考试(C程序设计)考研复试题库...

一、选择题

1. 若有以下定义和语句:

则值为6的表达式是(提示:

答:D

的优先级高于

( )。

【解析】定义指向结构体变量的指针P ,并将结构体数组首地址赋给加一指向数组第二个元素,其成员ri=6, D 项正确员5。

2. 以下选项中与

语句功能不同的switch 语句是( )。

式为5, 之后再自加一

指向结构体数组第一个元素,其成员n=5,由于

指针自

指向结构体数组第一个元素,其成

是后缀,先取值,所以表达

为结构体数组第一个元素,其成员n=5, 先取值,表达式为

答:B

【解析】在switch 语句的执行过程中,执行完case 后面的语句后,如果遇到break 语句就停止,否则将继续执行下一个case 中的语句,直到遇到break 语句。B 项,当a==1是a=b, 刚好和题干要求相反。

3. 以下叙述中正确的是( )。

A. 只要是用户定义的标识符,都有一个有效的作用域

B. 只有全局变量才有自己的作用域,函数中的局部变量没有作用域

第 2 页,共 34 页

C. 只有在函数内部定义的变量才是局部变量 D. 局部变量不能被说明为static 答:A

【解析】A 项正确,标识符的“作用域”是指程序中的某一部分中,标识符是有定义的,可以被C 编译和 连接程序所识别。在C 语言中,由用户命名的标识符都有一个有效的作用域。B 项;C 项错误,在函数内部或复合语句内错误,局部变量的作用域是所 在的函数体(或复合语句)

部定义的变量,称为局部变量;D 项错误,在 函数体(或复合语句)内部用static 来说明一个变量时,变量为静态局部变量。

4. 以下语句的输出结果是( )。

A.5 B.8 C.14

D. 输出项不合法,无正常输出 答:A

【解析】由一对双引号括起来的一串字符为字符串。字符常量是用一对单引号括起来的单个字符,还有一些 特殊字符常量,即以为八进制或十六进制数字。

5. 以下叙述中正确的是( )。

A. 函数的返回值不能是结构体指针类型 B. 函数的返回值不能是结构体类型

C. 在调用函数时,可以将结构体变量作为实参传给函数 D. 结构体数组不能作为参数传给函数 答:C

【解析】C 项正确,结构体变量作为实参时,是传值形式调用;AB 两项错误,函数的返回值可以是结构体变量和结构体指针变量;D 项错误,向函数传递结构体数组名时,传递的是实参结构体数组的首地址,是传引用形式调用。

6. 有以下程序

第 3 页,共 34 页

开头的转义字符。后可以为某些单个字符也可以

共5个字符,A 项正确。

程序的运行结果是( )。

答:B

【解析】struct 变量作为形参和返回值时,传递的是结构体类型的值。f 函数中,把b 变量赋值给a ,然后将a 返回并赋值给d ,所以,d 中的数据与b 的数据相同。

7. 有以下程序

执行后的输出结果是( )。 A.32 B.24 C.5 D.40 答:A

【解析】自增运算符“++”分为前缀和后缀两种形式。两种形式的作用效果是一样的,都是使运算分量的值加1,但是它们的表达式的值不一样,前缀形式表达式的值为运算分量加1之后的值,而后缀形式表达式的值为运算分量加1之前的值。题目中使用了一个for 循环,循环变量i 从1递增到40。在循环体中有两条嵌套的if 语句,首先判断i++%5==0,即判断i++的值(i 加1,然后再判断++i的值(i 加1之后的值)是否能被之前的值)是否能被5整除(判断后i 被加1)

8整除(判断后i 被加1),若两个条件都满足了,就输出i 的值,只有i=30时,满足i++%5==0,此时i=31,++i%8==0成立,此时i=32。

8. 有以下程序:

第 4 页,共 34 页

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值