BEGIN
TEM:
=M;M:
=N;N:
=TEM;
END;
WRITELN(‘M=’,M:
5,‘N=’,N:
5)
END.
输入:
23454567
输出:
_____________________________________
五编写程序(共5分)
计算并输出S=1!
+2!
+3!
+4!
+5!
的值.
(三)C语言部分
六、根据题意判断正误,若正确则在()中画“√”,反之画“×”。
(10分,每空1分)
⒈下列用户标识符是否正确?
①_123ab()②extern()
⒉下列运算符优先级的排列顺序是否正确?
(注:
优先级按左高→右低)
①?
:
→+→<=→&&()②()→++→%→*=()
⒊下列常量是否正确?
①-.1e-1()②‘C语言’()
⒋下列赋值语句是否正确?
charb[5],*p=b;
①p=”abcd”;()②b=”abcd”;()
⒌下列定义是否正确?
①#include“stdio.h”,”string.h”()
②inta=5,b=5;()
七、在下列各题的A、B、C、D中各选一个正确答案填到横线上。
(10分,每题2分)
⒈C语言程序的基本单位是______。
A.程序行B.语句C.函数D.字符
⒉对于以下程序段,运行后i值是______。
inti=0,a=1;
switch(a){
case1:
i+=1;
case2:
i+=2;
default:
i+=3;}
A.1B.3C.6D.上述程序有语法错误
⒊指针s所指的字符串的长度为_______。
char*s=”\nMyNameis\”LiYun\”.”;
A.23B.20C.24D.说明不合法
⒋C语言中,形参的缺省存储类别是_______。
A.自动B.静态C.外部D.寄存器
⒌若有以下说明语句,则变量w在内存中所占的字节数是_______。
struct
{floatx,y;
charc[6];
}w;
A.4B.14C.6D.10
八、阅读下列程序,写出运行结果。
(10分,每题5分)
1.main()
{
inta[9]={2,4,6,8,10,12,14,16,18},i;
for(i=0;i<9;i++){
printf(“%5d”,*(a+i));
if((i+1)%3==0)printf(“\n”);
}
}
2.main()
{chara[]=”25+34+8=67”;
inti1=0,i2=0,i=0;
while(a[i]){
if(a[i]>=’0’&&a[i]<=’9’)i1++;
i++;
}
printf(“%d%d%d”,i1,i2,i);
}
(四)英语部分
九填空题(10分,每题0.5分)
1.I_________tomorrow.
A.arriveB.willarriveC.arrivedD.amarriving
2.Theagreement_______intoforcenextspring.
A.comesB.willcomeC.cameD.iscoming
3.When____youbeabletogiveusananswer?
A.doB.didC.willD.are
4.We____befreetonight.
A.donotB.arenotC.willnotD.werenot
5.__________________wehaveanyclassestomorrow?
A.DoB.AreC.ShallD.Should
6.We______putupapicturehere.
A.areB.doC.aregoingtoD.were
7.How____you_yourholiday?
A、are~goingtospendB、do~spendC.will~spendingD.had~spended
8.Who_________speakfirst?
A.doB.doesC.isD.isgoingto
9.Ithinkit_______snow.
A.isB.doesC.wasgoingtoD.isgoingto
10.There____bealotoftroubleaboutthis.
A.hasB.haveC.areD.will
11._____meansvictory!
A.TopreservedB.PreservedC.PreservesD.Preserve
12.Itiswrong_______
A.lieB.liesC.tolieD.lying
13.Ittakesanexpertthreehours_____thetask.
A.finishB.finishingC.finishedD.tofinish
14.Shethoughtitunnecessary_____withhimaboutit.
A.argueB.arguingC.toargueD.argued
15.Ourpurposeis_____Lesson10andLesson11.
A.finishB.finishingC.finishedD.tofinish
16.Heavoided______usadefiniteanswer.
A.giveB.givingC.givenD.togive
17.Iamsorry.Imissed_____youwhileinpeking.
A.seenB.seesC.seeingD.tosee
18.Ienjoy____withyou.
A.workB.worksC.workingD.towork
19.Hasitstopped_____?
A.rainB.rainsC.torainD.raining
20.Haveyoufinished_____thestudentspapers?
A.correctingB.correctsC.correctedD.tocorrect
十英译汉
1.Itisraining,Ishouldhavebroughtmyumbrella.
2.Itishardtogetridofsmokingonceyougetintosuchabadhabit.
3.Tommusthaveinthelabyesterday.
4.Heistooyoungtogotoschool.
5.Ihurriedtothepostoffice,onlytofinditwasclosed.
6.Thebookwaswrittenin1992.
7.Xi’anisoneoftheoldestcitiesintheworld.
8.Speakup,wecan’thearyou.
9.Idon’tknowifthisisthebestway.
10.Sheisverytires.She’sbeentypinglettersallday.
参考答案(评分标准)
一.填空题(每空1分,共10分)
1.
(1)程序首部
(2)程序说明部分(3)程序执行部分
2.(4)PROGRAM
3.(5)INTEGER(6)BOOLEAN(7)REAL(8)CHAR
4.(9)FUNCTION(10)PROCEDURE
二.程序改错题(共5分)
1.第一行缺少程序名2.第二行变量说明中多了一个‘=‘号
3.第三行常量说明中多了一个‘:
号4.第四行应写成A=5.7
5.最后一行末尾处应加上‘.‘
三.分析程序(每题5分,共10分)
1.程序1的功能是:
把一个三位数反向输出。
2.程序2运行后的输出结果是:
输入:
23454567输出:
M=4567N=2345
四.编写程序(共5分)
程序:
PROGRAMA3(OUTPUT);
VAR
I,N:
INTEGER;
S,M:
REAL;
BEGIN
S:
=0;M:
=1;
FORN:
=1TO5DO
FORI:
=1TONDO
M:
=M*I
S:
=S+M;
WRITELN(‘S=’,S)
END.
六、根据题意判断正误,若正确则在()中画“√”,反之画“×”。
共10分,每空1分
⒈①√②×⒉①×②√⒊①√②×⒋①√②×⒌①×②√
七、在下列各题的A、B、C、D中各选一个正确答案填到横线上。
(10分,每题2分)共10分,每小题2分
⒈C⒉C⒊B⒋A⒌B
八、阅读下列程序,写出运行结果。
共10分,每题5分
1.246
81012
141618
2.7210
十一、填空(每小题4分,共20分)
1、
;2、偶;3、
;4、
;5、0。
《C语言程序设计》入学测试考试大纲
一、考试基本要求范围
一、掌握基本数据类型、数据描述与基本操作。
二、熟悉C语言的运算符,掌握算术运算符及关系运算符
三、掌握C语言基本语句,理解自顶向下、逐步求精的程序设计方法。
四、掌握函数的一般形式、作用域,理解函数原型、函数调用、函数间的信息传递。
理解递归、迭代的含义。
熟悉C标准库中常见的数学函数。
五、掌握数组的概念,掌握数组的声明、初始化及数组元素的引用。
六、掌握指针的概念,正确使用指针。
理解指针、数组和字符串之间的紧密联系。
七、掌握字符串和字符的基本知识,了解字符处理库(ctype)中的函数。
八、熟练熟悉输入/输出函数。
九、掌握结构、联合和枚举的定义和应用。
十、掌握类型定义运算符typedef。
十一、掌握顺序存取文件和随机存取文件的建立及读写。
二、试题示例
一、单选题(每小题2分,共10分)
1、每个C程序中都必须包含有这样一个函数,该函数的函数名为。
A.mainB.MAINC.nameD.function
2、由C语言目标文件连接而成的可执行文件的缺省扩展名为。
A.cB.exeC.objD.lik
3、在下面的一维数组定义中,哪一个有语法错误。
A.intx[]={1,2,3};B.intx[5]={0};
C.intx[];D.intx[5];
4、设整型变量a,b和c的值均为1,则执行语句a++&&b||--c;后,a,b和c的值是分别为。
A.2,1,1B.2,1,0C.1,1,0D.1,1,1
5、假定x为一个整型数组名,则元素x[5]的字节地址为。
A.x+5B.x+10C.x+20D.x+40
二、写出程序运行结果(每小题5分,共20分)
1、#include
voidmain()
{
inta,b,c;
a=b=c=0;
++a||++b&&++c;
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
a++&&++b||++c;
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
if(a=c<1)b++;
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
}
2、#include
voidmain()
{
inti,a,x[10]={1,8,11,19,30,48,51,99,109,120},y[11];
a=55;
i=0;
while(a>x[i])
{
y[i]=x[i];
i++;
}
y[i]=a;
for(i=i+1;i<11;i++)y[i]=x[i-1];
printf("\n");
for(i=0;i<11;i++)
printf("%d",y[i]);
}
3、#include
voidswap(intx,inty);
main()
{
inta=5,b=10;
swap(a,b);
printf(“a=%d,b=%d\n”,a,b);
}
voidswap(intx,inty)
{
inttemp;
temp=x,x=y,y=temp;
}
4、#include
main()
{
intx=5;
floaty=3.14;
x*=y*('E-'A');
printf("%f\n",(float)x);
}
三、程序填空(每空2分,共10分)
以下程序的功能是将字符串s反序。
#include
(1)
(2)
voidmain()
{
chars[100],*p;
(3)
scanf("%s",p);
reverser(p,0,strlen(s));
printf("%s\n",s);
}
voidreverser(chars[],inti,intlen)
{
(4)
j=len-(i+1);
if(i(5)
}
}
四、编写程序(10分)
编写一个函数,求出一个数组中的最大元素值和最小元素值。
三、试题示例参考答案
一、单选题(每小题2分,共10分)
1~5、ABCAC
二、写出程序运行结果(每小题5分,共20分)
1、a=1b=0c=0
a=2b=1c=0
a=1b=2c=0
2、1811193048515599109120
3、a=5,b=10
4、33.000000
三、程序填空(每空2分,共10分)
(1)#include
(2)voidreverser(chars[],inti,intlen);
(3)p=s;
(4)intc,j;
(5)reverser(s,++i,len);
四、编写程序(10分)
voidmax_min(floata[],intn,float*max,float*min)
{
inti=1;
*min=*max=a[0];
for(;i{
if(*min>a[i])*min=a[i];
if(*max}
}