试题06.docx

上传人:b****6 文档编号:4273140 上传时间:2022-11-28 格式:DOCX 页数:9 大小:22.11KB
下载 相关 举报
试题06.docx_第1页
第1页 / 共9页
试题06.docx_第2页
第2页 / 共9页
试题06.docx_第3页
第3页 / 共9页
试题06.docx_第4页
第4页 / 共9页
试题06.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

试题06.docx

《试题06.docx》由会员分享,可在线阅读,更多相关《试题06.docx(9页珍藏版)》请在冰豆网上搜索。

试题06.docx

试题06

全国计算机等级考试二级语言全真模拟题(六)

一、选择题

(1)下列叙述中正确的是______。

A)线性表是线性结构  B)栈与队列是非线性结构C)线性链表是非线性结构   D)二叉树是线性结构

(2)非空的循环单链表head的尾结点(由p所指向),满足______。

A)p->next==NULL    B)p==NULLC)p->next=head     D)p=head

(3)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是______。

A)堆排序      B)直接插入排序C)快速排序      D)直接选择排序

(4)对建立良好的程序设计风格,下面描述正确的是______。

A)程序应简单、清晰、可读性好B)符号名的命名只要符合语法

C)充分考虑程序的执行效率D)程序的注释可有可无

(5)下列不属于结构化分析的常用工具的是______。

A)数据流图      B)数据字典C)判定树      D)PAD图

(6)在软件生产过程中,需求信息的给出是______。

A)程序员     B)项目管理者C)软件分析设计人员    D)软件用户

(7)下列工具中为需求分析常用工具的是______。

A)PAD        B)PFDC)N-S        D)DFD

(8)NULL是指______。

A)0      B)空格C)未知的值或无任何值    D)空字符串

(9)数据库的故障恢复一般是由______。

A)数据流图完成的     B)数据字典完成的C)DBA完成的      D)PAD图完成的

(10)下列说法中,不属于数据模型所描述的内容的是______。

A)数据结构      B)数据操作C)数据查询      D)数据约束

(11)C语言程序的基本单位是______。

A)程序行B)语句C)函数D)字符

(12)下面四个选项中,均是合法整型常量的选项是______。

A)160 -0xffff  011B)-0xcdf  01a  0xeC)-01 986,012  0668D)-0x48a  2e5  0x

(13)以下选项中合法的用户标识符是______。

A)longB)_2TestC)3DmaxD)A.dat

(14)假定x和y为double型,则表达式x=2,y=x+3/2的值是______。

A)3.500000B)3C)2.000000D)3.000000

(15)以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x÷y÷z的C语言表达式是______。

A)x/y*zB)x*(1/(y*z))C)x/y*1/zD)x/y/z

(16)设x,y,t均为int型变量,执行语句:

______。

x=y=3;

t=++x||++y;

完成后,y的值为

A)不确定B)4C)3D)1

(17)已知i,j,k为int型变量,若从键盘输入:

1,2,3<回车>,使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是______。

A)scanf("%2d,%2d,%2d",i,j,k);B)scanf("%d%d%d",&i,&j,&k);

C)scanf("%d,%d,%d",&i,&j,&k);D)scanf("i=%d,j=%d,k=%d",&i,&j,&k);

(18)若变量已正确定义并赋值,下面符合C语言语法的表达式是______。

A)m∶=5B)c=b=a=1C)float8%5D)x+5=y+2

(19)下列程序运行的结果是______。

main()

{floatx;

inti;

x=3.6;

i=(int)x;

printf("x=%f,i=%d",x,i);}

A)x=3.600000,i=3B)x=3.6,i=3C)x=3,i=3D)x=3.600000,i=3.000000

(20)若执行下面的程序时,从键盘上输入5和2,则输出结果是______。

main()

{inta,b,k;

scanf("%d,%d",&a,&b);

k=a;

if(a

elsek=b%a;

printf("%d\n",k);}

A)5B)3C)2D)0

(21)C语言中while和do-while循环的主要区别是______。

A)do-while的循环体至少无条件执行一次

B)while的循环控制条件比do-while的循环控制条件更严格

