大学计算机 C语言模拟试题三 附带答案.docx

上传人:b****5 文档编号:7923012 上传时间:2023-01-27 格式:DOCX 页数:13 大小:22.10KB
下载 相关 举报
大学计算机 C语言模拟试题三 附带答案.docx_第1页
第1页 / 共13页
大学计算机 C语言模拟试题三 附带答案.docx_第2页
第2页 / 共13页
大学计算机 C语言模拟试题三 附带答案.docx_第3页
第3页 / 共13页
大学计算机 C语言模拟试题三 附带答案.docx_第4页
第4页 / 共13页
大学计算机 C语言模拟试题三 附带答案.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

大学计算机 C语言模拟试题三 附带答案.docx

《大学计算机 C语言模拟试题三 附带答案.docx》由会员分享,可在线阅读,更多相关《大学计算机 C语言模拟试题三 附带答案.docx(13页珍藏版)》请在冰豆网上搜索。

大学计算机 C语言模拟试题三 附带答案.docx

大学计算机C语言模拟试题三附带答案

大学计算机C语言模拟试题及答案(三)《附带答案》

一、选择题

(1)有以下程序段

 int n,t=1,s=0;scanf("%d",&n);do{ s=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;i

  C)f=1;             D)f=1;

    for(i=n;i>1;i++)f*=i;        for(i=n;i>=2;i--)f*=i;

(3)有以下程序

main()

{int k=5,n=0;

  while(k>0)

  { switch(k)

     { default :

 break;

        case 1 :

 n+=k;

        case 2 :

        case 3 :

 n+=k;

     }

    k--;

  }

  printf("%d\n",n);

}

程序运行后的输出结果是  A)0    B)4    C)6    D)7

(4)有以下程序

main()

{

  int a=1,b;

  for(b=1;b<=10;b++)

  {

     if(a>=8)  break;

     if(a%2==1) { a+=5; continue;}

     a-=3;

  }

  printf("%d\n",b);

}

程序运行后的输出结果是               A)3  B)4  C)5  D)6

(5)有以下程序

main()

{int s=0,a=1,n;

scanf("%d",&n);

do

{ s+=1;   a=a-2; }

while(a!

=n);

printf("%d\n",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()

{int k=4,n=4;

for(;n

{ n++;

if(n%3!

=0) continue;

k--;}

printf("%d,%d\n",k,n);

}

程序运行后的输出结果是  A)1,1        B)2,2        C)3,3         D)4,4

(8)要求以下程序的功能是计算:

 

main()

{int n;  float  s;

s=1.0;

for(n=10;n>1;n--)

s=s+1/n;

print("%6.4f\n",s);

}

程序运行后输出结果错误,导致错误结果的程序行是

  A)s=1.0;     B)for(n=10;n>1;n--) C)s=s+1/n;  D)printf("%6.4f/n",s);

(9)有以下程序

main()

{ inti;

for(i=0;i<3;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(i<7);

printf("%d\n",s);

}

执行后输出结果是 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:

%f\n”,n,ave);

  }

}

上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。

这条语句是 

A)sum=0.0;    B)sum+=score; C)ave=sun/4.0;  D)printf(“NO%d:

%f\n”,n,ave);

(12)有以下程序段

intn=0,p;

do{scanf(“%d”,&p);n++;}while(p!

=12345&&n<3);

此处do—while循环的结束条件是

  A)P的值不等于12345并且n的值小于3 B)P的值等于12345并且n的值大于等于3

  C)P的值不等于12345或者n的值小于3 D)P的值等于12345或者n的值大于等于3

(13)以下程序中,while循环的循环次数是

main()

{int i=0;

while(i<10)

{  if(i<1)  continue;

if(I==5) break;

      i++;

}

......

} A)1     B)10  C)6      D)死循环,不能确定次数

(14)以下程序的输出结果是

main()

{int a=0,i;

for(i=;i<5;i++)

{ switch(i)

{case0:

case3:

a+=2;

case1:

case2:

a+=3;

default:

a+=5;

}

}

printf("%d\n",a);

}  A)31   B)13   C)10   D)20

(15)以下程序的输出结果是

#include  

main()

{int i=0,a=0;

while(i<20)

{ for(;;)

{if((i%10)==0) break;

else       i--;

}

i+=11;     a+=i;

}

printh("%d\n",a);

}  A)21              B)32        C)33           D)11

