二级C语言笔试-462-真题-无答案_第1页
二级C语言笔试-462-真题-无答案_第2页
二级C语言笔试-462-真题-无答案_第3页
二级C语言笔试-462-真题-无答案_第4页
二级C语言笔试-462-真题-无答案_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

二级C语言笔试-462(总分104,考试时间90分钟)一、选择题1.下列叙述中正确的是(

)。

A.对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n

B.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为n/2

C.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为log2n

D.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为nlog2n2.下列叙述中,不符合良好程序设计风格要求的是

A)程序的效率第一,清晰第

B)程序的可读性好

C)程序中要有必要的注释

D)输入数据前要有提示信息3.数据库技术的根本目标是要解决数据的(

)。

A)存储问题

B)共享问题

C)安全问题

D)保护问题4.为了使模块尽可能独立,要求(

)。

A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强

B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱

C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱

D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强5.设有如下关系表,由关系R和S通过运算得到关系T,则所使用的运算为(

)。

A)T=R∩S

B)T=R∪S

C)T=R×S

D)T=R/S6.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为

A)课号,成绩

B)学号,成绩

C)学号,课号

D)学号,姓名,成绩7.关系代数运算是以______为基础的运算。

A)关系运算

B)谓词运算

C)集合运算

D)代数运算8.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是______。

A)DB包含DBS和DBMS

B)DBMS包含DB和DBS

C)DBS包含DB和DBMS

D)没有任何关系9.设有定义下列:

inta=1,b=2,c=3,d=4,m=2,n=2;

则表达式(m=a>B)&&(n=c>D)运算后,n的值是(

)。

A)4

B)3

C)2

D)010.以下4个选项,不能看作一条语句的是(

)。

A);

B)intx=0,y=1,z=0;

C)if(!a);

D)if(b==0)m=1;n=2;11.表示关系a≤b≤c的C语言表达式为(

)。

A)(a<=b)&&(b<=c)

B)(a<=b)and(b<=c)

C)(a<=b<=c)

D)(a<=b)&(b<=c)12.若有定义语句:intx=10;则表达式x-=x+x的值为

A)-20

B)-10

C)0

D)1013.有以下程序段

char

ch;

int

k

ch='a';

k=12;

printf("%c,%d,",ch,ch,k);

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

已知字符a的ASCII码值为97,则执行上述程序段后输出结果是

A)因变量类型与格式描述符的类型不匹配输出无定值

B)输出项与格式描述符个数不符,输出为零值或不定值

C)a,97,12k=12

D)a,97,k=1214.在执行下述程序时,若从键盘输入6和8,则结果为

main()

inta,b,s;

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

S=a

if(a<b)

s=b;

S*=S;

printf("%d",s);

A)36

B)64

C)48

D)以上都不对15.有以下程序:

#include<stdio.h>

main()

intx[]=1,3,5,7,2,4,6,0,i,j,k;

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

for(j=2;j>=i;j—)

if(x[j+1]>x[j])k=x[j];x[j]=x[j+1];x[j+1]=k;

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

for(j=4;j<7-i;j++)

if(x[j]>x[j+1])k=x[j];x[j]=x[j+1];x[j+1]=k;

for(i=0;i<8;i++)printf("%d",x[i]);

prinff("\n");程序运行后的输出结果是(

)。A)75310246

B)01234567

C)76310462

D)1357024616.有下列程序:

fun(intx,inty)return(x+y);

main()

inta=1,b=2,c=3,sum;

sum=fun((a++,b++,a+b),c++);

printf("%d\n",sum);

执行后的输出结果是(

)。

A)6

B)7

C)8

D)917.下列程序的运行结果是(

)。

#include<stdio.h>

main()

inta=0,b=4,c=0,d=10,x;

if(a)

d=d-10;

else

if(!b)

if(!c)

x=15;

else

x=25;

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

A)5

B)3

C)20

D)1018.下列程序的输出结果是(

)。

intf1(intx,inty)returnx>y?x:y;

intf2(intx,inty)returnx>y?y:x;

main()

inta=4,b=3,c=5,d=2,e,f,g;

