1、全国计算机等级考试二级C语言循环结构测试全国计算机等级考试二级C语言循环结构测试2006/8/16 【大 中 小】 选择字色 一、选择题 (1)有以下程序段 intn,t=1,s=0; scanf(%d,&n); dos=s+t;t=t-2;while(t!=n); 为使此程序段不陷入死循环,从键盘输入的数据应该是 A)任意正奇数 B)任意负偶数 C)任意正偶数 D)任意负奇数 (2)设变量已正确定义,则以下能正确计算f=n!的程序段是 A)f=0;B)f=1; for(i=1;i=n;i+)f*=i;for(i=1;i1;i+)f*=i;for(i=n;i=2;i-)f*=i; (3)有以下
2、程序 main() intk=5,n=0; while(k0) switch(k) default:break; case1:n+=k; case2: case3:n+=k; k-; printf(%dn,n); 程序运行后的输出结果是 A)0 B)4 C)6 D)7 (4)有以下程序 main() inta=1,b; for(b=1;b=8)break; if(a%2=1)a+=5;continue; a-=3; printf(%dn,b); 程序运行后的输出结果是 A)3 B)4 C)5 D)6 (5)有以下程序 main() ints=0,a=1,n; scanf(%d,&n); do
3、s+=1;a=a-2; while(a!=n); printf(%dn,s); 若要使程序的输出值为2,则应该从键盘给n输入的值是 A)-1 B)-3 C)-5 D)0 (6)若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0) s=a; for(b=1;b=c;b+)s=s+1; 则与上述程序段功能等价的赋值语句是 A)s=a+b; B)s=a+c; C)s=s+c; D)s=b+c; (7)有以下程序 main() intk=4,n=4; for(;n1;n-) s=s+1/n; print(%6.4fn,s); 程序运行后输出结果错误,导致错误结果的程序行是
4、 A)s=1.0; B)for(n=10;n1;n-) C)s=s+1/n; D)printf(%6.4f/n,s); (9)有以下程序 main() inti; for(i=0;i3;i+) switch(i) case1:printf(%d,i); case2:printf(%d,i); default:printf(%d,i); 执行后输出结果是 A)011122 B)012 C)012020 D)120 (10)有以下程序 main() inti=0,s=0; do if(i%2)i+;continue; i+; s+=i; while(i7); printf(%dn,s); 执行后输
5、出结果是 A)16 B)12 C)28 D)21 (11)以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下: main() intn,k; floatscore,sum,ave; sum=0.0; for(n=1;n=10;n+) for(k=1;k=4;k+) scanf(“%f”,&score);sum+=score; ave=sum/4.0; printf(“NO%d:%fn”,n,ave); 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是 A)sum=0.0; B)sum+=score; C)ave=sun
6、/4.0; D)printf(“NO%d:%fn”,n,ave); (12)有以下程序段 intn=0,p; doscanf(“%d”,&p);n+;while(p!=12345&n3); 此处dowhile循环的结束条件是 A)P的值不等于12345并且n的值小于3 B)P的值等于12345并且n的值大于等于3 C)P的值不等于12345或者n的值小于3 D)P的值等于12345或者n的值大于等于3 (13)以下程序中,while循环的循环次数是 main() inti=0; while(i10) if(i1)continue; if(I=5)break; i+; . A)1 B)10 C)
7、6 D)死循环,不能确定次数 (14)以下程序的输出结果是 main() inta=0,i; for(i=;i5;i+) switch(i) case0: case3:a+=2; case1: case2:a+=3; default:a+=5; printf(%dn,a); A)31 B)13 C)10 D)20 (15)以下程序的输出结果是 #include main() inti=0,a=0; while(i20) for(;) if(i%10)=0)break; elsei-; i+=11;a+=i; printh(%dn,a); A)21 B)32 C)33 D)11 (16)t为in
8、t类型,进人下面的循环之前,t的值为0 while(t=l) 则以下叙述中正确的是 A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对 (17)以下程序的输出结果是 main() intnum=0; while(num=2) num+;printf(“%dn”,num); A)1B)1C)1D)l 222 33 4 (18)以下程序的输出结果是 main() inta,b; for(a=1,b=1;a=10)break; if(b%3=1) b+=3;continue; printf(“%dn”,a); A)101 B)6 C)5 D)4 (1
9、9)有以下程序段 intk=0 while(k=1)k+; while循环执行的次数是 A)无限次 B)有语法错,不能执行 C)一次也不执行 D)执行1次 (20)以下程序执行后sum的值是 A)15 B)14 C)不确定 D)0 min() inti,sum; for(i=1;i6;i+)sum+=i; printf(“%dn”,sum); (21)有以下程序段 intx=3 do printf(“%d”,x-=2); while(!(-x); 其输出结果是 A)中1 B)30 C)1-2 D)死循环 (22)有如下程序 main0 inti,sum; for(i=1;i=3;sum+)sum+=i; printf(“%dn”,sum); 该程序的执行结果是 A)6 B)3 C)死循环 D)0 (23)有如下程序 main0 intx=23; do printf(“%d”,x-); while(!x); 该程序的执行结果是 A)321 B)23
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1