本栏目下题库来源于互联网,轻速云承诺对于用户导入平台的题库是严格保密的,不会在此呈现!
轻速云给您提供更好的在线考试系统服务!
2009年9月计算机二级考试C语言真题
1、【 单选题 】
下列数据结构中,属于非线性结构的是 [2分]
、 循环队列
、 带链队列
、 二叉树
、 带链栈
答案:
2、【 单选题 】
下列数据结构中,能够按照“先进后出”原则存取数据的是 [2分]
、 循环队列
、 栈
、 队列
、 二叉树
答案:
3、【 单选题 】
对于循环队列,下列叙述中正确的是 [2分]
、 队头指针是固定不变的
、 队头指针一定大于队尾指针
、 队头指针一定小于队尾指针
、 队头指针可以大于队尾指针,也可以小于队尾指针
答案:
4、【 单选题 】
算法的空间复杂度是指 [2分]
、 算法在执行过程中所需要的计算机存储空间
、 算法所处理的数据量
、 算法程序中的语句或指令条数
、 算法在执行过程中所需要的临时工作单元数
答案:
5、【 单选题 】
软件设计中划分模块的一个准则是 [2分]
、 低内聚低耦合
、 高内聚低耦合
、 低内聚高耦合
、 高内聚高耦合
答案:
6、【 单选题 】
下列选项中不属于结构化程序设计原则的是 [2分]
、 可封装
、 自顶向下
、 模块化
、 逐步求精
答案:
7、【 单选题 】
软件详细设计产生的图如下:
   
该图是 [2分]
、 N-S图
、 PAD图
、 程序流程图
、 E-R图
答案:
8、【 单选题 】
数据库管理系统是 [2分]
、 操作系统的一部分
、 在操作系统支持下的系统软件
、 一种编译系统
、 一种操作系统
答案:
9、【 单选题 】
在E-R图中,用来表示实体联系的图形是 [2分]
、 椭圆形
、 矩形
、 菱形
、 三角形
答案:
10、【 单选题 】
有三个关系R,S,和T如下:
   
