C考试大纲Word文档格式.docx
《C考试大纲Word文档格式.docx》由会员分享,可在线阅读,更多相关《C考试大纲Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
考试时间60分钟,主要测试程序设计及调试的综合能力,以测试操作能力为主。
机试由各考点自主安排,但必须在考试办规定的时间内完成。
单元分值
Windows
5
基本的Windows操作
25
改错
三处错误
15
三个空
30
语法15分,结果15分
笔试样题
一、选择题
1.计算机最主要的工作特点是________。
A)程序存储与自动控制B)高速度和高精度
C)可靠性和可用性D)具有记忆能力
2.下列各种进制的数中,最小的数是______。
A)(75)8B)(3F)16C)(62)10D)(111100)2
3.如果你正在使用计算机时突然断电,则_______中的信息全部丢失。
A)ROM和RAMB)RAMC)ROMD)CMOS
4.计算机软件通常包括________。
A)算法及数据结构B)程序和数据结构
C)程序、数据及相关文档D)文档及数据
5.在windows中,将当前窗口作为图片复制到剪贴板时,应按________键。
A)Alt+PrintScreenB)Ctrl+InsC)PrintScreenD)Alt+Esc
6.多媒体计算机(MPC)是指能__________的计算机。
A)接收多种媒体信息B)输出多种媒体信息
C)将多补媒休信息融为一体进行处理D)播放CD音乐
7.当用户在浏览网页时,若鼠标指针变成手状,通常表明此处有________。
A)图片B)超级链接C)声音D)E-mail地址
8.目前,________被认为是最有效的信息安全控制方法。
A)设置口令B)设置用户权限
C)限制对计算机的物理接触D)数据加密
9.下列方式中,________一般不会感染计算机病毒。
A)在网络上下载软件,直接使用
B)使用来历不明软盘上的软件,以了解其功能
C)在本机的电子邮箱中发现有奇怪的邮件,打开看看究竟
D)安装购买的正版软件
10.下列选项中,合法的IP地址是____________。
A)210.45.16B)210.45.266.68
C)210.45.66.8C)210,45,203,243
11.____是合法的用户自定义标识符。
A)ah-spksB)doubleC)<
ctrl>
D)_myapple
12.一个C程序的执行是从____________。
A)本程序的main函数开始,到main函数结束。
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序的main函数开始,到本程序文件的最后一个函数结束
D)本程序文件的第一个函数开始,到本程序main函数结束
13.源程序program.c经编译产生的目标文件和连接后产生的可执行文件是_________。
A)program.bak和program.objB)program.obj和program.exe
C)program.ext和program.cD)program.bak和program.exe
14.执行语句:
inta=1,b=0,c;
c=a>
0||++b;
b的值最后为_____。
A)0B)1C)2D)不确定
15.在C程序中,用_____表示逻辑值“真”。
A)1B)非0的数C)非1的数D)大于0的数
16.若变量已正确定义,语句“if(x>
y)z=0;
elsez=1;
”和______等价。
A)z=(x>
y)?
1:
0;
B)z=x>
y;
C)z=x<
=y;
D)x<
=y?
0:
1;
17.设变量定义为inta,b;
,执行下列语句时,输入_____,则a和b的值都是10。
scanf("
%d,%d"
&
a,&
b);
A)1010B)10,10C)a=10b=10D)a=10,b=10
18.下列程序执行后的输出结果是______。
main()
{
intx='
d'
;
printf("
%c\n"
'
A'
+(x-'
a'
+1));
}
A)GB)HC)ED)J
19.设有说明语句:
chara='
\123'
则变量a_____。
A)包含1个字符B)包含2个字符
C)包含3个字符D)说明不合法
20.有如下程序段:
inta=3,b=15;
floatf=7.5;
%.1f"
(float)a+b/2+(int)f%3);
执行该程序段后,运算结果为:
A)11.5B)11.0C)11D)12.0
21.若变量ch为char类型,能正确判断出ch为大写字母的表达式是____。
A)'
<
=ch<
='
Z'
B)(ch>
)||(ch<
)
C)('
=ch)and('
>
=ch)D)(ch>
)&
&
(ch<
22.以下程序的输出结果是
#include<
string.h>
stdio.h>
{
charst[20]="
2008\0\t\\"
%d,%d\n"
strlen(st),sizeof(st));
A)7,7B)4,20C)10,20D)20,20
23.执行语句:
inta;
a='
1'
+1.5;
后,正确的叙述是______。
A)a的值是字符'
3'
B)a的值是浮点型
C)不允许字符型和浮点型相加D)a的值是字符'
的ASCII值加上1。
24.设int类型的数据长度为2个字节,则unsignedint类型数据的取值范围是_____。
A)均为2个字节B)0至65535C)-32768至32767D)-256至255
25.执行语句:
inti=3,j;
j=++i+i++;
%d\n"
j);
A)6B)7C)8D)9
26.若a为int类型,且其值为5,则执行表达式a+=a-=a*a后,a的值是____。
A)-5B)–40C)–15D)不确定
27.不正确的赋值或赋初值的方式是______。
A)charstr[]="
Hello2006!
"
B)charstr[20];
str="
C)char*p="
D)char*p;
p="
28.数组定义为inta[10][10];
则数组a有______个数组元素。
A)100B)81C)20D)121
29.在C程序中,若对函数类型未加说明,则函数的隐含类型为_____。
A)intB)doubleC)voidD)char
30.整型变量x和y的值相等且为非0值,则下面表达式中结果为零的是_____。
A)x||yB)x|yC)x&
yD)x^y
31.以下叙述正确的是_____。
A)do-while语句构成的循环不能用其它语句构成的循环来代替。
B)do-while语句构成的循环只能用break语句退出。
C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D)用do-while语句构成的循环,在while后的表达式为零时结束循环。
32.有以下循环:
inti;
for(i=0;
i<
10;
i++)i++;
循环次数为_____。
A)10B)5C)6D)7
33.语句while(!
end);
中的条件!
end等价于_____。
A)end==0B)end!
=1C)end!
=0D)~end
34.运行程序:
#defineTap(X)2*X+1
inta=6,k=2,m=1;
a+=Tap(k+m);
a);
则输出结果是
A)12B)13C)7D)6
35.若有如下定义:
inta=211,*b=&
a;
则printf("
*b);
的输出结果为_____。
A)无确定值B)a的地址C)212D)211
36.若有定义语句inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
则不是对a数组元素的正确引用是_____。
A)a[p-a]B)*(&
a[i])C)*(*(a+i))D)*p
37.以下语句运行后结果为______________。
char*st="
howareyou"
%s\n"
st+4)
A)HowareyouB)areyou
C)youD)空串
38.以下语句中,指针p的data域正确的引用方式为_____。
structnode
intdata;
structnode*lchild,*rchild;
}Btree;
Btree*p;
A)p.dataB)p->
dataC)(*p)->
dataD)p[data]
39.函数调用语句fseek(fp,10,1)的含义是_____。
A)将文件指针移到距离文件头10个字节处
B)将文件指针移到距离文件尾10个字节处
C)将文件指针从当前位置后移10个字节
D)将文件指针从当前位置前移10个字节
40.以下关于文件的说法错误的是_____。
A)C系统把文件当作一个“流”,按字节进行处理
B)文件在读写之前必须打开,读写结束必须关闭
C)feof函数可判断文件指针是否处于文件结束位置,如是则返回值为0,否则为1
D)文件可按字节,字符串,数据块为单位读写,文件也可按指定的格式进行读写
二、填空题
1.执行语句:
inta=0,b=1;
则a++>
b?
++a:
b值是_____。
2.程序可以分为三种基本结构,即___________、分支结构、循环结构。
3.条件判断语句包括if语句和________________语句。
4.printf("
%5.4f\n"
123456.12345);
输出为_____________。
5.表达式1<
0<
2的值是______。
6.inta=-2;
%u"
输出为_________。
7.设有以下定义:
typedefstruct
chart[10];
union{inta,floatf}ufo;
}String;
Strings;
strcpy(s.t,"
12345"
);
则sizeof(s)的值为______。
8.下面的程序输出结果是_______。
intsum(intn)
inti,s=0;
for(i=1;
n;
i++)
if(i%10==9)s=s+i;
returns;
{printf("
%d"
sum(69));
9.以下语句执行后输出_______。
int*p;
chars[]="
HappyNewYear!
"
*c;
p=s+6;
c=++p;
%c"
*c);
10.C文件按编码方式分为ASCII文件和________________。
三、阅读程序题
1.以下程序的输出结果是_________
#include"
stdio.h"
inti,j;
=3;
for(j=0;
j<
i;
j++)
i);
*\n"
2.以下程序的输出结果是_________
intf(intc)
staticinta=10;
intb=++a;
return(a+b+c);
f(f(5)));
3.以下程序的输出结果是_________
voidf(int*x,inty)
{--*x;
y++;
main()
intx=3,y=0;
f(&
x,y);
%d,%d"
x,y);
4.以下程序的输出结果是_________
char*s={"
Computer-Level-Test"
},*p;
for(p=s;
*p!
=NULL;
p++)
if(*p=='
-'
)printf("
\n"
else
if(*p<
&
*p>
*p+'
elseprintf("
*p);
5.以下程序的输出结果是_________
intfun(intn)
if(n<
10)returnn;
return(n%10)*fun(n/10);
fun(218));
四、程序设计题
1.编程输出100以内所有6的倍数及它们的和。
2.已知字符串chars[50]="
Iamstudent."
请编写程序将字符a插入到student之前,结果为"
Iamastudent."
。
程序框架如下
chars[50]="
…
3.编写程序打印以下图形:
(必须使用循环结构,直接输出不给分)。
23
456
7890
上机考试样题
一、操作题
******本操作系统操作题共有5小题******
[警告:
考生不得删除考生文件夹下与试题无关的文件或文件夹,否则将影响考生成绩]
在考生文件夹下进行以下操作:
1.将其中的RED.BMP文件删除。
2.将其中的文件GOOD.TXT改名BEST.TXT
3.将其中的GOODBYE文件夹删除。
4.在SCORE文件夹下建立一个新文件夹NEWFILE
5.将文件BEST.TXT复制到新文件夹NEWFILE中。
二、改错题
注意事项
1.标有$ERROR?
$的程序行有错,请直接在该行修改;
2.请不要删除或修改$ERROR?
$错误标志;
3.请不要将错误行分成多行;
4.请不要修改错误语句的结构或其中表达式的结构,如错误语句:
if((A+B)==(X=X+Y))...正确形式为if((A+B)!
=(X=X+Y))...,若改成:
if((B+A)!
=(X=X+Y))...或if((X=X+Y)!
=(A+B))...或
if((A+B)!
=(X+=Y))...等形式均不得分;
题目:
以下程序能够将字符串str1和字符串str2合并成一个新字符串str。
charstr1[30],str2[20],str[60];
inti=0,j=0;
printf("
Enterfirststring:
gets(str1);
Entersecondstring:
gets(str2);
while(str1[i])
{str[i]=str1[i];
i++;
}
while(str2[j])
{str[i++]=str2[j];
i++;
/*$ERROR1$*/
}
str[i]="
\0"
/*$ERROR2$*/
str=%c\n"
str);
/*$ERROR3$*/
三、填空题
1.请删除标有$BLANK?
$的程序行上的下划线,将正确的答案填在原下划线处
2.请不要删除$BLANK?
$错误标志
3.请不要将需要填空的行分成多行
4.请不要修改任何注释
以下程序是将从键盘输入的字符串逆序存放,然后输出,(如:
输入ABCD1A,输出A1DCBA)。
#include<
chars[81],t;
inti,j,n;
gets(s);
n=strlen(s);
___/*$BLANK1$*/
j=n-1;
while(___)/*$BLANK2$*/
{
t=s[i];
s[i]=s[j];
s[j]=t;
___/*$BLANK3$*/
}
%s"
s);
四、编程题
1.请不要修改题目中已经给出的任何语句,否则可能本题没有分数
2.程序编辑确定后,必须运行一次
3.只能在主函数main()和PRINT()之间的的空白处编写程序
4.题目中已经给出中间或最后输出的语句,请不要修改已经给出的语句,否则可能本题没有分数
题目:
计算1~500之间(即从1到500)的全部"
同构数"
之和。
所谓"
是指一个数。
它出现在它的平方数的右端。
如6的平方是36,6出现在36的右端,6就是同构数。
输出格式:
367
考生打开的program.c为:
PRINT(ints)
FILE*out;
if((out=fopen("
result.txt"
"
w+"
))!
=NULL)
fprintf(out,"
n=%d"
fclose(out);
/*考生在此设计程序*/
PRINT(s);