工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛
您的位置:软件 > 认证考试 > 计算机考级 > 正文
2003年(下)二级C试题及答案
[文章信息]
作者:
时间:2004-06-02
出处:ncre
责任编辑:方舟
[文章导读]
一、选择题
advertisement
热点推荐
· 2月16日软件精选 春节文章精彩回顾
· 轻松玩转Excel数据图表
· Win XP系统如何快捷地整理硬盘碎片
· ASP.NET中用healthMonitor属性用法
· Outlook中一次性转移大批邮件的方法
[正文]

1 2  下一页

  一、选择题((1)~(40)每题1分,(41)~(50)每题2分,共60分)

  下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。



  (1)在计算机中,一个字节所包含二进制位的个数是

A)2 B)4 C)8 D)16
  (2)在多媒体计算机中,CD-ROM属于

A)存储媒体 B)传输媒体 C)表现媒体 D)表示媒体

  (3)在DOS系统中,带有通配符的文件名*.*表示

A)硬盘上的全部文件 B)当前盘当前目录中的全部文件
C)当前盘上的全部文件 D)根目录中的全部文件

  (4)十六进制数100转换为十进制数为

A)256 B)512 C)1024 D)64

  (5)能将高级语言编写的源程序转换为目标程序的软件是

A)汇编程序 B)编辑程序 C)解释程序 D)编译程序

  (6)在Internet中,用于在计算机之间传输文件的协议是

A)TELNET B)BBS C)FTP D)WWW

  (7)在Windows环境下,资源管理器左窗口中的某文件夹左边标有"+"标记表示

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

  (8)在Windows环境下,下列叙述中正确的是

A)在"开始"菜单中可以增加项目,也可以删除项目
B)在"开始"菜单中不能增加项目,也不能删除项目
C)在"开始"菜单中可以增加项目,但不能删除项目
D)在"开始"菜单中不能增加项目,但可以删除项目

  (9) 从Windows环境进入DOS方式后,返回Windows环境的命令为

A)QUIT B)WIN C)EXIT D)ESC

  (10) 下列叙述中正确的是

A)计算机病毒只感染可执行文件
B)计算机病毒只感染文本文件
C)计算机病毒只能通过软件复制的方式进行传播
D)计算机病毒可以通过读写磁盘或网络等方式进行传播

  (11)以下叙述中正确的是

A)C程序中注释部分可以出现在程序中任意合适的地方
B)花括号"{"和"}"只能作为函数体的定界符
C)构成C程序的基本单位是函数,所有函数名都可以由用户命名
D)分号是C语句之间的分隔符,不是语句的一部分

  (12)以下选项中可作为C语言合法整数的是

A)10110B B)0386 C)0Xffa D)x2a2

  (13)以下不能定义为用户标识符的是

A)scanf B)Void C)_3com_ D)int

  (14)有以下程序

main()
{ int a; char c=10;
float f=100.0; double x;
a=f/=c*=(x=6.5);
printf("%d %d %3.1f %3.1f\n",a,c,f,x);
}

  程序运行后的输出结果是

A)1 65 1 6.5 B)1 65 1.5 6.5 C)1 65 1.0 6.5 D)2 65 1.5 6.5

  (15)以下选项中非法的表达式是

A)0<=x<100 B)i=j==0 C)(char)(65+3) D)x+1=x+1

  (16)有以下程序

main()
{ int a=1,b=2,m=0,n=0,k;
k=(n=b>a)||(m=a<b);
printf("%d,%d\n",k,m);
}

  程序运行后的输出结果是

A)0,0 B)0,1 C)1,0 D)1,1

  (17)有定义语句:int x, y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是

A)11 12<回车> B)11, 12<回车> C)11,12<回车> D)11,<回车> 12<回车>

  (18)设有如下程序段:

int x=2002, y=2003;
printf("%d\n",(x,y));

  则以下叙述中正确的是

A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B)运行时产生出错信息
C)输出值为2002
D)输出值为2003

  (19)设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是

A)x=x*100+0.5/100.0; B)x=(x*100+0.5)/100.0;
C)x=(int)(x*100+0.5)/100.0; D)x=(x/100+0.5)*100.0;

  (20)有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是
A) if (c<a) x=1;
B) if (a<3) x=3;
  else if (b<a) x=2;
  else if (a<2) x=2;
  else x=3;
  else x=1;
C) if (a<3) x=3;
D) if (a<b) x=b;
  if (a<2) x=2;
  if (b<c) x=c;
  if (a<1) x=1;
  if (c<a) x=a;

  (21)有以下程序

main()
{ int s=0,a=1,n;
scanf("%d",&n);
do
{ s+=1; a=a-2; }
while(a!=n);
printf("%d\n",s);
}

  若要使程序的输出值为2,则应该从键盘给n输入的值是

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

  (22)若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)

s=a;
for(b=1;b<=c;b++) s=s+1;

  则与上述程序段功能等价的赋值语句是

A)s=a+b; B)s=a+c; C)s=s+c; D)s=b+c;

  (23)有以下程序

