编程基础——c 选择结构程序设计个人总结实例

1.if(表达式)语句 1;
else   语句2;
 
if(1<4>3)不成立        因为:     1<4的值为1,1>3不成立
 
类似1<4>3这种表达式,会先计算1<4的结果(0或1),然后用该结果(0或1)跟3比较;
注意:不要把==写成=;
当if语句没有大括号时,会默认执行if之后的第一个语句,(找第一个分号)第一句之后的所有语句均不属于分支结构。
 例1:
#include <stdio.h>

int main(int argc, const char * argv[])
{
    char sex;
    printf("请输入一个字符:");
    scanf("%c",&sex);
    if ('F'==sex)
        printf("女");
   
        if('M'==sex)
            printf("男");
  
        else
            printf ("输入的字符有误");
   
    return 0;
    }
 
(01)
if(条件表达式1)
   语句1;
else 语句2;
当条件成立执行语句1,否则执行语句2
 
例2:输入两个数,输入运算符号(+/-),计算结果。
#include <stdio.h>
void s(int a,char c,int b){
    switch (c) {
        case '+':
            printf("%d+%d=%d",a,b,a+b);
            break;
        case '-':
            printf("%d-%d=%d",a,b,a-b);
            break;
        case '*':
            printf("%d*%d=%d",a,b,a*b);
            break;
        case '/':
            printf("%d/%d=%d",a,b,a/b);
            break;
        default:
            break;
    }
}
int main(int argc, const char * argv[]) {
    int d,e;
    char f;
    printf("请输入要计算的表达式:");
    scanf("%d%c%d",&d,&f,&e);
          s(d,f,e);
          return 0;
          }
 
 
(02)当条件满足时,会执行对应的分支语句,且不会再执行后面的条件,只有条件不成立时,才会继续判断后面的条件,最后可以不用else结尾。
int a = 30;
    if (a > 40) {
        //语句1
        printf("语句1 ");
    }else if (a > 20){
        //语句2
        printf("语句2 ");
    }else if (a > 10){
        //语句3
        printf("语句3");
    }
  当if的条件是逻辑表达式,||,只要第一个条件成立,就不会再判断第二个条件,&&只要第一个为假,就不会再判断第二个。
 
if(条件表达式1){
语句1;
} else if(条件表达式2){
语句2;
} else if(条件表达式3){
语句3;
} else {
语句4;
}
 
例3:从键盘输入一个字符,如果是数字打印数字,如果是小写字母则打印小写字母,如果是大写字母则打印大写字母,如果是其他字符则打印other。
 
#include <stdio.h>
int main()
{
    char c;
    printf("请输入一个字符:");
    scanf("%c",&c);
    if (c>='0'&&c<='9'){
        printf("This is digital:%d",c);
       
    }else if (c>='a'&&c<='z'){
        printf("This is letter:%c",c);
    }else if (c>='A'&&c<='Z'){
       printf("This is capital letter:%c",c);
    }else printf (“Other");
    return 0;
    }
 
 
//输入一个分数,判断其等级(90分以上优,80~90良 60~80及格,60分以下不及格)
#include <stdio.h>

int main(int argc, const char * argv[])
    { float score;
    scanf("%f",&score);
    if (score >= 90) {
     printf("优");
}else if (score >= 80){
       printf("良好");
    }else if (score >= 60){
       printf("及格");
    }else{
       printf("不及格,重修");
    }
   return 0;
}
感谢您的访问! 若对您有帮助或有兴趣请关注博客:http://www.cnblogs.com/Rong-Shengcom/
原文地址:https://www.cnblogs.com/Rong-Shengcom/p/4930334.html