二级C语言笔试题库.docx

上传人:b****6 文档编号:6881172 上传时间:2023-01-12 格式:DOCX 页数:103 大小:139.74KB
下载 相关 举报
二级C语言笔试题库.docx_第1页
第1页 / 共103页
二级C语言笔试题库.docx_第2页
第2页 / 共103页
二级C语言笔试题库.docx_第3页
第3页 / 共103页
二级C语言笔试题库.docx_第4页
第4页 / 共103页
二级C语言笔试题库.docx_第5页
第5页 / 共103页
点击查看更多>>
下载资源
资源描述

二级C语言笔试题库.docx

《二级C语言笔试题库.docx》由会员分享,可在线阅读,更多相关《二级C语言笔试题库.docx(103页珍藏版)》请在冰豆网上搜索。

二级C语言笔试题库.docx

二级C语言笔试题库

无纸化真考题库试题

(1)

1.程序流程图中带有箭头的线段表示的是(  )。

A)图元关系

B)数据流

C)控制流

D)调用关系

2.结构化程序设计的基本原则不包括(  )。

A)多态性

B)自顶向下

C)模块化

D)逐步求精

3.软件设计中模块划分应遵循的准则是(  )。

A)低内聚低耦合

B)高内聚低耦合

C)低内聚高耦合

D)高内聚高耦合

4.在软件开发中,需求分析阶段产生的主要文档是(  )。

A)可行性分析报告

B)软件需求规格说明书

C)概要设计说明书

D)集成测试计划

5.算法的有穷性是指(  )。

A)算法程序的运行时间是有限的

B)算法程序所处理的数据量是有限的

C)算法程序的长度是有限的

D)算法只能被有限的用户使用

6.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是(  )。

A)快速排序

B)冒泡排序

C)直接插入排序

D)堆排序

7.下列关于栈的叙述正确的是(  )。

A)栈按"先进先出"组织数据

B)栈按"先进后出"组织数据

C)只能在栈底插入数据

D)不能删除数据

8.在数据库设计中,将E-R图转换成关系数据模型的过程属于(  )。

A)需求分析阶段

B)概念设计阶段

C)逻辑设计阶段

D)物理设计阶段

9.有三个关系R、S和T如下:

由关系R和S通过运算得到关系T,则所使用的运算为(  )。

A)并

B)自然连接

C)笛卡尔积

D)交

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

A)课号,成绩

B)学号,成绩

C)学号,课号

D)学号,姓名,成绩

11.以下叙述中错误的是(  )。

A)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令

B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件

C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中

D)C语言源程序经编译后生成后缀为.obj的目标程序

12.以下选项中,合法的一组C语言数值常量是(  )。

A)12. 0Xa23 4.5e0

B)028 .5e-3 -0xf

C).177 4e1.5 0abc

D)0x8A 10,000 3.e5

13.以下选项中不合法的标识符是(  )。

A)&a

B)FOR

C)print

D) 00

14.若有代数式

(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是(  )。

A)sqrt(fabs(pow(n,x)+exp(x)))

B)sqrt(fabs(pow(n,x)+pow(x,e)))

C)sqrt(abs(n^x+e^x))

D)sqrt(fabs(pow(x,n)+exp(x)))

15.若有定义:

doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是(  )

A)i=(a+k)<=(i+k);

B)i=a%11;

C)a=a++,i++

D)i=!

a;

16.有以下程序:

#include

main()

{ ints,t,A=10;doubleB=6;

  s=sizeof(A);t=sizeof(B);

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

}

在VC6.0平台上编译运行,程序运行后的输出结果是(  )。

A)10,6

B)4,4

C)2,4

D)4,8

17.有以下程序:

#include

main()

{ chara,b,c,d;

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

  c=getchar();d=getchar();

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

}

当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:

回车也是一个字符)

12

34

则输出结果是(  )。

A)12

34

B)12

C)1234

D)12

3

18.下关于逻辑运算符两侧运算对象的叙述中正确的是(  )。

A)可以是任意合法的表达式

B)只能是整数0或非0整数

C)可以是结构体类型的数据

D)只能是整数0或1

19.有以下程序:

#include

main()

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

  if(a=1)b=1;c=2;

  elsed=3;

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

}

程序输出(  )。

A)1,1,2,0

B)0,0,0,3

C)编译有错

D)0,1,2,0

20.有以下程序:

#include

main()

{ intx=1,y=0,a=0,b=0;

  switch(x)

  { case1:

    switch(y)

    { case0:

a++;break;

     case1:

b++;break;

      }

    case2:

a++;b++;break;

    case3:

a++;b++;

  }

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

}

程序的运行结果是(  )。

A)a=2,b=2

B)a=2,b=1

C)a=1,b=1

D)a=1,b=0

21.以下程序段中的变量已正确定义:

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

      for(k=1;k<3;k++);printf("*");

程序段的输出结果是(  )。

A)**

B)****

C)*

D)********

22.有以下程序段:

