pta分支结构程序设计测试

C语言错题本2021.12.5

1.在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句  错误如果不加{},if语句遇到 ; 就会停止);

2.如果变量已经正确定义,则执行以下程序段后,x的值不变。

x = 4;

if (x < 0){

    y = -1;

}else if (x = 0){

    y = 0;

}else{

    y = 1;

}  

(

错误  (一开始x被定义为4,但后边语句 x=0 使x的值改变);

3.在switch语句中,必须使用default。 错误(switch语句中并不一定要使用什么,而是根据不同的需要去选择。不过经常后边跟break);

4.switch语句中,每一个case的冒号后面都允许跟有多条语句。  正确 (case的冒号后边对语句的个数并没有规定//我学的还没有);

5.在if语句中,必须出现else。  错误  (不一定,根据需要来写就行);

6.

下列叙述中正确的是()。

(2分)

A.break语句只能用于switch语句

B.在switch语句中必须使用default

C.break语句必须与switch语句中的case配对使用

D.在switch语句中,不一定使用break语句

D

A:break也可以单独使用如if(n>m)break;

B:switch语句中并不一定要使用什么,而是根据不同的需要去选择。不过经常后边跟break;

C&D:break语句不一定要与switch语句中的case配对使用,可以多个case用一个break,也可以不使用break;

7.

逻辑运算符两则运算对象的数据类型( )

(2分)

A.只能是0或1

B.只能是0或非0正数

C.可以是任何类型的数据

D.只能是整型或字符型数据

C

8.三个数的关系之:(2)比大小

# include<stdio.h>

 int main()

{

    int a,b,c,x;

    scanf("%d%d%d",&a,&b,&c);

    if(a<b)

    {

        x=a,a=b,b=x;

    }

    if(a<c)

    {

        x=a,a=c,c=x;

    }

    if(b<c)

    {

        x=b;b=c;c=x;

    }

    printf("%d>=%d>=%d\n",a,b,c);

    return 0;

}

9.分段函数求值

#include<stdio.h>

#include<math.h>

int main()

{ double x,y;

  scanf("%lf",&x);

  if(x<0)

  y=pow(x,2);

  else if(0<=x&&x<10)

  y=2*x-1;

  else if(x>=10)

  y=3*x-11;

  printf("%.2lf",y);

  return 0;

}

10.求该月天数 

#include<stdio.h>

int main()

{

  int year,month,day;

  scanf("%d%d",&year,&month);

  switch(month)

  {case 1:case 3:case 5:case 7:case 8:case 10:case 12:

  day=31;

  break;

  case 4:case 6:case 9:case 11:

  day=30;

  break;

  case 2:

  if(year%400==0||year%4==0&&year%100!=0)

  day=29;

  else

  day=28;

  break;

  }

  if(month>12)

  printf("ERROR");

  else

  printf("%d",day);

  return 0;

}

11.真睡还是装睡

#include<stdio.h>

int main()

{int a,b;

scanf("%d%d",&a,&b);

if(a>=15&&a<=20&&b>=50&&b<=70)

printf("T");

else

printf("F");

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫名其_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值