您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> C语言 >> 模拟题 >> 正文    
  全国计算机等级考试二级C语言模拟试题4 【注册男护士专用博客】          

全国计算机等级考试二级C语言模拟试题4

www.nanhushi.com     佚名   不详 

答案

一、选择题(每题2分,共计70分)

1.在深度为5的满二叉树中,叶子结点的个数为
A)32
B)31
C)16
D)15
A       B       C       D      
2.若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是
A)bdgcefha
B)gdbecfha
C)bdgaechf
D)gdbehfca
A       B       C       D      
3.一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归
调用中的存储分配通常用
A)栈
B)堆
C)数组
D)链表
A       B       C       D      
4.软件工程的理论和技术性研究的内容主要包括软件开发技术和
A)消除软件危机
B)软件工程管理
C)程序设计自动化
D)实现软件可重用
A       B       C       D      
5.开发软件时对提高开发人员工作效率至关重要的是
A)操作系统的资源管理功能
B)先进的软件开发工具和环境
C)程序人员的数量
D)计算机的并行处理能力
A       B       C       D      

答案
6.在软件测试设计中,软件测试的主要目的是
A)实验性运行软件
B)证明软件正确
C)找出软件中全部错误
D)发现软件错误而执行程序
A       B       C       D      
7.数据处理的最小单位是
A)数据
B)数据元素
C)数据项
D)数据结构
A       B       C       D      
8.索引属于
A)模式
B)内模式
C)外模式
D)概念模式
A       B       C       D      
9.下述关于数据库系统的叙述中正确的是
A)数据库系统减少了数据冗余
B)数据库系统避免了一切冗余
C)数据库系统中数据的一致性是指数据类型一致
D)数据库系统比文件系统能管理更多的数据
A       B       C       D      
10.数据库系统的核心是
A)数据库
B)数据库管理系统
C)模拟模型
D)软件工程
A       B       C       D      

答案
11.C语言规定,在一个源程序中,main函数的位置
A)必须在最开始
B)必须在系统调用的库函数的后面
C)可以任意
D)必须在最后
A       B       C       D      
12.下列数据中,不合法的C语言实型数据的是
A)0.123
B)123e3
C)2.1e3.5
D)789.0
A       B       C       D      
13.下面4个选项中,均是不合法的用户标识符的选项是
A)AP_0do
B)floatla0_A
C)b-agotoint
D)_123tempint
A       B       C       D      
14.设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为
A)int
B)float
C)double
D)不确定
A       B       C       D      
15.能正确表示逻辑关系:"a≥10或a≤0"的C语言表达式是
A)a>=10 or a<=0
B)a>=0|a<=10
C)a>=10 &&a<=0
D)a>=10‖a<=0
A       B       C       D      

答案
16.设以下变量均为int类型,表达式的值不为7的是
A)(x=y=6,x+y,x+1)
B)(x=y=6,x+y,y+1)
C)(x=6,x+1,y=6,x+y)
D)(y=6,y+1,x=y,x+1)
A       B       C       D      
17.若有说明:int *p,m=5,n;以下正确的程序段是
A)p=&n;scanf("%d",&p);
B)p=&n;scanf("%d",*p)
C)scanf("%d",&n);*p=n;
D)p=&n;*p=m;
A       B       C       D      
18.若变量a是int类型,并执行了语句:a=′A′+1.6;,则正确的叙述是
A)a的值是字符C
B)a的值是浮点型
C)不允许字符型和浮点型相加
D)a的值是字符′A′的ASCII值加上1
A       B       C       D      
19.有如下程序
main()
{
int a=2,b=-1,c=2;
if(aif(b<0)c=0;
else c++;
printf("%d\n",c);
}
该程序的输出结果是
A)0
B)1
C)2
D)3
A       B       C       D      
20.有如下程序
main()
{
int x=23;
do
{ printf("%d",x--);} while(!x);
}
该程序的执行结果是
A)321
B)23
C)不输出任何内容
D)陷入死循环
A       B       C       D      

答案
21.有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。下面程序是求这堆零件总数,在划线处应填入的选项是
#include
main()
{
int i;
for(i=100;i<200;i++)
if((i-2)%4==0)
if(!((i-3)%7))
if()
printf("%d",i);
}
A)i%9=5
B)i%9!=5
C)(i-5)%9!=0
D)(i-5)%9==0
A       B       C       D      
22.若变量c为char类型,能正确判断出c为小写字母的表达式是
A)′a′<=c<=′z′
B)(c>=′a′)||(c<=′z′)
C)(′a′<=c)and(′z′>=c)
D)(c>=′a′)&&(c<=′z′)
A       B       C       D      
23.下面程序段的运行结果是
char a[]="lanuage",*p;
p=a;
while(*p!=′u′){printf("%c",*p-32);p++;}
A)LANGUAGE
B)language
C)LAN
D)langUAGE
A       B       C       D      
24.下面程序段的运行结果是
char str[]="ABC",*p=str;
printf("%d\n",*(p+3));
A)67
B)0
C)字符′C′的地址
D)字符′C′
A       B       C       D      
25.以下不正确的定义语句是
A)double x[5]={2.0,4.0,6.0,8.0,10.0};
B)int y[5.3]={0,1,3,5,7,9};
C)char c1[]={′1′, ′2′, ′3′, ′4′, ′5′};
D)char c2[]={′\x10′, ′\xa′, ′\x8′};
A       B       C       D      

