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

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

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

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

选择题

1.有以下程序:

#include<stdio.h>

main()

{

static char a[]=\\(B)

A. Prog

B. Porm

C. rga

D. Por

解析:首先定义一个字符型数组a,并对a进行初始化,然后定义字符型指针变量p。执行for语句,ptr=a表示将数组a的地址赋给ptr;ptr<a+7代表循环条件,ptr+=2,即ptr=ptr+2。执行putchar(*ptr);即输出*pt所对应的字符。此时ptr指向数组中的第1个元素,即a[0],因此*ptr表示a[0]中的值,即P,此时输出P;然后执行ptr+=2,此时ptr指向数组中的第3个元素,即a[2],输出0;然后执行ptr+=2,此时ptr指向数组中的第5个元素,即a[4],输出r;然后执行ptr+=2,此时ptr指向数组中的第6个元素,即a[5],输出m;然后执行ptr+=2,得到ptr=a+8<a+7,即循环条件不成立,循环结束,最终输出结果为Porm。

2.设有关键码序列(66,13,51,76,81,26,57,69,23),要按关键码值递增的次序排序,若采用快速排序法,并以第一个元素为划分的基准,那么第一趟划分后的结果为( )。(A)

A. 23,13,51,57,66,26,81,69,76

B. 13,23,26,51,57,66,81,76,69

C. 23,13,51,57,26,66,81,69,76

D. 23,13,51,57,81,26,66,69,76

解析:快速排序是起泡排序的改进。在快速排序中,任取一个记录,以它为基准用交换的方法将所有的记录分成两部分,关键码值比它小的在一部分,关键码值比它大的在另一部分,再分别对两个部分实施上述过程,一直重复到排序完成。

3.表达式:(int)((double)9/2)一(9)%2的值是( )。(B)

A. 0

B. 3

C. 4

D. 5

解析:运算符“/”和“%”的优先级高于“~”,所以先进行除法和求余运算,再进行减法运算。强制类型转换表达式的形式:(类型名)(表达式)。“9/2”结果为4,转换成double类型再转换成int类型结果依然为4,(9)%2的结果为1,4—1的最后结果为3。

4.在下述程序中,判断i>i共执行的次数是( )。

main()

{int i=0,j=10,k=2,s=0;

for(;;)

{ i+=k;

if(i>j){printf(\\(D)

A. 4

B. 7

C. 5

D. 6

解析:分析程序,i+=k;使得i的值每次增加2然后再和j进行了比较看i>j是否成立,i的变化过程为:i=2,i=4,i=6。i=8,i=10,i=12.此时i>j成立,所以判断i>j共执行的次数为6次。

5.在数据库管理技术的发展中,数据独立性最高的是( )。(C)

A. 人工管理

B. 文件系统

C. 数据库系统

D. 数据模型

解析:在人工管理阶段,数据无法共享,冗余度大,不独立,完全依赖程序;在文件系统阶段,数据共享性差;在数据库系统阶段,共享性好,独立性高。

6.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是(  )。(D)

A. 大写字母

B. 下划线

C. 数字字符

D. 连接符

解析:C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。所以D)选项中的连接符不合法。

7.以下叙述中不正确的是( )。(D)

A. 在不同的函数中可以使用相同的名字的变量

B. 函数中的形式参数是局部变量

C. 在一个函数内定义的变量只在本函数范围内有效

D. 在一个函数内的复合语句中定义的变量在本函数范围内有效

解析:此题考查的是变量的作用范围。选项D)中,在一个函数的复合语句中定义的变量是局部变量,只在定义此变量的复合语句内有效,并不是在整个函数体内都有效。

8.下列说法正确的是( )。(D)

A. int(**def)[10];—-def指向一个指针,该指针指向10个整型变量构成的数组

B. int*(*gh[10]);—gh指向一个指针,该指针指向10个整型变量构成的数组

C. int*(*gh[10]);—gh是一个指针,指向由10个指向整型变量的指针构成的数组

D. A,C均正确

解析:int*(*gh[10]);—gh是一个指针,指向由10个指向整型变量的指针构成的数组,int(*ef)[10];—def指向一个指针,该指针指向10个整型变量构成的数组。

9.已知下列函数定义:

fun(int*b,int c,int n,int data)

{int k;

for(k=0;k<m*n;k++)

{*b=data;

b++;}

}

则调用此函数的正确写法是(假设变量a的说明为

int a[50])( )。(D)

A. fun(*a,4,5,1);

B. fun(&a,4,5,1);

C. fun((int*)a,4,5,1);

D. fun(a,4,5,1);

解析:本题考查函数调用时的参数传递。fun函数的调用形式为fun(int *b,int m,int n,int data),而调用数组时,用数组名表示一个指向数组第一个元素的指针,因此调用时的形式为fun(a,4,5,1)。

10.在软件生产过程中,需求信息的来源是( )。(D)

A. 程序员

B. 项目经理

C. 设计人员

D. 软件用户

解析:软件需求是指用户对目标软件系统在功能、性能、设计约束等方面的要求,是由用户提出的。

11.有以下程序:

#include<stdio.h>

main()

{int a[]={1,2,3,4),y,*p=&a[3];

–p;y=*p;printf(\\(D)

A. y=0

B. y=1

C. y=2

D. y=3

解析:程序首先定义了一个一维数组和指针,接着将数组第4个元素的地址赋给*p,进行–p使指针p指向了数组的第3个元素;通过y=*p,将数组第3个元素的值3赋给了y,所以选项D)正确。

12.有以下程序:

#include <stdio.h>

int f(int n);

main()

{  int a=3,s;

  s=f(a);s=s+f(a); printf(\\(A)

A. 9

B. 8

C. 7

D. 10

解析:题目中静态局部变量a,在静态存储区内分配存储单元,在程序整个运行期间都不释放。

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号