当前位置:首页 > 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)的输出结果是——。 Void 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
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
for(I=0;I<3;I++) for(k=0;k<3;k++)
scanf(“%d”,&a[I][k]); _____(39)__;
for(I=0;I<3&&flag;k++) 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
{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
for(k=1;k<=3;k++){ for(j=1;j f=f*k; s=s+f; printf(“%.0f#”,s); } } 2、程序2 #include { long fun(long number); printf(“%ld\\n”,fun(-974)); } long fun(long number) {int nflag; long res=0;
共分享92篇相关文档