大学专业试卷-浙江理工大学-非计算机专业计算机_第1页
大学专业试卷-浙江理工大学-非计算机专业计算机_第2页
大学专业试卷-浙江理工大学-非计算机专业计算机_第3页
大学专业试卷-浙江理工大学-非计算机专业计算机_第4页
大学专业试卷-浙江理工大学-非计算机专业计算机_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2003年秋浙江省高校非计算机专业学生计算机等级考试试卷(二级C)

试题一、计算机基础题(本题共15分)

(一)单选题(每小题1分,共10分)

(1)计算机网络最突出的优点是(1)。

A、运算速度快B、精度高

C、共享硬件、软件和数据资源D、内存容量大

(2)在微型计算机的设备中,访问速度最快的是(2)

A、软盘B、硬盘C、内存储器D、CD-ROM

(3)操作系统的主要功能是(3)

A、对计算机系统的所有资源进行控制与管理

B、实现多用户及分布式处理

C、扩充计算机的功能

D、对硬件资源进行分配、控制、调度和回收

(4)Internet与WW的关系是(4〉

A、都是因特网,只是名称不同B、Internet就是W

C、Internet与WW完全没有关系D、附W是Internet上的一个应用

(5)在Windows98环境下,下面关于附件中应用程序的说法,(5)是不正确的。

A、写字板可以编辑文本文件

B、写字板的缺省扩展名为.DOC

C、计算器中的计算结果,可以粘贴到文档文件中

D、记事本中设置的显示字体,将保存在文本文件中,当使用Word读入该文件时,仍具

有所设置的字体

(6)在Word编辑文本时,将文档中所有的"memory"都改成"存储器",最快捷的方

法是采用(6)操作。

A、中英文转换B、替换C、改写I)、翻译

(7)以下几种关于消除计算机病毒的说法中,正确的是。

A、专门的杀毒软件并非总是有效的

B、删除所有带毒文件能消除所有病毒

C、对感染上病毒的软盘,格式化既能消除病毒,又能使数据不受破坏

D、耍一劳永逸地使计算机不感染病毒,最好的方法是装上防病毒卡

(8)实现汉字字形表示的方法,一般可分为(8)两大类。

A、点阵式与矢量式B、点阵式与网络式

C、网络式与矢量式D、矢量式与向量式

(9)十六进制数1AE70FH与十六进制数2003H的和是(9)。

A、1AG70IHB、1B0712HC、1B0710HD、无法计算

(10)在Word中,有关"自动图文集"功能的叙述中,正确的是(10)o

A、可以自动画图B、输入文字,能自动显示对应的图

C、可以检查错误,并用图表示D、可以自动扩展定义过的文字或图

(二)双选题(每小题1分,共5分)

说明:从供选择的答案中选两个正确答案

(11)下面有关转寄邮件(Forward)的说法,正确的是(11)

A、转寄邮件的方法是在收件箱中选中要转寄的邮件,通过"转发"按钮作进一步操作

B、用户只能对原邮件进行原封不动地转发

C、若转寄时,用户工作在脱机状态,等到用户联机上网后,还要再重复转寄一次才行

D、转寄邮件,是用户收到一封电子邮件后,再寄给其他成员

(12)以下关于Windows的菜单命令叙述中,正确的是(12)

A、命令名是灰色的,则表示该命令处于运行中

B、命令后有”",则表示该命令现在不可使用

C、命令后有则表示选择该命令后将有一个对话框出现

D、命令前有"J",则表示该命令现在处于设定状态

(13)在Word中己打开多个文档,将当前活动文档切换成其他文档,可以

A、使用"文件”菜单B、使用任务栏

C、使用"视图”菜单D、使用"窗口”菜单

(14)程序将分别对源程序产生目标程序,再通过连接程序,可以产生扩展名为.exe的

可执行程序。

A、汇编B、编译C、解释D、编辑

(15)以下关于Windows的叙述中,正确的有(15)。

A、任何一个窗口都有标题栏

B、文件删除可以不放入回收站

C、屏幕保护的作用是为了用来保护用户的视力

D、在同一磁盘中复制文件和文件夹可用鼠标直接拖动完成

试题二、语言基础题(本题共34分)

(-)判断题(每题1分,共10分)

说明:在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示

错误。

(16)C语言源程序文件通过了编译、连接之后,生成一个后缀为.EXE的文件。

