2015年下半年安徽省计算机水平考试(二级C语言)
一.程序填空题
1.一下程序计算并输出1~100之间所有是3或7的倍数之和,请填空 #include
int i,s; _______=0; for(i=1;i<=100;i++)
if(_________) /*判断是否是3或7的倍数*/
s=s+i;
printf(“s=%d\\n”,______);
}
2.以下程序输出图形: 12345 2345 345 45 5 请填空:
#include
int i,j;
for(i=1;_____;i++) {
for(j=i;j<=5;j++)
printf(“%d”,____);
}
}
printf(“___”);
3.以下程序利用指针输出一个字符串中所有的数字字符,请填空。 #include
char s[]=”A1B2C3D4E5F6G7H8I9”; char *p;
for(p=s;_____!=?\\0?;p++)
}
二.阅读理解题
1.以下程序运行后输入2,程序的输出结果是 。
#include
int color;
printf(“Please intput color:”); scanf(“%d”,&color); switch(color) {
case 0: case 1: case 2: case3: default:
printf(“black”); printf(“blue”); printf(“green”); printf(“red”);break; printf(“other color”);
if(________)
/*判断是否是数字字符*/
printf(“%c”,_____);
}
}
2.以下程序运行的结果是_______。
#include
3.以下程序的运行结果是_____. #include
int i;
char s[]=”AaBbCcDdEeFfGgHh”; char c; i=0;
while(s[i]!=?\\0?) { }
printf(“%s”,s);
c=s[i]; s[i]=s[i+1]; s[i+1]=c; i=i+2;
int i,j=5,s; s=0;
for(i=1;i<=5;i++)
s=s+i+j--;
printf(“%d”,s);
}
4.以下程序的运行结果是____. #include
void main() { }
三.程序设计题
1.编写程序,输入一个十进制整数,判断其奇偶性,如果是奇数输出1,否则输出0。 2.使用循环语句设计程序,删除字符串”0010110100100111”中所有字符?0?并输出。 要求:
(1) 程序应输出11111111 (2) 字符数组s最后的储存状态为:
?1??1??1??1??1??1??1??1??\\0?…… 程序基本框架如下: #include
char s[]=”00101101100100111”; /*以下是要编写的程序段*/}
printf(“%d\\n”,f(0)); printf(“%d\\n”,f(1)); printf(“%d”,f(5)); if(n==0||n==1)
return 1;
else return n+f(n-1);
答案
一、程序填空题 1. s
i%3==0||i%7==0 \\n
*p
s
2. i<=5 j 3. *p
*p>='0'&&*p<='9'
二、阅读理解题 1. greenred 2. 30
3. aAbBcCdDeEfFgGhH 4.
1 1 15
三、程序设计题 1.
#include
for(i=0;s[i]!='\\0';i++)
int x;
scanf(\if(x%2==1) else
printf(\printf(\
if(s[i]=='1')
s[j++]=s[i];
s[j]='\\0'; puts(s);