首页>计算机等级考试>模拟试题>正文
最经典的C语言试题

www.zige365.com 2010-7-15 8:44:43 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

main()

{

    int a=0,i

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

    {

       switch(i)

       {

           case 0:

           case 3:a+=2;

           case 1:

           case 2:a+=3;

           default:a+=5;

       }

    }

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

}

A. 31            B.  13           

C. 10            D.  20 

【答案】A

【考点解析】在本题中,首先定义了一个整型变量a值为0,接着执行for循环语句,循环为5次,每一次的循环都执行选择结构的switch语句,而这个switch语句是根据i的值来对变量a进行操作,而这个switch语句并没有结合break语句,所以它是会继续执行当前语句下面的case,分别当i为1时,a=a+3+5=8;当i=2时,a=a+3+5=16;当i=3时,a=a+2+3+5=26;其余的为a=a+5=31,即答案为31。

【例3】(2002年4月)以下程序的输出结果是( )。

#include

main()

{

    int i=0,a=0;

    while(i<20)

    {

       for(;;)

       {

           if((i)==0) break;

           else i--;

       }

       i+=11;a+=i;

    }

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

}

A. 21            B.  32           

C. 33            D.  11

【答案】B

【考点解析】本题目中,首先定义整型变量i值为0和a值为0,接着进行循环while语句的判断,通过判断进入循环体;在这里有一个省略全部表达式的for语句,因为for语句没有表达式,所以它的循环是一定执行的,即如果没有执行break语句,它会进入死循环。在for语句的循环体里有一个选择结构,当变量i是小于10的数,就退出for语句的循环,否则执行i减1。执行完while语句后,调用printf函数输出变量a的值。

 

【例5】(2003年4月)有以下程序

main()

{

    int i=0,s=0;

    do

    {

       if(i%2)

       {

           i++;continue;

       }

       i++;

       s+=i;

      }

    while(i<7);

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

}

执行后输出结果是

A. 16            B.  12           

本新闻共24页,当前在第12页  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  

我要投稿 新闻来源: 编辑: 作者:
相关新闻
最经典的C语言试题