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

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

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

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

选择题

1.当输入为”Fool&Swalow”时,下面程序的执行结果是( )。

#include

main()

{char c;

while(c!=’?’)

{ c=getchar0;

putchar(c);

}

}(C)

A. Swalow

B. Fool

C. Fool?

D. ?Swalow

解析:本程序是通过getchar()函数读入字符,并通过putchar()函数将字符逐个输出,当用户输入“?”时停止输出。

2.有以下程序段:

char ch;int k;

ch=’a’;k=12;

printf(\\(D)

A. 因变量类型与格式描述符的类型不匹配,输出无定值

B. 输出项与格式描述符个数不符,输出为零值或不定值

C. a,97,12k=12

D. a,97,k=12

解析:字符变量的值是该字符的ASCII码值,可以参与整型变量所允许的任何运算。“ch=’a’”,%c表示以字符格式输出ch的值,所以输出为a;%d表示以十进制代码的形式输出ch的值,为97;k没有对应的输出格式,不输出。在第二个语句中,首先输出“k=”,然后以十进制代码输出k的值,为12。

3.若函数中有定义语义句:int a;,则( )。(B)

A. 系统将自动给a赋初值0

B. 这时a中的值是和随机数

C. 系统将自动给a赋初值-1

D. 这a中无任何值

解析:本题考查变量赋值基本概念。在声明一个变量后,如果未显式的对其进行赋值,则它的值是一个随机值。

4.在下列选项中,没有构成死循环的是( )。

D

解析:选项D中,首先定义的变量s的值为36,因为语句–s;所以当s=0时循环会结束;选项A由于while(1)永远成立,循环构成死循环;选项B中for循环没有使循环结束的限定条件,也构成死循环;选项C中由于k永远大于10000,所以循环无法停止。

5.有以下程序:

#include

main()

{ int y=9;

for(;y>0;y一一)

if(y%3==0)printf(“%d”,一一y);

}

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

A. 852

B. 963

C. 741

D. 875421

解析:第一次for循环,y的值为9,y%3的值为0,满足条件打印一一y,即先减一后打印,所以打印8;第二次for循环,y的值为7,y%3的值为1,不执行打印语句;第三次for循环,y的值为6,y%3的值为0,满足条件打印一一y,即先减一后打印,所以打印5;第四次for循环,y的值为4,不满足if条件,不执行打印语句;第五次for循环,y的值为3,满足if条件,打印输出2;第六次for循环,y的值为1,不满足条件,不执行打印语句。

6.有以下程序:

#include<stdio.h>

main()

{int n,*p=NULL;

*p=&n;

printf(\\(A)

A. int n,*P=NULL;

B. *p=&n;

C. scanf(\\

D. printf(\\

解析:选项B的正确写法应为p=&n;选项C的正确写法应为scanf(\\

7.下面程序运行后的输出结果是( )。

#include

main()

{int a[5]={1,0,4,2,0},b[5]={1,2,3,4,5},i,s=0;

for(i=0;i<5;i++)s=s+b[a[i]];

printf(\\(A)

A. 12

B. 15

C. 11

D. 8

解析:这道题目是计算一维数组b中某些元素的和。这些元素的下标值是一维数组a中元素值。s=0+b[1]+b[0]+b[4]+b[2]+b[0]=2+1+5+3+1=12。

8.若有以下程序:

#include<stdio.h>

int f(int m)

{

static int n=0;

int a=2;

n++;a++;

return n+m+a;

}

main()

{

int k;

for(k=0;k<4;k++)

printf(\\(D)

A. 3,5,7,9,

B. 4,7,10,13,

C. 4,5,6,7,

D. 4,6,8,10,

解析:本题考查静态局部变量以及自增运算符,静态局部变量在函数调用结束后,并不释放,仍然保留它的值。本题中,k为0时,returnn+m+a之前,n为1,a为局部变量是3,m为0,所以第一个返回值为4。k为1时,在函数返回值之前,静态局部变量为2,局部变量a仍然为3,m为1,所以结果是6。以此类推,答案为D。

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

A. 大型系统的复杂性

B. 人员知识不足

C. 客观世界千变万化

D. 时间紧、任务重

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

10.若有说明int a[3][4];则a数组元素的非法引用是( )。(D )

A. a[0][2*1]

B. a[1][3]

C. a[4—2][0]

D. a[0][4]

解析:此题考查的是数组元素的引用。对于已定义的数组a[M][N],数组元素的正确引用必须满足行下标小于M,列下标小于N且为正整数。此题中,选项D)中列下标值出现溢出。

11.以下是while语句的基本形式:

while(表达式){语句;}

其中“表达式”( )。(D)

A. 必须是逻辑表达式

B. 必须是关系表达式

C. 必须是逻辑表达式或关系表达式

D. 可以是任意合法的表达式

解析:本题考查while表达式。while(表达式)中的表达式可以为任何合法的表达式,一般情况下为逻辑、条件表达式,需要注意的是,当等号(一)误写为赋值号(=)时不会报错的,但是其值恒为1。

12.下列说法正确的是( )。(C)

A. auto和register将声明的对象说明为自动存储类对象,这些对象可用在函数中或函数外

B. 将变量其定义为static类型,则其初值默认为随机值

C. typedef说明符并不会为对象预留存留空间

D. 如果一个对象被声明为register,则对它应用一元运算符&,意在取得其存储的地址

解析:①这

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号