C语言:第六章,条件选择语句

6.1-6.6 if语句,else语句,else if语句,if语句嵌套,if与else配对,复杂嵌套语句

#include <stdio.h>
#include <stdlib.h>
#include<math.h>
//条件语句
//int main()
//{  
//int x=100;
//if (x==0)  //如果在末尾加上分号,则表示语句
//  {
//      printf ("x等于0\n");
//  } //如果只有一句,可以取消括号
//printf ("程序结束\n");
//  system("pause");
//  return 0;
//}
 
//else语句
//int main()
//{ 
/*int x, y;
printf("请输入第一个数:");
scanf_s("%d", &x);
printf("请输入第二个数:");
scanf_s("%d", &y);
if (x>y)
{
printf("%d比%d大\n",x,y);
}
else
{
printf("%d比%d小\n",x,y);
}
printf("程序结束");
system("pause");
return 0;*/
 
//else if语句
//int main()
//{ 
//  float grade;
//  printf("学生的成绩:");
//  scanf_s("%f", &grade);
//  if (grade<60)
//  {
//      printf("该生的成绩不及格");
//  }
//  else if(grade<70)
//  {
//      printf("该生的成绩很差");
//  }
//  else if(grade<80)
//  {
//      printf("该生的成绩一般");
//  }
//  else
//  {
//      printf("该生的成绩不错");
//  }
//  system("pause");
//  return 0;
//}
 
//if嵌套语句
//int main()
//{ 
//  int sex;
//  int choice;
//  printf("测试恋爱性格: \n");
//  printf("选择你喜欢的巧克力\n");
//  printf("(1)酒心巧克力 (2)可可巧克力 (3)嘻嘻巧克力\n");
//  scanf("%d", &choice);
//  printf("输入你的性别: \n (1)男 (2) 女\n");
//    scanf("%d", &sex);
//  if (sex==1)
//  {
//      if (choice==1)
//      {
//          printf("这个男孩是一个恋爱高手\n");
//      }
//      else if (choice==2)
//      {
//          printf("这个男孩不会谈恋爱\n");
//      }
//      else if (choice==3)
//      {
//          printf("这个男孩会谈恋爱\n");
//      }
//      else
//          printf("你孩输出错误信息\n");
//  }
//  else if (sex==2)
//  {
//          if (choice==1)
//      {
//          printf("这个女孩是一个恋爱高手\n");
//      }
//      else if (choice==2)
//      {
//          printf("这个女孩不会谈恋爱\n");
//      }
//      else if (choice==3)
//      {
//          printf("这个女孩会谈恋爱\n");
//      }
//      else
//          printf("你输出错误信息\n");
//  }
//  else
//  {
//      printf("输入错误性别\n");
//  }
//  system("pause");
//  return 0;
//}
 
//if与else的配对
//int main()
//{  
//int x;
//    printf("请输入小于100的整数:\n");
//  scanf("%d",&x);
//  if (x>0)
//  {
//      if (x<100)
//      {
//           printf("x大于0小于100:\n");
//      }     //if与最近的else配对;所以不能去掉大括号
//  }
//  else
//    printf("x小于等于0:\n");
//  system("pause");
//  return 0;
//}
 
// 复杂嵌套
int main()
{  
int num;
    printf("请输入该生当月的消费额:\n");
    scanf("%d",&num);
    if (num>=0)
    {
        if (num==0)
        {
             printf("零消费\n");
        }    
        else
        {
            if (num>1000)
            {
                printf("高消费\n");
            }
            else if (num>500)
            {
                printf("中等消费\n");
            }
            else
                printf("低消费\n");
        }
    }
    else
    printf("该生不光没有消费,反而挣了:%.2f\n",fabs(num));
    system("pause");
    return 0;
}
    
6.7-6.10 逻辑与,逻辑或,逻辑非,括号改变优先级

#include <stdio.h>
#include <stdlib.h>
 
//int main()
//{  
//  int age=50;
//  char sex='f';
//  if (age>=50&&sex=='f')  //逻辑与&&
//  {
//     printf("可以退休。\n");
//  }
//  system("pause");
//  return 0;
//}
 
