首页 > 全部 > 二级C语言 > 国家二级(C语言)机试模拟试卷470

国家二级(C语言)机试模拟试卷470

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

国家二级(C语言)机试模拟试卷470

选择题

1.若有以下程序段:

int r=8:

printf(\\(C)

A. 16

B. 8

C. 4

D. 2

解析:C语言中“>>”是对二进制的右移运算符,右移相当于将原数做除二操作,它将原数右移相应位数,并将移出的位舍去,在高位补0,将所得的结果再赋值给变量。本题中8的二进制为00001000,右移一位得到00000100,所以是4。

2.需求分析阶段的任务是( )。(D)

A. 软件开发方法

B. 软件开发工具

C. 软件开发费用

D. 软件系统功能

解析:需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在这些基础上确定新系统的功能。

3.以下能对一维数组a进行初始化的语句是( )。

C

解析:选项A,数组可以看作是若干个相同数据类型元素的有序集合,因此以集合的形式对其初始化,使用{}对其初始化;选项BD,常量表达式只能放在中括号[]中。故C选项正确。

4.有以下程序:

main()

{int k=33;

printf(\\(D)

A. 33,033,0x21

B. 33,033,21

C. 33,041,021

D. 33,41,21

解析:本题考查不同进制间的转换。printf输出函数中输出变量的格式,由输出格式符决定。题中“%o”格式符表示以八进制的形式输出;“%x”格式符表示以十六进制的形式输出。“33”的八进制和十六进制分别是41和21。

5.有以下程序:

#include<sidio.h>

main()

{char s[]=\\(B)

A. 0

B. 3

C. 7

D. 8

解析:本题中遇到“\”字符循环结束,所以只统计“\”之前的数字字符,所以为3。

6.以下不正确的转义字符是( )。(D )

A. ’\\\\\\\\’

B. ’\\\\d’

C. ’\\\\s’

D. ’088’

解析:’\\\\\\\\’是反斜线符,’\\\\d’是整型变量转义字符,’\\\\s’是字符串型转义字符,C语言中没有规定’088’为转义字符。

7.设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是( )。

C

解析:选项C中,if(x>y)后面的“x一”是一个表达式而不是一个语句,所以在编译时会产生错误信息。

8.有以下程序:

#include<stdio.h>

main()

{int i,j,m=1;

for(i=1;i<3;i++)

{for(j=3;j>0;j–)

{if(i*j>3)break;

m*=i*j;

}

}

printf(\\(C)

A. m=4

B. m=2

C. m=6

D. m=5

解析:第一次外循环i的值为1,第一次内循环j的值为3,不满足条件执行m*=i*j即m的值为3;第二次j的值为2,不满足条件执行m*=i*j,即m的值为6;第三次j的值为1,不满足条件执行m*=i*j,即m的值仍为6。第二次外循环i的值为2,j的值为3,满足条件,执行break语句,跳出循环。

9.若i、j已定义成int型,则以下程序段中内循环体的总执行次数是( )。

for(i=6;i>0;i–)

for(j=0;j<4;j++){…)(B)

A. 20

B. 24

C. 25

D. 30

解析:本题考查的是嵌套for循环执行次数。对于外层i的循环中任何一个i,内层j的循环中的.j都要从0变化到3,j=4时退出循环;然后外层i循环的i减少1,内层循环的i仍要从0变化到3,j=4时退出循环……直到外层i循环的i变为0,退出i循环。所以执行多重循环时,对外层循环变量的每一个值,内层循环的循环变量都要从初始值变化到终值。对外层循环的每一次循环,内层循环要执行完整的循环语句。外层for语句执行6次,内层for语句执行4次,所以内循环体执行6*4=24次。

10.设有如下定义:

struct sk

{ int m;

float x:

}data,*q;

若要使q指向data中的m域,正确的赋值语句是( )。(C)

A. q=&data.m:

B. *q=data.m;

C. q=(struct sk*)&data.m;

D. q=(struct sk*)data.m;

解析:利用强制类型转换(struct sk)把整数型地址&data.m转换成结构体变量指针赋给结构体指针变量q。

11.以下不能将s所指字符串正确复制到t所指存储空间的是( )。

A

解析:do{*t++={s++;}while(*s);不能因为当*s=‘\0’时,while(。s)跳出循环,这样字符串结束标志‘\0’没有复制给*t,造成}t不完整。注意,*t++=*s++是先执行t=*s,然后才进行t=t+1,s=s+1。B、C、D都能将‘\0’复制过去。

12.开发大型软件时,产生困难的根本原因是 ( )。(A)

A. 大型系统的复杂性

B. 人员知识不足

C. 客观世界千变万化

D. 时间紧、任务重

解析:随着计算机软件规模的扩大,软件本身的复杂性不断增加,研制周期显著变长,正确性难以保证,软件开发费用上涨,生产效率急剧下降,从而出现了人们难以控制软件发展的局面,即所谓的“软件危机”。

13.有以下程序:

#include <stdio.h>

main()

{  int c=0,k;

  for (k=1;k<3;k++)

    switch (k)

    { default: c+=k;

case 2: c++;break;

case 4: c+=2;break;

    }

  printf(\\(C)

A. 7

B. 5

C. 3

D. 9

解析:向switch语句块传送参数后,编译器会先寻找匹配的case语句块,找到后就执行该语句块,遇到break跳出;如果没有匹配的语句块,则执行default语句块。case与default没有顺序之分。所以第一次循环k的值为1,执行c+=k,c的值为1,再执行case 2 后的语句c++,c的值为2,遇到break语句跳出循环;第二次循环k的值为2,执行case 2 后面的语句c++,c的值为3,跳出循环。

14.执行下列程序时输入456789123,输出结果是( )。

#include

main()

{char

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

剩余未完,查看全文
收藏
国家二级(C语言)机试模拟试卷470

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号