其中关系T由关系R和S通过某种操作得到,该操作为 [2分]
、 选择
、 投影
、 交
、 并
答案:
11、【 单选题 】
以下叙述中正确的是 [1分]
、 程序设计的任务就是编写程序代码并上机调试
、 程序设计的任务就是确定所用的数据结构
、 程序设计的任务就是确定所用算法
、 以上三种说法都不完整
答案:
12、【 单选题 】
以下选项中,能用作用户标识符的是 [1分]
、 void
、 8_8
、 _0_
、 unsigned
答案:
13、【 单选题 】
阅读以下程序
#include <stdio.h>
main()
{ int case; float printF;
   printf("请输入2个数:");
   scanf("%d %f",&case,&printF);
   printf("%d %f\n",case,printf);
}
该程序在编译时产生错误,其出错原因是 [1分]
、 定义语句出错,case是关键字,不能用作用户自定义标识符
、 定义语句出错,printF不能用作用户自定义标识符
、 定义语句无错,scanf不能作为输入函数使用
、 定义语句无措,printf不能输出case的值
答案:
14、【 单选题 】
表达式:(int)((double)9/2)-(9)%2的值是 [1分]
、 0
、 3
、 4
、 5
答案:
15、【 单选题 】
若有定义语句: int x=10;,则表达式x-=x+x的值为 [1分]
、 -20
、 -10
、 0
、 10
答案:
16、【 单选题 】
有以下程序
#include <stdio.h>
main()
{ int a=1,b=0;
   printf("%d,",b=a+b);
   printf("%d",a=2*b);
}
程序运行后的输出结果是 [1分]
、 0,0
、 1,0
、 3,2
、 1,2
答案:
17、【 单选题 】
设有定义: int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是 [1分]
、 if(a>b) c=a,a=b,b=c;
、 if(a>b){c=a,a=b,b=c;}
、 if(a>b) c=a;a=b;b=c;
、 if(a>b){c=a;a=b;b=c;}
答案:
18、【 单选题 】
有以下程序
#include <stdio.h>
main()
{ int c=0,k;
   for(k=1;k<3;k++)
   switch(k)
   { default:c+=k;
      case 2:c++;break;
      case 4:c+=2;break;
   }
   printf("%d\n",c);
}
程序运行后的输出结果是 [1分]
、 3
、 5
、 7
、 9
答案:
19、【 单选题 】
以下程序段中,与语句: k=a>b?(b>c?1:0):0;功能相同的是 [1分]
、 if((a>b)&&(b>c)) k=1;
else k=0;
、 if((a>b)||(b>c)) k=1;
else k=0;
、 if(a<=b)k=0;
else if(b<=c) k=1;
、 if(a>b) k=1;
else if(b>c) k=1;
else k=0;
答案:
20、【 单选题 】
有以下程序
#include <stdio.h>
main()
{  char s[]={"012xy"};int i,n=0;
     for(i=0;s[i]!=0;i++)
     if(s[i]>'a'&&s[i]<='z') n++;
     printf("%d\n",n);
}
程序运行后的输出结果是 [1分]
、 0
、 2
、 3
、 5
答案:
21、【 单选题 】
有以下程序
#include <stdio.h>
main()
{  int n=2,k=0;
     while(k++&&n++>2);
     printf("%d %d\n",k,n);
}
程序运行后的输出结果是 [2分]
、 0 2
、 1 3
、 5 7
、 1 2
答案:
22、【 单选题 】
有以下定义语句,编译时会出现编译错误的是 [2分]
、 char a='a';
、 char a='\n';
、 char a='aa';
、 char a='\x2d';
答案:
23、【 单选题 】
有以下程序
#include <stdio.h>
main()
{  char c1,c2;
     c1='A'+'8'-'4';
     c2='A'+'8'-'5';
     printf("%c,%d\n",c1,c2);
}
已知字母A的ASCII码为65,程序运行后的输出结果是 [2分]
、 E,68
、 D,69
、 E,D
、 输出无定值
答案:
24、【 单选题 】
有以下程序
#include <stdio.h>
void fun(int p)
{  int d=2;
     p=d++;
     printf("%d",p);
}
main()
{  int a=1;
     fun(a);
     printf("%d\n",a);
}
程序运行后的输出结果是 [2分]
、 32
、 12
、 21
、 22
答案:
25、【 单选题 】
以下函数findmax拟实现在数组中查找最大值并作为函数值返回,
但程序中有错导致不能实现预定功能
#define MIN -2147463647
int findmax(int x[],int n)
{  int i,max;
     for(i=0;i<n;i++)
     {  max=MIN;
          if(max<x[i]) max=x[i];
     }
     return max;
}
造成错误的原因是 [2分]
、 定义语句int i,max中max未赋值
、 赋值语句max=MIN;中,不应该给max赋MIN值
、 语句if(max<x[i]) max=x[i];中判断条件设置错误
、 赋值语句max=MIN;放错了位置
答案:
26、【 单选题 】
有以下程序
#include <stdio.h>
main()
{  int m=1,n=2,*p=&m,*q=&n,*r;
     r=p;p=q;q=r;
     printf("%d,%d,%d,%d\n",m,n,*p,*q);
}
程序运行后的输出结果是 [2分]
、 1,2,1,2
、 1,2,2,1
、 2,1,2,1
、 2,1,1,2
答案:
27、【 单选题 】
若有定义语句: int a[4][10],*p,*q[4];且0<=i<4,则错误的赋值是 [2分]
、 p=a
、 q[i]=a[i]
、 p=a[i]
、 p=&a[2][1]
答案:
28、【 单选题 】
有以下程序
#include <stdio.h>
#include <string.h>
main()
{  char str[][20]={"One*World","One*Dream!"},*p=str[1];
     printf("%d,",strlen(p));
     printf("%s\n",p);
}
程序运行后的输出结果是 [2分]
、 9,One*World
、 9,One*Dream!
、 10,One*Dream!
、 10,One*World
答案:
29、【 单选题 】
有以下程序
#include <stdio.h>
main()
{ int a[]={2,3,5,4},i;
   for(i=0;i<4;i++)
   switch(i%2)
   { case 0:
      switch(a[i]%2)
      {  case 0:a[i]++;break;
           case 1:a[i]--;
      } break;
      case 1:a[i]=0;
   }
   for(i=0;i<4;i++)
   printf("%d ",a[i]);
   printf("\n");
}
程序运行后的输出结果是 [2分]
、 3 3 4 4
、 2 0 5 0
、 3 0 4 0
、 0 3 0 4
答案:
30、【 单选题 】
有以下程序
#include <stdio.h>
#include <string.h>
main()
{ char a[10]="abcd";
   printf("%d,%d\n",strlen(a),sizeof(a));
}
程序运行后的输出结果是 [2分]
、 7,4
、 4,10
、 8,8
、 10,10
答案:
31、【 单选题 】
下面是有关C语言字符数组的描述,其中错误的是 [2分]
、 不可以用赋值语句给字符数组名赋字符串
、 可以用输入语句把字符串整体输入给字符数组
、 字符数组中的内容不一定是字符串
、 字符数组只能存放字符串
答案:
32、【 单选题 】
下列函数的功能是
fun(char *a,char *b)
{ while((*b=*a)!='\0'){a++;b++;} } [2分]
、 将a所指字符串赋给b所指空间
、 使指针b指向a所指字符串
、 将a所指字符串和b所指字符串进行比较
、 检查a和b所指字符串中是否有'\0'
答案:
33、【 单选题 】
设有以下函数:
void fun(int n,char *s){……}
则下面对函数指针的定义和赋值均正确的是 [2分]
、 void (*pf)(); pf=fun;
、 void *pf();  pf=fun;
、 void *pf(); *pf=fun;
、 void (*pf)(int,char);pf=&fun;
答案:
34、【 单选题 】
有以下程序
#include <stdio.h>
int f(int n);
main()
{  int a=3,s;
     s=f(a);s=s+f(a);printf("%d\n",s);
}
int f(int n)
{ static int a=1;
   n+=a++;
   return n;
}
程序运行后的输出结果是 [2分]
、 7
、 8
、 9
、 10
答案:
35、【 单选题 】
有以下程序
#include <stdio.h>
#define f(x) x*x*x
main()
{  int a=3,s,t;
     s=f(a+1);t=f((a+1));
     printf("%d,%d\n",s,t);
}
程序运行后的输出结果是 [2分]
、 10,64
、 10,10
、 64,10
、 64,64
答案:
36、【 单选题 】
下面结构体的定义语句中,错误的是 [2分]
、 struct ord {int x;int y;int z;};struct ord a;
、 struct ord {int x;int y;int z;} struct ord a;
、 struct ord {int x;int y;int z;} n;
、 struct {int x;int y;int z;} a;
答案:
37、【 单选题 】
设有定义: char *c;以下选项中能够使字符型指针C正确指向一个字符串的是 [2分]
、 char str[]="string";c=str;
、 scanf("%s",c);
、 c=getchar();
、 *c="string";
答案:
38、【 单选题 】
有以下程序
#include <stdio.h>
#include <string.h>
struct A
{ int a;char b[10];double c;};
struct A f(struct A t);
main()
{ struct A a={1001,"ZhangDa",1098.0};
   a=f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);
}
struct A f(struct A t)
{ t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;return t;}
程序运行后的输出结果是 [2分]
、 1001,ZhangDa,1098.0
、 1002,ZhangDa,1202.0
、 1001,ChangRong,1098.0
、 1002,ChangRong,1202.0
答案:
39、【 单选题 】
有以下程序
int r=8;
printf("%d\n",r>>1);
输出结果是 [2分]
、 16
、 8
、 4
、 2
答案:
40、【 单选题 】
下列关于C语言文件的叙述中正确的是 [2分]
、 文件由一系列数据一次排列组成,只能构成二进制文件
、 文件由结构序列组成,可以构成二进制文件或文本文件
、 文件由数据序列组成,可以构成二进制文件或文本文件
、 文件由字符序列组成,只能是文本文件
答案:
12 下一页 末页
共2页,共55个题库
共2页,共55个题库
轻速云给您提供更好的在线考试系统服务!
推荐
推荐题库
众多企事业单位的信赖之选
36万+企事业单位的共同选择
查看更多合作案例
众多企事业单位的信赖之选
开始使用轻速云组织培训考试
四步组织一场考试答题,一键搭建企业培训平台
免费使用 免费使用 预约演示
咨询热线
400-886-8169
周一到周日 8:00-22:00
©2025 轻速云 苏ICP备16049646号-1 轻速云科技提供专业的在线考试系统、在线培训系统
联系我们
客服热线客服热线:400-886-8169 | 周一至周日 8:00-22:00
©2025 轻速云 苏ICP备16049646号-1
轻速云科技提供专业的在线考试系统、在线培训系统
在线咨询 400-886-8169