高校二级C模拟光盘与参考答案.docx
《高校二级C模拟光盘与参考答案.docx》由会员分享,可在线阅读,更多相关《高校二级C模拟光盘与参考答案.docx(22页珍藏版)》请在冰豆网上搜索。
![高校二级C模拟光盘与参考答案.docx](https://file1.bdocx.com/fileroot1/2022-12/13/bbb6cfab-921c-45df-a0ee-40ba017447e3/bbb6cfab-921c-45df-a0ee-40ba017447e31.gif)
高校二级C模拟光盘与参考答案
1.计算机在实现工业自动化中的应用主要是进行(A)。
A.实时控制
B.数据处理
C.数值计算
D.人工智能
2.计算机的主频指的是(D)。
A.硬盘读写速度,用Hz表示
B.软盘读写速度,用Hz表示
C.显示器输出速度,用MHz表示
D.时钟频率,用MHz表示
3.复制活动窗口的信息到剪贴板,只须按下(C)键即可。
A.【Alt+Esc】
B.【Ctrl+Shift】
C.【Alt+PrintScreen】
D.【PrintScreen】
4.计算机中ROM的意思是(B)。
A.磁盘存储器
B.只读存储器
C.随机存储器
D.光盘存储器
5.在运行某程序时,如果存储器容量不够,可通过(D)来解决。
A.把软盘换成硬盘
B.把磁盘换成高密度磁盘
C.扩大硬盘容量
D.增加一个扩充存储卡(内存条)
6.在Windows中,控制面板是以(B)的形式存在的。
A.一个普通文件
B.一个系统文件夹
C.一个系统文件
D.几个系统文件集合在一起
7.微型计算机存储器系统中的Cache是(B)。
A.只读存储器
B.高速缓冲存储器.
C.可编程只读存储器
D.可擦除可再编程只读存储器
8.一般主存储器和外存储器的区别在于(C)。
A.主存储器容量大、速度快、造价高;外存储器容量小、速度慢、造价低
B.主存储器容量小、速度慢、造价低;外存储器容量大、速度快、造价高
C.主存储器容量小、速度快、造价高;外存储器容量大、速度慢、造价低
D.区别仅仅是因为一个在计算机里,一个在计算机外
9.在智能ABC输入法中,将“计算机”编码输入为“jsuanj”,这属于(C)。
A.全拼输入
B.简拼输入
C.混拼输入
D.智能输入
10.在Windows98的MS-DOS窗口中,按(B)键,可以在全屏幕与窗口方式之间切换。
A.【Alt+Shift】
B.【Alt+Enter】
C.【Alt+F8】
D.【Ctrl+Shift】
11.二进制数.100对应的十六进制数为(C)。
A.52.8
B.52.6
C.54.8
D.54.6
12.在3.5英寸软盘上有一个可移动滑块的透光孔是用于( B )。
A.防霉保护
B.写保护
C.读保护
D.驱动定位
13.在Windows98中,不同驱动器之间的文件移动,应使用的操作为( C )。
A.鼠标直接拖曳
B.【Ctrl+鼠标拖曳】
C.【Shift+鼠标拖曳】
D.选定要移动的文件按【Ctrl+C】,然后打开目标文件夹按【Ctrl+V】
14.Windows环境下,人们主要在鼠标选择方式下操作计算机,Windows提供( C )界面。
A.鼠标和键盘
B.显示器
C.图形用户
D.字符用户
15.在Windows98的资源管理器中,查找文件或文件夹的操作是通过菜单( C )来实现的。
A.文件
B.编辑
C.工具
D.查看
16.若以下变量均是整型,且num=Sum=7;则计算表达式Sum=num++,Sum++,++num后Sum的值为(B)。
A.7
B.8
C.9
D.10
17.判断char型变量c1是否为大写字母的正确表达式是(C)。
A.'A'<=c1<='Z'
B.(c1>='A')&(c1<='Z')
C.(c1>='A')&&(c1<='Z')
D.('A'<=c1)AND('Z'>=c1)
18.下面程序段的运行结果是(C)。
charc[]="\t\v\\\Owill\n";
printf("%d",strlen(c));
A.14
B.3
C.9
D.字符串中有非法字符,输出值不确定
19.若有说明:
charc='9',*sp1,*sp2;以下均正确的一组赋值语句是(A)。
A.sp1=&c;sp2=sp1;
B.sp1=&c;sp2=&sp1;
C.sp1=&c;sp2=*sp1;
D.sp1=&c;*sp2=*sp1;
20.根据定义和数据的输入方式,输入语句的正确形式为(B)。
已有定义:
floatf1,f2;
数据的输入方式:
4.523.5
A.scanf("%f,%f",&f1,&f2);
B.scanf("%f%f",&f1,&f2);
C.scanf("%3.2f%2.1f",&f1,&f2);
D.scanf("%3.2f%2.1f",&f1,&f2);
21.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B)。
A.7
B.8
C.6
D.2
22.判断字符串s1是否大于字符串s2,应当使用(D)。
A.if(s1>s2)
B.if(strcmp(s1,s2))
C.if(strcmp(s2,s1)>0)
D.if(strcmp(s1,s2)>0)
23.当定义一个结构体变量时系统分配给它的内存是(D)。
A.结构中第一个成员所需的内存量
B.结构中最后一个成员所需的内存量
C.结构体成员中占内存量最大者所需的容量
D.结构体中各成员所需内存量的总和
24.设有说明:
doubley=0.5,z=1.5;intx=10;则能够正确使用C语言库函数的赋值语句是(D)。
A.z=ln(y)+abs(y);
B.y=log10(y)+pow(y);
C.z=sqrt(y-z);
D.x=(int)(atan2((double)x,y)+exp(y-0.2));
25.若运行以下程序时,从键盘输入2473,则下面程序的运行结果是(A)。
#include
voidmain(void)
{
intc;
while((c=getchar())!
='\n')
switch(c-'2')
{
case0:
case1:
putchar(c+4);
case2:
putchar(c+4);break;
case3:
putchar(c+3);
default:
putchar(c+2);break;
}
printf("\n");
}
A.
B.
C.
D.
26.建立函数的主要目的之一是(B)。
A.提高程序的执行效率
B.提高程序的可读性
C.减少程序的篇幅
D.减少程序文件所占内存
27.若有以下说明和语句,则对结构体变量std中成员id的引用方式不正确的是(B)。
structwork
{
intid;
intname;
}
std,*p;
p=&std;
A.std.id
B.*p.id
C.(*p).id
D.p->id
28.下列运算符中优先级最高的是(B)。
A.<
B.+
C.&&
D.!
=
29.对for(表达式1;;表达式3)可理解为(B)。
A.for(表达式1;0;表达式3)
B.for(表达式1;1;表达式3)
C.for(表达式1;表达式1;表达式3)
D.for(表达式1;表达式3;表达式3)
30.C语言规定,函数返回值的类型是由(D)。
A.return语句中的表达式类型所决定
B.调用该函数时的主调函数类型所决定
C.调用函数时系统临时决定
D.在定义该函数时所指定的函数类型所决定
31.以下对枚举类型名ee的定义中正确的是(A)。
A.enumee{A,B,C,D};
B.enumee{'A','B','C','D'};
C.enumee={A,B,C,D};
D.enumee={'A','B','C','D'};
32.在C语言中,十进制的47可等价地写为(D)。
A.2f
B.02f
C.57
D.057
33.若运行时给变量x输入12,则以下程序的运行结果是(A)。
voidmain(void)
{
intx,y;
scanf("%d",&x);
y=x>12?
x+10:
x-12;
printf("%d\n",y);
}
A.0
B.22
C.12
D.10
34.对两个数组a和b进行如下初始化:
chara[]="ABCDEF";
charb[]={'A','B','C','D','E','F'};
则以下叙述正确的是(D)。
A.a与b数组完全相同
B.a与b长度相同
C.a中存放字符串,b中存放字符
D.a数组比b数组长度长
35.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为(A)变量。
A.自动(auto)
B.静态(static)
C.外部(extern)
D.寄存器(register)
36.若有以下定义和说明,以下不能将文件内容读入数组x中的语句(组)是(C)。
structss
{
intn;
floatx;
}x[30];
FILE*fp;
A.for(i=0;i<10;i++)
fread(&x[i],sizeof(structss),1L,fp);
B.for(i=0;i<10;i++)
fread(&x[i],sizeof(structss),2L,fp);
C.for(i=0;i<10;i++)
fread(x[i],sizeof(structss),1L,fp);
D.for(i=0;i<10;i++)
fread(x,sizeof(structss),1L,fp);
37.以下C程序正确的运行结果是( C )。
(注:
_表示空格)
voidmain(void)
{
longy=-43456;
printf("y=%-8ld\n",y);
printf("y=%-08ld\n",y);
printf("y=%08ld\n",y);
printf("y=%+8ld\n",y);
}
A.y=_-43456
y=-_43456
y=-
y=-43456
B.y=-43456
y=-43456
y=-
y=+_-43456
C.y=-43456
y=-43456
y=-
y=_-43456
D.y=_-43456
y=-
y=
y=+43456
38.以下程序的输出结果是( B )。
voidmain(void)
{
intx=2,y=-1,z=2;
if(xif(y<0)z=0;
elsez+=1;
printf("%d\",z)
}
A.3
B.2
C.1
D.0
39.有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。
下面程序是求这堆零件总数,请选择。
#include
voidmain(void)
{
inti;
for(i=100;i<200;i++)
if((i-2)%4==0)
if(!
((i-3)%7))
if(( D ))
printf("%d",i);
}
A.i%9=5
B.i%9!
=5
C.(i-5)%9!
=0
D.i%9==5
40.下述对C语言字符数组的描述中错误的是( C )。
A字符数组可以存放字符串。
B字符数组的字符可以整体输入、输出。
C可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值。
D可以用关系运算符对字符数组中的字符进行比较。
41.下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔。
请选择填空。
#include
voidmain(void)
{
chars[80],c1='',c2;
inti=0,num=0;
gets(s);
while(s[i]!
='\0')
{
c2=s[i];
if(i>0)c1=s[i-1];
if(( B ))num++;
i++;
}
printf("Theseare%dwords.\n",num);
}
A.c1==''&&c2==''
B.c1!
=''&&c2==''
C.c1==''&&c2!
=''
D.c1!
=''&&c2!
=''
42.若有宏定义#defineZ(x,y)x*y,则执行以下程序段后,z的值为( B )。
intz;
z=Z(3+5,4);
A.32
B.23
C.17
D.20
43.当说明一个共用体变量时系统分配给它的内存是( C )。
A.共用体中第一个成员所需内存量
B.共用体中最后一个成员所需内存量
C.共用体成员中占内存量最大者所需的容量
D.共用体中各成员所需内存量的总和
44.设有以下结构体类型数组的定义,且数组mini的10个元素都已赋值,若要将这些元素写到
文件fp中,以下不正确的形式是( C )。
structabc
{
inta;charb;floatc[4];
}mini[10];
A.fwrite(mini,10*sizeof(structabc),1,fp);
B.fwrite(mini,5*sizeof(structabc),5,fp);
C.for(i=0;i<10;i++)
fwrite(mini,sizeof(structabc),1,fp);
D.fwrite(mini,sizeof(structabc),10,fp);
45.函数fgets(string,m,fp)的作用是( B )。
A.从fp所指向的文件中读取长度不超过m的字符串,存入由指针string指向的内存区域
B.从fp所指向的文件中读取长度为m的字符串,存入由指针string指向的内存区域
C.从fp所指向的文件中读取m个字符串,存入由指针string指向的内存区域
D.从fp所指向的文件中读取长度不超过m-1的字符串,存入由指针string指向的内存区域
46.微机主存有ROM和RAM,计算机突然停电后,存储的信息就会丢失的是(RAM)。
47.字符的ASCII编码在机器中的表示方法准确地描述应是使用八位二进制代码,最高位为(0)。
48.与十进制数254等值的二进制数是()。
49.在Windows98的操作过程中,光标所指的图标称为(活动)图标。
50.在Windows98中,要查找所有的DOC文档文件,应在“查找”对话框“名称和位置”标签的“名称”文本框中输入( *.doc )。
51.根据以下函数关系,对输入的每个x值,计算出相应的y值。
xy
x<00
0<=x<10x
10<=x<2010
20<=x<40-0.5x+20
voidmain(void)
{
intx,c,m;
floaty;
scanf("%d",&x);
if(①)c=-1;
elsec=②;
switch(c)
{
case-1:
y=0;break;
case0:
y=x;break;
case1:
y=10;break;
case2:
case3:
y=-0.5*x+20;break;
default:
y=-2;
}
if(③)printf("y=%f",y);
elseprintf("error\n");
}
①x<0
②x/10
③x<40
52.下面程序段的功能是统计从键盘输入的字符中的数字字符个数,用换行符'\n'结束循环,请使用字符型数据填空。
intn=0,c;
c=getchar();
while(①)
{
if(c>='0'&&c<='9')n++;
c=getchar();
}
①c!
='\n'
53.将以下含有switch语句的程序段改写成对应的含有非嵌套if语句的程序段,含有switch语句的程序段:
ints,t,m;
......
t=(int)(s/10);
switch(t)
{
case10:
m=5;break;
case9:
m=4;break;
case8:
m=3;break;
case7:
m=2;break;
case6:
m=1;bread;
deault:
m=0;
}
含有非嵌套if语句的程序段:
ints,m;
if(①)m=5;
if(s<100&&s>=90)m=4;
if(s<90&&s>=80)m=3;
if(s<80&&s>=70)m=2;
if(s<70&&s>=60)m=1;
if(②)③;
①s>=100&&s<110
②s<60||s>=110
③m=0
54.下面程序的功能是打印100以内个位数为6且能被3整除的所有数。
voidmain(void)
{
inti,j;
for(i=0;①;i++)
{
j=i*10+6;
if(j%3!
=0)continue;
printf("%d",j);
}
}
①i<10
55.以下程序实现输出x,y,z三个数中的最大者。
voidmain(void)
{
intx=4,y=6,z=7;
int①;
if(②)u=x;
elseu=y;
if(③)v=u;
elsev=z
printf("v=%d",v);
}
①u,v
②x>y
③u>z
56.假设a数组中的数据已按由小到大的顺序存放,以下程序可把a数组中相同的数据删得只剩一个,然后以每行4个数据的格式输出a数组。
#defineM10
main()
{
inta[M],i,j,n;
for(i=0;in=i=M-1;
while(i>=0)
{
if(*(a+i)==*(a+i-1))
{
for(j=①;j*(a+j)=*(a+j+1);
n--;
}
i--;
}
for(i=1;i{
printf("%4d",*(a+i-1));
if(i%4==0)printf("\n");
}
printf("\n");
}
①i
57.下面程序的功能是从三个红球、五个白球、六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案。
#include
voidmain(void)
{
inti,j,k;
printf("\nhongbaihei\n");
for(i=0;i<=3;i++)
for(①;j<=5;j++)
{
k=8-i-j;
if(k>-1&&k<7)
printf("%3d%3d%3d\n",i,j,k);
}
}
①j=1
58.设有三人的姓名和年龄存在结构数组中,以下程序输出三人中年龄居中者的姓名和年龄,请在空白处填入正确内容。
staticstructman{
charname[20];
intage;
}person[]={"li-ming",18,
"wang-hua",19,
"zhang-ping",20};
main()
{
inti,j,max,min;
max=min=person[0].age;
for(i=1;i<3;i++)
if(person[i].age>max)①;
elseif(person[i].agefor(i=0;i<3;i++)
if(person[i].age!
=max&&person[i].age!
=min)
{
printf("%s%d\n",person[i].name,person[i].age);
break;
}
}
①max=person[i].age
59.下面程序将二维数组a的行和列元素互换后存到另一个二维数组b中。
#include
voidmain(void)
{
inta[2][3]={{1,2,3},{4,5,6}};
intb[3][2],i,j;
printf("arraya:
\n");
for(i=0;i<=1;i++)
{
for(j=0;( A );j++)
{
printf("%5d",a[i][j]);
( B );
}
printf("\n");
}
printf("arrayb:
\n");
for(i=0;( C );i++)
{
for(j=0;j<=1;j++)printf("%5d",b[i][j]);
printf("\n");
}
}
Aj<3
Bb[j][i]=a[i][j]
Ci<3
60.下面程序以每行4个数据的形式输出a数组,a[0]存放输入的第1个数据,
#defineN20
voidmain(void)
{
inta[N],i;
for(i=0;ifor(i=0;i{
if(( B ))( C );
printf("%3d",a[i]);
}
printf("\n");
}
A&a[i]
Bi%4==0
Cprintf("\n")
61.请读程序:
#include
voidmain(void)
{
intx=1,y=0,a=0,b=0;
switch(x)
{
case1:
switch(y)
{
case0:
a++;break;
case1:
b++;break;
}
case2:
a++;b++;break;
}
printf("