(16) t为int类型,进人下面的循环之前,t的值为0

while(t=l)

{……  }

则以下叙述中正确的是 A)循环控制表达式的值为0  B)循环控制表达式的值为1 

 C)循环控制表达式不合法   D)以上说法都不对

(17)以下程序的输出结果是

main()

{  int  num=0;

while(num<=2)

{ num++; printf(“%d\n”,num);

}

  A)1  B)1   C)1   D)l  2     2        2   3     3 4

(18)以下程序的输出结果是

main()

{  int   a,b;

for(a=1,b=1;a<=100;a++)

{  if(b>=10) break;

if(b%3==1)

{  b+=3;     continue;  }

}

printf(“%d\n”,a);

}  A)101   B)6     C)5    D)4

(19)有以下程序段

int k=0

while(k=1)k++;

while 循环执行的次数是

  A)无限次       B)有语法错,不能执行  C)一次也不执行      D)执行1次

(20)以下程序执行后sum的值是

  A)15              B)14    C)不确定    D)0

min()

{int i, sum;

 for(i=1;i<6;i++)sum+=i;

 printf(“%d\n”,sum);

}

(21)有以下程序段

int x=3

do

{  printf(“%d”,x-=2);  }

while(!

(--x));

其输出结果是  A)中1               B)3 0     C)1 -2     D)死循环

(22)有如下程序

main0

{   int   i,sum;

for(i=1;i<=3;sum++)  sum+=i;

printf(“%d\n”,sum);

}

该程序的执行结果是  A)6      B)3      C)死循环     D)0

(23)有如下程序

main0

{   int   x=23;

do

{  printf(“%d”,x--);}

while(!

x);

}

该程序的执行结果是 A)321  B)23    C)不输出任何内容   D)陷入死循环

(24)有如下程序

main0

{    int   n=9;

while(n>6)  {n--;printf(“%d”,n);}

}

该程序段的输出结果是 A)987     B)876  C)8765           D)9876

(25)以下循环体的执行次数是

  A)3         B)2               C)1            D)0

    main()

    {inti,j;

          for(i=0,j=1; i<=j+1;i+=2,j--)printf("%d\n",i);

(26)以下叙述正确的是

  A)do-while语句构成的循环不能用其它语句构成的循环来代替。

  B)do-while语句构成的循环只能用break语句退出。

  C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。

  D)用do-while语句构成的循环,在while后的表达式为零时结束循环。

(27)以下程序段的执行结果是

  A)a=12y=12                     B)a=12y=12

        a=14y=16                         a=16y=28

        a=16y=20

        a=18y=24

  C)a=12y=12                     D)a=12y=12

                                             a=14y=26

                                             a=14y=44

       int a,y;

       a=10;y=0;

       do

       {a+=2;y+=a;

         printf("a=%dy=%d\n",a,y);

         if(y>20)break;

       {while(a=14);

(28)以下程序的输出结果是  A)10192   B)9876  C)10990   D)101091

     main(  )

    {    int   x=10,y=10,I;

          for(i=0;x>8;y=++i)

             printf("%d,%d",x--,y);

(29)以下程序的输出结果是

  A)2 0   

  B)3 1   

  C)3 2 1   

  D)2 1 0

     main( )

     {     int  n=4;

            while(n--)printf("%d",--n);

(30)以下程序的输出结果是

  A)#*#*#    B)#####     C)*****    D)*#*#*

  main( )

  { int i;

     for(i=1;i<6;i++)

     {  if(i%2){printf("#");continue;}

         printf("*");

     }

     printf("\n");

(31)执行以下程序段时

  A)循环体将执行一次                B)循环体将执行两次

  C)循环体将执行无限次              D)系统将提示有语法错误

         X=-1;

         do {x=x*x;   }  while(!

x);

(32)执行以下程序后,输出的结果是

  A)-1           B)1             C)8             D)0

       main()

       {  int y=10;

           do {y--;} while(--y);

       printf("%d\n",y--);

(33)在下列选项中,没有构成死循环的程序段是

  A)int i=100                          B) for(;;);

       while

(1)

      { i=i%100+1;

        if(i>100)break;

  C)intk=1000;                        D) int   s=36;

      do{++k;}while(k>=10000);              while(s);--s;

