07年4月等级考试二级C语言考前密卷(9)

文章作者 100test 发表时间 2007:03:10 17:07:22
来源 100Test.Com百考试题网


(1)根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成
  A)动态结构和静态结构 B)紧凑结构和非紧凑结构
  C)线性结构和非线性结构 D)内部结构和外部结构
(2)设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为
  A)12 B)13
  C)14 D)15
(3)在下列几种排序方法中,要求内存量最大的是
  A)插入排序
B)选择排序
  C)快速排序
D)归并排序
(4)下列叙述中,不属于结构化程序设计方法的主要原则的是
  A)自顶向下
B)由底向上
  C)模块化
D)限制使用goto语句
(5)下列不属于软件调试技术的是
  A)强行排错法
B)集成测试法
  C)回溯法
D)原因排除法
(6)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为
  A)PAD图 B)N-S图
  C)结构图 D)数据流图
(7)软件复杂性度量的参数包括
  A)效率
B)规模
  C)完整性
D)容错性
(8)下列叙述中,不属于数据库系统的是
  A)数据库
B)数据库管理系统
  C)数据库管理员
D)数据库应用系统
(9)数据库系统的核心是
  A)数据库
B)数据库管理系统
  C)数据模型
D)软件工具
(10)视图设计一般有3种设计次序,下列不属于视图设计的是
  A)自顶向下 B)由外向内
  C)由内向外 D)自底向上
(11)下列常数中不能作为C语言常量的是
  A)0xabc
  B)2.5e-0.2
  C)32
  D)0747
(12)设int型的数据长度为2个字节,则unsigned int 类型数据的取值范围是
  A)-127~128
  B)0~255
  C)0~65535
  D)0~32768
(13)已知int t=6,s.则执行语句s=( t) (t );后,s的值是
  A)12
  B)13
  C)14
  D)15
(14)已知int x=6,y=2,z.则执行表达式z=x=x>y后,变量z的值为
  A)0
  B)1
  C)4
  D)5
(15)已知int i,a.执行语句i=(a=3,a ,--a,a 4,a 5, a).后,变量i的值为
  A)2
  B)3
  C)4
  D)5
(16)下列说法中正确的是
  A)一个C程序是从命令行开始执行的
  B)C程序中有些执行语句不用分号(;)结束
  C)分号不是C语句的一部分,是C语句之间的分隔符
  D)命令行必须用“#”开头,最后不能加“.”号,命令行不是C程序中的语句
(17)已知int x=2.执行语句x*=x = x.后,x的值是
  A)16
  B)26
  C)36
  D)46
(18)已知int a=20,b=5.则执行以下语句后的输出结果是
  printf("%d\n",a%=(b%=2)).
  A)0
  B)1
  C)2
  D)3
(19)现有以下程序段
   #include
   main()
  { int a,b,c.
  scanf("a=%*d%d,b=%d%*d,c=%d",&.a,&.b,&.c).
  printf("a=%d,b=%d,c=%d\n",a,b,c). }
  若输出的结果为a=20,b=30,c=40,则以下能够正确输入数据的是
  A)a=10]20,b=20]30,c=40
  B)20,30,40
  C)a=20,b=30,c=40
  D)a=10]20,b=30]20,c=40
  [注]: “]”表示空格,表示回车
(20)已知int x=5,y=3.则表达式(x||y)&.&.78的结果为
  A)1
  B)0
  C)5
  D)78
(21)有如下程序段
   #include "stdio.h"
   main()
  {int a=10,b=50,c=30.
  a=a>30?1:2.
  b=b>30?1:2.
  c=c>30?1:2.
  printf("%d,%d,%d\n",a,b,c).}
  则执行结果为
  A)2,1,2
  B)1,2,1
  C)1,1,2
  D)2,1,1
(22)阅读如下程序段
  #include "stdio.h"
  main()
  { int a=45,b=40,c=50,d.
  d=a>30?b:c.
  switch(d)
  { case 30 : printf("%d,",a).
  case 40 : printf("%d,",b).
  case 50 : printf("%d,",c).
  default : printf("#").}}
  则输出的结果是
  A)40,50,
  B)50,#
  C)40,#
  D)40,50,#
(23)若有定义int k=10;则下列程序的输出结果为
  do{
  printf("%d",k--). } while(!k).
  A)9
  B)10
  C)10987654321
  D)没有输出
(24)阅读下列程序段,则程序的输出结果是
  #include "stdio.h"
  main()
  { int a=10,b=10,k.
  for(k=0.a>8.b= k)
  printf("%d,%d,",a--,--b).
  printf("\n").}
  A)10,10,10,0,
  B)10,9,9,0,
  C)10,10,9,1,
  D)9,9,9,1,
