| 网站首页 | 考试学习 | 英语学习 | 求职 | 资源下载 | 出国留学 | 论文中心 | 箐箐校园 | 
资格类考试: 公务员考试 报关员考试 导游资格 注册会计 司法考试
外语类考试: 英语四六级 雅思 托福 GRE BEC PETS 职称英语
学历类考试: 高考 考研 自考 成考 专升本
计算机考试: 等级考试 水平考试 微软认证 思科认证 Linux认证
设为主页
联系站长
添加收藏夹
您现在的位置: 学子考试网 >> 考试学习 >> IT考试 >> 等级考试 >> 历年试题 >> 二级试题 >> 文章正文 用户登录 新用户注册
特 别 推 荐
· 报关员辅导
· 经济师辅导
· 会计职称辅导
· 注册会计师辅导
· 英语四级辅导
· 公共英语(PETS)辅导
· 商务英语(BEC)辅导
· 职称英语辅导
· 报检员辅导
· 造价工程师辅导
· 2006公务员网络辅导课程
· 查看更多...
最 新 热 门
最 新 推 荐
相 关 文 章
没有相关文章
2004年9月二级C试题及答案 【字体:
http://www.ks263.com 来源:本站原创 点击数: 更新:2005-3-4 【VIVI收藏
一、选择题

1、与十进制数200等值的十六进制数为(C)

A)A8         B)A4       C)C8       D)C4

-----------------------
2、DOS文件系统的组织结构属于(D)

A)星形结构   B)网形结构   C)环形结构 D)树形结构

-----------------------

3、对存储器按字节进行编址,若某存储器芯片共有10根地址线,则该存储器芯片的存储容量为(A)

A)1KB       B)2KB       C)4KB     D)8KB

-----------------------

4、在DOS环境下,代表键盘和显示器的设备文件名为(B)

A)PRN       B)CON       C)NUL     D)LPT

-----------------------

5、计算机网络的主要特点是(C)

A)运算速度快 B)运算精度高 C)资源共享 D)人机交互

-----------------------


6、磁盘处于写保护状态时其中的数据(B)

A)不能读出,不能删改       B)可以读出,不能删改
C)不能读出,可以删改       D)可以读出,可以删改

-----------------------


7、从Windows环境进入MS—DOS方式后,返回Windows环境的DOS命令为(A)

A)EXIT       B)QUIT       C)RET     D)MSDOS

-----------------------


8、在Windows环境下,若资源管理器左窗口中的某文件夹左边标有“+”标记,则表示(B)

A)该文件夹为空                 B)该文件夹中含有子文件夹
C)该文件夹中只包含有可执行文件 D)该文件夹中包含系统文件

-----------------------

9、在Windows菜单中,暗淡的命令名项目表示该命令(A)

A)暂时不能使用   B)正在执行   C)包含下一层菜单   D )包含对话框

-----------------------

10、在Windows环境下,单击当前窗口中的按钮“ ”,其功能是(C)

A)将当前应用程序转为后台运行     B)退出Windows后再关机
C)终止当前应用程序的运行         D)退出Windows后重新启动计算机

-----------------------

11.用C语言编写的代码程序(B)

A)可立即执行         B)是一个源程序
C)经过编译即可执行   D)经过编译解释才能执行

-----------------------

12.结构化程序由三种基本结构组成,三种基本结构组成的算法(C)

A)可以完成任何复杂的任务
B)只能完成部分复杂的任务
C)只能完成符合结构化的任务
D)只能完成一些简单的任务

-----------------------

13. 以下定义语句中正确的是(C)
A)char a='A'b='B';       B)float a=b=10.0;
C)int a=10,*b=&a;     D)float *a,b=&a;

-----------------------

14.下列选项中,不能用作标识符的是(D)
A)_1234_       B)_1_2     C)int_2_     D)2_int_

-----------------------

15.有以下定义语句 double a,b; int w; longc;若各变量已正确赋值,则下列选项中正确的表达式是(C)

A)a=a+b=b++           B)w%(int)a+b)
C)(c+w)%(int)a         D)w=a==b;

-----------------------

16.有以下程序

main()
{ int m=3,n=4,x;
x=-m++;
x=x+8/++n;
printf("%d\n",x);
}

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

A)3     B)     5 C)-1     D)-2

-----------------------

17.有以下程序

main()
{ char a='a',b;
print("%c,",++a);
printf("%c\n",b=a++);
}

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

