}
printf(\}
5.3 测试题
5.3.1 选择题
4.下面程序段的运行结果是( )。
a=1;b=2;c=2;
while(a
5.下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m和n中的较大者,请选择填空。
#include
{int m=0,n=0;
char c;
while ((【1】)!= '\\n')
{if(c>='A' && c<='Z') m++; if(c>='a' && c<='z') n++;} printf(\【2】); }
6.下面程序的功能是在输入的一批正整数中求出最大值,输入0结束循环,请选择填空。
#include
{int a,max=0; scanf(\ while( )
{if(max
8.下面程序的功能是计算正整数2345的各位数字平方和,请选择填空。
#include
{int n,sum=0; n=2345;
do {sum=sum+【1】; n=【2】; }while(n);
printf(\}
9.若运行以下程序时,从键盘输入ADescriptor
#include
main()
{char c;
int v0=0,v1=0,v2=0; do{switch(c=getchar()) {case 'a':case 'A':
case 'e':case 'E': case 'i':case 'I': case 'o':case 'O':
case 'u':case 'U':v1+=1; defaule:v0=v0+1;v2+=1; }
}while(c!='\\n');
printf(\}
11.下面程序段的功能是将从键盘输入的偶数写成两个素数之和。请选择填空。
#include
{int a,b,c,d;
scanf(\
for(b=3;b<=a/2;b+=2)
{for(c=2;c<=sqrt(b);c++) if(b%c= =0)break; if(c>sqrt(b)) d=【1】;else break;
for(c=2;c<=sqrt(d);c++) if(d%c= =0) break; if(c>sqrt(d)) printf(\}
5.3.2 填空题
1.下面程序是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。请 填空。
int n=0,c; c=getchar( ); while( 【1】 ) {if ( 【2】 ) n++; c=getchar( ); }
1.下面程序是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。请 填空。
int n=0,c; c=getchar( ); while( 【1】 ) {if ( 【2】 ) n++; c=getchar( ); }
?21111?2?2?2???2,求π的近似值,直到最后一项2.下面程序的功能是用公式
6123n的值小于10–6 为止。请填空。
#include
{long i=1; 【1】pi=0;
while (i*i<=10e+6) {pi=【2】;i++;} pi=sqrt(6.0*pi);
printf(\}
3.有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?请填空。
#include
{int day,x1,x2; day=0;x1=1020;
while (【1】) {x2=【2】;x1=x2;day++;} printf(\}
4.下面程序的功能是用“辗转相除法”求两个正整数的最大公约数。请填空。
#include
scanf(\if(m r=m%n; while(r){m=n;n=r; r=【2】;} printf(\} 5.鸡兔共有30只,脚共有90个,下面程序段是计算鸡兔共有多少只,请填空。 for(x=1;x<=29;x++) {y=30-x; if(【1】) printf(\ } 6.下面程序的功能是计算1–3+5–7+?–99+101的值,请填空。 #include {int i,t=1,s=0; for(i=1;i<=101;i+=2) {【1】;s=s+t;【2】;} printf(\ } 7. #include {int i,n;double h ,s, a, b; printf(\ scanf(\【1】); n=100;h=【2】; s=0.5*(sin(a)*cos(a)+sin(b)*cos(b)); for(i=1;i<=n-1;i++)s+=【3】; s*=h; printf(\} 8. #include {int i;double e,new; 【1】;new=1.0; for(i=1;【2】;i++) {new=new/(double)i;e=e+new; } } 9. #include {int a ,i, m; for(a=1;a<=1000;a++) {for(【1】;i<=a/2;i++ ) if(!(a%i)) 【2】; if(m= =a) printf(“M”,a); } } 10. #include {int i,j,k,L=1; for(i=0;i<=20;i++) } for(j=0;j<=50;j++) {k=【1】; if(【2】) } {printf(\ L=L+1; if(L%5= =0)printf(\ } 6.3 测试题 6.3.1 选择题 2.下列程序执行后的输出结果是( )。 #include {char arr[2][4]; strcpy(arr,\ arr[0][3]='&'; printf(\} 3.当执行下面的程序时,如果输入ABC,则输出结果是( )。 #include {char ss[10]=\ gets(ss);strcat(ss, \} 4.以下程序的输出结果是( )。 #include f(int b[ ],int m,int n) {int i,s=0; for(i=m;i main() {int x,a[ ]={1,2,3,4,5,6,7,8,9} ; x=f(a,3,7); printf(\ } 5.以下程序中函数sort()的功能是对数组a中的数据进行由大到小的排序。 #include void sort(int a[ ],int n) {int i,j,t; for(i=0;i<=n-1;i++) for(j=i+1;j if(a[i] main( ) {int aa[10]={1,2,3,4,5,6,7,8,9,10},i; sort(&aa[3],5); for(i=0;i<10;i++)printf(\printf(\} 6.以下程序中函数reverse( )的功能是将a所指数组中的内容进行逆置。 #include void reverse(int a[ ],int n) {int i,t; for(i=0;i main( ) {int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; printf(\