main()
{ int k=4,n=0;
for( ; n<k ; )
{ n++;
if(n%3!=0) continue;
k--; }
printf("%d,%d\n",k,n);
}

  程序运行后的输出结果是

A)1,1 B)2,2 C)3,3 D)4,4

  (24)要求以下程序的功能是计算:s=

main()
{ int n; float s;
s=1.0;
for(n=10;n>1;n--)
s=s+1/n;
printf("%6.4f\n",s);
}

  程序运行后输出结果错误,导致错误结果的程序行是

A)s=1.0; B)for(n=10;n>1;n--)
C)s=s+1/n; D)printf("%6.4f\n",s);

  (25)已定义ch为字符型变量,以下赋值语句中错误的是

A)ch='\'; B)ch=62+3; C)ch=NULL; D)ch='\xaa';

  (26)若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是

A)函数调用可以作为独立的语句存在
B)函数调用可以作为一个函数的实参
C)函数调用可以出现在表达式中
D)函数调用可以作为一个函数的形参

  (27)有以下函数定义:

void fun(int n, double x) { …… }

  若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是

A)fun(int y,double m); B)k=fun(10,12.5);
C)fun(x,n); D)void fun(n,x);

  (28)有以下程序

void fun(char *a, char *b)
{ a=b; (*a)++; }
main()
{ char c1='A',c2='a',*p1,*p2;
p1=&c1; p2=&c2; fun(p1,p2);
printf("%c%c\n",c1,c2);
}

  程序运行后的输出结果是

A)Ab B)aa C)Aa D)Bb

  (29)若程序中已包含头文件stdio.h,以下选项中,正确运用指针变量的程序段是

A)int *i=NULL; B) float *f=NULL;
scanf("%d",i); *f=10.5;
C)char t='m', *c=&t; D) long *L;
*c=&t; L='\0';

  (30)有以下程序

#include <stdio.h>
main()
{ printf("%d\n",NULL); }

  程序运行后的输出结果是

A)0 B)1 C)-1 D)NULL没定义,出错

  (31)已定义c为字符型变量,则下列语句中正确的是

A)c='97'; B)c="97"; C)c=97; D)c="a";

  (32)以下不能正确定义二维数组的选项是

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

  (33)以下选项中不能正确把cl定义成结构体变量的是

A)typedef struct B)struct color cl
{ int red; { int red;
int green; int green;
int blue; int blue;
} COLOR; };
COLOR cl;

C)struct color D)struct
{ int red; { int red;
int green; int green;
int blue; int blue;
} cl; } cl;

  (34)以下能正确定义一维数组的选项是

A)int num[]; B) #define N 100
int num[N];
C)int num[0..100]; D) int N=100;
int num[N];

  (35)下列选项中正确的语句组是

A)char s[8]; s={"Beijing"}; B)char *s; s={"Beijing"};
C)char s[8]; s="Beijing"; D)char *s; s="Beijing";

  (36)已定义以下函数

fun(int *p)
{ return *p; }

  该函数的返回值是

A)不确定的值 B)形参p中存放的值
C)形参p所指存储单元中的值 D)形参p的地址值

  (37)下列函数定义中,会出现编译错误的是

A)max(int x,int y,int *z)

B)int max(int x,y)
{ *z=x>y ? x:y; } { int z;
z=x>y ? x:y;
return z;
}
C)max(int x,int y) D)int max(int x,int y)
{ int z; { return(x>y?x:y); }
z=x>y?x:y; return(z);
}

  (38)有以下程序

#include <stdio.h>
#define F(X,Y) (X)*(Y)
main()
{ int a=3, b=4;
printf("%d\n", F(a++, b++));
}

  程序运行后的输出结果是

A)12 B)15 C)16 D)20

  (39)有以下程序

fun(int a, int b)
{ if(a>b) return(a);
else return(b);
}
main()
{ int x=3, y=8, z=6, r;
r=fun(fun(x,y), 2*z);
printf("%d\n", r);
}

  程序运行后的输出结果是

A)3 B)6 C)8 D)12

  (40)若有定义:int *p[3];,则以下叙述中正确的是

A)定义了一个基类型为int的指针变量p,该变量具有三个指针
B)定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针
C)定义了一个名为*p的整型数组,该数组含有三个int类型元素
D)定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素

  (41)以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址

#include <stdio.h>
#include <string.h>
char *scmp(char *s1, char *s2)
{ if(strcmp(s1,s2)<0)
return(s1);
else return(s2);
}
main()
{ int i; char string[20], str[3][20];
for(i=0;i<3;i++) gets(str[i]);
strcpy(string,scmp(str[0],str[1])); /*库函数strcpy对字符串进行复制*/
strcpy(string,scmp(string,str[2]));
printf("%s\n",string);
}

  若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为

A)abcd B)abba C)abc D)abca

  (42)有以下程序

struct s
{ int x,y; } data[2]={10,100,20,200};
main()
{ struct s *p=data;
printf("%d\n",++(p->x));
}

  程序运行后的输出结果是

A)10 B)11 C)20 D)21

  (43)有以下程序段

main()
{ int a=5,*b,**c;
c=&b; b=&a;
……
}

  程序在执行了c=&b;b=&a;语句后,表达式:**c的值是