A)b,b     B)b,c     C)a,b     D)a,c

-----------------------


18.有以下程序

main()
{ int m=0256,n=256;
printf("%o %o\n",mn,n);
}

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

A)0256 0400       B)0256 256       C)256 400       D)400 400

-----------------------

19.有以下程序

main()
{ int a=666,b=888;
printf("%d\n",a,b);
}

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

A)错误信息     B)666     C)888     D)666,888

-----------------------

20.有以下程序

main()
{ int i;
for(i=0;i<3;i++)
  switch(i)
  {
    case 0:printf("%d",i);
    case 2:printf("%d",i);
    default:printf("%d",i);
  }
}

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

A)022111       B)021021     C)000122     D)012

-----------------------

21.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是 (C)

A)abs(x-y)<10               B)x-y>-10&& x-y<10
C)@(x-y)<-10||!(y-x)>10     D)(x-y)*(x-y)<100

-----------------------

22.有以下程序

main()
{
int a=3,b=4,c=5,d=2;
if(a>b)
  if(b>c)
  printf("%d",d++ +1);
else
  printf("%d",++d +1);
printf("%d\n",d);
}

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

A)2       B)3       C)43     D)44
-----------------------

23.下列条件语句中,功能与其他语句不同的是 (D)

A) if(a) printf("%d\n",x); else printf("%d\n",y);
B) if(a==0) printf("%d\n",y); else printf("%d\n",x);
C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);
D) if(a==0) printf("%d\n",x); else printf("%d\n",y);

-----------------------

24.有以下程序

main()
{ int i=0,x=0;
for (;;)
{
  if(i==3||i==5) continue;
  if (i==6) break;
  i++;
  s+=i;
};
printf("%d\n",s);
}

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

A)10     B)13     C)21     D)程序进入死循环

-----------------------

25.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段(B)

A)for(i=1,p=1;i<=5;i++) p*=i;
B)for(i=1;i<=5;i++){ p=1; p*=i;}
C)i=1;p=1;while(i<=5){p*=i; i++;}
D)i=1;p=1;do{p*=i; i++; }while(i<=5);

-----------------------

26.有以下程序

main()
{ char a,b,c,d;
scanf("%c,%c,%d,%d",&a,&b,&c,&d);
printf("c,%c,%c,%c\n",a,b,c,d);
}

若运行时从键盘上输入:6,5,65,66<回车>。则输出结果是(A)

A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,6

-----------------------


27)以下能正确定义二维数组的是(C)

A)int a[][3];           B)int a[][3]=2{2*3};
C)int a[][3]={};       D)int a[2][3]={{1},{2},{3,4}};

-----------------------


28. 有以下程序

int f(int a)
{ return a%2; }
main()
{ int s[8]={1,3,5,2,4,6},i,d=0;
for (i=0;f(s);i++) d+=s;
printf("%d\n",d);
}

程序运行后的输出结果是 A

A)9     B)11     C)19     D)21
-----------------------

29.若有以下说明和语句,int c[4][5],(*p)[5];p=c;能正确引用c数组元素的是(D)

A)p+1         B)*(p+3)     C)*(p+1)+3     D)*(p[0]+2])

-----------------------

30.有以下程序

main()
{ int a=7,b=8,*p,*q,*r;
p=&a;q=&b;
r=p; p=q;q=r;
printf("%d,%d,%d,%d\n",*p,*q,a,b);
}

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

A)8,7,8,7       B)7,8,7,8       C)8,7,7,8       D)7,8,8,7
-----------------------

31.s12和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是 (D)

A)if(s1>s2)S;                 B)if(strcmp(s1,s2))S;
C)if(strcmp(s2,s1)>0) S;       D)if(strcmp(s1,s2)>0)S;

-----------------------

32.设有定义语句
int x[6]={2,4,6,8,5,7},*p=x,i;
要求依次输出x数组6个元素中的值,不能完成此操作的语句是(D)

A)for(i=0;i<6;i++) printf("%2d",*(p++));
B)for(i=0;i<6;i++) printf("%2d",*(p+i));
C)for(i=0;i<6;i++) printf("%2d",*p++);
D)for(i=0;i<6;i++) printf("%2d",(*p)++);

-----------------------

33.有以下程序

#include <stdio.h>
main()
{int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;
*q=*(p+5);
  printf("%d %d\n",*p,*q);
}

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

