第三套二级C语言模拟题Word格式.docx
《第三套二级C语言模拟题Word格式.docx》由会员分享,可在线阅读,更多相关《第三套二级C语言模拟题Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
A.'
\40'
B."
A"
C.'
AB'
D."
\0"
9:
下面不符合标识符规定的是______。
A._max
B.x3
C.3bc
D.INT
10:
已知charc1='
b'
c2='
f'
;
,则语句printf("
%d,%c"
c2-c1,c2-32);
的输出结果是______。
A.3,f
B.4,F
C.3,F
D.4,f
11:
设有inta;
intf=3;
,则执行语句a=(f++)%3;
后a的值是_______。
A.0
B.1
C.2
D.3
12:
设有定义:
inta=1,b=2,m=0,n=0;
,则执行语句(m=b>
a)||(n=a<
b);
后,m和n的值为______。
A.0,0
B.1,0
C.0,1
D.1,1
13:
以下选项中非法的C语言表达式是______。
A.0<
=x&
&
x<
100
B.i=j==0
C.(char)(65+3)
D.x+1=x+1
D
14:
设有定义charw;
intx;
floaty;
doublez;
,则表达式w*x+z-y值的数据类型为_______。
A.float
B.char
C.int
D.double
15:
设有floatf1=2.6,f2=2.5;
,则表达式(int)f1+f2的值为______。
A.5
B.4.5
C.4
D.5.5
16:
设有intx=2,y=2,a;
,执行语句a=(x=x+1)||(y=y+1);
后,则变量x,y,a的值分别是______。
A.3,3,0
B.3,3,1
C.3,2,1
D.3,2,015
17:
已知inta;
floatb;
scanf("
%d,%f"
&
a,&
,使a和b的值分别为10和1.5,则正确的输入是______。
A.101.5↙
B.10,1.5↙
C.a=10,b=1.5↙
D.a=10b=1.5↙
18:
已知charx='
A'
x=%c,%d"
x,x+1);
的输出是_______。
A.x=A,66
B.x=65,B
C.x=65,66
D.x=A,B
19:
以下程序段的输出结果是______。
inta=88;
if(a>
90)printf("
%d"
a);
80)printf("
70)printf("
A.888888
B.8888
C.88
D.8
20:
设有说明语句inta=1;
,则执行以下语句后输出______。
switch(a)
{
case1:
printf("
安徽"
);
case2:
printf("
计算机"
default:
水平考试"
}
A.安徽计算机水平考试
B.安徽
C.安徽计算机
D.计算机水平考试
A
21:
下面关于for循环的描述正确的是_______。
A.for循环只能用于循环次数已经确定的情况
B.for循环先执行循环体语句,后判断条件
C.在for循环中不能用break语句跳出循环体
D.for循环体语句中,可以包含多条语句
22:
设有intk=10;
,则while(k>
=0)k=k-1;
中循环体语句被执行的次数为_______。
C.10
D.11
23:
执行如下程序段后,输出结果是_______。
inti=0;
while(i<
=2)i++;
i);
A.2
B.3
D.5
B
24:
设有inti;
,则执行for(i=1;
i<
=10;
i++);
后变量i的值为_______。
A.9
B.10
C.11
D.12
C
25:
下面程序段输出结果为______。
charp[]="
12345\0QQ\0"
%d\n"
strlen(p));
A.8
B.7
C.6
D
26:
下列叙述中不正确的是_______。
A.字符型数组中可以存放字符串
B.可以对字符串进行整体输入、输出
C.可以对实型数组进行整体输入、输出
D.不能在赋值语句中通过赋值运算符对字符型数组进行整体赋值
27:
已知:
ints[8]={1,2,3,4,5,6,7,8},x;
,则执行语句x=s[2]+s[4];
后,x的值是_______。
B.6
C.7
28:
设有inta[8][6];
,则在a[4][5]之前的元素个数为_______。
A.38
B.29
C.28
D.30
参考答案:
29:
下列的程序段输出结果是_______。
intk,a[3][3]={1,2,3,4,5,6,7,8,9};
for(k=0;
k<
3;
k++)
a[k][2-k]);
A.357
B.369
C.159
D.147
30:
字符串常量"
1234567"
在内存中占的字节数是____________。
A.6
C.8
D.9
31:
判断字符串s1是否大于字符串s2,正确的表达式是______。
A.s1>
s2
B.strcat(s1,s2)
C.strcpy(s1,s2)
D.strcmp(s1,s2)>
32:
在C语言程序中,若对函数类型未加说明,则函数的隐含类型为_______。
A.int
B.double
C.void
D.char
33:
以下叙述中正确的是_______。
A.在不同的函数中不能使用相同名字的变量
B.函数中的形式参数是全局变量
C.在一个函数内定义的变量只在本函数范围内有效
D.在一个函数内的复合语句中定义的变量在本函数范围内有效
34:
若有函数:
voidfun(doublea[],int*n){……},则以下叙述中正确的是____________。
A.调用fun函数时,数组a执行按值传送
B.形参a和n都是指针变量
C.形参a和n都是普通常量
D.调用fun函数时,形参n执行按值传送
35:
设有定义inta,*p;
,则使指针p指向变量a的语句是______。
A.p=a;
B.a=p;
C.p=&
a;
D.a=*p;
36设有inta=2,b=1,*p=&
,则执行语句*p=3;
a=a+b;
后,变量a的值为______。
37:
设有:
inta[]={1,3,5,7},*p=a;
,以下表达式中值为5的是____________。
A.*(p+2)
B.p+2
C.*p+2
D.*p+=2
38:
下列关于编译预处理命令的说法中,正确的是______。
A.一条文件包含命令能包含多个文件
B.编译预处理命令只能放在文件开头
C.一行只能书写一条编译预处理命令
D.编译预处理命令中的"
#"
可以省略
39:
下面不能正确定义结构体变量a的语句是______。
A.structxyz{charx;
inty;
floatz;
};
structxyza;
B.structxyz{charx;
}a;
C.structxyz{charx;
typedefxyza;
D.struct{charx;
40:
对文件操作的一般步骤是_______。
A.读写文件->
打开文件->
关闭文件
B.读文件->
写文件->
C.打开文件->
操作文件->
D.操作文件->
二、程序改错题
题目1:
统计所有三位正整数中个位数和十位数之和与百位数的积是28的数的个数。
如:
259,268,277,286......是满足条件的数。
$1$:
count=0;
$2$:
b=i/100;
$3$:
count++;
题目2:
fun函数的功能是:
计算s=1+1/2+1/3+1/4+...+1/n的值。
在主函数中输入一个正整数n,通过调用fun函数,求得计算结果。
return(s);
n);
result=fun(n);
三、Windows操作题
请在考生文件夹中进行以下操作:
1.将文件夹group下的文件time.wri删除;
2.将文件夹year下的文件light.wps改名为lamp.wps;
3.将文件夹year下的子文件夹paper删除;
4.在文件夹address下新建一个文本文档myself.txt;
5.将文件夹group下的文件check.xls复制到文件夹address中。
考生在完成题目要求时,应特别注意一个基本概念:
考生文件夹,考生上机考试的全部数据均存储在这个文件夹中。
考生不得随意
更改其中的内容,而且,有些题目要使用这个概念来完成。
要完成上机考试的基本操作题,可以使用Windows提供的资源管理器、文件
夹窗口等。
Windows上机考试的基本操作题主要包括以下内容:
1.文件或文件夹的创建
操作:
新建文件夹可通过"
Windows资源管理器"
或"
我的电脑"
,先双击要放置新文件夹的磁盘或文件夹,然后利用以下两种方法来完成:
(1)利用"
文件"
菜单中的"
新建"
命令的"
文件夹"
选项,输入新文件夹名后按回车键;
(2)在已打开文件夹中,单击鼠标右键,使用快捷菜单中的"
→"
命令,输入新文件夹名后按回车键。
新建文本文件可通过"
,先双击要放置新文件的磁盘或文件夹,然后利用以下两种方法来完成:
文本文档"
选项,输入新文件名后按回车键;
命令,输入新文件名后按回车键。
2.文件或文件夹的拷贝
复制文件或文件夹有三个步骤:
选择→复制→粘贴。
复制文件或文件夹有以下四种方法:
(1)选择该文件,在"
编辑"
菜单中选择"
复制"
命令;
(2)选择该文件,用鼠标单击工具栏中的"
图标;
(3)选择该文件,在键盘上按Ctrl+C键;
(4)用鼠标右击欲复制的文件或文件夹,在弹出的快捷菜单中选择"
命令。
然后选择目的文件夹进行粘贴,粘贴文件或文件夹可由以下四种方法来实现:
(1)在"
粘贴"
(2)用鼠标单击工具栏中的"
(3)选择该文件,在键盘上按Ctrl+V键;
(4)用鼠标右击欲粘贴的文件或文件夹,在弹出的快捷菜单中选择"
3.文件或文件夹的移动
移动文件或文件夹有三个步骤:
选择→剪切→粘贴。
剪切文件或文件夹应先选择该文件或文件夹,然后有以下四种方法:
剪切"
(3)在键盘上按Ctrl+X键;
(4)用鼠标右击欲剪切的文件或文件夹,在弹出的快捷菜单中选择"
4.文件或文件夹的更名
在"
窗口中修改文件或文件夹的名称可以选择以下几种操作之一来实现:
重命名"
命令,然后键入新文件名或文件夹名,再按回车键;
(2)选择该文件按功能键F2,然后键入新文件名或文件夹名,再按回车键;
(3)用鼠标左键单击文件或文件夹名,然后键入新文件名或文件夹名,再按回车键;
(4)用鼠标右击欲重命名的文件或文件夹,在弹出的快捷菜单中选择"
属性"
5.文件或文件夹的属性设置
窗口中都设置有"
命令,用户可通过该命令设置文件或文件夹的属性(只读、隐藏、存
档、系统),具体实现方法有以下两种:
命令,在弹出的对话框中单击相应属性前的复选框,再单击"
确定"
按钮即可;
(2)用鼠标右击欲设置属性的文件或文件夹,在弹出的快捷菜单中选择"
命令,然后在弹出的对话框中单击相应属性前的复选
框,再单击"
按钮即可。
6.文件或文件夹的删除
先选择该文件或文件夹,然后再按以下方法之一删除:
(1)按键盘上的Del键;
(2)用鼠标右击欲删除的文件或文件夹,在弹出的快捷菜单中选择"
删除"
(3)在"
(4)如果考生使用Shift+Del键,则该文件或文件夹将被彻底从硬盘中删除。
四、综合应用题
根据下式求s的值(要求使用循环实现):
s=1/1!
+1/2!
+1/3!
+1/4!
+1/5!
+1/6!
+1/7!
说明:
n!
=1*2*...*n。
输出结果的形式为:
s=1.23456
==========================参考代码1==========================
#include<
stdio.h>
voidPRINT(doubles)
FILE*out;
s=%.5f\n"
s);
if((out=fopen("
result.dat"
"
w+"
))!
=NULL)
fprintf(out,"
s=%.5f"
fclose(out);
voidmain()
/*考生在此设计程序*/
inti,j;
longt;
doubles=0;
for(i=1;
=7;
i++)
{
t=1;
for(j=1;
j<
=i;
j++)
t=t*j;
s=s+1.0/t;
}
PRINT(s);
==========================参考代码2==========================
t=t*i;
===========================================================
已知整型数组s存储了30个数。
对于任意下标为i的元素(i<
29),查找其中s[i]<
s[i+1]的元素s[i]并求和。
例如:
1、51分别小于后面的元素51、66。
s=12345
voidPRINT(longs)
s=%ld\n"
s=123%ld"
ints[30]={2016,1,51,66,19,853,4535,652,8,42,7,6,86,78,45,63,90,5473,45,75,3,7,4,53,403,47,0,2,87,56};
/*考生在此设计程序*/
inti;
longsum=0;
for(i=0;
29;
if(s[i]<
s[i+1])
sum=sum+s[i];
PRINT(sum);