计算机二级考试C语言程序设计试题及答案.docx
- 文档编号:5782985
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:15
- 大小:21.91KB
计算机二级考试C语言程序设计试题及答案.docx
《计算机二级考试C语言程序设计试题及答案.docx》由会员分享,可在线阅读,更多相关《计算机二级考试C语言程序设计试题及答案.docx(15页珍藏版)》请在冰豆网上搜索。
计算机二级考试C语言程序设计试题及答案
计算机二级考试C语言程序设计试题及答案
采用全国统一命题、统一考试的形式。
下面了计算机二级考试程序设计试题及答案,希望对大家有帮助!
以下各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相应位置上涂黑,答在试卷上不得分。
(1)以下述叙中正确的选项是
A)显示器和打印机都是输出设备B)显示器只能显示字符
C)通常的彩色显示器都有7种颜色D)打印机只能打印字符和表格
(2)微型计算机中运算器的主要功能是进展
A)算术运算B)逻辑运算C)算术和逻辑运算D)初等函数运算
(3)MAND。
是DOS系统的最外层模块,通常称之为
A)引导程序B)输入输出系统C)命令处理系统D)文件管理系统
(4)电子邮件是
A)网络信息检索效劳
B)通过Web网页的公告信息
C)通过网络实时交互的信息传递方式
D)一种利用网络交换信息的非交互式效劳
(5)和十进制数225相等的二进制数是
A)11101110B)11111110C)10000000D)11111111
(6)以下表达中正确的选项是
A)指令由操作数和操作码两局部组成
B)常用参数xxMB表示计算机的速度
C)计算机的一个字长总是等于两个字节
D)计算机语言是完成某一任务的指令集
(7)计算机的内存储器比外存储器
A)价格廉价B)存储容量大C)读写速度快D)读写速度慢
(8)设当前盘为C盘,执行DOS命令"COPYB:
A.TXTPRN"之后,结果是
A)B盘上的A.TXT文件被复制到C盘的PRN文件
B)屏幕上显示B盘上的A.TXT文件内容
C)B盘上的A.TXT文件内容在打印机上输出
D)B盘上的A.TXT文件被复制到B盘上的PRN文件
(9)要将当前盘当前目录下的两个文件X1.TXT和B1.TXT连接起来之后存入B盘当前目录下并且命名为Z.TXT,无论B盘当前目录是什么,完成这件任务可以使用的命令是
A)COPYA:
X1.TXT+C:
B1.TXTZ.TXT
B)COPYX1.TXT+C:
WSB1.TXTB:
.TXT
C)COPYA:
X1.TXT+C:
WSB1.TXT
D)COPYX1.TXT+B1.TXTB:
Z.TXT
(10)以下四组DOS命令中,功能等价的一组是
A)COPYA:
*.*B:
与DISKCOPYA:
B:
B)COPYABC.TXT+XYZ.TXT与TYPEXYZ.TXT>>ABC.TXT
C)COPYABC.TXT+XYZ.TXT与COPYXYZ.TXT+ABC.TXT
D)TYPE*.FOR>CON与COPY*.FORCON
(11)设当前目录为D:
BB,现要把D:
AA目录下首字符是A的文本文件全部删除,应该使用命令
A)DELA*.TXTB)DELAAA.TXT
C)DELAAA*.TXTD)DELAAA?
.TXT
(12)在Windows中,启动应用程序的正确方法是
A)用鼠标指向该应用程序图标
B)将该应用程序窗口最小化成图标
B)将该应用程序窗口复原
D)用鼠标双击该应用程序图标
(13)在Windows中,终止应用程序执行的正确方法是
A)将该应用程序窗口最小化成图标
B)用鼠标双击应用程序窗口右上角的复原按钮
C)用鼠标双击应用程序窗口中的标题栏
D)用鼠标双击应用程序窗口左上角的控制菜单框
(14)在微机系统中,对输入输出设备进展管理的根本程序模块(BIOS)存放在
A)RAM中B)ROM中C)硬盘中D)存放器中
(15)使计算机病毒传播范围最广的媒介是
A)硬磁盘B)软磁盘C)内部存储器D)互联网
(16)设有intx=11;那么表达式(x++*1/3)的值是
A)3B)4C)11D)12
(17)以下程序的输出结果是
A)3B)3.2C)0D)3.07
main()
{doubled=3.2;intx,y;
x=1.2;y=(x+3.8)/5.0;
printf("%d",d*y);
}
(18)以下程序执行后的输出结果是(小数点后只写一位)
A)666.06.0B)666.76.7
C)666.06.7D)666.76.0
main()
{doubled;floatf;lingl;inti;
i=f=1=d=20/3;
printf("%d%ld%f%f",i,l,f,d);
}
(19)以下变量定义中合法的是
A)shorta=1-.le-1;B)doubleb=1+5e2.5;
C)longdo=0xfdaL;D)float2and=1-e-3;
(20)设intx=1,y=1;表达式(!
x||y--)的值是
A)0B)1C)2D)-1
(21)与y=(x>0?
1:
x<0?
-1:
0);的功能相同的if语句是
A)if(x>0)y=1;B)if(x)
elseif(x<0)y=-1;if(x>0)y=1;
elsey=0;elseif(x<0)y=-1;
elsey=0;
C)y=-1D)y=0;
if(x)if(x>=0)
if(x>0)y=1;if(x>0)y=1;
elseif(x==0)y=0;elsey=-1;
elsey=-1;
(22)以下循环体的执行次数是
A)3B)2C)1D)0
main()
{inti,j;
for(i=0,j=1;i<=j+1;i+=2,j--)printf("%d",i);
}
(23)以下表达正确的选项是
A)do-while语句构成的循环不能用其它语句构成的循环来代替。
B)do-while语句构成的循环只能用break语句退出。
C)用do-while语句构成的循环,在while后的表达式为非零时完毕循环。
D)用do-while语句构成的循环,在while后的表达式为零时完毕循环。
(24)以下程序执行后的输出结果是
A)GB)HC)ID)J
main()
{intx='f';printf("%c",'A'+(x-'a'+1));}
(25)执行下面的程序段后,变量k中的值为
A)不定值B)33C)30D)10
intk=3,s[2];
s[0]=k;k=s[1]*10;
(26)假设已定义:
inta[]={0,1,2,3,4,5,6,7,8,9],*p=a,i;
其中0≤i≤9,那么对a数组元素不正确的引用上
A)a[p-a]B)*(&a[i])C)p[i]D)a[10]
(27)以下程序执行后的输出结果是
A)6B)7C)8D)9
voidfunc(int*a,intb[])
{b[0]=*a+6;}
main()
{inta,b[5];
a=0;b[0]=3;
func(&a,b);printf("%d,b[0]);
}
(28)以下程序的运行结果是
A)a=%2,b=%5B)a=2,b=5
C)a=d,b=dD)a=%d,b=%d
#include
main()
{inta=2,c=5;
printf("a=%d,b=%d",a,c);}
(29)以下程序执行后的输出结果是
A)3B)6C)9D)随机数
main()
{inta[3][3],*p,i;
p=&a[0][0];
for(i=p;i<9;i++)p[i]=i+1;
printf("%d",a[1][2]);
}
(30)设有数组定义:
chararray[]="China";那么数组array所占的空间为
A)4个字节B)5个字节C)6个字节D)7个字节
(31)以下程序的输出结果是
A)4B)6C)8D)10
intb=2;
intfunc(int*a)
{b+=*a;return(b);}
main()
{inta=2,res=2;
res+=func(&a);
printf("%d",res);
}
(32)在以下四组中,每组有两个分别运算的函数,运算结果相同的是
A)4B)2C)2D)0
main()
{inti,j,m=0,n=0;
for(i=p;i<2;i++)
for(j=0;j<2;j++)
if(j>=i)m=1;n++;
printf("%d",n);
}
(33)以下程序的输出结果是
A)5B)6C)7D)8
structabc
{inta,b,c;};
main()
{structabcs[2]={{1,2,3},{4,5,6}};intt;
t=s[0],a+s[1],b;
printf("%d",t);
}
(34)设intb=2;表达式(b>>2)/(b>>1)的值是
A)0B)2C)4D)8
(35)在C程序中,可把整型数以二进制形式存放到文件中的函数是
A)fprintf函数B)fread函数C)fwrite函数D)fputc函数
(36)以下程序执行后的输出结果是
A)-32767B)FFFEC)-1D)-32768
main()
{charx=0xFFFF;printf("%d",x--);}
(37)假设有定义:
floatw;inta,b;那么合法的switch语句是
A)switch(w)B)switch(a);
{case1.0:
printf("*");{case1printf("*");
case2.0:
printf("**");case2printf("**");
}}
C)switch(b)D)switch(a+b);
{case1:
printf("*");{case1:
printf("*");
default:
printf("");case2:
printf("**");
case1+2:
printf("**");default:
printf("");
}}
(38)以下程序段的执行结果是
A)a=12y=12B)a=12y=12
a=14y=16a=16y=28
a=16y=20
a=18y=24
C)a=12y=12D)a=12y=12
a=14y=26
a=14y=44
inta,y;
a=10;y=0;
do
{a+=2;y+=a;
printf("a=%dy=%d",a,y);
if(y>20)break;
{while(a=14);
.
.
.
(39)假设有以下调用语句,那么不正确的fun函数的首部是
A)voidfun(intm,intx[])B)voidfun(ints,inth[41])
C)voidfun(intp,int*s)D)voidfun(intn,inta)
main()
{…
inta[50],n;
…
fun(n,&a[9]);
…
}
(40)语句printf("are'hi'y\ou");的输出结果是
A)are'hi'y\ouB)are'hi'you
C)re'hi'youD)abre'hi'you
(说明:
''是退格符)
(41)请选出正确的程序段
A)int*p;B)int*s,k;
scanf("%d",p);*s=100;
……
C)int*s,k;D)int*s,k;
char*p,c;char*p,e;
s=&k;s=&k;
p=&c;p=&c;
*p='a';s=p;
…*s=1;
…
(42)指针p的指向如以下图所示,那么执行语句*--p;后*p的值是
A)30B)20C)19D)29
a[0]a[1]a[2]a[3]a[4]
1020304050
(43)设已有定义:
char*st="howareyou";以下程序段中正确的选项是
A)chara[11],*p;strcpy(p=a+1,&st[4]);
B)chara[11];strcpy(++a,st);
C)chara[11];strcpy(a,st);
D)chara[],*p;strcpy(p=&a[1],st+2);
(44)以下程序执行后的输出结果是
A)you&neB)youC)meD)err
mai()
{chararr[2][4];
strcpy(arr,"you");strcpy(arr[1],"me");
arr[0][3]='&';
printf("%s",arr);
}
(45)以下程序执行后的输出结果是
A)helloB)helC)hloD)hlm
voidfunc1(inti);
voidfunc2(inti);
charst[]="hello,friend!
";
voidfunc1(inti)
{printf("%c",st[i]);
if(i<3){i+=2;func2(i);}
}
voidfunc2(inti)
{printf("%c",st[i]);
if(i<3){i+=2;func1(i);}
}
main()
{inti=0;func1(i);printf("");}
(46)假定以下程序的可执行文件名为prg.exe,那么在该程序所在的子目录下输入命令行:
prghellogood<回车>后,程序的输出结果是
A)hellogoodB)hgC)helD)hellogood
main()(intargc,char*argv[])
{inti;
if(argc<-0)return;
for(i=1;i
}
(47)以下程序执行后的输出结果是
A)6B)8C)10D)12
#defineMA(x)x*(x-1)
main()
{inta=1,b=2;printf("%d",MA(1+a+b));}
(48)有以下构造体说明和变量的定义,且如以下图所示指针p指向变量a,指针q指向变量b。
那么不能把结点b连接到结点a之后的语句是
A)a.next=q;B)p.next=&b;
C)p->next=&b;D)(*p).next=q;
structnode
{chardata;
structnode*next;
{a,b,*p=&a,*q=&b;
datanextdatanext
(49)变量a所占内存字节数是
A)4B)5C)6D)8
unionU
{charst[4];
inti;
longl;
};
structA
{intc;
unionUu;
}a;
(50)执行以下程序时输入:
123<空格>456<空格>789<回车>,输出结果是
A)123,456,789B)1,456,789
C)1,23,456,789D)1,23,456
main()
{chars[100];intc,i;
scanf("%c",&c);scanf("%d",&i);scanf("%s",s);
printf("%c,%d,%s",c,i,s);
}
请将每空的正确答案写在答题卡上[1] ̄[20]序号的横线上,答在试卷上不得分。
(1)计算机网络按通信间隔来划分,可分为局域网和广域网。
因特网属于[1]。
(2)当前盘是C,确保在D盘的根目录下建立一个子目录USER的一条DOS命令是[2]。
(3)要将当前盘当前目录中所有扩展名为.TXT的文件内容显示在屏幕上的DOS命令是[3]。
(4)DOS命令分为内部命令和外部命令,CHKDSK命令是[4]命令。
(5)在Windows中,为了终止一个应用程序的运行,首先单击该应用程序窗口中的控制菜单框,然后在控制菜单中单击[5]命令。
(6)设有以下变量定义,并已赋确定的值
charw;intx;floaty;doublez;
那么表达式:
w*x+z-y所求得的数据类型为[6]。
(7)假设x为int类型,请以最简单的形式写出与逻辑表达式!
x等价的C语言关系表达式[7]。
(8)假设有如以下图所示五个连续的int类型的存储单元并赋值如以下图,a[0]的地址小于a[4]的地址。
p和s是基类型为int的指针变量。
请对以下问题进展填空。
a[0]a[1]a[2]a[3]a[4]
2233445566
1,假设p已指向存储单元a[1]。
通过指针p,给s赋值,使s指向最后一个存储单元a[4]的语句是[8]。
2,假设指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p的值是[9]。
(9)下面函数用来求出两个整数之和,并通过形参传回两数相加之和值,请填空。
intadd(intx,inty,[10]z)
{[11]=x+y;}
(10)下面程序的功能是:
计算1到10之间奇数之和及偶数之和,请填空。
#include
main()
{inta,b,c,i;
a=c=0;
for(i=0;i<10;i+=2)
{a+=i;
[12];
c+=b;
}
printf("偶数之和=%d",a);
printf("奇数之和=%d",c-11);
}
(11)下面程序的功能是:
输出100以内能被3整除且个位数为6的所有整数,请填空。
#include
main()
{inti,j;
for(i=0;[13];i++)
{j=i*10+6;
if([14])continue;
printf("%d",j);
}
}
(12)下面程序的功能是:
将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。
请填空。
#include
#include
main()
{chara[]="clanguage",t;
inti,j,k;
k=strlen(a);
for(i=0;i<=k-2;i+=2)
for(j=i+2;j<=k;[15])
if([16])
{t=a[i];a[i]=a[j];a[j]=t;}
puts(a);
printf("");
}
(13)以下程序的运行结果是[17]
#include
main()
{intk=4,m=1,p;
p=func(k,m);printf("%d,",p);
p=func(k,m);printf("%d",p);
}
func(inta,intb)
{staticintm=0,i=2;
i+=m+1;
m=i+a+b;
returnm;
}
(14)以下程序的功能是:
将无符号八进制数字构成的字符串转换为十进制整数。
例如,输入的字符串为:
556,那么输出十进制整数366。
请填空。
#include
main()
{char*p,s[6];
intn;
p=s;
gets(p);
n=*p-'0';
while([18]!
='\0')n=n*8+*p-'0';
printf("%d",n);
}
(15)函数voidfun(float*sn,intn)的功能是:
根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。
请填空。
voidfun(float*sn,intn)
{floats=0.0,w,f=-1.0;
inti=0;
for(i=0;i<=n;i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 考试 语言程序设计 试题 答案