C)do-while允许从外部转到循环体内

D)do-while的循环体不能是复合语句

(22)以下程序的输出结果是______。

main()

{intx=1,y=3;

printf("%d,",x++);

{intx=0;x+=y*2;

printf("%d,%d,",x,y);}

printf("%d,%d\n",x,y);}

A)1,6,3,1,3B)1,6,3,6,3C)1,6,3,2,3D)1,7,3,2,3

(23)下面程序输出的结果是______。

main()

{inti;

inta[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++)

printf("%d",a[2-i][i]);}

A)159B)753C)357D)591

(24)请阅读以下程序:

main()

{inta=5,b=0,c=0;

if(a=b+c)printf("***\n");

elseprintf("$$$\n");}

以上程序______。

A)有语法错不能通过编译B)可以通过编译但不能通过连接

C)输出***D)输出$$$

(25)以下程序的输出结果是______。

main()

{charc=′z′;

printf("%c",c-25);}

A)aB)ZC)z-25D)y

(26)下面函数的功能是______。

char*fun(char*str1,char*str2)

{while((*str1)&&(*str2++=*str1++));

returnstr2;}

A)求字符串的长度B)比较两个字符串的大小

C)将字符串str1复制到字符串str2中D)将字符串str1接续到字符串str2中

(27)下面函数调用语句含有实参的个数为______。

func((exp1,exp2),(exp3,exp4,exp5));

A)1B)2C)4D)5

(28)下面程序段的运行结果是______。

char*s="abcde";

s+=2;printf("%d",s);

A)cdeB)字符′c′C)字符′c′的地址D)无确定的输出结果

(29)已有变量定义和函数调用语句:

inta=25;print_value(&a);下面函数的正确输出结果是______。

voidprint_value(int*x)

{printf("%d\n",++*x);}

A)23B)24C)25D)26

(30)当顺利执行了文件关闭操作时,fclose函数的返回值是______。

A)-1B)TRUEC)0D)1

(31)设有如下定义

char*s[2]={"abcd","ABCD"};

则下列说法错误的是______。

A)s数组元素的值分别是"abcd"和"ABCD"两个字符串的首地址

B)s是指针数组名,它含有两个元素分别指向字符型一维数组

C)s数组的两个元素分别存放的是含有4个字符的一维字符数组中的元素

D)s数组的两个元素中分别存放了字符′a′和′A′的地址

(32)以下不能对二维数组a进行正确初始化的语句是______。

A)inta[2][3]={0};

B)inta[][3]={{1,2},{0}};

C)inta[2][3]={{1,2},{3,4},{5,6}};

D)inta[][3]={1,2,3,4,5,6};

(33)有以下程序

structSTU

{charnum[10];floatscore[3];};

main()

{structSTUs[3]={{"20021",90,95,85},

{"20022",95,80,75},

{"20023",100,95,90},

},*p=s;

inti;floatsum=0;

for(i=0;i<3;i++)

sum=sum+p->score[i];

printf("%6.2f\n",sum);}

程序运行后的输出结果是______。

A)260.00B)270.00C)280.00D)285.00

(34)若有说明:

inta[10];则对a数组元素的正确引用是______。

A)a[10]B)a[3,5]C)a(5)D)a[10-10]

(35)下面程序段中,输出*的个数是______。

char*s="\ta\018bc";

for(;*s!

=′\0′;s++)printf("*");

A)9B)5C)6D)7

(36)设有如下函数

fun(floatx){

printf("\n%d",x*x);}

则函数的类型是______。

A)与参数x的类型相同B)是voidC)是int型D)无法确定

(37)有如下定义

#defineD2

intx=5;floaty=3.83;

charc=′D′;

则下面选项中错误的是______。

A)x++;B)y++;C)c++;D)D++;

(38)以下程序段的执行结果为______。

#definePLUS(X,Y)X+Y

main()

{intx=1,y=2,z=3,sum;

sum=PLUS(x+y,z)*PLUS(y,z);

printf("SUM=%d",sum);}

A)SUM=9B)SUM=12C)SUM=18D)SUM=28