e=f2(f1(a,B),f1(c,D));

f=f1(f2(a,B),f2(c,D));

g=a+b+C+d-e-f;

phntf("%d,%d,%d\n",e,f,g);

A)4,3,7

B)3,4,7

C)5,2,7

D)2,5,719.若有下列定义,则对a数组元素地址的正确引用是(

)。inta[5],*p=a;

A)p+5

B)a+1

C)&a+1D)&a[0]20.以下程序的输出结果是______。

main()

inta[4][4]=1,3,5,2,4,6,3,5,7;

printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);

A)0650

B)1470

C)5430

D)输出值不定21.已有定义:chara[]="xyz",b[]='x','y','z';,下列叙述中正确的是(

)。

A)数组a和b的长度相同

B)a数组长度小于b数组长度

C)a数组长度大于b数组长度

D)上述三种说法都不对22.以下程序输出的结果是

#include<stdio.h>

#include<string.h>

main()

charw[][10]="ABCD","EFGH","IJKL","MNOP"1,k;

for(k=1;k<3;k++)

printf("%s\n",&w[k][k]);

A)ABCD

FGH

KL

B)ABC

EFG

U

M

C)EFG

JK

0

D)FGH

KL23.已知下列函数定义:

fun(int%,intc,intn,intdata)

intk;

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

*b=data;

b++;

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

)。

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);24.下列程序的运行结果为(

)。

#include<stdio.h>

voidabc(Char*str)

inta,b,i,j;

for(i=j=0;str[i]!='\0';i++)

if(str[i]!='a')

str[j++]=str[i];

str[j]='\0';

voidmain()

charstr[]="abcdef";

abc(str);

printf("str[]=%s",str);

A)str[]=bcdef

B)str[]=abcdef

C)str[]=a

D)str[]=ab25.有以下程序main()inta[]=2,4,6,8,10,y=0,x,*p;p=&a[1];for(x=1;x<3;x++)y+=p[x];printf("%d\n",y);程序运行后的输出结果是________。(A)10(B)11(C)14(D)1526.在C语言中,函数返回值的类型最终取决于(

)。

A)函数定义时在函数首部所说明的函数类型

B)return语句中表达式值的类型

C)调用函数时主调函数所传递的实参类型

D)函数定义时形参的类型27.以下程序运行后的输出结果是

#include<stdio.h>

main()

inta[]=2,3,5,4,i;

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

switch(i%2)

case0:switch(a[i]%2)

case0:a[i]++:break;

case1:a[i]--;

break;

casei:a[i]=0;

for(i=0;i<4;i++)printf("%d",a[i]);printf("\n");

A)3344

B)2050

C)3040

D)030428.设变量已正确定义,则下列能正确计算f=n!的程序段是(

)。

A)f=0;

for(i=1;i<=n;i++)f*=i;

B)f=1;

for(i=1;i<n;i++)f*=i;

C)f=1;

for(i=n;i>1;i++)f*=i;

D)f=1;

for(i=n;i>=2;i--)f*=i;29.以下叙述中正确的是(

)。

A)C程序中注释部分可以出现在程序中任意合适的地方

B)花括号“”和“”只能作为函数体的定界符

C)构成C程序的基本单位是函数,所有函数名都可以由用户命名

D)分号是C语句之间的分隔符,不是语句的一部分30.有下列程序:

#include<stdio.h>

voidfun(inta[],intn)

inti,t;

for(i=0;i<n/2;i++)t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;

main()

intk[10]=(1,2,3,4,5,6,7,8,9,10),i;

fun(k,5);

for(i=2;i<8;i++)printf("%d",k[i]);

printf("\n");

程序的运行结果是(

)。

A.345678

B.876543

C.1098765

D.32167831.设有如下的程序段:

charstr[]="HelloWorld";

char*ptr;

ptr=str;

执行上面的程序段后,*(ptr+10)的值为(

)。

A)'\0'

B)'0'

C)不确定的值

D)'0'的地址32.有以下程序:

main(intargc,char*argv[])

intn=0,i;

