编程基础——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\n");
    }else if (a > 20){
        //语句2
        printf("语句2\n");
    }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;
}
posted @   #零下一度&  阅读(472)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
点击右上角即可分享
微信分享提示