(17)在C程序中,函数既可以嵌套定义,也可以嵌套调用。

(18)在C程序中,APH和aph代表不同的变量。

(19)表达式0195是一个八进制整数。

(20)表达式3.14%2不符合C语言语法。

(21)设变量定义为charcc□二〃12\n345〃,则表达式sizeof(cc)的值是7。

(22)执行printf('M'-'A'+'a-'m');,输出0。

(23)表达式!x等价于x!=lo

(24)表达式(z=0,(x=2)||(z=l),z)的值是1。

(25)执行printf(线x",”12345"+D输出12346o

(二)单选题(每题2分,共24分)

(26)运算符(26)的优先级最高。

A、[]B、+二C、?:D、++

(27)若a是整型变量,表达式~(a…a)等价于(27)

A、aB、1C、0D、2

(28)下列程序段的输出结果是(28)

SdefineMA(x,y)((x)*(y))

printf("%d”,MA(5,4+2)-7);

A、30B、23C、15D1

(29)设有整型变量a,b,c,其中a,b的值分别为10与20,计算表达式

“c=(a%2==0)?a:b”后,c的值为(29)

A、0B、5C、10D、20

(30)下列程序的输出结果是(30)

#include(stdiO.h)

voidmain()

inty;

doubled=3.4,x;

x=(y=d/2.0)/2;

printf("(%0.2f,%d)”,x,y);

A、(0.00,1)B、(0.85,1.7)C、(0.50,1)D、以上都不对

(31)程序段(31)的功能是将变量u、S中的最大值赋给变量to

B、t=u;if(t)s)t=s;t=u;if(t>s)t=s;

D、t=s;if(u)t)t=u;t=s;if(u>t)t=u;

(32)对于以下递归函数f,调用f(3)的返回值是(32)

intf(intn)

{if(n)returnf(n-l)+n;

elsereturnn;

)

A、10B、6C、3D、0

(33)下列程序段的输出结果是(33)o

intk=l;

switch(k){

case1:putchar(P);

case2:

case3:putchar('Q');break;

case4:putchar(,R');

default:putchar('S,);

)

A、PB、PQC、PQRD、PQRS

(34)下列程序段的输出结果是(34)o

voidmain()

{intk;

for(k=l;k〈5;k++〉{

if(k%2)printf('#〃);elsecontinue;

printf("犷);

}}

A、#*#*B、*#*#C、##D、以上都不对

(35)设变量定义为inta[3]={l,4,7},*p=&a[2]-2,则*p的值是(35)。

A、&a[2]-2B、5C、2D>1

(36)若变量己正确定义,(36)不能使指针p成为空指针。

A、p='\0'B、p=0C、p=NULLD、p=EOF

(37)下列程序的输出结果是(37)

#include〈stdiO.h)

intx;

intp(int*y)

{++*y;

returnx-l;

)

voidmain()

(

inty;

y=p(&x);

printf("(%d,%d)n,x,y);

)

A、(-1,0)B、(1,-1)C、(1,0)D、出错

试题三、程序填空题(每空2分,共16分)

说明:阅读下列程序说明和相应程序,在每小题提供的若干可选答案中,挑选一个正确

答案。

程序1、

【程序说明】

输出P1000之间所有满足各位数字的立方和等于它本身的数。

【程序】

#include〈stdiO.h〉

voidmain()

intdigit,k,m,s;

for(k=l;k〈=1000*++){

(38)

while(m!=0){

digit=m%10;s=s+digit*digit*digit;

(39);

}

if((40))printfC%d,z,s);

}

}

(38)A、s=0;B、m=k;s=0C、m=k;D、k=m;s=0;

(39)A.m=m/10Bm=m%10C.m=mD、m=k/10

(40)A.m!=sB.m==sC.k!=sD.k==s

程序2

【程序说明】

输入10个整数,将它们存入数组a中,再输入一个数X,然后在数组中查找X,如果

找到,输出相应的下标(如有多个元素与X相等,只要输出下标值最小的那个元素的

下标),否则,输出“NotFound”。

【程序】

#include〈stdiO.h〉

voidmain()

{intk,sub,x;inta[10];

for(k=0;k〈10;k++)scanf(/z%dz/,a[k]);

printf("Inputx\n〃);

scanf(〃%d〃,&x);sub=-l;

for(k=0;k〈10;k++)

if(a[k]==x)(41)

if((42))printf(''Indexis%d\n〃,sub);

elseprintf(z,NotFound\n");

}

(41)A、sub=k;B、break;C、{sub=k;break;}D、sub=k;break;

(42)A、sub!=-lB、sub!=0C、sub==-lD、sub==O

程序3、

【程序说明】

当前目录下存放着文本文件from,txt,将其中除数字以外的内容显示在屏幕上。

【程序】

ttinclude〈stdiO.h〉

#include〈stdlib.h〉

voidmain()

(

FILE*fr;intch;

if((43)){

printf(〃Cannotopenfile--)form.txt");

exit(0);

)

while(!feof(fr)){

(44)

if((45))

putchar(ch);

)

fclose(fr);

)

(43)A、(fr二fopen("from.txt〃,〃w"))==NULL

B、(fr=fopen("from,txt","r"))二二NULL

C、fr二fopen("from.txt〃,〃r〃)=NULL

D、fr=fopen(,zfrom.txt,z,,,a,z)==NULL

(44)A、ch=getchar(fr)B、ch=fgetc()C.ch=fgetc(fr)D、

ch=getchar()

(45)A.ch>='O'l|ch<='9'B、ch〈'O'&&ch〉'9'

C、ch)='O'&&ch〈='9'D、ch〈'O'I|ch〉'9'

试题四、程序阅读题(每题5分,共15分〉

说明:阅读下列程序,将运行时的输出结果写在答卷纸的相应题号下。

1、程序1

#include〈stdio.h〉

voidmain()

{inti,k,m;

inta[8]={15,60,75,73,92,87,64,79},s[10];

for(k=O;k<10;k++>S[k]=O;

for(i=0;i〈8;i++〉{

k=a[i]/10;s[k]++;

)

m=s[0];k=l;

while(k〈10){

if(s[k]!=0)printf(〃%d#〃,s[k]);

if(s[k]>m)m=s[k];

k++;

)

printf(〃%d〃,m);

}

2、程序2

#include〈stdiO.h〉

voidmain()

{intj,k;

inta[3]={3,4,5};

for(j=0;j<3;j++〉{

for(k=0;k〈3;k++〉printf(,,%d,z,a[(j+k)%3]);

printf(〃#〃);

}

)

3、程序3

#include〈stdio.h〉

voidmain()

{inti=0,n;

charS[10]="298h01”;

n=0;

for(i=0;S[i]!='\0';i++)

if(s[i]<='9'&&s[i]>='O')n=n*10+(s[i]-(0');elsebreak;

printf(找d\n”,n);

}

试题五、程序设计题(每题10分,共20分)

1、输入10个整数,求它们的平均值,并输出大于平均值的数据的个数。

2、输入两个正整数m和n(m<n),求从m到n之间(包括m和n)所有素数的和,要求定

义并调用函数isprime(x)来判断x是否为素数(素数是除1以外只能被自身整除的自然数)。

2005年春浙江省高校非计算机专业学生计算机等级考试试卷(二级0

试题一、判断题(每小题1分,共10分)

说明:在以下提供的若干个陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。

(1)在C语言中,常量和变量都有数据类型。

(2)C语言的运算符只有单目运算符和双目运算符两种。

(3)若变量己正确定义,表达式x+y=z符合C语言语法。

(4)C编译器可以找出C源程序中所有的语法错误和逻辑错误。

(5)表达式3*5/2和表达式3/2*等价。

(6)表达式m=n++的求解顺序是先计算m=n,再计算n=n+l。

(7)变量名fahr和Fahr代表两个不同的变量。

(8)若表达式sizeof(unsigned)的值为2,则unsigned类型数据能表示的最大整数为216-

(9)break语句只能用于循环结构中。

(10)while语句先判断循环条件,所以循环体有可能一次也不执行。

试题二、单选题(每小题2分,共20分)

⑴)执行scanfC%d%lf%dw,femoney,&rate,feyear),输入(11)后,money=1000,year=3,

rate=0.025.

As100030.025B、10000.0253C、1000,3,0.025D、1000,0.025,3

(12)判断变量ch是英文字母的表达式为(12)。

A、('a'<=ch<='z')||('A'<=ch4='z)

B、(ch>='a'&&ch〈='z')&&(ch>='A'&&ch<='Z')

C、(ch>='a'&&ch<='z')||(ch>=,A'&&ch<=,Z')

D、("A><=ch<="z')&&('A'<=ch<='z)

(13)while((13))等价于while(!x),)

A、x==lB^x==0C、x!=0D、x!=l

(14)以下程序段输出字符串str,其中循环条件str[i]!=0还可以写成(14)。

charstr[80];

for(i=0;str[i]!='\0'i++)

putchar(str[i]);

A、str[i]!=NULLB、i<80C、!(str[i]='\0'D、i<=80

(15)设变量定义为:intn,*p;charch,*q,*g;,则语句(15)是不正确的。

A、p=&n;g=q=&ch;B、p=&n;q=&ch;C^p=&n;g=&chD、p=&n;q=&ch;g=p;

(16)设变量定义如下,则对其中的结构分量num正确的引用是(16)。

structstudent{

intnum;

Charname[20];

floatscire;

}stud[10];

A、stud[l].num=10;B、student,stud,num=10;

C、struct,stud,num=10;D、structstudent,num=10;

(17)对于以下递归函数f,调用函数f(2,123)的输出结果是(17)。

voidf(intn,chara,charb,charc)

{if(n==l)

printfC,%c->%c#/,,a,b);

else

{f(n-1,a,c,b);

printfa,b);

f(n-1,c,b,a);

I

)

A、l->2#l->3#3->2#B、3->2#l->2#l->3#

C、'C、l->3#l->2#3->2#

(18)下列程序段的输出结果是(18)。

intt,a[3]={10,5,1};

int*p;

for(p=a;p<a+3;p++)

t=t+*p;

printf(“%d”,t);

A、15B、16C、10D、不确定

(19)设变量定义为:int*p[3],a[3];,(19)是正确的赋值。

A、p=&a[9]B、*p=**aC、p[0]=aD、**p=a

(20)对于以下的变量定义,语句(20)在语法和语义上都是正确的。

structnode(

floatx,y;

chars[10];

}point=(1,2,"abc"},*p;

A、*p=point;p=point;C、point=p;D、p->x=point,y;

试题三、程序填空题(每空2分,共20分)

说明:阅读下列程序说明和相应程序,在每小题提供的若干可选答案中,挑选一个正确答案。

1.程序1、

[程序说明]根据下式计算s的值,要求精确到最后一项的绝对值小于106o

s=1-1/3+1/5-1/7+.....

[程序]

#include<stdio.h>

#include<math.h>

voidmain()

{intflag=1,t=1;

(21)

while((22)){

item=flag*1.0/t;

s=s+item;

(23);

t=t+2;

)

printf("s=%f\n”,s);

}

(21)A、doubleitem=2,s=0;B、doubleitem=0,s=0;

C、doubleitem=1,s=1;D、doubleitem=3,s=1;

(22)A、item<lE-6item>=le-6;

C^fabs(item)<1E-6D、fabs(item)>=1E-6

(23)A、flag=-1B、s-s

C、flag=-flag;D>t=-t

2、程序2

[程序说明]验证哥哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。例如

6=3+3,8=3+5,…,18=7+11。将6——100之间的每个偶数都表示成两个素数之和。函数

prime(m)用于判断m是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2

是素数。

[程序]

ttinclude〃stdio.h"

#include"math.h〃

voidmain()

{inti,k;

intprime(intm);

for(i=6;i<=100;i=i+2)

for(k=3;k=<50;k++)

if(24){

printf(,z%d=%d+%d\n/z,i,k,i-k);

break;

)

}

intprime(intm)

{intk,n;

if(m==1)return0;

n=(int)sqrt(m);

for(k=2;k<=n;k++)

(25);

(26);

)

(24)A^prime(i)prime(i)&&prime(k)

C、prime(k)&&prime(i-k)D、prime(k)

(25)A、if(m%k!=0)return0B、if(m%k==0)return0

C、if(m%k==0)return1D、if(m%k!=0)return1

(26)A^return0;return1;

C、elsereturn0;D^elsereturn1;

程序3

[程序说明]输入一个字符串(少于80个字符),滤去所有的非八进制字符后,组成一个新

符串(八进制形式),然后将其转化为十进制整数后输入。函数stoi(str)将八进制形式的

字符串str转换为十进制整数,例如,stoi(“12”)的值为10(八进制12对应十进制10)。

[程序]

#include<stdio.h>

voidmain()

{inti,k;

chars[10];

intstoi(char*str);

gets(s);

for(i=k=0;s[i]!=,\Q9;i++)

if(s[i]<=,V&&s[i]>=,O')

(27)

(28)

printf("digit卷d\n",(29))

)

intstoi(char*str)

(inti,n=0;

for(i=0;str[i]!=,\0';i++)

(30)

returnn;

)

(27)A^s[I]=s[k];i++B、s[k]=s[i]C、s[k]=s[i],k++D、s[i]=s[k]

(28)A、s[i]!='\0'B、s[k]!='\0'

C、s[i]='\0'D、s[k]='\0'

(29)A、stoi(s)B、sC、stoi(s[i])D、n

(30)A、n=n*8+(str[i]-'O')B、n=n*10+(str[i]-O)

C、n=n*8+str[i]D、n=n*10+str[i]

试题四、程序阅读题(每小题5分,共20分)

说明:阅读下列程序,将运行时的输出结果写在答卷纸的相应题号下。

1.程序1

ttinclude<stdio.h>

voidmain()

{intx=10023

do{

printf(“%d#”,x%10);

x=x/10;

}while(x!=0);

)

2.程序2

#inclde<stdio.h>

voidmain()

{inti,x=l,y=l;

for(i=l;i<=5;i++)

{x=x+y;

y++;

printf(,x);

}

)

3.程序3

ttinclude<stdio.h>

voidmainO

{inti,x=1,y=1;

voidf(intm,intn,int*px,int*py);

f(2004,70,&x,&y),

printf(〃%d#%d#〃,x,y);

f(2005,98,&x,&y);

printf(z/%d#%d#,z,x,y);

)

voidf(intm,intn,int*px,int*py)

{intk,flag;

inttab[2][13]={

(0,31,28,31,30,31,30,31,31,30,31,30,31},

{0,31,29,31,30,31,30,31,31,30,31,30,31}

);

flag=m%4=0&&m%100!=0||m%400-0;

for(k=1;n>tab[flag][k];k++)

n=n-tab[flag][k];

*px=k;

*py=n;

)

4.程序4

/*假设读写文件的操作能正常完成*/

ttinclude<stdio.h>

^include<stdio.h>

voidmainO

{charch,*s=〃ACEDB〃;

intx;

FILE*in;

if((in=fopcn("file,txt","w"))!=NULL)

while(*s!='\0')

fputc(*s++,in);

fclose(in);

if((in=fopen("file,txt","r"))!=NULL)

while((ch=fgetc(in))!=EOF)

{switch(ch)

(case'A':x=95;break;

case'B':x=85;break;

case'C':x=75;break;

case'D':x=60;break;

default:x=0;break;

)

printfx);

)

fclose(in);

getchO;

)

试题五、程序设计题(每小题各10分,共30分)

L输入法x,计算并输出下列分段函数f(x)的值。可以调用数学库函数:平方根函数

sqrt(),绝对值函数fabsO和幕函数pow()0

f(x)=|x|x<0

xWx<2(x+2)3

2Wx<42x+5

x》4

2.输出一张摄氏一华氏温度转换表,摄氏温度的取值区间是[T000C,1500C],温度间隔

50Co要求定义和调用函数ctof(c),将摄氏温度C转换成华氏温度F,计算公式:

F=32+C*9/5。

3.输入一个正整数不胜n(1WnW6),再输入一个n行n列的矩阵,找出该矩阵中绝对值

最大的元素以及它的行下标和列下标。

2006年秋浙江省高等学校计算机等级考试试卷(二级0

试题1(每小题3分,共12分)

阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】

输入一行字符,统计并输出其中英文字母、数字和其他字符的个数。

运行示例:

Entercharacters:f(x,y)=3x+5y-10

letter=5,digit=4,other=6

【程序】

#include<stdio.h>

voidmain()

I

intdigit,i,letter,other;

(1)ch;

digit=letter=other=0;

printf("Entercharacters:〃);

while((2)!='\n')

if((3))letter++;

(4)(ch>='O'&&ch<='9')

digit++;

else

other++;

printf(/zletter=%d,digit=%d,other=%d\n〃,letter,digit,other);

}

【供选择的答案】

(1)A、*B、floatC、doubleI)、char

(2)A、(ch=getchar())B、ch=getchar()C、getchar(ch)D、putchar(ch)

(3)A、(ch>='a'&&ch<=='z')&&(ch>='A'&&ch<='Z')

B、(ch>='a'&&ch<二'z')||(ch>='A'&&ch<='Z')

C>ch>='a'&&ch<='Z'

D、ch>='A'&&ch<='z'

(4)A、ifB、elseC、elseifD、ifelse

试题2(每小题3分,共12分)

阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】

输入一个整数,将它逆序输出。要求定义并调用函数reverse(longnumber),它的功能是

返回number的逆序数。例如reverse(12345)的返回值是54321。

运行示例:

Enteraninteger:-123

Afterreversed:-321

【程序】

#include<stdio.h>

voidmain()

1

longin;

longreverse(longnumber);

printf(z,Enteraninteger:");

scanf&in);

printf("Afterreversed:%ld\nz,,(5));

)

longreverse(longnumber)

I

intflag;

flag=number<0?-1:1;

if3

number=一number;

while(number!=0)

res=⑻;

number/-10;

}

returnflag*res;

)

【供选择的答案】

(5)A、reverse()B、inC、reverse(in)D、reverse

(6)A、res=0B、longresC、longres=0D、res

(7)A、number>0B、number<0C、number!=0D、number==0

(8)A、number%10B、res*10+number%10

C、number/10D、res*10+number/10

试题3(每小题3分,共12分)

阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】

输入一个3行2列的矩阵,分别输出各行元素之和.

运行示例:

Enteranarray:

6

3

1

-8

312

sumofrow0is9

sumofrow1is-7

sumofrow2is15

【程序】

ttinclude<stdio.h>

voidmain()

intj,k,sum=0;

inta[3][2];

printf(z,Enteranarray:\n/z);

for(j=0;j<3;j++)

for(k=0;k<2;k++)

scanf(〃%d〃,(9));

for(j=0;j<3;j++)

I

(10)

for(k=0;k<2;k++)

sum=(11);

printf(z/sumofrow%dis%d\n,z,(12),sum);

)

)

【供选择的答案】

(9)A、a[j][k]B、a[k][j]C、&a[j][k]D、&a[k][j]

(10)A、;B、sum=-1;C、sum=1;D、sum=0;

(11)A、sum+a[j][k]B、sum+a[j][j]C、sum+a[k][k]D、0

(12)A、kB、jC、0D、1

试题4(每小题3分,共12分)

阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序】

#include<stdio.h>

voidmain()

(

intk;

for(k=5;k>0;k-)

I

if(k==3)

continue;

/*第6行*/

printf(z,%d”,k);

)

}

(13)程序的输出是“坨。

A、54321B、5421C、54D、3

(14)将第6行中的continue改为break后,程序的输出是(14)。

A、54321B、5421C、54D、3

(15)将第6行中的continue、删除(保留分号)后,程序的输出是

A>54321B、5421C、54D、3

(16)将第6行全部删除后,程序的输出是(16)。

A>54321B、5421C、54IX3

试题5(每小题3分,共12分)

阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序】

#include<stdio.h>

voidmain()

{

charc,s[80]="HappyNewYear";

inti;

voidf(char*s,charc);

c=getchar();

f(s,c);

puts(s);

)

voidf(char*s,charc)

!

intk=0,j=0;

while(s[k]!='\0,)

if(s[k]!=c)

s[j]=s[k];

j++;

)

k++;

}

s[j]='\0';

}

(17)程序运行时,输入字母a,输出(17)。

A、HappyNewYearB、HppyNewYer

C^HayNewYearD>HappyNwYar

(18)程序运行时,输入字母°,输出(18)。

A、HappyNewYearB、HppyNewYer

C、HayNewYearD、HappyNwYar

(19)程序运行时,输入字母p,输出(19)。

A、HappyNewYearB、HppyNewYer

C、HayNewYearD、HappyNwYar

(20)oA、HappyNewYearB>HppyNewYer

C、HayNewYear1)、HappyNwYar

试题6(每小题3分,共12分)

#include<stdio.h>

structst{

intx,y,z;

);

voidf(structst*t,intn);

voidmain()

(

intk,n;

structsttime;

scanf(,,%d%d%d%d,,>&time.x,fttime.y,&time.z,&n);

f(&time,n);

printf(/z%d:%d:%d\nzz,time,x,time,y,time,z);

)

voidf(structst*t,intn)

(

t->z=t->z+n;

if(t->z>=60)

{t->y=t->y+t->z/60;

t->z=t->z%60;

)

if(t->y>=60)

(

t->x=t->x+t->y/60;

t->y=t->y%60;

)

if(t->x>=24)t->x=t->x%24;

}

(21)程序运行时,输入12125010,输出(21)。

A、12:12:0B、12:12:50C、12:12:601),12:13:0

(22)程序运行时,输入12123010,输出(22)。

A、12:12:0B、12:12:10C、12:12:30D、12:12:40

(23)程序运行时,输入22593030,输出(23)-

A、23:0:0B、22:59:60C、22:59:30D、22:0:0

(24)程序运行时,输入23590300,输出(24)。

A、0:4:0B、23:59:300C、23:59:00I)、23:0:0

试题7(14分)编写程序,输入100个学生的英语成绩,统计并输出该门课程的平均分以及

不及格学生的人数。

试题8(14分)编写程序,输入一个正整数n,计算并输出下列算式的值。要求定义和调用

函数total(n)计算1+1/2+1/3+...+l/n,函数返回值的类型是double.

2007年春浙江省高等学校

计算机等级考试试卷(二级C)

试题1(每小题3分,共12分)

阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】

输入一个正整数,按照从高位到低位的顺序输出各位数字。

运行示例:

Enteraninteger:1902

Thedigitsare:1902

【程序】

^include<stdio.h>

voidmain()

{intdigit,number,power,t;

printf("Enteraninteger:;

scanf&number);

number=number<0?-number:number;

power=1;

while((2)){

power*=10;

t/=10;

);

printf("Thedigitsare:,z);

while((3)){

digit=number/power;

printfC%d,digit);

power/=10;

)

)

【供选择的答案】

(1)A^t=1;B>t=number;

C、;D^number=1;

(2)A、t>=10B、power>=100

C、t!二0D、number!=0

(3)A、power==0B、digit!=0

C、number!=0D、power>=1

(4)A、number/=power;B>number%=10;

C>number%=power;D、number/-10;

试题2(每小题3分,共12分)

阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】

连续输入一批学生的成绩,直到输入成绩的数量超过50个或者输入的成绩不是有效成

绩(有效成绩为。〜100),将输入的有效成绩存入数组mark中,在数组中查找并输出最高

分。函数getmax(array,n)在有n个元素的一维数组array中找出并返回最大值。

运行示例:

Entermarks:90807765-1

Max=90

【程序】

ttinclude<stdio.h>

ttdefineMAXNUM50

intgetmax((5))

{intk,max;

for(k=1;k<n;k++)

if(max<array[k])max=array[k];

returnmax;

voidmain()

{intk,x;

intmark[MAXNUM];

printf(^Entermarks:");

k=0;

scanf("%d",&x);

while((7)){

mark[k++]=x;

scanf&x);

}

if(k>0)printf(Z/Max=%d\n〃,getmax(⑻));

elseprintf("Nomarks!\nz,);

)

【供选择的答案】

(5)A^intn;intarray[]B、void

C、int*arrayD、intarray[],intn

(6)A、max=0;B、;

C^max=array[0];D、max=array[n];

(7)A、k<MAXNUMiix>=0&&x<=100

B、k<MAXNUM&&x>=0&&x<=100

C、k>MAXNUM&&x>=0||x<=100

D、k〉MAXNUMIIx>=0||x<=100

(8)A^mark,kB、mark

C、mark[]D>mark,n

试题3(每小题3分,共12分)

阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】

输入一个4行4列的矩阵,计算并输出该矩阵除4条边以外的所有元素之和suml,

再计算和输出该矩阵主对角线以上(含主对角线)的所有元素之和sum2,主对角线为从矩阵

的左上角至右下角的连线。

运行示例:

Enteranarray:

1234

5678

9101112

13141516

suml=34

sum2=70

【程序】

/include<stdio.h>

voidmain()

{intj,k,sum;

inta[4][4];

printf(zzEnteranarray:\nz,);

for(j=0;j<4;j++)

for(k=0;k<4;k++)

scanf&a[j][k]);

sum=0;

for(j=0;j<4;j++)

for(k=0;k<4;k++)

if((9))

sum+=a[j][k];

printf(,zsuml=%d\n〃,sum);

(10)

for(j=0;j<4;j++)

for((11);(12);k++)

sum+=a[j][k];

printf(,zsum2二%d\n〃,sum);

【供选择的答案】

(9)A>j!=3&&t(!二3&&j!=0&&k!二0

B、j!=3&&k!=3||j!=0&&k!=0

C、j!=3,k!=3&&j!=0||

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论