(39)C语言规定,函数返回值的类型是由______。

A)return语句中的表达式类型所决定B)调用该函数时的主调函数类型所决定

C)调用该函数时系统临时决定D)在定义该函数时所指定的函数类型所决定

(40)下列程序的运行结果是______。

voidfun(int*a,int*b)

{int*k;

k=a;a=b;b=k;}

main()

{inta=2004,b=9,*x=&a,*y=&b;

fun(x,y);

printf("%d%d",a,b);}

A)20049B)92004C)00D)编译时出错

(41)下列程序是用来判断数组中特定元素的位置所在。

如果输入如下整数:

876 675 896 101 301 401 980 431 451 777

#include

#include

intfun(int*s,intt,int*k)

{inti;

*k=0;

for(i=0;i

if(s[*k]

returns[*k];}

main(){

inta[10]={876,675,896,101,301,401,980,431,451,777},k;

clrscr();

fun(a,10,&k);

printf("%d,%d\n",k,a[k]);}

则输出结果为______。

A)7,431B)6C)980D)6,980

 (42)C语言结构体类型变量在程序执行期间______。

A)所有成员一直驻留在内存中B)只有一个成员驻留在内存中

C)部分成员驻留在内存中D)没有成员驻留在内存中

(43)下面程序应能对两个整型变量的值进行交换。

以下正确的说法是______。

main()

{inta=10,b=20;

printf("

(1)a=%d,b=%d\n",a,b);

swap(&a,&b);

printf("

(2)a=%d,b=%d\n",a,b);}

swap(intp,intq)

{intt;

t=p;p=q;q=t;}

A)该程序完全正确

B)该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可

C)该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可

D)以上说法都不对

(44)有以下程序

#include

main()

{char*p,*q;

p=(char*)malloc(sizeof(char)*20);q=p;

scanf("%s %s",p,q);printf("%s%s\n",p,q);}

若从键盘输入:

abcdef<回车>,则输出结果是______。

A)defdefB)abcdefC)abcdD)dd

(45)以下程序的输出结果是______。

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)20B)24C)25D)15

(46)已知inta=1,b=3则a^b的值为______。

A)3B)1C)2D)4

(47)如果需要打开一个已经存在的非空文件"Demo"进行修改下面正确的选项是______。

A)fp=fopen("Demo","r");B)fp=fopen("Demo","ab+");

C)fp=fopen("Demo","w+");D)fp=fopen("Demo","r+");

(48)若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是______。

A)fopen("A:

\user\abc.txt","r")B)fopen("A:

\\user\\abc.txt","rt+")

C)fopen("A:

\user\abc.txt","rb")D)fopen("A:

\user\abc.txt","w")

(49)有以下程序

#include

main()

{char*p="abcde\0fghjik\0";

printf("%d\n",strlen(p));}

程序运行后的输出结果是______。

A)12B)15C)6D)5

(50)有以下程序

#include

structNODE

{intnum;structNODE*next;};

main()

{structNODE*p,*q,*r;

p=(structNODE*)malloc(sizeof(structNODE));

q=(structNODE*)malloc(sizeof(structNODE));

r=(structNODE*)malloc(sizeof(structNODE));

p->num=10;q->num=20;r->num=30;

p->next=q;q->next=r;

printf("%d\n",p->num+q->next->num);}

程序运行后的输出结果是______。

A)10B)20C)30D)40

(46)已知inta=1,b=3则a^b的值为______。

A)3B)1C)2D)4

(47)如果需要打开一个已经存在的非空文件"Demo"进行修改下面正确的选项是______。

A)fp=fopen("Demo","r");B)fp=fopen("Demo","ab+");

C)fp=fopen("Demo","w+");D)fp=fopen("Demo","r+");

(48)若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是______。

A)fopen("A:

\user\abc.txt","r")B)fopen("A:

\\user\\abc.txt","rt+")

C)fopen("A:

\user\abc.txt","rb")D)fopen("A:

\user\abc.txt","w")

(49)有以下程序

#include

main()

{char*p="abcde\0fghjik\0";

printf("%d\n",strlen(p));}

程序运行后的输出结果是______。

A)12B)15C)6D)5

