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

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

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

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

选择题

1.有以下定义:

struct data

{ int i;char c;double d;}x;

以下叙述中错误的是( )。(D)

A. x的内存地址与x.i的内存地址相同

B. struct data是一个类型名

C. 初始化时,可以对x的所有成员同时赋初值

D. 成员i、c和d占用的是同一个存储空间

解析:变量i、c、d是结构体变量x中三个不同的成员,占用不同的存储空间。

2.以下函数的功能是:计算a的n次方作为函数值返回。

double fun(double a,int n)

{ int i;double s=1.0;

for(i=1;i<=n;i++)S=________;

return s;

}

为实现上述功能,函数中下划线处应填入的是( )。(B)

A. S*i

B. S*a

C. s+i*i

D. S+a*a

解析:s为a的(i-1)次方的结果,所以令s=s*a即可得到a的i次方。

3.有以下程序:

#include

#include

main()

{ char str[]={\\(B)

A. 13,13

B. 13,14

C. 13,15

D. 14,15

解析:strlen返回字符串的长度,不包含字符串末尾的结束字符’\0’,结果为13;sizeof返回字符串所占存储空间的大小,由于字符串最后要加上一个’\0’,所以结果为13+1=14。

4.若有说明:typedef struct{int a;char c;}w;,则以下叙述正确的是( )。(D)

A. 编译后系统为w分配5个字节

B. 编译后系统为w分配6个字节

C. 编译后系统为w分配8个字节

D. 编译后系统不为w分配存储空间

解析:w是一个自定义类型,不是变量,故编译后系统不为w分配存储空间。当w定义为结构体变量时才会为其分配存储空间。

5.以下叙述中错误的是( )。

D

解析:数组初始化时,若赋初值的个数多于所定义数组的元素个数时,编译器会报错。

6.若有以下定义:

struct tt{char name[10];char sex;}aa={\\(A)

A. scanf(\\

B. aa.sex=getchar();

C. printf(\\

D. printf(\\

解析:sex是一个char类型变量,不是地址,A项应为scanf(\\

7.C语言编译程序的功能是( )。(C)

A. 执行一个C语言编写的源程序

B. 把C源程序翻译成ASCII码

C. 把C源程序翻译成机器代码

D. 把C源程序与系统提供的库函数组合成一个二进制执行文件

解析:编译程序的功能是将“高级语言”翻译为“机器语言”,将c语言语句转换成二进制的机器指令。

8.有以下程序:

#include

int fun(int n)

{ if(n)return fun(n-1)+n;

else return 0;

}

main()

{printf(\\(C)

A. 4

B. 5

C. 6

D. 7

解析:fun函数是一个递归函数,调用f(3),参数n=3,返回f(3-1)+3=f(2)+3=f(1)+2+3=f(0)+1+2+3=0+6=6。

9.有以下程序:

#include

main()

{ int sum=0,x=5;

d0{sum+=x;}while(!–x);

printf(\\(B)

A. 0

B. 5

C. 14

D. 15

解析:do-while循环,先执行循环体sum+=x,则sum=sum+x=0+5=5,再执行while中的表达式,结果为0,退出循环,所以运行结果是5。

10.下面不属于软件设计阶段任务的是( )。(A)

A. 软件的功能确定

B. 软件的总体结构设计

C. 软件的数据设计

D. 软件的过程设计

解析:软件设计阶段的任务包括:①结构设计;②数据设计;③接口设计;④过程设计。软件的功能确定是在需求分析阶段完成的。

11.有以下程序:

#include

#include

typedef struet{char name[9];char sex;float score[2];}STU;

void f(STU*a)

{ strcpy(a->name,\\(C)

A. Qian,f,95,92

B. Zhao,f,95,90

C. Zhao,m,95,90

D. Zhao,f,95,92

解析:f函数调用时,结构体数组名作为实参传给形参指针,结构体指针a指向数组c的首地址。因此,f可以对数组c中的元素赋值,故返回主函数之后,数组c中的成员值已被更新。main函数中有赋值语句\\

12.在C语言程序中,下列说法正确的是( )。(B)

A. 函数的定义可以嵌套,但函数的调用不可以嵌套

B. 函数的定义不可以嵌套,但函数的调用可以嵌套

C. 函数的定义和调用均不可以嵌套

D. 函数的定义和调用均可以嵌套

解析:函数定义都是在函数外部进行的,函数调用是在函数内部进行的,所以函数的定义不可以嵌套,但函数的调用可以嵌套。

13.执行以下程序段后,8的值为( )。

int a[]:{1,2,3,4,5,6,7,8,9},S=0,k;

for(k=0;k<8;k+=2)s+=*(a+k);(B)

A. 13

B. 16

C. 17

D. 45

解析:数组a中的元素为:a[0]=1,a[1]=2,…,a[8]=9。k=0时,s=s+*(a+0)=0+1=1;k=2时,s=1+*(a+2)=1+3=4;k=4时,s=4+5=9;k=6时,s=9+7=16。

14.有以下程序:

#include

#define M 5

#define f(x,y)x*y+M

main()

{

int k;

k=f(2,3)*f(2,3);

printf(\\(B)

A. 22

B. 41

C. 100

D. 121

解析:宏定义中的函数在调用时只做简单的替换,不能进行任何修改。所以k=2*3+5*2*3+5=41。

15.有以

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号