c语言2017考试时间,2017第49次计算机二级考试C语言考试试题

本文提供了2017年下半年计算机二级考试C语言部分的备考时间和注意事项,强调了练习题的重要作用。文章列举并解析了若干C语言选择题,涉及函数调用、结构体定义、变量使用、逻辑运算等多个知识点,并给出了一道程序修改题,旨在帮助考生巩固C语言中奇数位提取的编程技巧。
摘要由CSDN通过智能技术生成

2017下半年年计算机二级考试时间9月23日-26日,目前进入了备考的阶段。复习过程中,练习题更是不可忽视的一部分。下面是yjbys小编收集的计算机二级考试C语言考试试题,希望大家认真阅读!

一、选择题。

1***. 下列叙述中正确的是*** ***。

A.调用printf*** ***函数时,必须要有输出项

B.使用putchar*** ***函数时,必须在之前包含头文件stdio.h

C.在C语言中,整数可以以二进制、八进制或十六进制的形式输出

D.调节getchar*** ***函数读入字符时,可以从键盘上输入字符所对应的ASCII码

正确答案:B

答案解析:选项A,若printf函数没有输出项,且格式字符串中不含格式信息,则输出的是格式字符串本身,若格式字符串含有格式信息,运行时则出现错误提示;选项C,在C语言中,整数可以十进制、八进制或十六进制的形式输出;选项D,getchar函数是从标准输入设备读取一个字符。

2***. 以下结构体类型说明和变量定义中正确的是*** ***

A.typedef struct { int n; char c; } REC; REC t1,t2;

B.struct REC ; { int n; char c; }; REC t1,t2;

C.typedef struct REC; { int n=0; char c=′A′; } t1,t2;

D.struct { int n; char c; } REC; REC t1,t2;

正确答案:A

答案解析:定义结构体类型的一般形式为:struct 结构体名 {成员列表};struct 结构体名后不能加″;″号,所以选项B、C***错误,选项D中定义无名称的结构体类型同时定义结构体变量形式应为struct t1,t2;选项A为用户自定义类型,其为正确的定义形式。

3***. 若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是*** ***

A.一对一

B.一对多

C.多对一

D.多对多

正确答案:B

答案解析:由于B和C有一一对应的联系,而A和B只间有一对多的联系,则通过关系之间的传递,则A和C之间也是一对多的联系。

4***. 关于C语言的变量,以下叙述中错误的是*** ***

A.所谓变量是指在程序运行过程中其值可以被改变的量

B.变量所占的存储单元地址可以随时改变

C.程序中用到的所有变量都必须先定义后才能使用

D.由三条下划线构成的符号名是合法的变量名

正确答案:B

答案解析:变量是指在程序运行过程中其值可以改变的值,一个变量实质上是代表了内存中的某个存储单元。在程序中对某个变量的’操作实际上就是对这个存储单元的操作,程序运行期间,这个分配的存储单元不会改变,但是其值可以变化。变量命名要符合标识符的规定,其中下划线是标识符的组成字符。程序中所有变量都必须先定义后使用。

5***. 当变量c的值不为2、4、6时,值也为″真″的表达式是*** ***

A.***c==2***||***c==4***||***c==6***

B.***c>=2 && c<=6***&& !***c%2***

C.***c>=2 && c<=6***&&***c%2!=1***

D.***c>=2 && c<=6*** || ***c!=3*** || ***c!=5***

正确答案:D

答案解析:逻辑或运算中,只要有一项为真,表达式的值就为真,故选项D中c的值不为2、4、6时,那么表达式***c>=2 && c<=6***以及***c!=3***、***c!=5***必有一个成立,表达式的值也为真。

6***. 在C语言中,函数返回值的类型最终取决于

A.函数定义时在函数首部所说明的函数类型

B.return语句中表达式值的类型

C.调用函数时主调函数所传递的实参类型

D.函数定义时形参的类型

正确答案:A

答案解析:在C语言中,应当在定义函数时指定函数值的类型,凡不加类型说明的函数,一律按整型处理。在定义函数时,对函数值说明的类型一般应该和return语句中的表达式类型一致。如果函数值的类型和return语句中的表达式类型不一致,则以函数类型为主,即函数类型决定返回值的类型。

二、程序修改题

下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。

例如,当s中的数为87653142时,t中的数为7531。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODll.C中,不得增行或删行,也不得更改程序的结构!

(参考答案)

***1***}t=0;***2***if***d%2 1=O***或if***d%2==1***

(考点分析)

本题考查:指针型变量作为函数参数;if语句条件表达式,结合奇偶数的表示方法来确定该表达式内容。

(解题思路)

***1***由函数定义可知,变量t是指针变量,所以对t进行赋初值0是不对的。因为t指向的是存放新数的变量,所以此处应给新数赋初值0,即。t=0。

***2***变量d表示数S各个位上的数,此处的if条件应为判断d是否为奇数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值