热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

05dayC语言程序条件结构

一、主要的语句类型

 

05dayC语言程序条件结构

二、3种控制结构

结构化程序设计提供了3种控制结构,分别是顺序结构、分支结构和循环结构。
05dayC语言程序条件结构

1、取三个数中的最小数

用三元运算符?:

#include 

int main()
{
        int x,y,z;
    int i,j,n;
    scanf("%d %d %d",&x,&y,&z);
        i=(xx:y;
    j=(ii:z;
    printf("%d",j);
    return 0;
}        

 

三元运算符 m=x?y:z; 先运算x,如果x正确,则输出y,否则输出z

 2、双分支选择结构

将输入的三个数按照从小到大的顺序输出。

#include 
/*
输入 3 个整数 x、y 以及 z,请把这三个数从小到大输出。
*/
int main()
{
    int x,y,z;
    int i,j,n;
    scanf("%d %d %d",&x,&y,&z);
    if(x>y) 
    {
        i=x; 
        x=y;
        y=i;
    }
    if(x>z)
    {
        j=x;
        x=z;
        z=j;
    }
    if(y>z)
    {
        n=y;
        y=z;
        z=n;    
    }
    printf("%d<%d<%d",x,y,z);
        return 0;
}

 

3、多分支选择结构

判断输入的字符是数字、大写字母、小写字母或其他字符。

#include 

int main()
{
    char ch;
    scanf("%c",&ch);
    if('0'<=ch && ch<='9')
        printf("输入的是数字");
    else if('A'<=ch && ch<='Z')
        printf("输入的是大写字母");
    else if('a'<=ch && ch<='z') 
        printf("输入的是小写字母");
    else printf("输入的是其他字符"); 
    return 0;
}

 

三、switch语句

switch语句中的“表达式”和case后面的“常量表达式”的结果值的类型应该一致。其类型可以是除实型以外的任何类型(如整型、字符型、枚举类型)。
• 每一个case后的常量表达式的值必须互不相同。
• 执行完一个case后面的语句后,流程控制到下一个case继续执行。因此,多个case可共用一组语句。

1、break语句

终止switch语句的执行。为了执行完某个分支后跳出switch结构,应在其后加上break语句。

2、default语句

当所有case常量表达式与switch后表达式的值都不匹配时,default语句被执行,实际上,default语句也不是必须的,当default语句省略时,表示“缺省情况下什么也不做”。
default语句并不一定放在switch结构的最后,default语句和各个case语句的顺序完全可互换而不影响结果,当default语句不在switch结构的最后时,不要忘记使用break。

四、课后作业

#include 

/*
    如果员工满足下列条件之一,公司就为他们投保。 
    员工已婚 
    员工为 30 岁以上的未婚男性 
    员工为 25 岁以上的未婚女性 
    如果以上条件一个也不满足,则公司不投保。 
    根据用户输入员工的婚姻状态、性别和年龄,判定该员工是否已投保。
*/
int main()
{
    int age;
    char H,X;
    printf("请输入您的婚姻状态(请填Y/N)、性别(请填M/F)和年龄(请填数字)\n");
    scanf("%c %c %d",&H,&X,&age);
    if(H=='Y')
    printf("您已婚,公司已给您投保");
    else if(H=='N' && (X=='M' && age>=30))
        printf("您是30岁以上的未婚男性,公司已给您投保"); 
    else if(H=='N' && (X=='F' && age>=25))
        printf("您是25岁以上的未婚女性,公司已给您投保");
    else
    printf("您不满足公司投保要求,没有投保"); 
    return 0;
}

 

#include 
#define PI 3.14
/*
用于计算长方形、圆形和三角形的面积。根据用户的选择要能计算相应形状的面积。
根据用户选择的形状,提示用户输入该形状的详细信息:
长方形要求输入长和宽的值; 
圆形要求输入半径的值;
三角形要求输入底和高的值。计算相应形状的面积
*/
int main()
{
    int i;
    float c,k,r,d,g; 
    float s1,s2,s3;
    printf("您需要计算长方形的面积请输入‘1 ’\n计算圆形的面积请输入‘2 ’\n计算三角形的面积请输入‘3 ’\n");
    scanf("%d",&i); 
    getchar();
    switch(i)
    {
        case 1 :printf("您计算长方形的面积,请输入长和宽:");
                scanf("%f %f",&c,&k);
                s1=c*k;
                printf("长方形的面积为.2%f",s1); 
                break;
        case 2 :printf("您计算圆形的面积,请输入半径:");
                scanf("%f",&r);
                s2=r*r*PI;
                printf("圆形的面积为%.2f",s2);
                break;
        case 3 :printf("您计算三角形的面积,请输入底和高:");
                scanf("%f %f",&d,&g);
                s3=0.5*d*g;
                printf("三角形的面积为%.2f",s3);
                break;    
    }
    return 0;
}

 

 

#include 

/*
某公司员工的工资包括底薪和奖金两部分,每个员工的底薪都是 1000 元,而奖金取决于员工的级别。
不同级别的员工奖金比例如下表所示: 
等级 奖金占底薪的百分比 
A 45% B 40% C 30% D 25% 
根据员工级别,计算应付给该员工的工资。
*/
int main()
{
    char i;
    float s1,s2,s3,s4; 
    printf("您的员工级别为:"); 
    scanf("%c",&i);
    switch(i)
    {
        case 'A' :s1=1000+1000*0.45;
                printf("应付的员工工资为%.2f",s1);    break;
        case 'B' :s2=1000+1000*0.4;
                printf("应付的员工工资为%.2f",s2);    break;
        case 'C' :s3=1000+1000*0.3;
                printf("应付的员工工资为%.2f",s3);    break;
        case 'D' :s4=1000+1000*0.25;
                printf("应付的员工工资为%.2f",s4);    break;    
    } 
    return 0;
}
#include 

/*
输入某年某月某日,判断这一天是这一年的第几天。
*/
int main()
{
    int year,month,day;
    int i;
    scanf("%d %d %d",&year,&month,&day);
    if((year%4!=0 && year%100==0) || year%400!=0)
    {
        switch(month)
        {
            case 1 :i=day;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 2 :i=day+31;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 3 :i=day+59;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 4 :i=day+90;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 5 :i=day+120;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 6 :i=day+151;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 7 :i=day+181;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 8 :i=day+212;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 9 :i=day+243;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 10 :i=day+273;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 11 :i=day+304;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 12 :i=day+334;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
        }
    }
    else
    {
        switch(month)
        {
            case 1 :i=day;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 2 :i=day+31;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 3 :i=day+60;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 4 :i=day+91;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 5 :i=day+121;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 6 :i=day+152;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 7 :i=day+182;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 8 :i=day+213;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 9 :i=day+244;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 10 :i=day+274;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 11 :i=day+305;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
            case 12 :i=day+335;
                printf("这一天是%d年%d月%d日的第%d天",year,month,day,i);break;
        }
    }
    return 0;    
}


推荐阅读
  • 本文介绍了基于c语言的mcs51单片机定时器计数器的应用教程,包括定时器的设置和计数方法,以及中断函数的使用。同时介绍了定时器应用的举例,包括定时器中断函数的编写和频率值的计算方法。主函数中设置了T0模式和T1计数的初值,并开启了T0和T1的中断,最后启动了CPU中断。 ... [详细]
  • 开发笔记:实验7的文件读写操作
    本文介绍了使用C++的ofstream和ifstream类进行文件读写操作的方法,包括创建文件、写入文件和读取文件的过程。同时还介绍了如何判断文件是否成功打开和关闭文件的方法。通过本文的学习,读者可以了解如何在C++中进行文件读写操作。 ... [详细]
  • Java SE从入门到放弃(三)的逻辑运算符详解
    本文详细介绍了Java SE中的逻辑运算符,包括逻辑运算符的操作和运算结果,以及与运算符的不同之处。通过代码演示,展示了逻辑运算符的使用方法和注意事项。文章以Java SE从入门到放弃(三)为背景,对逻辑运算符进行了深入的解析。 ... [详细]
  • c语言基础编写,c语言 基础
    本文目录一览:1、C语言如何编写?2、如何编写 ... [详细]
  • C语言的经典程序有哪些
    本篇内容介绍了“C语言的经典程序有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何 ... [详细]
  • 那你就是学的c语言,跟我学c语言
    本文目录一览:1、如何学习C语言?2、新手如何 ... [详细]
  • JAVA流程控制结构在java中有三种流程控制结构:顺序结构,选择结构,循环结构顺序结构:顺序结构,是指程序从 ... [详细]
  • 分支结构程序设计练习
    任务1:从键盘输入三个整数,按从小到大排序输出。实现思路:定义三个整形变量x,y,z,分别存放从键盘输入的整数。比较x和y的值,如果xy,则x和y的值交换;比较x和z的值, ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文介绍了一个Java猜拳小游戏的代码,通过使用Scanner类获取用户输入的拳的数字,并随机生成计算机的拳,然后判断胜负。该游戏可以选择剪刀、石头、布三种拳,通过比较两者的拳来决定胜负。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了在Windows系统上使用C语言命令行参数启动程序并传递参数的方法,包括接收参数程序的代码和bat文件的编写方法,同时给出了程序运行的结果。 ... [详细]
  • 本文讨论了编写可保护的代码的重要性,包括提高代码的可读性、可调试性和直观性。同时介绍了优化代码的方法,如代码格式化、解释函数和提炼函数等。还提到了一些常见的坏代码味道,如不规范的命名、重复代码、过长的函数和参数列表等。最后,介绍了如何处理数据泥团和进行函数重构,以提高代码质量和可维护性。 ... [详细]
  • 本文介绍了GTK+中的GObject对象系统,该系统是基于GLib和C语言完成的面向对象的框架,提供了灵活、可扩展且易于映射到其他语言的特性。其中最重要的是GType,它是GLib运行时类型认证和管理系统的基础,通过注册和管理基本数据类型、用户定义对象和界面类型来实现对象的继承。文章详细解释了GObject系统中对象的三个部分:唯一的ID标识、类结构和实例结构。 ... [详细]
author-avatar
手机用户2602881441
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有