A)运行后报错         B)6 6       C)6 11       D)5 10

-----------------------

34有以下定义和语句

int a[3][2]={1,2,3,4,5,6,},*p[3];
p[0]=a[1];
则*p[0]+1)所代表的数组元素是(C)

A)a[0][1]       B)a[1][0]     C)a[1][1]     D)a[1][2]

-----------------------

35.有以下程序

main()
{char str[][10]={"China","Beijing"},*p=str;
printf("%s\n",p+10);
}

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

A) China       B)Bejing       C)ng     D)ing

-----------------------

35.有以下程序

main()
{char s[]="ABCD",*p;
for(p=s+1;p<s+4;p++)printf("%s\n",p);
}

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

A) ABCD   B)A   C)B   D)BCD
  BCD       B     C     CD
  CD       C     D     D
  D         D

-----------------------

36.有以下程序

main()
{char s[]="ABCD",*p;
for(p=s+1;p<s+4;p++) printf("%s\n",p);}

运行后的输出结果是(D)

A)ABCD       B)A       C)B               D)BCD
  BCD           B         C                   CD
  CD             C         D                   D
  D             D

-----------------------

37.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则(B)

A)称为函数的直接递归调用         B)称为函数的间接递归调用
C)称为函数的循环调用             D)C语言中不允许这样的递归调用

-----------------------

38.已有定义:int i,a[10],*p;,则合法的赋值语句是(D)

A)p=100;         B)p=a[5];       C)p=a[2]+2;       D)p=a+2;

-----------------------

39.以下叙述中正确的是 (A)

A)局部变量说明为static存储数,其生存期将得到延长
B)全局变量说明为static存储类,其作用域将被扩大
C)任何存储类的变量在未赋初值时,其值都是不确定的
D)形参可以使用的存储类说明符与局部变量完全相同

-----------------------

40.设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是(A)

A)c1^c2 B)c1&c2 C)~c2 D)c1|c2

-----------------------

41.程序中对fun函数有如下说明
void *fun();
此说明的含义是: (C)

A)fun了数无返回值
B)fun函数的返回值可以是任意的数据类型
C)fun函数的返回值是无值型的指针类型
D)指针fun指向一个函数,该函数无返回值

-----------------------

42.有以下程序

main()
{ char s[]"Yes\n/No",*ps=s;
puts(ps+4);
*(ps+4)=0;
puts(s);
}
程序运行后的输出结果是(选项D中的第一行是空行) (B)

A)n/No   B)/No   C)n/NO       D)
Yes       Yes     Yes         /No
/No               /No

-----------------------

43.有以下程序

main()
{ unsigned int a;
int b=-1;
a=b;
printf("%u",a);
}

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

A)-1       B)65535       C)32767         D)-32768

-----------------------

44.有以下程序

void fun(int *a,int i,int j)
{ int t;
if(i<j)
{ t=a;a=a[j];a[j]=t;
  i++; j--;
  fun(a,i,j);
}
}
main()
{ int x[]={2,6,1,8},i;
fun(x,0,3);
for(i=0;i<4;i++) printf("%2d",x);
printf("\n");
}

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

A)1 2 6 8     B) 8 6 2 1       C) 8 1 6 2       D)8 6 1 2

-----------------------

45.有以下说明和定义语句

struct student
{ int age; char num[8];};
struct student stu[3]={{20,"200401"},{21,"200402"},{10\9,"200403"}};
struct student *p=stu;

以下选项中引用结构体变量成员的表达式错误的是 (D)

A) (p++)->num       B)p->num       C)(*p).num       D)stu[3].age

-----------------------

46.有以下程序

main()
{ int x[]={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+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);
printf("\n");
}

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

A)75310246         B)01234567         C)76310462       D)13570246

-----------------------

47.有如下程序

#include <stdio.h>
main()
{FILE *fp1;
  fp1=fopen("f1.txt","w");
  fprintf(fp1,"abc");
  fclose(fp1);
}

若文本文件f1.txt中原有内容为:good,则运行以上程序后文件f1.txt中的内容为(C)

A)goodabc       B)abcd         C)abc       D)abcgood

-----------------------

48~50.以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的
字符依次转储到链表的各个结点中,请从与下划线处号码对应的一组选若中选择出
正确的选项。 48(C)   49(A )     50(B)

