2016年安徽省计算机二级考试C语言(模拟试卷二)
单项选择题
1:
有关计算机的主要特性,下列叙述错误的是_______。
A. 处理速度快,计算精度高
B. 存储容量大
C. 逻辑判断能力一般
D. 网络和通信功能强
参考答案:C
2:
下列四个二进制数中,______与十进制数73等值。
A. 1110111
B. 1001100
C. 1110110
D. 1001001
参考答案:D
3:
Cache 的中文译名是______。
A. 缓冲器
B. 只读存储器
C. 可编程只读存储器
D. 高速缓冲存储器
参考答案:D
4:
在Windows 中,下面关于删除文件的描述错误的是______。
A. 可以将文件复制到回收站中
B. 可以不经过回收站直接将文件删除
C. 硬盘上的文件被删除后,可以从回收站中还原
D. 利用" 清空回收站" 选项可以把回收站中的文件全部删除
参考答案:A
5:
通常所说的“带宽”指的是数据通信中的______指标。
A. 平均数据传输速率
B. 最高数据传输速率
C. 每分钟数据流量
D. 最低数据传输速率
参考答案:B
6:
下列关于C 语言程序书写规则的说法中正确的是______。
A. 不区分大小写字母
B. 一行只能写一条语句
C. 一条语句可分成几行书写
D. 每行必须有行号
参考答案:C
7:
下列定义语句中,正确的是_______。
A. char a='A' b='B';
B. float a=b=6.5;
C. int a=10,*b=&a;
D. float *a,b=&a;
参考答案:C
8:
下列是合法的C 语言常量的是______。
A. 028
B. 2.5e2
C. 3e2.5
D. 5A
参考答案:B
9:
以下选项中,可以作为C 语言用户标识符的一组是_________。
A. void、define 、WORD
B. a3_b3、_123、xyz
C. For、_abc、case
D. 2a、Do 、sizeof
参考答案:B
10:
设有int a;,则执行语句a=4*5,a+5;后a 的值是_______。
A. 25
B. 20
C. 15
D. 10
参考答案:B
11:
设有定义:int x=6,y;,则执行语句y=x++;++y;后,y 的结果是______。
A. 9
B. 8
C. 7
D. 6
参考答案:C
12:
设有int a=1,b=0;,则执行a>0||++b;后b 的值是_______。
A. 0
B. 1
C. 2
参考答案:A
13:
设有定义:char c1='b',c2='e'; ,则执行语句printf("%d",c2-c1);后,输出结果是______。
A. b
B. e
C. 3
D. 结果不确定
参考答案:C
14:
设有int a=2,b=3,c=4,d=5;,则执行d=(a>0?b:c);后d 的值为_______。
A. 2
B. 3
C. 4
D. 5
参考答案:B
15:
设有定义:int a;,不能正确表达数学关系:20
A. 20
B. a==21||a==22||a==23
C. a>20&&a
D. !(a=24)
参考答案:A
16:
设有int x=2,y;,执行语句x=(y=3,2+y,2*y);后,则变量x 的值是______。
A. 2
B. 6
C. 10
D. 3
参考答案:B
17:
执行语句scanf("x=%f,y=%f",&x,&y);,使得x 、y 均为1.2,则正确的输入形式是 ______。
A. 1.2,1.2
B. 1.2 1.2
C. x=1.2,y=1.2
D. x=1.2 y=1.2
参考答案:C
18:
已知char c1='b',c2='f';,则语句printf("%d,%c",c2-c1,c2-32);的输出结果是______。
A. 3,f
B. 4,F
C. 3,F
参考答案:B
19:
将变量x 和y 中的较小值赋值给z 的正确语句是____________。
A. if(x>y) z=y;
B. if(x>y) z=x;else z=y;
C. z=y;if(x>y) z=x;
D. z=x;if(x>y) z=y;
参考答案:D
20:
设有说明语句int a=1,b=0;,则执行以下语句后b 的值为______。
switch(a)
{
case 1: b++;
case 2: b++;break;
default:b++;
}
A. 0
B. 1
C. 2
D. 3
参考答案:C
21:
设有定义:int i;,则执行语句for(i=3;i
A. 5
B. 6
C. 7
D. 8
参考答案:C
22:
设有定义:int i,k;,则执行以下语句后输出结果是______。
for(i=0; i
for(k=1; k
printf("*");
A. ******
B. ****
C. **
D. *
参考答案:B
23:
设有定义:int k=0;,则循环语句while (k=1) k++;的循环体______。
A. 执行无限次
B. 有语法错,不能执行
C. 一次也不执行
D. 执行一次
参考答案:A
24:
以下叙述正确的是______。
A. do_while语句构成的循环,在while 后的表达式为非零时结束循环
B. do_while语句构成的循环,在while 后的表达式为零时结束循环
C. do_while语句构成的循环只能用break 语句退出
D. do_while语句构成的循环不能用其他语句构成的循环来代替
参考答案:B
25:
在C 语言中,不是循环可用的语句是_______。
A. while语句
B. break语句
C. continue语句
D. end语句
参考答案:D
26:
以下选项中关于数组定义和初始化,错误的是_________。
A. int a[5]={1,2,3,4,5};
B. int a[5]={1,2,3};
C. int a[]={1,2,3,4,5};
D. int a[3]={1,2,3,4,5};
参考答案:D
27:
已知static int a[8]={2,5,4,7};,则表达式a[5]-a[2]的值是______。
A. -4
B. -5
C. 4
D. 5
参考答案:A
28:
设有定义:int a[3][3]={{1},{2}},b[3][3]={1,2};,则执行语句printf("%d",a[1][0]+b[0][0]);后,输出的结果是______。
A. 0
B. 1
C. 2
D. 3
参考答案:D
29:
在定义了数组int a[3][6];后,第10个元素是____________。
A. a[2][4]
B. a[1][3]
C. a[3][1]
D. a[4][2]
参考答案:B
30:
设有:char array[ ]="Window"; ,则数组 array 所占的存储单元是_______个字节。
A. 4
B. 5
C. 6
D. 7
参考答案:D
31:
函数strlen("1234\0ab\0c")的返回值是______。
A. 4
B. 5
C. 8
D. 9
参考答案:A
32:
下列函数值的类型是_______。
fun( float x){ int y;y=3*x-1;return y;}
A. int
B. float
C. void
D. double
参考答案:A
33:
以下描述中错误的是____________。
A .不同函数中可以使用相同的变量名
B .形式参数是局部变量
C .一个函数内部定义的变量只能在本函数范围内有效
D .在一个函数内部的复合语句中定义的变量可以在本函数范围内有效
参考答案:D
34:
C 语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是______。
A. 地址传递
B. 值传递
C. 由实参传递给形参,并由形参回传给实参
D. 由用户指定传递方式
参考答案:B
35:
变量的指针,其含义是指变量的_______。
A. 值
B. 地址
C. 名
D. 一个标志
参考答案:B
36:
已知:char s[10], *p=s;,以下选项中错误的语句是_________。
A. p=s+5;
B. s=p+5;
C. s[2]=p[4];
D. *p=s[0];
参考答案:B
37:
若有说明:int a[4][5];,则对数组a 的元素的非法引用是______。
A. a[0][2*2]
B. *(*(a+1)+2)
C. a[4-2][0]
D. a[0][5]
参考答案:D
38:
设有:#define Tap(x) x+1,则2*Tap(2)的值是______。
A. 4
B. 5
C. 6
D. 7
参考答案:B
39:
以下对枚举类型定义正确的是_______。
A. enum num={one,two,three};
B. enum num{one=9,two=18,three};
C. enum num={"one","two","three"};
D. enum num{"one","two","three"};
参考答案:B
40:
以读写方式打开一个已存在的文本文件file1.txt ,以下选项中正确的是______。
A. FILE *fp;fp=fopen("file1.txt","r+");
B. FILE *fp;fp=fopen("file1.txt","w");
C. FILE *fp;fp=fopen("file1.txt","r");
D. FILE *fp;fp=fopen("file1.txt","rb+");
参考答案:A
程序改错题1
题目:
在屏幕上输出以下图形(说明:数字之间没有空格) 。
参考答案:
$1$:j=1;
$2$:printf("%d",j);
$3$:printf("\n");
程序改错题2
题目:
函数search(int a[],int n,int number)的功能:在a 数组的前n 个元素中查找number ,若存在则返回第一次找到的元素下标,否则返回-1。
主函数功能:输入number ,调用search 函数查找number ,最后输出查找结果。
参考答案:
$1$:break;
$2$:return result;
$3$:if(result==-1)
Windows 操作题 得分:0
请在考生文件夹中进行以下操作:
1. 将文件夹march 下的文件plan.ppt 删除;
2. 将文件夹april 下的文件sky.mp3改名为music.mp3;
3. 将文件夹april 下的子文件夹repair 删除;
4. 在文件夹june 下建立一个新文件夹document ;
5. 将文件夹march 下的文件write.txt 复制到文件夹document 中。
考生在完成题目要求时,应特别注意一个基本概念:考生文件夹,考生上机考试的全部数据均存储在这个文件夹中。考生不得随意更改其中的内容,而且,有些题目要使用这个概念来完成。要完成上机考试的基本操作题,可以使用Windows 提供的资源管理器、文件夹窗口等。Windows 上机考试的基本操作题主要包括以下内容:
1.文件或文件夹的创建
操作:新建文件夹可通过"Windows 资源管理器" 或" 我的电脑" ,先双击要放置新文件夹的磁盘或文件夹,然后利用以下两种方法来完成:
(1)利用" 文件" 菜单中的" 新建" 命令的" 文件夹" 选项,输入新文件夹名后按回车键;
(2)在已打开文件夹中,单击鼠标右键,使用快捷菜单中的" 新建"→"文件夹" 命令,输入新文件夹名后按回车键。
新建文本文件可通过"Windows 资源管理器" 或" 我的电脑" ,先双击要放置新文件的磁盘或文件夹,然后利用以下两种方法来完成:
(1)利用" 文件" 菜单中的" 新建" 命令的" 文本文档" 选项,输入新文件名后按回车键;
(2)在已打开文件夹中,单击鼠标右键,使用快捷菜单中的" 新建"→"文本文档" 命令,输入新文件名后按回车键。
2.文件或文件夹的拷贝 [**************]
操作:复制文件或文件夹有三个步骤:选择→复制→粘贴。复制文件或文件夹有以下四种方法:
(1)选择该文件,在" 编辑" 菜单中选择" 复制" 命令;
(2)选择该文件,用鼠标单击工具栏中的" 复制" 图标;
(3)选择该文件,在键盘上按Ctrl+C键;
(4)用鼠标右击欲复制的文件或文件夹,在弹出的快捷菜单中选择" 复制" 命令。
然后选择目的文件夹进行粘贴,粘贴文件或文件夹可由以下四种方法来实现:
(1)在" 编辑" 菜单中选择" 粘贴" 命令;
(2)用鼠标单击工具栏中的" 粘贴" 图标;
(3)选择该文件,在键盘上按Ctrl+V键;
(4)用鼠标右击欲粘贴的文件或文件夹,在弹出的快捷菜单中选择" 粘贴" 命令。
3.文件或文件夹的移动
操作:移动文件或文件夹有三个步骤:选择→剪切→粘贴。剪切文件或文件夹应先选择该文件或文件夹,然后有以下四种方法:
(1)在" 编辑" 菜单中选择" 剪切" 命令;
(2)用鼠标单击工具栏中的" 剪切" 图标;
(3)在键盘上按Ctrl+X键;
(4)用鼠标右击欲剪切的文件或文件夹,在弹出的快捷菜单中选择" 剪切" 命令。
然后选择目的文件夹进行粘贴,粘贴文件或文件夹可由以下四种方法来实现:
(1)在" 编辑" 菜单中选择" 粘贴" 命令;
(2)用鼠标单击工具栏中的" 粘贴" 图标;
(3)选择该文件,在键盘上按Ctrl+V键;
(4)用鼠标右击欲粘贴的文件或文件夹,在弹出的快捷菜单中选择" 粘贴" 命令。
4.文件或文件夹的更名
操作:在"Windows 资源管理器" 或" 我的电脑" 窗口中修改文件或文件夹的名称可以选择以下几种操作之一来实现:
(1)选择该文件,在" 文件" 菜单中选择" 重命名" 命令,然后键入新文件名或文件夹名,再按回车键;
(2)选择该文件按功能键F2,然后键入新文件名或文件夹名,再按回车键;
(3)用鼠标左键单击文件或文件夹名,然后键入新文件名或文件夹名,再按回车键;
(4)用鼠标右击欲重命名的文件或文件夹,在弹出的快捷菜单中选择" 属性" 命令,然后键入新文件名或文件夹名,再按回车键;
5.文件或文件夹的属性设置
操作:在"Windows 资源管理器" 或" 我的电脑" 窗口中都设置有" 属性" 命令,用户可通过该命令设置文件或文件夹的属性(只读、隐藏、存档、系统),具体实现方法有以下两种:
(1)选择该文件,在" 文件" 菜单中选择" 属性" 命令,在弹出的对话框中单击相应属性前的复选框,再单击" 确定" 按钮即可;
(2)用鼠标右击欲设置属性的文件或文件夹,在弹出的快捷菜单中选择" 属性" 命令,然后在弹出的对话框中单击相应属性前的复选框,再单击" 确定" 按钮即可。
6.文件或文件夹的删除
操作:先选择该文件或文件夹,然后再按以下方法之一删除:
(1)按键盘上的Del 键;
(2)用鼠标右击欲删除的文件或文件夹,在弹出的快捷菜单中选择" 删除" 命令;
(3)在" 文件" 菜单中选择" 删除" 命令;
(4)如果考生使用Shift+Del键,则该文件或文件夹将被彻底从硬盘中删除。
综合应用题1
题目:
求1901到2010之间个位数不是7的所有素数之和。
输出结果的形式为:
s=23456
参考程序一:
#include
void PRINT(long s)
{
FILE *out;
printf("s=%ld\n",s);
if((out=fopen("result.dat","w+"))!=NULL) fprintf(out,"s=%ld",s);
fclose(out);
}
void main()
{
/*考生在此设计程序*/
long s=0;
int i,j;
for (i=1901;i
{
for (j=2;j
if (i%j==0) break;
if (j>i/2 && i%10!=7) s+=i;
}
PRINT(s);
}
参考程序二:
#include
void PRINT(long s)
{
FILE *out;
printf("s=%ld\n",s);
if((out=fopen("result.dat","w+"))!=NULL) fprintf(out,"s=%ld",s);
fclose(out);
}
void main()
{
/*考生在此设计程序*/
long s=0;
int i,j;
for (i=1901;i
{
if(i%10!=7)
{
for (j=2;j
if (i%j==0) break;
if (j>i/2) s+=i;
}
}
PRINT(s);
}
综合应用题2
题目:
已知实数序列F(n)
当n=1时F(1)=1.0
当n=2时F(2)=2.0
当n>2时F(n)=1000/F(n-2)+1000/F(n-1)
求第10项即F(10)的值(要求用循环实现,保留4位小数) 。
输出结果的形式为:
213.1234
参考程序:
#include
void PRINT(double f)
{
FILE *out;
printf("%.4lf\n",f);
if((out=fopen("result.dat","w+"))!=NULL)
fprintf(out,"F10=%.4lf",f);
fclose(out);
}
void main()
{
/*考生在此设计程序*/
double f1=1.0,f2=2.0,f;
int i;
for (i=3;i
{
f=1000/f2+1000/f1;
f1=f2;
f2=f;
}
PRINT(f);
}