网站首页 | 网页制作 | 网络编程 | 图形图象 | 冲浪宝典 | 操作系统 | 软件教学 | 网络安全 | 认证考试 | 下载中心 | 游戏下载
| 认证考试首页 | 微软认证 | Cisco认证 | Macrmedia认证 | Adobe认证 | 软件水平考试 | 全国等级考试 |
您现在的位置: 超人气学院 >> 认证考试 >> 全国等级考试 >> 文章正文 用户登录 新用户注册
2002年9月全国计算机等级考试二级C语言试卷(含答案)           
2002年9月全国计算机等级考试二级C语言试卷(含答案)
作者:未知 文章来源:mx68.com收集 点击数: 更新时间:2006-1-24 17:04:08
 一、选择题((1)—(40)每题1分,(41)—(50)每题2分,共60分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1) 在32位计算机中,一个字长所占的字节数为
A) 1B) 2C) 4D) 8
(2) 与十进制数511等值的十六进制数为
A) 1FFB) 2FFC) 1FED) 2FE
(3) 能将高级语言编写的源程序转换成目标程序的是
A) 编程程序B) 编译程序C) 解释程序D) 链接程序
(4) 在计算机系统中,存储一个汉字的国标码所需要的字节数为
A) 1 B) 2C) 3 D) 4
(5) 下列带有通配符的文件名中,能表示文件ABC.TXT的是
A) *BC.?B) A?.*C) ?BC.*D) ?.?
(6) 在多媒体计算机系统中,不能用以存储多媒体信息的是
A) 光缆B) 软盘C) 硬盘D) 光盘
(7) DOS命令“COPY/?”的功能是
A) 将当前盘当前目录中的所有文件复制到当前盘的根目录下
B) 将当前盘当前目录中所有以单个字符命名的文件复制到当前盘的根目录下
C) 以提示方式复制文件
D) 显示COPY命令的帮助信息
(8) 在Windows环境下,若要将当前活动窗口存入剪贴板,则可以按
A) Ctrl+PrintScreen键 B) Ctrl+PrintScreen键
C) Shift+PrintScreen键 D) PrintScreen键
(9) 在Windows环境下,单击当前应用程序窗口中的“关闭”按钮,其功能是
A) 将当前应用程序转为后台运行 B) 退出Windows后再关机
C) 退出Windows后重新启动计算机D) 终止当前应用程序的运行
(10)在Windows环境中,粘贴按钮是
A) B) C) D)
(11) 以下叙述中正确的是
A) 构成C程序的基本单位是函数
B) 可以在一个函数中定义另一个函数
C) main()函数必须放在其它函数之前
D) 所有被调用的函数一定要在调用之前进行定义
(12) 以下选项中合法的实型常数是
A) 5E2.0 B) E-3C) .2E0 D) 1.3E
(13) 以下选项中合法的用户标识符是
A) longB) _2TestC) 3DmaxD) A.dat
(14) 已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\101’是
A) 字符AB)字符aC)字符eD)非法的常量
(15) 以下非法的赋值语句是
A) n=(i=2,++i);B)j++;C) ++(i+1);D)x=j>0;
(16) 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是
A)6.500000B)6C) 5.500000D) 6.000000
(17) 已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是
A) scanf(“%2d%2d%2d”,&i,&j,&k);
B) scanf(“%d %d %d”,&i,&j,&k);
C) scanf(“%d,%d,%d”,&i,&j,&k);
D) scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);
(18) 与数学式子 对应的C语言表达式是
A) 3*x^n(2*x-1) B) 3*x**n(2*x-1)
C) 3*pow(x,n)*(1/(2*x-1))D) 3*pow(n,x)/(2*x-1)
(19) 设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是
A)printf(“x=%d\n”,x);B) printf(“x=%1d\n”,x);
C)printf(“x=%8dL\n”,x);D)printf(“x=%LD\n”,x);
(20) 若有以下程序:
main()
{ int k=2,i=2,m;
m=(k+=i*=k);printf(“%d,%d\n”,m,i);
}
执行后的输出结果是
A) 8,6 B) 8,3C) 6,4 D) 7,4
(21) 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是
A) 6 B) 0C) 2 D) 1
(22) 有一函数, ,以下程序段中不能根据x值正确计算出y值的是
A) if(x>0) y=1; B) y=0;
else if(x==0) y=0;if(x>0) y=1;
else y=-1;else if(x<0) y=-1;
C)y=0; D)if(x>=0)
if(x>=0);if(x>0) y=1;
if(x>0) y=1;else y=0;
else y=-1; else y=-1;
(23) 以下选项中,与k=n++完全等价的表达式是
A) k=n,n=n+1B) n=n+1,k=nC) k=++nD) k+=n+1
 (24) 以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:
main()
{ int n,k;
float score ,sum,ave;
sum=0.0;
for(n=1;n<=10;n++)
{ for(k=1;k<=4;k++)
{ scanf(“%f”,&score); sum+=score;}
ave=sum/4.0;
printf(“NO%d:%f\n”,n,ave);
 }
}
上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是
A) sum=0.0; B) sum+=score;
C) ave=sun/4.0; D) printf(“NO%d:%f\n”,n,ave);
 (25) 有以下程序段
int n=0,p;
do{scanf(“%d”,&p);n++;}while(p!=12345 &&n<3);
此处do—while循环的结束条件是
A) P的值不等于12345并且n的值小于3
B) P的值等于12345并且n的值大于等于3
C) P的值不等于12345或者n的值小于3
D) P的值等于12345或者n的值大于等于3
(26) 有以下程序
main()
{ int a=15,b=21,m=0;
switch(a%3)
{ case 0:m++;break;
case 1:m++;
switch(b%2)
{ default:m++;
case 0:m++;break;
}
}
printf(“%d\n”,m);
}
 程序运行后的输出结果是
A) 1B) 2C) 3D) 4
(27) C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是
A) void B) intC) floatD) double
(28) 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是
A) p=q;B) *p=*q;C) n=*q;D) p=n;
(29) 有以下程序
float fun(int x,int y)
{ return(x+y); }
main()
{ int a=2,b=5,c=8;
printf(“%3.0f\n”,fun(int)fun(a+c,b),a-c));
}
程序运行后的输出结果是
A) 编译出错B)9C)21D)9.0
(30) 有以下程序
void fun(char *c,int d)
{ *c=*c+1;d=d+1;
printf(“%c,%c,”,*c,d);
}
main()
{ char a=’A’,b=’a’;
fun(&b,a); printf(“%c,%c\n”,a,b);
}
程序运行后的输出结果是
A)B,a,B,a B) a,B,a,B C) A,b,A,b D) b,B,A,b
(31) 以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序
void sort(int a[],int n)
{ int i,j,t;
for(i=0;ifor(j=i+1,jif(a[i]}
main()
{ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(&aa[3],5);
for(i=o;i<10;i++) print(“%d,”,aa[i]);
printf(‘\n”);
}
程序运行后的输出结果是
A)1,2,3,4,5,6,7,8,9,10 B) 10,9,8,7,6,5,4,3,2,1,
C) 1,2,3,8,7.6.5.4.9,10 D) 1,2,10,9,8,7,6,5,4,3
(32) 有以下程序
int f(int n)
{ if (n==1) return 1;
else return f(n-1)+1;
}
main()
{ int i,j=0;
for(i=i;i<3;i++) j+=f(i);
printf(“%d\n”,j);
}
程序运行后的输出结果是
A) 4B) 3C) 2D) 1
(33) 有以下程序
main()
{ char a[ ]={‘a’,‘b’,‘c’,‘d’, ‘e’, ‘f’, ‘g’,‘h’,‘\0’}; int i,j;
i=sizeof(a); j=strlen(a);
printf(“%d,%d\b”i,j);
}
程序运行后的输出结果是
A)9,9 B)8,9 C)1,8 D)9,8
(34) 以下程序中函数reverse的功能是将a所指数组中的内容进行逆置。
void reverse(int a[ ],int n)
{ int i,t;
for(i=0;i{ t=a[i]; a[i]=a[n-1-i];a[n-1-i]=t;}
}
main()
{ int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0;
 reverse(b,8);
 for(i=6;i<10;i++) s+=b[i];
 printf(“%d\n”,s);
}
程序运行后的输出结果是
A) 22 B) 10C) 34D) 30
(35) 有以下程序
main()
{ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
int i,s=0
for(i=0;i<4;i++) s+=aa[i][1];
printf(“%d\n”,s);
}
程序运行后的输出结果是
A) 11 B) 19C) 13 D) 20
(36) 有以下程序
#include
main()
{ char *p=“abcde\Ofghjik\0”;
printf(“%d\n”,strlen(p));
}
程序运行后的输出结果是
A) 12B) 15C) 6D) 5
(37) 程序中头文件typel.h 的内容是:
#define N 5
#define M1 N*3
程序如下:
#define “type1.h”
#define M2 N*2
main()
{ int i;
i=M1+M2; printf(“%d\n”,i);
}
程序编译后运行的输出结果是:
A) 10 B) 20C) 25 D) 30
(38) 有以下程序
#include
main()
{ FILE *fp; int i=20,j=30,k,n;
fp=fopen(“d1.dat”“w”);
fprintf(fp,“%d\n”,i);fprintf(fp,“%d\n”j);
fclose(fp);
fp=fopen(“d1.dat”, “r”);
fp=fscanf(fp,“%d%d”,&k,&n); printf(“%d%d\n”,k,n);
fclose(fp);
}
程序运行后的输出结果是
A) 20 30 B) 20 50C) 30 50 D) 30 20
(39) 以下叙述中错误的是
A) 二进制文件打开后可以先读文件的末尾,而顺序文件不可以
B) 在程序结束时,应当用fclose函数关闭已打开的文件
C) 在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据
D) 不可以用FILE定义指向二进制文件的文件指针
(40) 有以下程序
#include
main(int argc,char *argv[])
{ int i,len=0;
for(i=1;iprintf(“%d\n”,len);
}
程序编译连接后生成的可执行文件是ex1.exe,若运行时输入带参数的命令行是:
ex1 abcd efg 10<回车>
则运行的结果是:
A) 22 B) 17C) 12 D) 9
(41) 有以下程序
int fa(int x)
{ return x*x; }
int fb(int x)
{ return x*x*x; }
int f(int (*f1)(),int (*f2)(),int x)
{ return f2(x)-f1(x); }
main()
{ int i;
i=f(fa,fb,2); printf(“%d\n”,i);
}
程序运行后的输出结果是
A) -4 B) 1C) 4 D) 8
(42) 有以下程序
int a=3;
main()
{ int s=0;
{ int a=5; s+=a++; }
s+=a++;printf(“%d\n”,s);
}
程序运行后的输出结果是
A) 8B) 10C) 7 D) 11
(43) 有以下程序
void ss(char *s,char t)
{ while(*s)
{ if(*s==t) *s=t-‘a’+’A’;
 s++;
}
}
main()
{ char str1[100]=“abcddfefdbd”,c=’d’;
ss(str1,c); printf(“%s\n”,str1);
}
程序运行后的输出结果是
A) ABCDDEFEDBD B) abcDDfefDbD
C) abcAAfe

[1] [2] 下一页

[ 收藏此页到: 天天|和讯|博采|ViVi|狐摘|我摘|天极 ] 文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    专 题 栏 目
    最 新 热 门
  • 此栏目下没有热点文章
  • 相 关 文 章
    2002年9月全国计算机等级考
    2001年4月全国计算机等级考
    2002年9月全国计算机等级考
    2002年4月全国计算机等级考
    2001年9月全国计算机等级考
    2001年9月全国计算机等级考
    2001年4月全国计算机等级考
    2000年9月全国计算机等级考
    2000年4月全国计算机等级考
    2002年4月全国计算机等级考
    2000年9月全国计算机等级考
    2000年4月全国计算机等级考
    2002年9月全国计算机等级考
    2001年4月全国计算机等级考
    2001年9月全国计算机等级考
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)