#include

inti,n;

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

{  n=rand()%5;

  switch(n)

  { case1:

case3:

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

case2:

case4:

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

case0:

exit(0);

  }

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

}

以下关于程序段执行情况的叙述,正确的是(  )。

A)for循环语句固定执行8次

B)当产生的随机数n为4时结束循环操作

C)当产生的随机数n为1和2时不做任何操作

D)当产生的随机数n为0时结束程序运行

23.有以下程序:

#include

intf(intx);

main()

{intn=1,m;

 m=f(f(f(n)));printf("%d\n",m);

}

intf(intx)

{returnx*2;}

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

A)8

B)2

C)4

D)1

24.以下叙述中错误的是(  )。

A)可以给指针变量赋一个整数作为地址值

B)函数可以返回地址值

C)改变函数形参的值,不会改变对应实参的值

D)当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL

25.设已有定义:

floatx;,则以下对指针变量p进行定义且赋初值的语句中正确的是(  )。

A)int*p=(float)x;

B)float*p=&x;

C)floatp=&x;

D)float*p=1024;

26.以下数组定义中错误的是(  )。

A)intx[2][3]={1,2,3,4,5,6};

B)intx[][3]={0};

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

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

27.有以下程序:

#include

voidfun(inta[],intn)

{ inti,t;

  for(i=0;i

}

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)321678

B)876543

C)1098765

D)345678

28.有以下程序:

#include

#defineN4

voidfun(inta[][N],intb[])

{ inti;

 for(i=0;i

}

main()

{ intx[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;

 fun(x,y);

 for(i=0;i

}

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

A)-3,-1,1,3,

B)-12,-3,0,0,

C)0,1,2,3,

D)-3,-3,-3,-3,

29.设有定义:

chars[81];inti=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是(  )。

A)gets(s);

B)while((s[i++]=getchar())!

='\n');s[i]='\0';

C)scanf("%s",s);

D)do{scanf("%c",&s[i]);}while(s[i++]!

='\n');s[i]='\0';

30.设有定义:

charp[]={'1','2','3'},*q=p;,以下不能计算出一个char型数据所占字节数的表达式是(  )。

A)sizeof(p)

B)sizeof(char)

C)sizeof(*q)

D)sizeof(p[0])

31.有以下程序:

#include

#include

main()

{ charstr[][20]={"One*World","One*Dream!

"},*p=str[1];

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

}

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

A)10,One*Dream!

B)9,One*Dream!

C)9,One*World

D)10,One*World

32.有以下程序:

#include

main()

{ chars[]="012xy\08s34f4w2";

  inti,n=0;

  for(i=0;s[i]!

=0;i++)

    if(s[i]>='0'&&s[i]<='9')n++;

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

}

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

 

A)0

B)3

C)7

D)8

33.有以下程序:

#include

fun(intx,inty)

{staticintm=0,i=2;

 i+=m+1;m=i+x+y;returnm;

}

main()

{intj=1,m=1,k;

 k=fun(j,m);printf("%d,",k);

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

}

执行后的输出结果是(  )。

A)5,11

B)5,5

C)11,11

D)11,5

34.在C语言中,只有在使用时才占用内存单元的变量,其存储类型是(  )。

A)auto和static

B)extern和register

C)auto和register

D)static和register

35.下面结构体的定义语句中,错误的是(  )。

A)structord{intx;inty;intz;}structorda;

B)structord{intx;inty;intz;};structorda;

C)structord{intx;inty;intz;}a;

D)struct{intx;inty;intz;}a;

36.有以下程序:

#include

typedefstruct{intb,p;}A;

voidf(Ac)/*注意:

c是结构变量名*/

{intj;

 c.b+=1;c.p+=2;

}

main()

{inti;

 Aa={1,2};

 f(a);

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

}

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

 

A)2,4

B)1,2

C)1,4

D)2,3

37.以下叙述中正确的是(  )。

A)在C语言中,预处理命令行都以"#"开头

B)预处理命令行必须位于C源程序的起始位置

C)#include必须放在C程序的开头

D)C语言的预处理不能实现宏定义和条件编译的功能

38.有以下程序:

#include

#include

intfun(intn)

{ int*p;

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

  *p=n;return*p;

}

main()

{ inta;

  a=fun(10);printf("%d\n",a+fun(10));

}

程序的运行结果是(  )。

A)0

B)10

C)20

D)出错

39.有以下程序:

#include

main()

{ unsignedchara=8,c;

  c=a>>3;

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

}

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

A)16

B)1

C)32

D)0

40.读取二进制文件的函数调用形式为:

fread(buffer,size,count,fp);,其中buffer代表的是(  )。

A)一个内存块的字节数

B)一个整型变量,代表待读取的数据的字节数

C)一个文件指针,指向待读取的文件

D)一个内存块的首地址,代表读入数据存放的地址

无纸化真考题库试题

(2)

1.一个栈的初始状态为空。

现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是(  )。

A)12345ABCDE