(25)下列程序的运行结果是
  #include "stdio.h"
  main()
  {int a,b,m.
  for(a=5.a>=1.a--)
  { m=0.
  for(b=a.b<=5.b )
  m=m a*b.}
  printf("%d\n",m).}
  A)30
  B)15
  C)20
  D)10
(26)有字符串如下,"\n\\\407as1\"\xabc",则字符串的长度为
  A)6
  B)7
  C)8
  D)9
(27)阅读下面程序段
  #include "stdio.h"
  main()
  { char c.
  c=(′z′-′a′)/2 ′A′.
  putchar(c).}
  输出结果为
  A)M
  B)N
  C)O
  D)Q
(28)下列说法中不正确的是
  A)C语言规定,不能在一个函数的内部再定义函数
  B)在没有声明函数返回值类型的情况下,C默认的函数返回值类型为int型
  C)函数的类型可以是整型、实型、字符型,但不能是指针型
  D)函数可以没有形参,但函数名后的一对圆括号不能省略
(29)现有如下程序,则程序的输出结果为
  #include "stdio.h"
  int f(int a,int b)
  {int c.
  if(a>0&.&.a<10)c=(a b)/2.
  else c=a*b/2.
  return c.}
  main()
  { int a=8,b=20,c.
  c=f(a,b).
  printf("%d\n",c).}
  A)随机数
  B)80
  C)28
  D)14
(30)阅读如下程序段,则程序段的执行后的输出结果为
  #include "stdio.h"
  main()
  { char c.
  int i.
  char count().
  int p(char).
  for(i=0.i<30.i )c=count().
  p(c).}
  char count()
  { char str=′A′.
  str =1.
  return(str).}
  p(char c)
  {putchar(c).
  putchar(′\n′).}
  A)A
  B)B
  C)a
  D)b
(31)阅读如下程序段,则执行后的结果为
  #include "stdio.h"
  main()
  {int a,*p,*q,**w.
  p=&.a.
  q=&.a.
  w=&.p.
  *p=5%6.
  *q=5.
  **w=3.
  printf("%d\n",a).}
  A)无确定值
  B)1
  C)5
  D)3
(32)现有定义int a=10,*p=&.a.则不能使a的内容增1的语句是
  A)*p ;
  B)*p=*p 1;
  C) *p;
  D)*p =1;
(33)现有下列程序段
  #include "stdio.h"
  void JFT(int *a,int *b,int *c,int *d,int *e)
  {int i,j,k,m.
  for(i=0.i<*a.i )
  for(j=0.j<*b.j )
   for(k=0.k<*c.k )
   for(m=0.m<*d.m )*e .}
  main()
  {int a=10,b=10,c=10,d=10,e=0.
  JFT(&.a,&.b,&.c,&.d,&.e).
  printf("%d\n",e).}
  则程序段的输出结果是
  A)10000
  B)1000
  C)10001
  D)0
(34)已知:int c[5][6].则对数组元素引用不正确的是
  A)c[0 2][2*1]
  B)c[1][3]
  C)c[4-2][0]
  D)c[5][2]
(35)以下能对二维数组c进行正确的初始化的语句是
  A)int c[3][]={{3},{3},{4}}.
  B)int c[][3]={{3},{3},{4}}.
  C)int c[3][2]={{3},{3},{4},{5}}.
  D)int c[][3]={{3},{},{3}}.
(36)阅读下列程序段,则程序段实现的功能是
  #include "stdio.h"
  main()
  { int k[10].
  int j.
  for(j=0.j<10.j )
  scanf("%d",&.k[j]).
  for(j=9.j>=0.j--)
  printf("%d,",k[j]).}
  A)输入10个数据的顺序输入并输出
  B)输入10个数据的逆序存放
  C)输入10个数据的逆序输出
  D)以上叙述均错误
(37)阅读程序,则执行后的结果为
   #include "stdio.h"
  main()
  {int i,m,n.
  for(i=0.i<3.i )
  {m=test1().
  n=test2().}
  printf("%d,%d\n",m,n).}
  test1()
  { int x=0.
  x .
  return x.}
  test2()
  {static int x=0.
  x .
  return x.}
  A)1,1
  B)1,3
  C)3,1
  D)3,3
(38)以下关于宏替换叙述中,错误的是
  A)宏替换占用编译时间
  B)替换文本中可以包含已定义过的宏名
  C)宏名可以由 号组成
  D)宏替换只能是字符替换


相关文章


07年4月等级考试二级C语言考前密卷(10)
高质量C _C编程指南--第5章常量
07年4月等级考试二级C语言考前密卷(9)
高质量C _C编程指南--第3章命名规则
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