答案
26.有以下语句,则对a数组元素的引用不正确的是(0≤i≤9)
int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
A)a[p-a]
B)*(&a[i])
C)p[i]
D)*(*(a+i))
A       B       C       D      
27.当说明一个结构体变量时系统分配给它的内存是
A)各成员所需内存量的总和
B)结构中第一个成员所需内存量
C)成员中占内存量最大者所需的容量
D)结构中最后一个成员所需内存量
A       B       C       D      
28.有以下程序
fun(int x,int y,int z)
{ z=x*y;}
main()
{
int a=4,b=2,c=6;
fun(a,b,c);
printf("%d",c);
}
程序运行后的输出结果是
A)16
B)6
C)8
D)12
A       B       C       D      
29.函数fun的返回值是
fun(char *a,char *b)
{
int num=0,n=0;
while(*(a+num)!=′\0′)num++;
while(b[n]){*(a+num)=b[n];num++;n++;}
return num;
}
A)字符串a的长度
B)字符串b的长度
C)字符串a和b的长度之差
D)字符串a 和b的长度之和
A       B       C       D      
30.以下叙述中不正确的是
A)预处理命令行都必须以#号开始
B)在程序中凡是以#号开始的语句行都是预处理命令行
C)宏替换不占用运行时间,只占编译时间
D)在以下定义是正确的: #define PI 3.1415926;
A       B       C       D      

答案
31.下列程序的输出结果是
main()
{
int a[5]={2,4,6,8,10},*p,**k;
p=a;
k=&p;
printf("%d",*(p++));
printf("%d\n",**k);
}
A)4
B)22
C)24
D)46
A       B       C       D      
32.下面程序段的运行结果是
char *p="abcdefgh";
p+=3;
printf("%d\n",strlen(strcpy(p,"ABCD")));
A)8
B)12
C)4
D)7
A       B       C       D      
33.下列函数的运行结果是
main()
{
int i=2,p;
int j,k;
j=i;
k=++i;
p=f(j,k);
printf("%d",p);
}
int f(int a,int b)
{
int c;
if(a>b)c=1;
else if(a==b)c=0;
else c=-1;
return(c);
}
A)-1
B)1
C)2
D)编译出错,无法运行
A       B       C       D      
34.已知函数的调用形式:fread(buf,size,count,fp),参数buf的含义是
A)一个整型变量,代表要读入的数据项总数
B)一个文件指针,指向要读的文件
C)一个指针,指向要读入数据的存放地址
D)一个存储区,存放要读的数据项
A       B       C       D      
35.有如下程序
#define N2
#define MN+1
#define NUM2*M+1
main()
{
int i;
for(i=1;i<=NUM;i++)printf("%d\n",i);
}
该程序中的for循环执行的次数是
A)5
B)6
C)7
D)8
A       B       C       D      

答案

二、填空题(每空2分,共计30分)

1.在树形结构中,树根结点没有 【1】 。
输入答案,中间不含空格:
2.Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向 【2】 的设计方法。
输入答案,中间不含空格:
3.面向对象的模型中,最基本的概念是对象和 【3】 。
输入答案,中间不含空格:
4.软件设计模块化的目的是 【4】 。
输入答案,中间不含空格:
5.数据模型按不同应用层次分成3种类型,它们是概念数据模型、 【5】 和物理数据模型。
输入答案,中间不含空格:

答案
6.以下程序段的输出结果是 【6】
main ()
{
int a=2,b=3,c=4;
a*=16+(b++)-(++c);
printf("%d",a);
}
输入答案,中间不含空格:
7.若变量n中的值为24,则print()函数共输出 【7】 行,最后一行有 【8】 个数。
void print (int n,int aa[])
{
int i;
for (i=1; i<1;i++)
{
printf ("m", aa[i]);
if(!(i%5)) printf ("\n");
}
printf ("\n");
}
输入答案,中间不含空格:
8.设i,j,k均为int型变量,则执行完下面的for语句后,k的值为 【9】 。
for(i=0, j=10; i<=j; i++, j--)k=i+j;
输入答案,中间不含空格:
9.下面函数的功能是找出一维数组元素中最大的值和它所在的下标,最大值的和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。请填空。
#include
#include
void fun(int a[],int n, int *max, int *d)
{
int i;
*max=a[0];
*d=0;
for(i=0; 【10】 ;i++)
if(*max< 【11】 )
{*max=a[i];*d=i;}
}
main()
{
int i, x[20], max, index, n=10;
randomize();
for(i=0;i {
x[i]=rand()P; printf("M",x[i]);
}
printf("\n");
fun(x,n,&max,&index);
printf("Max=],Index=M\n",max,index);
}
输入答案,中间不含空格:
10.以下程序的输出结果是 【12】 。
void fun()
{
static int a=0;
a+=2; printf("%d",a);
}
main()
{
int cc;
for(cc=1;cc<4;cc++)fun();
printf("\n");
}
输入答案,中间不含空格:

答案
11.以下程序的输出结果是 【13】 。
#define MAX(x,y)(x)>(y)?(x):(y)
main()
{
int a=5,b=2,c=3,d=3,t;
t=MAX(a+b,c+d)*10;
printf("%d\n",t);
}
输入答案,中间不含空格:
12.用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。
st=(char*) 【14】 ;
输入答案,中间不含空格:
13.以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。
FILE *myf; long f1;
myf= 【15】 ("test.t","rb");
fseek(myf,0,SEEK_END); f1=ftell(myf);
fclose(myf);
printf("%d\n",f1);
输入答案,中间不含空格:

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目