B)EDCBA54321

C)ABCDE12345

D)54321EDCBA

2.下列叙述中正确的是(  )。

A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

D)循环队列中元素的个数是由队头指针和队尾指针共同决定

3.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是(  )。

A)O(n)

B)O(n2)

C)

D)

4.下列叙述中正确的是(  )。

A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的

B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构

C)顺序存储结构能存储有序表,链式存储结构不能存储有序表

D)链式存储结构比顺序存储结构节省存储空间

5.数据流图中带有箭头的线段表示的是(  )。

A)控制流

B)事件驱动

C)模块调用

D)数据流

6.在软件开发中,需求分析阶段可以使用的工具是(  )。

A)N-S图

B)DFD图

C)PAD图

D)程序流程图

7.在面向对象方法中,不属于"对象"基本特点的是(  )。

A)一致性

B)分类性

C)多态性

D)标识唯一性

8.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(  )。

A)一对一

B)一对多

C)多对一

D)多对多

9.在数据管理技术发展的三个阶段中,数据共享最好的是(  )。

A)人工管理阶段

B)文件系统阶段

C)数据库系统阶段

D)三个阶段相同

10.有三个关系R、S和T如下:

由关系R和S通过运算得到关系T,则所使用的运算为(  )。

A)笛卡尔积

B)交

C)并

D)自然连接

11.下列叙述中错误的是(  )。

A)C程序可以由多个程序文件组成

B)一个C语言程序只能实现一种算法

C)C程序可以由一个或多个函数组成

D)一个C函数可以单独作为一个C程序文件存在

12.以下选项中,能用作数据常量的是(  )。

A)115L

B)0118

C)1.5e1.5

D)o115

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

A)大写字母

B)下划线

C)数字字符

D)连接符

14.设变量已正确定义并赋值,以下正确的表达式是(  )。

A)x=y+z+5,++y

B)int(15.8%5)

C)x=y*5=x+z

D)x=25%5.0

15.设有定义:

intx=2;,以下表达式中,值不为6的是(  )。

A)2*x,x+=2

B)x++,2*x

C)x*=(1+x)

D)x*=x+1

16.有以下程序:

#include

main()

{ intx,y,z;

 x=y=1;

 z=x++,y++,++y;

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

}

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

A)2,3,3

B)2,3,2

C)2,3,1

D)2,2,1

17.有以下程序:

#include

main()

{ charc1,c2;

  c1='A'+'8'-'4';

  c2='A'+'8'-'5';

  printf("%c,%d\n",c1,c2);

}

已知字母A的ASCII码为65,程序运行后的输出结果是(  )。

A)E,68

B)D,69

C)E,D

D)输出无定值

18.若有定义intx,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?

(x++):

(y++)中的条件表达式(x-y)等价的是(  )。

A)(x-y<0||x-y>0)

B)(x-y<0)

C)(x-y>0)

D)(x-y==0)

19.有以下程序:

#include

main()

{ intx=1,y=0;

  if(!

x)y++;

  elseif(x==0)

      if(x)y+=2;

      elsey+=3;

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

}

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

A)3

B)2

C)1

D)0

20.若有定义:

floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是(  )。

A)switch(a+b)

{case1:

printf("*\n");

 case2+1:

printf("**\n");}

B)switch((int)x);

{case1:

printf("*\n");

 case2:

printf("**\n");}

C)switch(x)

{case1.0:

printf("*\n");

 case2.0:

printf("**\n");}

D)switch(a+b)

{case1:

printf("*\n");

 casec:

printf("**\n");}

21.有以下程序:

#include

main()

{ inty=9;

  for(;y>0;y--)

    if(y%3==0)printf("%d",--y);

}

程序的运行结果是(  )。

A)852

B)963

C)741

D)875421

22.有以下程序:

#include

main()

{  inti,j,m=1;

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

  { for(j=3;j>0;j--)

    {if(i*j>3)break;

     m*=i*j;

    }

  }

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

}

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

A)m=4

B)m=2

C)m=6

D)m=5

23.有以下程序:

#include

intfun(intx,inty)

{ if(x!

=y)return((x+y)/2);

 elsereturn(x);

}

main()

{ inta=4,b=5,c=6;

 printf("%d\n",fun(2*a,fun(b,c)));

}

A)6

B)3

C)8

D)12

24.有以下程序:

#include

intadd(inta,intb){return(a+b);}

main()

{intk,(*f)(),a=5,b=10;

 f=add;

 …

}

则以下函数调用语句错误的是(  )。

A)k=f(a,b);

B)k=add(a,b);

C)k=(*f)(a,b);

D)k=*f(a,b);

25.有以下程序:

#include

main()

{intn,*p=NULL;

 *p=&n;

 printf("Inputn:

");scanf("%d",&p);printf("outputn:

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

}

该程序试图通过指针p为变量n读入数据并输出,但程序有

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

当前位置:首页 > 考试认证 > 财会金融考试

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

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