for可以定义作为C语言标识符,2015年计算机二级《C语言》精选练习题及答案(8)

1[单选题] 层次型、网状型和关系型数据库划分原则是( )。

A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式

参考答案:D

参考解析:层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以三种数据库的划分原则是数据之间的联系方式。

2[单选题] 以下叙述中正确的是(  )

A.程序必须包含所有三种基本结构才能成为一种算法

B.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令

C.如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达

D.只有简单算法才能在有限的操作步骤之后结束【答案lB

参考答案:B

参考解析:C语言程序可以不包含三种基本结构,也可以包含其中的一种或多种,所以A错误。三种基本结构可以表示任何复杂的算法,所以C错误。正确的算法。不管是简单算法还是复杂算法都可以在有限的操作步骤之后结束,这是算法的有穷性,所以D错误。

3[单选题] 若有以下程序

be4c84d76ffe34f448ec410e4108f530.png

}

则程序的输出结果是

A.1,5,1B.1,5,5C.-1,4,4D.-1,4.-1

参考答案:B

参考解析:逗号运算符的结合性从左到右,因此逗号表达式将从左到右进行计算。且逗号运算符的优先级最低。先计算a+=++b,结果a为1,b为1,然后计算b+=4,b的值为5。逗号表达式的值为其中最后一个表达式的值,所以将5赋给变量c,即a为1,b为5,c为5。所以选择B。

4[单选题] 以下选项中不合法的标识符是( )。

A.&aB.FORC.pfintD.00

参考答案:A

参考解析:C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。另外,关键字不能作为标识符。因为C语言中区分大小写,所以B选项中的。FOR。可以作为标识符来用。A选项中含有非法字符&,所以选择A。

5[单选题] 若有定义:

typedefint*T[10];T a;

则以下选项与上述定义中a的类型完全相同的是( )。

A.int*a[10];B.int(*A.[10];C.int a[10];D.int(*a[10]);

参考答案:A

参考解析:c语言允许由用户自己定义类型说明符,也就是说允许由用户为数据类型取”别名”。类型定义符typedef即可用来完成此功能,可以完全代替原来的类型说明符。因此,变量a的类型为int}a[10]。typedefint{T[10],由于[]运算符优先级高于·,可以看成typedef int[10]}T,替换T可得int[10],a=>int}a[10],因此,答案为A选项0

6[单选题] 有以下程序

c03feeeeb2e30e4ee7ae6842d08e78ea.png

程序运行后输出结果是

A.Qian,f,95,92,Sun,m,98,99

B.Qian,f,95,92,Zhao,m,85,90

C.Zhao,m,85,90,Sun,m,98,99

D.Zhao,m,85,90,Qian,f,95,92

参考答案:B

参考解析:本题考查把数组名作为函数参数,执行f函数后,结构体数组c的第二个元素被改写,c[1]./name为Zhao,选项B正确。

7[单选题] 有以下程序:

6fa4256c5e5aa370024cdfd38aa57bd5.png

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

A.33B.197C.143D.28

参考答案:C

参考解析:本题考查带参数的宏定义,s为带参数的宏定义,运行S(k+j)为4*(k+j)*k+j+1=143,选项C正确。

8[单选题] 有以下程序:

8c54f4987057a72c018eb71b67f2bb0f.png

程序的运行结果是( )。

A.a:2,b:2B.a=2,b=1C.a=1,b=1D.a=1,b=0

参考答案:B

参考解析:c语言还提供了一种用于多分支选择的switch语句,计算表达式的值。并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后语句,然后不再进行判断,继续执行后面所有c-t后语句。如表达式的值与所有cme后的常量表达式均不相同时,则执行default后的语句。

x=1;进入第一层switch,Y=0;进入第二层smiteh,执行a++;break;后a=1;在进入case 2,(这里case 1:没有break,)执行了a++,b++,由于存在break,则跳出switch,得刭a=2,b=1,因此答案为B选项。

9[单选题] 下面描述中错误的是( )。

A.系统总体结构图支持软件系统的详细设计

B.软件设计是将软件需求转换为软件表示的过程

C.数据结构与数据库设计是软件设计的任务之一

D.PAD图是软件详细设计的表示工具

参考答案:A

参考解析:详细设计的任务是为软件结构图中而非总体结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节,所以A错误。

10[简答题]某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。

例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。注意:部分源程序在文件PROGl.C中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fIm的花括号中填入你编写的若干语句。

f30f996d028a601f0b3de10006a884e7.png

f61777266f4d0af334c95586f57dfed9.png

参考解析:

void fun(STREC*a)

inti:

a一>ave=0.0:

fbr(i=0;iave=a—>ave+·一>s[i];/*求各门成绩的总和}/

a->ave/=N;/}求平均分*/}

【考点分析】

本题考查:结构体类型成员运算,指向结构体类型的指针变量作函数参数。

【解题思路】

本题考查自定义形参的相关知识点,程序流程是这样的:在如n()函数中求出平均分后,返回到主函数时平均分也要带回,所以只能定义一个指针类型的形参STREC·a,此时,引用成员的方式可以使用指向运算符,即a一>ave和a—>s[i],当然也可用(*a),ave和(*a).S[i]。第10题 笔记记录我的笔记(0) | 精选笔记(0)选择笔记标签:试题内容(0)答案解析(0)

相关推荐:

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值