for(i=1;i<argc;i++)

n=n*10+argv[i]-'0';

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

编绎连接后生成可执行文件tt.exe.若运行时输入以下命令行

tt

12

345

678

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

A)12

B)12345

C)12345678

D)13633.下列程序段的输出结果为(

)。

#include<stdio.h>

main()

staticchara[]="language";

char*p;

p=a;

for(p=a;p<a+8;p+=2)

putchar(*p);

A)language

B)lnug

C)有语法错误

D)lang34.以下程序运行后的输出结果是

#include<stdio.h>

#include<string.h>

typedefstruetcharname[9];charsex;floatscore[2];STU;

voidf(STUa)

STUb="Zhao",'m',85.0,90.0;

inti;

strcpy(,);

a.sex=b.sex;

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

a.score[i]=b.score[i];

main(

)

STUc="Qian",'f',95.0,92.0;

f(c);

printf("%s,%c,%2.0f,%2.0f\n",,c.sex,c.score[0],c.score[1]);

A)Qian,f,95,92

B)Qian,m,85,90

C)Zhao,f,95,92

D)Zhao,m,85,9035.下面程序段中C的二进制值是______。

chara=3,b=6.c:

c=a^b<<1;

A)00001011

B)00001111

C)00011110

D)0001110036.有以下程序intfun(intx[],intn)staticintsum=0,i;for(i=0;i<N;i++)  SUM+=X[I];

return

sum;main()inta[]=1,2,3,4,5,b[]=6,7,8,9,s=0;s=fun(a,5)+fun(b,4);printf("%d\n",s);程序执行后的输出结果是______。(A)45(B)50(C)60(D)5537.有以下程序:

intf(intb[][4])

inti,j,s=0;

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

i=j;

if(i>2)i=3-j;

S+=b[i][j];

returns;

main()

inta[4][4]=1,2,3,4,0,2,4,6,3,6,9,12,3,2,1,0;

printf("%d\n",f(a));

执行后的输出结果是______。

A)12

B)11

C)18

D)1638.函数Rell(fp)的作用是(

)。

A)得到fp所指向文件的当前读写位置

B)初始化流式文件的位置指针

C)移动流式文件的位置指针

D)以上3种答案均正确39.下面程序的运行结果是(

)。

#include

<stdio.h>

main()

inta=1,b=10;

do

b-=a;a++;while(b--<0);

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

A)a=3,b=11

B)a=2,b=8

C)a=1,b=-1

D)a=4,b=940.有以下程序:#include<stdio.h>intf1(intx,inty)returnx>y?x:y;intf2(imx,inty)returnx>y?y:x;main()

inta=4,b=3,c=5,d=2,e,f,g;

e=f2(f1(a,b),f1(c,d));f=f1(f2(a,b),f2(e,d));g=a+b+e+d-e-f;

printf("%d,%d,%d\n",e,f,g);程序运行后的输出结果是(

)。A)4,3,7

B)3,4,7

C)5,2,7

D)2,5,7二、填空题41.在程序设计阶段应该采取______和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。42.排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、_______和选择排序等。43.深度为5的满二叉树有______个叶子结点。44.数据流图的类型有

和事务型。45.程序测试分为静态测试和动态测试。其中______是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。46.数据结构分为逻辑结构和存储结构,循环队列属于

结构。47.表达式1/2*(int)3.7/(int)(2.4*(1.5+2.5))值的数据类型为______。48.以下程序运行后的输出结果是

。#include

<stdio.h>main()

intp[7]=11,13,14,15,16,17,18;

inti=0,j=0;

while(i<7&&p[i]%2==1)j+=p[i++];

prinff("%d\\n",j);49.以下程序的功能是:将输入的正整数按逆序输出。例如:若输入135,则输出531,请填空。

#include<stdio.h>

main()

intn,s;

printf("Enteranumber:");scanf("%d",&n);

printf("Output:");

do

s=n%10;printf("%d",s);______;

while(n!=0);

printf("\n");

50.有以下程序

#include<stdio.h>

main()

inta[]=1,2,3,4,5,6,*k[3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论