二级C语言笔试

二级C语言笔试

  (50)有以下结构体说明和变量定义三个连续结点。
,如图所示,指针p、q、r分别指向一个链表中的


  struct node

  { int data;

  struct node *next;

  } *p, *q, *r;

  _______________________________


  | data next data next
data next |

  | →□□ → □□ →
□□→ |

  |  ↑p ↑q
↑r |

  |___________________
___________|


  现要将q和r所指结点的先后位置交换
,同时要保持链表的连续,以下错误的程序段是

  A)r->next=q; q->nex
t=r->next; p->next=r;

  B)q->next=r->next;
p->next=r; r->next=q;

  C)p->next=r; q->nex
t=r->next; r->next=q;

  (资料来源:东方教育网 http://ww
w.eastedu.com.cn)

  D)q->next=r->next;
r->next=q; p->next=r;


  二、填空题(每空2分
,共40分)

  (1)计算机软件分为
系统软件与应用软件,UNIX属于
〖1〗 。

  (2)假设在当前盘的
接到文件A.TXT的后面。若
当前目录下有两个文件A.TXT和B
使用TYPE命令,则完整的命令为
.TXT,现要将文件B.TXT合并连
〖2〗 。

  (3)Internet的信息
服务方式分为基本服务和扩展服
务,电子邮件属于 〖3〗 。

  (4)在Windows环境下,利用菜单命
要删除的文件与文件夹移动到 〖4〗 文
令删除固定硬盘上的文件与文件夹,实际上是将需
件夹中。

  (5)在Windows环境下,为了进行"
击其中的相应图标。
添加/删除程序"操作,首先打开 〖5〗 ,然后双

  (6)以下程序运行后
的输出结果是 〖6〗 。

  main()

  { int p=30;

  printf("%d ",(p/3>0 ? p/10 : p%
3));

  }

  (7)以下程序运行后的输出结果是
〖7〗 。

  main()

  { char m;

  m= B +32; printf("%c ",m);

  }

  (8)以

下程序运行后的输出结果是
〖8〗 。

  main()

  { int a=1,b=3,c=5;

  if (c=a+b) printf("yes ");

  else printf("no ");

  }

  (9)以下程序运行后的输出结果是
〖9〗 。

  main()

  { int i,m=0,n=0,k=0;

  for(i=9; i<=11;i++)

  switch(i/10)

  { case 0: m++;n++;break;

  case 10: n++; break;

  default: k++;n++;

  }

  printf("%d %d %d ",m,n,k);

  }

  (10)执行以下程序后
