2004年秋浙江省计算机等级考试二级C试卷及答案
- 格式:docx
- 大小:20.11 KB
- 文档页数:10
2004年秋浙江省计算机等级考试二级C试卷及答案
2004年秋浙江省高等学校
计算机等级考试试卷(二级C)
试题一、计算机基础题(略)
试题二、语言基础题
(一)判断题(每题一分,共10分)
(16)C语言程序的三种基本结构是顺序、选择和嵌套。
(17)在C语言程序中,在函数内部定义的变量称为全局变量。
(18)运算符“=”和“&=”的优先级相同。
(19)‘%f?是不准确的字符常量。
(20)运算符“+”不能作为单目运算符。
(21)如果运算符“+”和“/”都是右结合的,则表达式10*6/5的值是10。(22)s(s-a)(s-b)(s-c)是合法的C语言表达式。
(23)表达式!!6的值是6。
(24)表达式~(~2〈〈1〉的值是5。
(25)对于变量定义:int a[10],*p=a+8;数组a的最后一个元素是p[1]。(二)单选题(每题2分,共20分)
(26)执行语句printf(“_________”,”A”);将得到出错信息。
A、%u
B、%s
C、%e
D、%d
(27)设c是一个字符变量,求解表达式————后,c的值不是1就是0。
A、c=getchar()!=?\n?
B、(c=getchar())!=?\n?
C、c=?1?
D、c=EOF
(28)下列定义中,——定义的变量可以存放-123.4。 A、long a
B、unsigned b
C、int d
D、float c
(29)对于变量定义:char *pp[100],pp是一个——。
A、函数
B、数组元素
C、指针变量
D、数组
(30)下列程序段的输出结果是————。
Char *st[]={“SUN”,”MOON”,”STAR”,”X”};
Printf(“(%s,%c)”,*(st+1)+1,*(*(st+2)+2)+2);
A、(MOON,M)
B、(OON,C)
C、(OON,Q)
D、(OON,A)
(31)对于以下的变量定义,表达式————是不准确的。
Struct node {
Float x,y;
Char s[10];
}point,*p=&point
A、p->x=2.0
B、(*p).y=3.0
B、point.x=2.0 D、p->s=”a”
(32)下列程序段的输出结果是————。
Int a=10,b=0;
If(a>15)
b=1;
Else if (a<2)
b=2; Else
b=3;
Printf(“%d”,b);
A、3
B、2
C、1
D、0
(33)只有当输入的数据满足1<=month<=12,循环语句———才能正常退出。
A、do{
scanf(“%d”,&month);
}while(month>=1||month<=12);
B、do{
scanf(“%d”,&month);
}while(month>=1&&month<=12);
C、do{
scanf(“%d”,&month);
}while(month<1||month>12);
D、do{
scanf(“%d”,&month);
}while(month<=1||month>=12);
(34)调用函数f(27)的输出结果是——。
V oid f(int n)
{if(n<5)
printf(“%d”,n);
else {
printf(“%d”,n%5);
f(n/5);
}
} A、102
B、201
C、21
D、20
(35)下列程序段的输出结果是————。
Int k=3,j=4;
Int p=&k,q=&j
(*p)--;
j=k;
(*q)--;
printf(“(%d,%d)”,k,j);
A、(2,1)
B、(1,2)
C、(4,3)
D、(3,3)
试题三、程序填空题(每空2分,共20分)
程序1、
输入一批以-1结束的整数,求偶数和。
# include
void main( )
{int x,sum;
sum=0;
scanf(“%d”,&x);
_(36)___{
if(___(37)________) sum=sum+x;
_(38)____;
}
printf(“sum=%d”,sum);
}
(36)A、while(x==-1) B、while(x!=-1) C、if(x==-1)
D、if(x!=-1)
(37)A、x==2 B、x%2==2 C、x%2==0 D、x/2==0
(38)A、scanf(“%d”,&x); B、scanf(“%d”,x);
C、sum=0
D、x=sum
2、程序2
a是一个3×3的矩阵,输入a的元素,如果a是下三角矩阵,输出“YES”,否则输出“NO”。(下三角矩阵,即主对角线以上的元素都为0)
#include
void main( )
{int flag,I,k;
int a[3][3];
for(I=0;I<3;I++)
for(k=0;k<3;k++)
scanf(“%d”,&a[I][k]);
_____(39)__;
for(I=0;I<3&&flagk++)
if(__(40)__) __(41)__;
if(flag) printf(“YES”\n”);
else printf(“NO\n”);
}
(39)A、flag=0B、flag==0C、flag==1D、flag=1
(40)A、a[k][I]!=0B、a[i][k]==0C、a[i][k]!=0D、a[k][I]==0
(41)A、flag=0 B、flag==0 C、flag==1 D、flag=1
程序3、
输入一个字符串,将其中的大写字母转换为小写字母后输出。
#include
void main {char str[80];
int k;
gets(str);
for(k=0;str[k]!=?\0?;k++)
if(__(42)__)__(43)___;
puts(str);
}
(42)A、?A?<=str[k]<=?Z?B、str[k]>?A?&&str[k]
C、str[k]>=?A?&&str[k]<=?Z?
D、str[k]>=?A?||str[k]<=?Z?
(43)A、str[k]=str[k]-32;B、str[k]=str[k]-…a?+?A?
C、tolower(str[k])
D、str[k]=str[k]+…a?-?A?
程序4
请仔细阅读函数f1,然后在函数f2中填入准确的内容,使函数f1和函数f2有相同的功能。Int f1(char s[ ])
{int k=0;
while(s[k]!=?\0?)
k++;
return k;
}
Int f2(char *s)
{char *ss;
__(44)__;
while(*s!=?\0?)
s++;
return __(45)___;
}
(44)A、s=ss B、ss=s C、ss=NULL D、s=NULL
(45)A、ss-s B、s -ss-1 C、s-ss D、s-ss+1 试题四、程序阅读题(每题5分,共15分)
1、程序1
#include
void main( )
{int j,k;
fioat f,s;
s=0;f=1;
for(k=1;k<=3;k++){
for(j=1;j
f=f*k;
s=s+f;
printf(“%.0f#”,s);
}
}
2、程序2
#include
void main( )
{ long fun(long number);
printf(“%ld\n”,fun(-974));
}
long fun(long number)
{int nflag;
long res=0;
flag=(number<0?-1:1);
if(number<0) number=-number;
while(number!=0){
res=res*10+number%10;
number/=10;
printf(“%d#”,res);
} return flag*res;
}
3、程序3
# include
#include
void main ( )
{FILE *in;
char *string1=”IF YOU FAIL TI PLAN”;
char *string2=”you pian to fail”;
if((in=fopen(“file1.txt”,”w”))!=NULL)
while (*string2!=?\0?)
fputc(*string2++,in);
fclose(in);
if((in=fopen(“file1.txt”,”r”))!=NULL)
while (fgetc(in)!=EOF)
putchar(*string1++);
fclose(in);
}
试题五程序设计题
1、输入10个数,找出其中绝对值最小的数,将它与最后一个数交换位置,然后输
出这10个数。
2、输入一个正实数x和一个正整数n,求下列算式的值。要求定义和调用2个函
数fact(n)计算n的阶乘;mypow(x,n)计算x的n次幂。两个函数的返回值类型
为double型。
x-x2/2!+x3/3!-x4/4!+……+(-1)n-1x n/n!
2004年秋试卷答案
试题二、