首页 > 全部 > 二级C语言 > 二级C语言选择题专项强化真题试卷33

二级C语言选择题专项强化真题试卷33

本单篇文档共8984字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 真题试卷 4247人下载
价格: 1.00 原价:¥9.00
收藏

二级C语言选择题专项强化真题试卷33

选择题

1.有以下程序:

#include<stdio.h>

#include<string.h>

struct s

{char name[10];};

void change(struct S*data,int value)

{

strcpy(data->name,\\(A)

A. #3

B. #6

C. OK 3

D. OK 6

解析:考查结构体成员的引用规则。

2.设变量m为float类型,变量n为int类型,则以下能实现将m中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( )。(B)

A. m=(m*100+0.5)/100.0

B. n=m*100+0.5,m=n/100.0

C. n=m/100+0.5,m=n*100.0

D. m=m*100+0.5/100.0

解析:n是整型数,将浮点数赋值给整型变量需要丢弃小数位,所以若要保留m的小数点后两位,需要将m乘以100。若要将m小数点后第三位四舍五人,则需要加上0.5,然后赋给整型变量,所以n=m*100+0.5,接下来需要将m还原成有两位小数的浮点数。若除号两边操作数有一个是浮点数时,则结果为浮点数,因此将n/100.0赋值给m时,得到的m值含两位小数,故答案为B选项。

3.若有定义:

char s[30]={0};

运行时输入:

This is a string.

则以下不能正确读入整个字符串:

This is a string.

到字符数组s中的语句组是( )。(D)

A. i=0;while((c=getchar())!=’\n’)s[i++]=c;

B. gets(s);

C. for(i=0;(c=getchar())!=’\n’;i++)s[i]=c;

D. scanf(\\

解析:在使用格式符“%s”进行字符串的输入时,空格和回车(Enter)会被读入,并且函数scanf()以它们作为分隔符停止一个字符串的输入,因此答案为D选项。

4.以下程序拟实现计算s=1+2*2+3*3+…+n*n+…,直到s>1000为止。

#include

main()

{ int s,n;

s=1:

n=1;

do

{n=n+1;s=s+n*n;}

while(s>1000);

printf(\\(A)

A. 把while(s>1000);改为while(s<=1000);

B. 把s=1;改为s=0;

C. 把n=1;改为n=0;

D. 把n=n+1;改为n=n*n;

解析:题目中程序不能实现预期功能是因为while的循环条件错误,在B选项中,把s=1,改为s=0,最终的结果s=4,与题目原意不同;在C选项中,把n=1,改为n=0,最终的结果s=2,与题目原意不同;在D选项中,把n=n+1,改为n=n*n,最终的结果s=2,与题目原意不同;A选项,正确地修改了while循环条件,可以得到正确结果。故答案为A选项。

5.有以下程序:

#include

main()

{FILE*fp;

int i,a[6]={1,2,3,4,5,6},k;

fp=fopen(\\(A)

A. 6

B. 21

C. 123456

D. 654321

解析:本题首先定义文件指针变量fp和一个数组a[],再打开一个文件“dat(a)dat”,随后先给文件写入数据a[0]。由于rewind函数是将文件指针从当前位置重新指向文件开始位置,所以for循环依次将数组a[]中的数据写入文件开始位置,退出循环后,文件中的数据顺序为:654321,重新使指针指向文件开始位置,将此时fp指向的数据(即文件中第一个数据为6)写入变量k中,关闭文件,输出k值,故答案为A选项。

6.有以下程序:

#include

main()

{ char a,b,c,d;

scarf(\\(A)

A. 12

B. 12

3

C. 1234

D. 12

34

解析:scanf()函数从标准输入输出中读入两个字符’1’、’2’分别赋给变量a、b,遇到回车自动结束,但回车符已经存入缓冲区,函数getchar()将从中接受了回车符,故c被赋值为回车符,第二个getchar()读入字符’3’,因此a=’1’,b=’2’,c=,d=’3’。故答案为A选项。

7.软件开发中需求分析的主要任务是( )。(A)

A. 定义和描述目标系统“做什么”

B. 获取需求

C. 给出软件解决方案

D. 需求评审

解析:需求分析阶段的工作可以分为4个方面:需求获取、需求分析、编写需求规格说明书和需求评审。需求分析的任务是发现需求、求精、建模和定义需求的过程,是描述“做什么”的软件开发阶段。故选A选项。

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

#include<stdio.h>

char s1[10]=\\(C)

A. 10 7

B. 10 5

C. 5 5

D. 5 8

解析:strlen函数返回字符串的长度,求字符串长度时,遇到结束标志‘\0’为止,但是长度不包括结束标识。字符数组s1的后5个元素没有赋值,都为‘\0’,即“abcd!”后为‘\0’。所以strlen(s1)的值为5。字符指针s2所指向的字符串中,\n为转义字符换行符,表示1个字符,\\也为转义字符,代表\,也是1个字符,其后为字符串结束标识‘0’;所以strlen(2)的值也为5。因此C选项正确。

9.有以下程序:

#include<stdio.h>

#define f(x)x*x*x

main( )

{

int a=3,s,t;

s=f(a+1);

t=f((a+1));

prinff(\\(A)

A. 10,64

B. 10,10

C. 64,10

D. 64,64

解析:本题考查宏定义的用法,宏定义只是做个简单的替换,所以本题中执行f(a+1)=a+1*a+1*a+1=3*a+1=10,f((a+1))=(a+1)*(a+1)*(a+1)=64,所以答案为A选项。

10.以下叙述正确的是( )。(B)

A. #include<stdio.h>是C程序的一条语句

B. 使用符号\可以将一条#include命令写在多行里

C. 一个#include行可以包含多个文件,文件名用逗号分开

D. 一个#include行可以包含多个文件,且最后一个文件起作用

解析:C语言中语句必须是以“;”结尾,#include是文件包含的宏定义,不属于C语言的语句,选项A错误;一个#include只可以包含一个文件,如果需要包含多个文件,必须使用多个#

本文档预览:3600字符,共8984字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
二级C语言选择题专项强化真题试卷33

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号