计算机等级考试 二级C语言 笔试模拟试题 人邮一.docx
《计算机等级考试 二级C语言 笔试模拟试题 人邮一.docx》由会员分享,可在线阅读,更多相关《计算机等级考试 二级C语言 笔试模拟试题 人邮一.docx(18页珍藏版)》请在冰豆网上搜索。
![计算机等级考试 二级C语言 笔试模拟试题 人邮一.docx](https://file1.bdocx.com/fileroot1/2023-1/23/29f87525-4be6-4b64-8420-5be493a50293/29f87525-4be6-4b64-8420-5be493a502931.gif)
计算机等级考试二级C语言笔试模拟试题人邮一
一、选择题本题共得(0)分
软件生命周期中花费费用最多的阶段是
A)详细设计
B)软件编码
C)软件测试
D)软件维护
考生答案:
正确答案:
D
为了提高测试的效率,应该
A)随机选取测试数据
B)取一切可能的输入数据作为测试数据
C)在完成编码以后制定软件的测试计划
D)集中对付那些错误群集的程序
考生答案:
正确答案:
D
以下不是面向对象思想中的主要特征的是
A)多态
B)继承
C)封装
D)垃圾回收
考生答案:
正确答案:
D
下列叙述中,不符合良好程序设计风格要求的是
A)程序的效率第一,清晰第二
B)程序的可读性好
C)程序中要有必要的注释
D)输入数据前要有提示信息
考生答案:
正确答案:
A
软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指
A)模块间的关系
B)系统结构部件转换成软件的过程描述
C)软件层次结构
D)软件开发过程
考生答案:
正确答案:
B
数据处理的最小单位是
A)数据
B)数据元素
C)数据项
D)数据结构
考生答案:
正确答案:
C
假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为
A)log2n
B)n2
C)O(n1..5)
D)n(n-1)/2
考生答案:
正确答案:
D
在深度为5的满二叉树中,叶子结点的个数为
A)32
B)31
C)16
D)15
考生答案:
正确答案:
C
数据库系统的核心是
A)数据库
B)数据库管理系统
C)模拟模型
D)软件工程
考生答案:
正确答案:
B
一个关系中属性个数为1时,称此关系为
A)对应关系
B)单一关系
C)一元关系
D)二元关系
考生答案:
正确答案:
C
下面各选项中,均是C语言合法标识符的选项组是
A)33weauto
B)_23me_3ew
C)_433e_else
D)ER-DF32
考生答案:
正确答案:
B
可在C程序中用作用户标识符的一组标识符是
A)andB)DateC)HiD)case
_2007y-m-dDr.TomBigl
考生答案:
正确答案:
A
以下对C语言函数的有关描述中,正确的是
A)在C语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参
B)C函数既可以嵌套定义又可以递归调用
C)函数必须有返回值,否则不能使用函数
D)函数必须有返回值,返回值类型不定
考生答案:
正确答案:
A
若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是
A)函数的实参和其对应的形参共占同一存储单元
B)形参只是形式上的存在,不占用具体存储单元
C)同名的实参和形参占同一存储单元
D)函数的形参和实参分别占用不同的存储单元
考生答案:
正确答案:
D
现有定义inta;doubleb;floatc;chark;,则表达式a/b+c-k值的类型为:
A)int
B)double
C)float
D)char
考生答案:
正确答案:
B
以下关于long、int和short类型数据占用内存大小的叙述中正确的是
A)均占4个字节
B)根据数据的大小来决定所占内存的字节数
C)由用户自己定义
D)由C语言编译系统决定
考生答案:
正确答案:
D
有以下程序段
intj;floaty;charname[50];
scanf("%2d%f%s",&j,&y,name);
当执行上述程序段,从键盘上输入555667777abc后,y的值为
A)55566.0
B)566.0
C)7777.0
D)566777.0
考生答案:
正确答案:
B
若变量已正确定义,有以下程序段
i=0;
doprintf("%d,",i);while(i++);
printf("%d\n",i);
其输出结果是
A)0,0
B)0,1
C)1,1
D)程序进入无限循环
考生答案:
正确答案:
B
下列程序的运行结果是
#include"stdio.h"
main()
{intx=-9,y=5,z=8;
if(xif(y<0)z=0;
elsez+=1;
printf("%d\n",z);}
A)6
B)7
C)8
D)9
考生答案:
正确答案:
D
若程序执行时的输入数据是"2473",则下述程序的输出结果是
#include
voidmain()
{intcs;
while((cs=getchar())!
=;'\n')
{switch(cs-'2')
{case0
case1:
putchar(cs+4);
case2:
putchar(cs+4);
break;
case3:
putchar(cs+3);default:
putchar(cs+2);}}}
A)668977
B)668966
C)6677877
D)6688766
考生答案:
正确答案:
A
以下程序的输出结果是
main()
{inta,i;a=0;
for(i=1;i<5;i++)
{switch(i)
{case0:
case3:
a+=2;
case1:
case2:
a+=3;
default:
a+=5;}
}printf("%d\n",a);}
A)31
B)13
C)10
D)20
考生答案:
正确答案:
A
现有如下程序段
#include"stdio.h"
main()
{intk[30]={12,324,45,6,768,98,21,34,453,456};
intcount=0,i=0;
while(k[i])
{if(k[i]%2==0||k[i]%5==0)count++;
i++;}
printf("%d,%d\n",count,i);}
则程序段的输出结果为
A)7,8
B)8,8
C)7,10
D)8,10
考生答案:
正确答案:
D
若有以下程序
#include
inta[]={2,4,6,8};
main()
{inti;
int*p=a;
for(i=0;i<4;i++)a[i]=*p;
printf("%d\n",a[2]);}
上面程序的输出结果是
A)6
B)8
C)4
D)2
考生答案:
正确答案:
D
有以下程序
#include
main()
{inti,j,m=55;
for(i=1;i<=3;i++)
for(j=3;j<=i;j++)m=m%j;
printf("%d\n",m);
}
程序的运行结果是
A)0
B)1
C)2
D)3
考生答案:
正确答案:
B
已知字符′A′的ASCII码值是65,字符变量cl的值是′A′,c2的值是′D′。
执行语句printf("%d,%d",c1,c2-2);后,输出结果是
A)A,B
B)A,68
C)65,66
D)65,68
考生答案:
正确答案:
C
下列程序是用来判断数组中特定元素的位置所在的。
#include
#include
intfun(int*s,intt,int*k)
{inti;
*k=0;
for(i=0;iif(s[*k]
returns[*k];}
main()
{inta[10]={876,675,896,101,301,401,980,431,451,777},k;
fun(a,10,&k);
printf("%d,%d\n",k,a[k]);}
如果输入如下整数:
876675896101301401980431451777
则输出结果为
A)7,431
B)6
C)980
D)6,980
考生答案:
正确答案:
D
下面程序的文件名为t.exe,在DOS下输入的命令行参数为:
ttomeetme<回车>
则程序输出的结果是
#include"stdio.h"
main(argc,argv)
intargc;char*argv[];
{inti;
printf("%d\n",argc);}
A)3
B)4
C)2
D)以上答案都不正确
考生答案:
正确答案:
B
有如下程序
inta[10]={1,2,3,4,5,6,7,8,9,10};
int*p=&a[3],b;b=p[5];
则b的值是
A)5
B)6
C)9
D)8
考生答案:
正确答案:
C
以下叙述中错误的是
A)改变函数形参的值,不会改变对应实参的值
B)函数可以返回地址值
C)可以给指针变量赋一个整数作为地址值
D)当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL
考生答案:
正确答案:
C
下面程序的输出结果是
#include
main()
{inta[]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%d\n",*p+9);}
A)0
B)1
C)10
D)9
考生答案:
正确答案:
C
有下面程序段
#include"stdio.h"
#include"string.h"
main()
{chara[3][20]={{"china"},{"isa"},{"bigcountry!
"}};
chark[100]={0},*p=k;
inti;
for(i=0;i<3;i++)
{p=strcat(p,a[i]);}
i=strlen(p);
printf("%d\n",i);}
则程序段的输出结果是
A)18
B)19
C)20
D)21
考生答案:
正确答案:
B
若有定义:
char*st="howareyou";,下列程序段中正确的是
A)chara[11],*p;strcpy(p=a+1,&st[4]);
B)chara[11];strcpy(++a,st);
C)chara[11];strcpy(a,st);
D)chara[],*p;strcpy(p=&a[1],st+2);
考生答案:
正确答案:
A
有以下程序
#include
intfun(chars[])
{intn=0;
while(*s<=′9′&&*s>=′0′){n=10*n+*s-′0′;s++;}
return(n);
}
main()
{chars[10]={′6′,′1′,′*′,′4′,′*′,′9′,′*′,′0′,′*′};
printf("%d\n",fun(s));
}
程序的运行结果是
A)9
B)61490
C)61
D)5
考生答案:
正确答案:
C
设有定义:
charp[]={′1′,′2′,′3′},*q=p;,以下不能计算出一个char型数据所占字节数的表达式是
A)sizeof(p)
B)sizeof(char)
C)sizeof(*q)
D)sizeof(p[0])
考生答案:
正确答案:
A
有以下函数
intaaa(char*s)
{char*t=s;
while(*t++);
t--;
return(t-s);
}
以下关于aaa函数的功能的叙述正确的是
A)求字符串s的长度
B)比较两个串的大小
C)将串s复制到串t
D)求字符串s所占字节数
考生答案:
正确答案:
A
当用户要求输入的字符串中含有空格时,应使用的输入函数是
A)scanf()
B)getchar()
C)gets()
D)getc()
考生答案:
正确答案:
C
下列选项中错误的说明语句是
A)chara[]={′t′,′o′,′y′,′o′,′u′,′\0′};
B)chara[]={"toyou\0"};
C)chara[]="toyou\0";
D)chara[]=′toyou\0′;
考生答案:
正确答案:
D
以下程序的输出结果是
intf()
{staticinti=0;
ints=1;
s+=i;i++;
returns;}
main()
{inti,a=0;
for(i=0;i<5;i++)a+=f();
printf("%d\n",a);}
A)20
B)24
C)25
D)15
考生答案:
正确答案:
D
下列程序的输出结果是
#include"stdio.h"
#defineM(x,y)x%y
main()
{inta,m=12,n=100;
a=M(n,m);
printf("%d\n",a--);}
A)2
B)3
C)4
D)5
考生答案:
正确答案:
C
假定当前盘符下有两个如下文本文件:
文件名a1.txta2.txt
内容123#321#
则下面程序段执行后的结果为
#include"stdio.h"
voidfc(FILE*p)
{charc;
while((c=fgetc(p))!
=′#′)putchar(c);}
main()
{FILE*fp;
fp=fopen("a1.txt","r");
fc(fp);
fclose(fp);
fp=fopen("a2.txt","r");
fc(fp);
fclose(fp);
putchar('\n');}
A)123321
B)123
C)321
D)以上答案都不正确
考生答案:
正确答案:
A
二、填空题本题共得(0)分
(1)在树形结构中,树根结点没有【1】。
考生答案:
1.()
正确答案:
1.(前件)
(2)Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向【2】的设计方法。
考生答案:
1.()
正确答案:
1.(数据结构)
(3)面向对象的模型中,最基本的概念是对象和【3】。
考生答案:
1.()
正确答案:
1.(类)
(4)软件设计模块化的目的是【4】。
考生答案:
1.()
正确答案:
1.(降低复杂性)
(5)数据模型按不同应用层次分成3种类型,它们是概念数据模型、【5】和物理数据模型。
考生答案:
1.()
正确答案:
1.(逻辑数据模型)
(6)以下程序运行后的输出结果是【6】。
main()
{intx=0210;printf("%X\n",x);}
考生答案:
1.()
正确答案:
1.(88)
(7)阅读下面程序,则执行后的输出结果是【7】。
#include"stdio.h"
main()
{intx,y,z;
x=1;y=2;z=3;
if(x>y)if(x>z)printf("%d",x);
elseprintf("%d",y);
printf("%d\n",z);}
考生答案:
1.()
正确答案:
1.(3)
(8)阅读下面程序,则程序的执行结果为【8】。
#include"stdio.h"
main()
{inta=30,b=20,z;
z=fun(a+b,a-b);
printf("%d\n",z);}
fun(inta,intb)
{intz;
z=a/b;
returnz;}
考生答案:
1.()
正确答案:
1.(5)
(9)以下程序的输出结果是【9】。
main()
{inty=9;
for(;y>0;y--)
if(y%3==0)
{printf("%d",--y);continue;}}
考生答案:
1.()
正确答案:
1.(852)
(10)下述程序的输出结果是【10】。
#include
intfun(intx)
{intp;
if(x==0‖x==1)
return3;
elsep=x-fun(x-2);
returnp;}
voidmain()
{printf("\n%d",fun(9));}
考生答案:
1.()
正确答案:
1.(7)
(11)以下函数用来在w数组中插入x。
n所指向的存储单元中存放w数组中字符个数。
数组w中的字符已按从小到大的顺序排列,插入后数组w中的字符仍有序。
请填空。
voidfun(char*w,charx,int*n)
{inti,p;
p=0;
w[*n]=x;
while(x>w[p])p++;
for(i=*n;i>p;i--)w[i]=【11】;
w[p]=x;
++*n;}
考生答案:
1.()
正确答案:
1.(w[I-1])
12)mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。
请填空。
intmystrlen(char*str)
{inti;
for(i=0;【12】!
=′\0′;i++);
return(i);}
考生答案:
1.()
正确答案:
1.(*(str+I))
(13)下面程序的输出结果是【13】。
longfun5(intn)
{longs;
if((n==1)‖(n==2))
s=2;
else
s=n+fun5(n-1);
return(s);}
main()
{longx;
x=fun5(4);
printf("%ld\n",x);}
考生答案:
1.()
正确答案:
1.(9)
(14)阅读下列程序,则程序的输出结果为【14】。
#include"stdio.h"
structty
{intdata;
charc;};
main()
{structtya={30,′x′};
fun(a);
printf("%d%c",a.data,a.c);}
fun(structtyb)
{b.data=20;
b.c=′y′;}
考生答案:
1.()
正确答案:
1.(30x)
(15)设有以下定义和语句,则*(*(p+2)+1)的值为【15】。
inta[3][2]={10,20,30,40,50,60},(*p)[2];
p=a;
考生答案:
1.()
正确答案:
1.(60)