数学科学学院C语言复习资料
49、设整形变量x,y,z的值值分别为3,2,1,则下列程序段的输出是( )。 if (x>y) x=y; if (x>z) x=z; printf(“%d,%d,%d\\n”,x,y,z); A、1,1,1 B、1,2,1 C、1,2,3 D、3,2,1
50、执行下列程序段后,变量x的值是( )。 int a=8,b=7,c=6,x=1;
if (a>6) if (b>7) if (c>8) x=2; else x=3; A、0 B、1 C、2 D、3 51、运行下列程序的结果是( )。 main()
{float x=-28.9,y; if (x<0) y=-x; else if (x<0) y=x; else y=0; printf(“%f\\n”,y); }
A、-28.9 B、28.9 C、-28 D、28 52、运行下列程序的结果是( )。 main()
{int a1=10, a2=-9, a3=0, a4=100, x;
if (a1
A、-9,0,10,100 B、100,10,0,-9 C、0,-9,10,100 D、100,10,-9,0 53、运行下列程序的结果是( )。 main()
{int a1=1,a2=1,a3=1,a4=1; if (a1>0) a3++; if (a1>a2) a3--;
else if (a1==a2) a3++;
else a3--;
printf(“%d,%d,%d,%d\\n”,a4,a3,a2,a1);
6
数学科学学院C语言复习资料
}
A、1,1,1,1 B、1,2,3,4 C、4,3,2,1 D、1,3,1,1 54、下列正确的switch语句是( )。 A、switch (x)
{case 1.0: printf(“*\\n”); case 2.0: printf(“**\\n”);} B、switch (int x)
{case 1: printf(“*\\n”); case 2: printf(“**\\n”);} C、switch (a+b)
{case 1: printf(“*\\n”); case 1+2: printf(“***\\n”);} D、switch (a+b) ;
{case 1: printf(“*\\n”); case 2: printf(“*\\n”);}
(说明:switch后面的表达式(由常数、符号常量组成的表达式)必须为整型,也可用字符表达式。因此,选项A的case 后出现实型常量是不对的,选项B switch后面的括号中只能出现变量名,而出现类型说明符是不对的,选项C 中switch后面的表达式多了一个分号) 55、以下程序段的输出结果是( )。 int x=0,y=2,z=3; switch (x+1)
{case 1: switch (y==2)
{case 1:printf(“*”);break; case 2:printf(“%”);break;} case 2: switch (z)
{case 1: printf(“$”);
case 2: printf(“*”);break; default : printf(“#”);} }
A、 *# B、*$* C、*%$*# D、* 56、以下语句中,( )不可能做到提前退出循环体语句。 A、 goto B、break C、continue D、return
7
数学科学学院C语言复习资料
57、执行下列语句后,整型变量x的值为( )。 switch (x=1) {case 0: x=10;break;
case 1: switch (x=2) { case 1: x=20; break; case 2: x=30; } }
A、 30 B、20 C、10 D、1 58、执行下列程序后的输出结果是( )。 char x=?9?; while (x>?7?) printf(“%c”,x--);
A、99 B、98 C、987 D、87 59、执行下列程序段后的输出结果是( )。 int m=8;
while (m>=5) m--,--m,n=m---m; printf(“%d,%d”,m,n);
A、2,0 B、5,-1 C、5,0 D、5,1
60、设整型变量x的值为1,执行下列程序段后,变量x的值是(do x++; while (x++<2);
A、2 B、3 C、4 D、5 61、下列语句的输出结果是( )。 for(i=2;i>0;i--) for(j=0;j
A、** B、*** C、**** D、****** 62、执行下列语句后,变量k的值是( )。 for(k=0;k<=5;k++) do k++;while (k<5);
A、5 B、6 C、7 D、8
63、下列程序段中,不能使变量m的值等于10的程序段是( A、m=0;
while (m++<9); B、do m=0;
while (m++<10);
C、for(m=8;m<10;m++); D、m=0;
L:m++; if (m<10) goto L;
8
)。。 )数学科学学院C语言复习资料
64、执行下列程序的输出结果是( )。 main()
{int i,m,n1=1,n2=1,n3; for(m=n1+n2,i=1;i<5;i++)
{n3=n1+n2;m=m+n3;n1=n2,n2=n3;} printf(“%d\\n”,m); }
A、6 B、12 C、20 D、33 65、如果在程序执行时输入:abc12.3xz和回车键,则输出结果为( )。 main() {char ch; float x=0;
do {ch=getchar();
if ((?0?<=ch)&&(ch9?)) x=x*10+ch-48; }while (ch!=?\\n?); printf(“%f\\n”,x); }
A、abc B、12.3 C、123 D、123.0 66、下列叙述正确的是( )。
A、continue和break只能用在循环体中 B、continue只能用在循环体中 C、break只能用在循环体中 D、continue只能用在循环体外
67、执行下列程序的输出结果是( )。 main() {int k;
for(k=9;k>0;k--)
if (k/3==0) continue; else printf(“%d”,k); }
A、875421 B、9876543 C、987654321 D、963
68、下列程序的主要功能是计算并输出1!+2!+?+10! 。缺少的内容是( )。 main()
9
数学科学学院C语言复习资料
{float y=1.0,x; int i,n;
for(n=2;n<11;n++) { ; for(i=2;i<=n;i++) x=x*i; y=y+x; }
printf(“%f\\n”,y); }
A、x=0.0 B、x=0 C、x=1.0 D、x=(float)n
69、下列程序的功能是根据以下公式求π值(直到最后一项小于10-6为止),程序中缺少的是( )。
?2?1?1121231234??????????? 3353573579main()
{double s=0.0, t=1.0;
int n;
for(n=1;t>=1e-6;n++)
{s+=t; ;} printf(“%f\\n”,2.0*s); }
A、t*=n/2*n+1 B、t=n*t/(2*n+1) C、t=t*n/2*n+1 D、t=t*n/(2*n-1)
70、设某网站成立第一天有10人点击,以后每天的点击数都是前一天的3倍多10人。下列程序是计算第11天有多少人点击,其中缺少是( )。 main()
{long s=10; int i ;
for( ) s=3*s+10; printf(“%ld\\n”,s); }
A、i=1;i<=11;i++ B、i=1;i<12;i++
10