//int main()
//{  
//  int money;
//  char looks;
//  printf("你有多少钱?");
//  scanf_s("%d",&money); 
//  getchar();
//   printf("你帅不帅?(y) 帅 (n)不帅:");
//   scanf_s("%c",&looks); //需要注意的是,这里是提取字符,如果上面不getchar,将enter提取出来并释放,则也会提取出来。
//   if (money>=1000000||looks=='y') //逻辑或者||
//   {
//    printf("可以嫁给你");
//   }
//   else
//   {
//     printf("还得考虑考虑");
//   }
//  system("pause");
//  return 0;
//}
 
int main()
{  
  int x;
  printf("输入整数");
  scanf_s("%d",&x);
  if (!x==0) //逻辑运算符优先级高于关系运算符,非逻辑运算符!;假为0,真为1
  {
        printf("x不等于0\n");
  }
  else
        printf("x=0\n");
  system("pause");
    return 0;
}
 
 
//int main()
//{  
//  int x=1,y=0,z=0;
//  if (x==0&&(y==0||z==0)) //逻辑与的优先级大于或,但可以通过括号改变;去掉括号条件满足,反之不满足
//  {
//    printf("条件满足");
//  }
//  else
//  {
//     printf("条件不满足");
//  }
//  system("pause");
//  return 0;
//}
6.8- 真与假、三目运算、三目运算优先级、灵活的运用三目运算、三目运算操作类型、三目运算常见用法、switch语句

#include <stdio.h>
#include <stdlib.h>
 
//int main()
//{  
//  int x=0;
//  if (x!=0)
//  {
//      printf("x为假\n");
//  }
//  else
//  {
//      printf("x为真\n");
//  }
//  system("pause");
//  return 0;
//}
 
//int main()
//{  
//  int x,y;
//  printf("请输入一个整数\n");
//  scanf_s("%d",&x);
//  //if (x<0)
//  //{
//  //  y=-x;
//  //}
//  //else
//  //{
//  //  y=x; 二个操作对象,双目运算符
//  //上面的代码可以通过下面方式简写
//  y=(x<0)?-x:x;//三个操作对象,三目运算符?(,:);
//  }
//  printf("改数的绝对值是:%d",y);
//  system("pause");
//  return 0;
//}
 
//int main()
//{  
//  int x=1,y=2, z;
//  z=x>y?x:x>y?x:y; //从右到左,三目运算符优先级;z=x>y?x:(x>y?x:y)
//  printf("z:%d",z);
//  system("pause");
//  return 0;
//}
 
//int main()
//{  
//  int x=1;
//  float b=2.1f; //浮点型必须加f,否则系统当做双精度处理
//
//  printf("%f",x>b?x:b); //将a,b转换中其中高级别的类型,也是就是浮点型
//  system("pause");
//  return 0;
//}
 
//int main()
//{  
//  char a;
//  scanf("%c",&a);
//  printf("%c\n", (a>='A'&&a<='Z')?(a+32):a); //三目运算常见用法,大小写转换
//  system("pause");
//  return 0;
//}
 
//int main()
//{  
//  char a=1,b=2;
//  /*if (a>b)
//  {
//  printf("%d",a);
//  }
//  else
//  {
//  printf("%d",b);
//  }*/
//  printf("%d",a>b?a:b); 
//  system("pause");
//  return 0;
//}
 
//switch语句,当条件很多的时候,用这个语句比if方便
int main()
{  
    float a,b,result;
    char c;
    printf("模拟四则运算小程序\n"); 
    printf("请输入第一个数:\n"); 
    scanf("%f",&a);
    getchar();
    printf("请输运算符(+-*/):\n"); 
    scanf("%c",&c);
    printf("请输入第二个数:\n"); 
    scanf("%f",&b);
    switch (c)
    {
    case '+':result=a+b;
        break; // 如果去掉break语句,会将后面的语句全部执行
    case '-':result=a-b;
        break;
    case '*':result=a*b;
        break;
    case '/':result=a/b;
        break;
    default: result=0;  //所有条件都不满足,执行这条语句
    }
    printf("%.2f%c%.2f=%.2f\n",a,c,b,result);
    system("pause");
    return 0;
}

 

Updated: 2014-11-15 — am10:44

Leave a Reply

  Subscribe  
Notify of