(34)执行语句:

  for(i=l:

i++<4:

);后,变量i的值是

  A)3     B)4   C)5    D)不定

(35)以下程序的输出结果是

  A)x=4          B)x=8           C)x=6           D)x=12

       main()

       { int i,j,x=0;

          for(i=0;i<2;i++)

          {x++;

           for(j=0;j<=3;j++)

              { if(j%2)continue;

                 x++;

              }

           x++;

       }

       printf("x=%d\n",x);

(36)运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为:

  A)m=3          B)m=2           C)m=1      D)m=1

       main()

      { int   m,n;

         printf("Enterm,n;");  scanf("%d%d",&m,&n):

         while(m!

=n)

         {while(m>n)m-=n;

           while(n>m)n-=m;

         }

         printf("m=%d\n",m);

(37)设x和y均为int型变量,则执行下的循环后,y值为

    for(y=1,x=1;y<=50;y++)

    {if(x>=10))break;

      if(x%2==1)

       { x+=5;  continue;}

       x-=3;

  A)2     B)4       C)6              D)8

(38)假定a和b为int型变量,则执行以下语句后b的值为

a=1;   b=10;

do

{   b-=a;   a++; }

while(b--<0);

  A)9              B)-2                C)-1              D)8

(39)设j为int型变量,则下面for循环语句的执行结果是

    for(j=10;j>3;j--)

       { if(j%3)j--;

        --j;   --j;

        printf("%d ",j);

  A)6  3          B)7 4           C)6 2           D)7 3

(40)若ij已定义为int类型,则以下程序段中内循环体的总的执行次数是

    for(i=5;i;i--)

       for(j=0;j<4;j++){...}

  A)20          B)25    C)24               D)30

(41)执行下面的程序后,a的值为

main()

{  inta,b;

for(a=1,b=1;a<=100;a++)

{    if(b>=20)break;

if(b%3==1) {b+=3; continue;}

b-=5;        }    }

  A)7           B)8           C)9           D)10

(42)以下程序段的输出结果是

intx=3;

   do {   printf("%3d",x-=2);} while(!

(--x));

  A)1           B)30         C)1-2          D)死循环

(43)定义如下变量:

intn=10;则下列循环的输出结果是

while(n>7)

{  n--;  

printf("%d\n",n);       }

  A)10        B)9         C)10        D)9

        9            8                9             8

           8            7                8             7

    7             6

(44)下面的程序

  A)输出的是1        B)输出的是1和-2  C)输出的是3和0    D)是死循环

main()

{intx=3;

do{

printf("%d\n",X-=2);

}while(!

(--x));}

(45)下面程序的输出是

  A)741            B)852             C)963             D)875421

main()

{inty=9;

for(;y>0;y--)

{if(y%3==0)

{printf("%d",--y);continue;}

(46)若x是int型变量,且有下面的程序片段:

for(x=3;x<6;x++)printf((x%2)?

("**%d"):

("##%d\n"),x);

上面程序片段的输出结果是

  A)**3          B)##3           C)##3           D)**3##4

   ##4               **4                **4##5              **5

   **5               ##5

(47)请读程序片段:

#include

main()

{inta,b;

for(a=1;b=1;a<=100;a++)

{if(b>=20)break;

if(b%3==1)

{b+=3;

continue;

}

b-=5;

}

printf("%d\n",a);

上面程序的输出结果是  A)7      B)8      C)9   D)10

(48)请读程序:

#include

main()

{intmun=0;

while(num<=2)

{num++;printf("%d\n",num);}

上面程序的输出结果是

  A)1        B)1       C)1      D)1

   2                   2                   2

     3                   3

   4

(49)请读程序:

#include

#include

main()

{floatx,y,z;

scan("%f%f",&x,&y);

z=x/y;

while

(1)

{if(fabs(z)>1.0)

{x=y;y=z;z=x/y;

}

elsebreak

}

printf("%f\n",y);

}

若运行时从键盘上输入3.62.4表示回车),则输出的结果是

  A)1.500000      B)1.600000       C)2.000000       D)2.400000

(50)执行下面程序片段的结果是

intx=23;

do

{printf("%2d",x--);}

while(!

x);

 A)打印出321     B)打印出23       C)不打印任何内容

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1