我的c语言学习记录(蓝桥)————选择程序设计

本文详细介绍了C语言中的选择结构,包括if语句的使用,如何处理多个条件判断,以及switch语句的实现。通过示例代码,解释了如何在程序中加入条件判断以处理一元二次方程根的计算,以及如何根据用户输入实现不同条件下的输出。
摘要由CSDN通过智能技术生成

选择程序设计

大家应该还记得我们上一节课做过一个题目,这个题目是用来求一元二次方程的根的,原来的程序如下:

#include<stdio.h>

#include<math.h>               //程序中要调用求平方根函数 sqrt

int main(){

    double a,b,c,disc,x1,x2,p,q;

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

    disc = b * b - 4 * a * c;

    p = -b / (2.0 * a);

    q = sqrt(disc) / (2.0 * a);

    x1 = p + q,x2 = p - q;

    printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);

    return 0;

}

这个程序我们并没有加入一个 b^2-4ac 是否大于等于 0 的一个判断,现在我们对这个程序做出一些改动,加入判断语句,输入以下代码:

#include<stdio.h>

#include<math.h>               //程序中要调用求平方根函数 sqrt

int main(){

    double a,b,c,disc,x1,x2,p,q;

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

    disc = b * b - 4 * a * c;

    if(disc<0)

        printf("This equation hasn't real root!\n");

    else{

        p = -b / (2.0 * a);

        q = sqrt(disc) / (2.0 * a);

        x1 = p + q,x2 = p - q;

        printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);

    }

    return 0;

}

输入以下命令编译并运行

gcc -o 6-1 6-1.c -lm

./6-1

我们运行两次,分别输入 abc 不同的值。

会看到以下结果:

 

程序分析

这就是一个选择结构,if 对给定的条件 disc<0 进行判断后,形成了两条路径,如果 disc<0 成立,执行 printf("This equation hasn't real root!\n");,如果 disc<0 不成立,执行 else{} 中的内容。

知识点:

  • 可以把几个语句放在一个 {} 中,这样如果 disc<0 不成立,就会执行 else{} 里面所有的内容;
  • 假如没有 {} 同时 disc<0,这个时候执行完 printf("This equation hasn't real root!\n");
  • 语句以后会从 q=sqrt(disc)/(2.0*a);
  • 接着往下执行,大家可以自己思考下加不加 {} 的影响。

if 语句实现选择结构

C 语言中选择结构最常用的就是 if 语句,为了了解 if 语句的应用,我们举一个例子进行说明。

编写源程序 6-2.c

#include<stdio.h>

int main(){

    int number=0;

    printf("\nPlease enter an integer between 1 and 10:");

    scanf("%d",&number);

    if(number>5)

        printf("You entered %d which is greater than 5\n",number);

    if(number<6)

        printf("You enter %d which is less than 6\n",number);

    return 0;

}

运行两次,分别输入 6 和 2.结果如下:

 

程序分析

  1. main() 函数体的前三个语句如下:

int number&

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值