,输出 # 号的个数是 〖10〗

  #include

  main()

  { int i,j;

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

  for(j=2; j<=i; j++) putchar( # )
;

  }

  (11)以下程序的功能是调用函数fu

n计算:m=1-2+3-4+…+9-10,并输出结果。请填空

  int fun( int n)

  { int m=0,f=1,i;

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

  { m+=i*f;

  f= 〖11〗 ;

  }

  return m;

  }

  main()

  { printf("m=%d ", 〖12〗 ); }

  (12)以下程序运行后的输出结果是
〖13〗

  main()

  { int i,n[]={0,0,0,0,0};

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

  { n[i]=n[i-1]*2+1;

  printf("%d ",n[i]);

  }

  }

  (13)以下程序运行后
的输出结果是 〖14〗

  main()

  { int i,j,a[][3]={1,
2,3,4,5,6,7,8,9};

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

  for(j=i+1;j<3;j++) a
[j][i]=0;

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

  { for(j=0;j<3;j++) p
rintf("%d ",a[i][j]);

  printf(" ");

  }

  }

  (14)以下程序运行后
的输出结果是 〖15〗

  int a=5;

  fun(int b)

  { static int a=10;

  a+=b++;

  printf("%d ",a);

  }

  main()

  { int c=20;

  fun(c);

  a+=c++;

  printf("%d ",a);

  }

  (15)请在以下程序第一行的下划线
处填写适当内容,使程序能正确运行。

  〖16〗 ( double,doub
le);

  main()

  { double x,y;

  scanf("%lf%lf",&x,&y
);

  printf("%lf ",max(x
,y));

  }

  double max(double a,double b)

  { return(a>b ? a:b);
}

  (16)以下程序运行后
输入:3,abcde<回车>,则输出
结果是 〖17〗

  #include

  move(char *str, int n)

  { char temp; int i;

  temp=str[n-1];

  for(i=n-1;i>0;i--) str[i]=str[i-
1];

  str[0]=temp;

  }

  main()

  { char s[50]; int n,
i, z;

  scanf("%d,%s",&n,s);

  z=strlen(s);

  for(i=1; i<=n; i++)
move(s, z);

  (资料来源:东方教育网 http://ww
w.eastedu.com.cn)

  printf("%s ",s);

  }

  (17)以下程序运行后的输出结果是
〖18〗

  fun(int x)

  { if(x/2>0) fun(x/2)
;
  printf("%d ",x);

  }

  main()

  { fun(6); }

  (18)已有定义如下:

  struct node

  { int data;

  struct node *next;

  } *p;

  以下语句调用malloc函
填空。
数,使指针p指向一个具有struc

t node类型的动态存储空间。请

  p = (struct node *)m
alloc( 〖19〗 );

  (19)以下程序的功能是将字符串s
。例如,输入字符串:abc123edf456gh,
中的数字字符放入d数组中,最后输出d中的字符串
执行程序后输出:123456。请填空。

  #include

  #include

  main()

  { char s[80], d[80];
int i,j;

  gets(s);

  for(i=j=0;s[i]!= ;i++)

  if( 〖20〗 ) { d[j]=s[i]; j++; }

  d[j]= ;

  puts(d);

  }

  2003年9月全国计算机等级考试二级C语言笔试试卷参考答案

  一、选择题

  (1) C (2) A (3) B (4) A (5) D

  (6) C (7) B (8) A (9) C (10)D

  (11)A (12)C (13)D (14)B (15)D

  (16)C (17)A (18)D (19)C (20)C

  (21)B (22)B (23)C (24)C (25)A

  (26)D (27)C (28)A (29)D (30)A

  (31)C (32)D (33)B (34)B (35)D

  (36)C (37)B (38)A (39)D (40)B

  (41)B (42)B (43)C (44)C (45)A

  (46)D (47)A (48)D (49)B (50)A

  二、填空题

  (1) 〖1〗 系统软件

  (2) 〖2〗 TYPE B.TXT >> A.TXT

  (3) 〖3〗 基本服务

  (4) 〖4〗 回收站

  (5) 〖5〗 控制面板

  (6) 〖6〗 3

  (7) 〖7〗 b

  (8) 〖8〗 yes

  (9) 〖9〗 1 3 2

  (10) 〖10〗 6

  (11) 〖11〗 -f

  〖12〗 fun(10)

  (12) 〖13〗 1 3 7 15

  (13) 〖14〗 1 2 3

  0 5 6

  0 0 9

  (14) 〖15〗 30 25

  (15) 〖16〗 double max

  (16) 〖17〗 cdeab

  (17) 〖18〗 1 3 6

  (18) 〖19〗 sizeof(struct node)

  (19) 〖20〗 s[i]>= 0 && s[i]<= 9

  更多相关的笔试题目,大家敬请关注笔试栏目!

相关文章

让“忙”day不太忙职场攻略

“忙”day为何忙?首先,周一是对上一周工作的收尾时间。有调查显示,42%的职场中人不希望在周一被各种工作之外的因素打扰。因为周一需要应付周末的工作堆积,大量的杂乱工作需要在周一的时候做出整理,恨不得...
职场攻略2016-06-09
让“忙”day不太忙职场攻略

招商银行面试技巧

面试技巧指的是在面试时候的技巧。面试是你能够得到一份工作的关键。内容包括面试前的准备工作、面试当中应该注意的问题,以及如何在面试中推销自己等等。面试是一个短时交流的过程,这个过程中包涵首因效应的管理,...
职场攻略2016-09-01
招商银行面试技巧

业余拳击与职业拳击的区别

拳击运动至今仍流行着两种不同形式的比赛业余拳击与职业拳击。那么这两种拳击有什么不同呢?下面小编为你讲述拳击运动的业余拳击与职业拳击的区别,希望可以加深你对拳击技术的理解。 职业与业余拳击除了运动水平相...
职场攻略2016-06-01
业余拳击与职业拳击的区别

四川汽车职业技术学院汽车技术学院招聘

四川汽车职业技术学院前身绵阳交通学校,成立于1979年。2012年经四川省人民政府批准、教育部审核备案升格为全日制普通高等专科职业院校。下面,小编为大家提供四川汽车职业技术学院2017年汽车技术学院招...
职场攻略2018-03-07
四川汽车职业技术学院汽车技术学院招聘

信息与计算科学专业就业前景及方向

...
职场攻略2013-09-08
信息与计算科学专业就业前景及方向

普通话考试说话我喜欢的职业

在备考普通话考试的时候有哪些素材可以参考呢?下面yjbys小编跟大家分享几篇普通话考试说话范文,希望对大家有所帮助! 普通话考试说话范文我喜欢的职业一 也许是受启蒙老师的影响,也许是受无数位老师的恩泽...
职场攻略2017-03-06
普通话考试说话我喜欢的职业