C语言练习第8篇

1.设有以下语句:int x=10;x+=3+x%(3),则x的值是._________

A) 14         B) 15         C) 11        D) 12

答案:A

2,若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值__________.

A) 0         B) 1           C) 12        D) 6

答案:A

3.执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是________.

  #include <stdio.h>

   void main( )

   { int k; char cp;

     cp=getchar( );

     if (cp>='0' && cp<='9')

     k=cp-'0';

     else if (cp>='a' && cp<='f')

                k=cp-'a'+10;

           else  k=cp-'A'+10;

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

   }

A) 2         B) 4         C) 1            D) 10

答案:A

4.若运行以下程序时,从键盘输入ADescriptor<回车> ,则下面程序的运行结果是( )

#include <stdio.h>

int 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;

       default: v0 += 1; v2 += 1;

       }

     } while (c != '\n');

     printf("v0=%d,v1=%d,v2=%d\n", v0, v1, v2);

     return 0;

}

A、v0=7,v1=4,v2=7 B、v0=8,v1=4,V2=8    C、v0=11,v1=4,v2=11 D、v0=12,v1=4,v2=12

答案:D

解析:观察代码发现,主要构成就是一个循环包着一个switch,它的switch语句从我们输入的字符中读取,并通过读取的字符进行一系列的计算。但要注意的一点便是,它的switch中没有break,也就是说,它一旦执行了上面的,它就会一直往下走,直到走完,再通过循环判断。 ADescriptor<回车>。一共11个字符,a,e,i,o,u大小写,加起来有4个,令v1=v0=v2=4,剩下7个字符令v0+7,v2+7,所以最后v1=4,v0=v2=11,看上去好像就是这样,但需要注意的一点就是,它是dowhile循环,也就是先执行循环内容再判断,也就是说'\n'这个回车它也要执行1次,最后令v1=4,v0=v2=12,选D

5.编程题

注意:

F和c应选择为double型

答案:

#include"stdio.h"

int main()

{   double f,c;

    scanf("%lf",&f);

    c=5*(f-32)/9;

    printf("c=%.2f",c);

    return 0;

}

float的指数范围为 -127 ~ +129,而double的指数范围为 -1023 ~ +1024

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值