A)变量a的地址 B)变量b中的值 C)变量a中的值 D)变量b的地址

  (44)有以下程序

#include <string.h>
main()
{ char str[][20]={"Hello","Beijing"},*p=str;
printf("%d\n",strlen(p+20));
}

  程序运行后的输出结果是

A)0 B)5 C)7 D)20

  (45)已定义以下函数

fun(char *p2, char *p1)
{ while((*p2=*p1)!='\0'){ p1++;p2++; } }

  函数的功能是:

A)将p1所指字符串复制到p2所指内存空间
B)将p1所指字符串的地址赋给指针p2
C)对p1和p2两个指针所指字符串进行比较
D)检查p1和p2两个指针所指字符串中是否有'\0'

  (46)有以下程序

main()
{ int x=3, y=2, z=1;
printf("%d\n",x/y&~z);
}

  程序运行后的输出结果是

A)3 B)2 C)1 D)0

  (47)若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为

A)0 B)1 C)-1 D)一个非0值

  (48)下列关于C语言数据文件的叙述中正确的是

A)文件由ASCII码字符序列组成,C语言只能读写文本文件
B)文件由二进制数据序列组成,C语言只能读写二进制文件
C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件

  (49)有以下程序

main()
{ int a[3][3],*p,i;
p=&a[0][0];
for(i=0;i<9;i++) p[i]=i+1;
printf("%d \n",a[1][2]);
}

  程序运行后的输出结果是

A)3 B)6 C)9 D)2

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

struct node
{ int data;
struct node *next;
} *p, *q, *r;




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

A)r->next=q; q->next=r->next; p->next=r;
B)q->next=r->next; p->next=r; r->next=q;
C)p->next=r; q->next=r->next; r->next=q;
D)q->next=r->next; r->next=q; p->next=r;

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

  请将每一个空的正确答案写在答题卡【1】至【20】序号的横线上,答在试卷上不得分。

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

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

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

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

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

  (6)以下程序运行后的输出结果是 【6】 。
main()
{ int p=30;
printf("%d\n",(p/3>0 ? p/10 : p%3));
}

  (7)以下程序运行后的输出结果是 【7】 。
main()
{ char m;
m='B'+32; printf("%c\n",m);
}

  (8)以下程序运行后的输出结果是 【8】 。
main()
{ int a=1,b=3,c=5;
if (c=a+b) printf("yes\n");
else printf("no\n");
}

  (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\n",m,n,k);
}

  (10)执行以下程序后,输出'#'号的个数是 【10】 。
#include <stdio.h>
main()
{ int i,j;
for(i=1; i<5; i++)
for(j=2; j<=i; j++) putchar('#');
}

  (11)以下程序的功能是调用函数fun计算: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\n", 【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++) printf("%d ",a[i][j]);
printf("\n");
}
}

  (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\n",a);
}

  (15)请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。
【16】 ( double,double);
main()
{ double x,y;
scanf("%lf%lf",&x,&y);
printf("%lf\n",max(x,y));
}
double max(double a,double b)
{ return(a>b ? a:b); }

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

#include <string.h>
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);
printf("%s\n",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指向一个具有struct node类型的动态存储空间。请填空。
p = (struct node *)malloc( 【19】 );

  (19)以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。例如,输入字符串:abc123edf456gh,执行程序后输出:123456。请填空。
#include <stdio.h>
#include <ctype.h>
main()
{ char s[80], d[80]; int i,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if( 【20】 ) { d[j]=s[i]; j++; }
d[j]='\0';
puts(d);
}


1 2  下一页

天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 
发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容焦点新闻
  • 二级C语言笔试试卷及答案
  • 2004下半年等级考试问答
  • 等级考试机试经验三则
  • 二级VB、VFP题型分析
  • 阅卷教师谈等级考试技巧
  • 王渝次:信息安全保障工作任务紧迫 时不我待
  • 我国政务信息化建设的现状、问题、与对策
  • 北京丰台区政务信息化建设的主要做法与体会
  • 英特尔亚太区换帅 蒋安邦离职杨旭暂接任总裁
  • 2004年网上招聘全程无淡季 IT行业全面回暖
  • 专家:中国工程机械行业需要一流的供应链
  • 新浪遭遇集体诉讼 涉嫌发布虚假信息误导股市
  • 机构预测今年全球个人电脑销量增速将放缓
  • Advertisement

    天极无线


    奇妙科幻|美好风光|清风车影|漫画卡通|星座生肖|明星写真|动物世界
    老鼠爱大米
    挥着翅膀的女孩
    女人味
    栀子花开
    白月光
    刚刚好
    江南
    快乐崇拜
    亲爱的你怎么不在我身边
    小薇
    2002年的第一场雪
    有多少爱可以重来
    我的地盘
    七里香
    情人
     
    老鼠爱大米 老板电话
    冲动的惩罚 七里香
    我不是黄蓉 女生撒娇
    盛夏的果实 坚持到底
    孤单北半球 眉飞色舞
    挪威的森林 可爱女人
    最浪漫的事 老板电话

    CSEEK搜索