(50)有以下程序

#include

structNODE

{intnum;structNODE*next;};

main()

{structNODE*p,*q,*r;

p=(structNODE*)malloc(sizeof(structNODE));

q=(structNODE*)malloc(sizeof(structNODE));

r=(structNODE*)malloc(sizeof(structNODE));

p->num=10;q->num=20;r->num=30;

p->next=q;q->next=r;

printf("%d\n",p->num+q->next->num);}

程序运行后的输出结果是______。

A)10B)20C)30D)40

二、填空题

 

(1)冒泡排序算法在最好的情况下的元素交换次数为【1】。

(2)在最坏情况下,堆排序需要比较的次数为【2】。

(3)若串s="MathTypes",则其子串的数目是【3】。

(4)软件开发环境是全面支持软件开发全过程的【4】集合。

(5)关系数据库的关系演算语言是以【5】为基础的DML语言。

(6)下列y的值是【6】。

inty;y=sizeof(2.25*4);

(7)下列x的值是【7】。

intx;x=sizeof2.25*4;

(8)以下程序的输出结果是【8】。

main()

{inti=010,j=10;

 pirntf("%d,%d\n",i,j);}

(9)下列程序的输出结果为【9】。

main()

{intx=3,y=5;

printf("%d",x=(x--)*(--y));}

(10)以下程序的输出结果是【10】。

fun(intx,inty,intz)

{z=x*x+y*y;}

main()

{inta=31;

fun(6,3,a)

printf("%d",a)}

(11)若有inta=1;intb=2;则a|b的值为【11】。

(12)已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=′a′+′8′-′3′的值为【12】。

(13)若从键盘输入58,则以下程序输出的结果是【13】。

main()

{inta;

scanf("%d",&a);

if(a>50)printf("%d",a);

if(a>40)printf("%d",a);

if(a>30)printf("%d",a);}

(14)下列程序的输出的结果是【14】,【15】。

main()

{inti,jrow,colum,m;

staticintarray[3][3]={{100,200,300},{28,72,-30}{-850,2,6}};

m=array[0][0];for(i=0;i<3;i++)

for(j=0;j<3;j++)

if(array[i][j]<m)

{m=array[i][j];colum=j;row=i;}

printf("%d,%d,%d\n",m,row,colum);}

(15)以下程序中,select函数的功能是:

在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。

请填空。

#defineN3

#defineM3

select(inta[N][M],int*n)

{inti,j,row=1,colum=1;

for(i=0;i

for(j=0;j

if(a[i][j]>a[row][colum]){row=i;colum=j;}

*n=【16】;

return【17】;}

main()

{inta[N][M]={9,11,23,6,1,15,9,17,20},max,n;

max=select(a,&n);

printf("max=%d,line=%d\n",max,n);}

(16)函数my_cmp()的功能是比较字符串s和t的大小,当s等于t时返回0,否则返回s和t的第一个不同字符的ASCII码差值,即s>t时返回正值,当s

请填空。

my_cmp(char*s,char*t)

{while(*s==*t)

{if(*s==′\0′)return0;

++s;++t;

}return【18】;}

(17)若有以下说明和定义语句,则变量w在内存中所占的字节数是【19】。

unionaa{floatx;floaty;charc[6];};

structst{unionaav;floatw[5];doubleave;}w;

(18)"FILE*p"的作用是定义一个文件指针变量,其中的"FILE"是在【20】头文件中定义的。

答案

一、1-5ACBAA6-10DDCCC

11-15CABDA16-20CCBAC

21-25ACBDA26-30CBCDC

31-35CCBDC36-40CDBDA

41-45DADAD46-50CDBDD

二、1、(0)2、(O(nlog2n))3、(46)4、(软件工具)5、(谓词演算))

6、(8)7、(32)8、(8,10)9、(12)10、(31)

11、(3)12、(f)13、(585858)14、(-850,)

16、(row)17、(a[row][colum])18、(*s-*t)19、(34)20、(stdio.h)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1