#include <stdlib.h>
stuct node
{ char data; struct node *next;};
(48) CreatList(char *s)
{ struct node *h,*p,*q);
h=(struct node *) malloc(sizeof(struct node));
p=q=h;
while(*s!='\0')
{ p=(struct node *) malloc(sizeof(struct node));
  p->data= (49) ;
  q->next=p;
  q= (50) ;
  s++;
}
p->next='\0';
return h;
}
main()
{ char str[]="link list";
struct node *head;
head=CreatList(str);
...
}

(48)A)char *       B)struct node       C) struct node*       D) char

(49)A)*s           B)s                 C)*s++               D)(*s)++

(50)A)p->next     B)p                 C)s                   D)s->next

-----------------------

二、填空题
1.在64位高档微机中,CPU能同时处理 [8] 个字节的二进制数据。

-----------------------

2.E-mail地址由域名和用户名两部分组成,它们之间用@分隔,其中在@后面的部分 是 [域名]。

-----------------------

3.Windows窗口一般由标题栏、菜单栏、控制按钮等部分组成。为了移动窗口,则要用鼠标拖动 [标题栏]。

-----------------------

4.计算机软件分为系统软件和应用软件,UNIX系统属于 [系统软件]。

-----------------------

5.在Windows环境下,为了将屏幕内容存入剪贴板,应按 [print screen sysrq] 键。

-----------------------

6.以下程序段的输出结果是 [11]。

int i=9;
printf("%o\n",i);

-----------------------

7.以下程序运行后的输出结果是 [25 21 37]。

main()
{ int a,b,c;
a=25;
b=025;
c=0x25;
printf("%d %d %d\n",a,b,c);
}

-----------------------

8.以下程序运行后的输出结果是 [24]。

main()
{ int p[7]={11,13,14,15,16,17,18};
int i=0,j=0;
while(i<7 && p%2==1) j+=p[i++];
printf("%d\n",j);
}

-----------------------

9.以下程序运行后的输出结果是 [2 1]。

main()
{ int x=1,y=0,a=0,b=0;
switch(x)
  {case 1:switch(y)
  { case 0:a++; break;
                case 1:b++; break;
  }
case 2:a++;b++; break;
  }
printf("%d %d\n",a,b);
}

10.以下程序运行后的输出结果是 [92]。

main()
{ int a[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};
int i=0,j=0,s=0;
while(i++<4)
{
  if(i==2||i==4) continue;
  j=0;
  do{ s+= a[j]; j++; } while(j<4);
}
printf("%d\n",s);
}

-----------------------

11.以下程序运行后的输出结果是 [gae]。

main ()
{ char a[]="Language",b[]="Programe";
char *p1,*p2; int k;
p1=a; p2=b;
for(k=0;k<=7;k++)
  if(*p1+k)==*(p2+k)) printf("%c",*(p1+k))_;
}

-----------------------

12.以下程序运行后的输出结果是 [1*3*5*7*9]。这到题还有一种是if(i%2==1) 结果是*2*4*6*8*

main()
{ char a[]="123456789",*p; int i=0;
p=a;
while(*p)
{ if(i%2==0) *p='*';
  p++;i++;
  }
  puts(a);
}

-----------------------

13.以下程序中, for循环体执行的次数是 [4]。

#define N 2
#define M N+1
#define K M+1*M/2
main()
{ int i;
for(i=1;i<K;i++)
{ ... ]
...
}

-----------------------

14、暂缺(希望热心网友提供和大家分享)

-----------------------

15. 以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。
请填空。16 &a       17 a

main()
{ int i,a[20],sum,count;
  sum=count=0;
  for(i=0;i<20;i++) scanf("%d", [16] );
  fro(i=0;i<20;i++)
  { if(a>0)
  { count++;
    sum+= [17] ;
  }
}
printf("sum=%d,count=%d\n",sum,count);
}

-----------------------

16.以下程序中,函数 sumColumM的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。

答案:a[k]           *sum               x,&s
#define M 2
#define N 4
void SumColumMin(int a[M][N],int *sum)
{ int i,j,k,s=0;
for(i=0;i<N;i++)
{ k=0;
  for(j=1;j<M;j++)
    if(a[k]>a[j])k=j;
  s+= a[k] ;
  }
*sum =s;
}
main()
{ int x[M][N]={3,2,5,1,4,1,8,3},s;
SumColumMin( x,&s);
printf("%d\n",s);
}

文章录入:ks263.com    责任编辑:ks263.com 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口