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

C语言选择结构

C语言提供了可以进行逻辑判断的语句,由这些选择语句可构成程序的选择结构,也称之为分支结构,他根据逻辑判断结果取决程序执行不同的分支。选择结构是结构化程序设计的三种基本结构之一。有简

C语言提供了可以进行逻辑判断的语句,由这些选择语句可构成程序的选择结构,也称之为分支结构,他根据逻辑判断结果取决程序执行不同的分支。选择结构是结构化程序设计的三种基本结构之一。有简单if语句双支或多支if语句与switch语句。


简单if语句

简单if语句的一般形式为:

if(表达式)

{

         语句组;

}

在这里,if是C语言的关键字。其执行过程:首先判断表达式得至,入过表达式的值位真,则执行语句组,否则执行语句组下面的其他语句。当语句组有多条时,该语句组必须加“{}”。

例如:输入两个数,输出最大值。

#include
main()
{
int x,y,max;
scanf("%d,%d",&x,%y);
max=x;
if(max max=y;
printf("max=&d",max);
}

 表达式为真执行赋值语句,为假则直接输出max取值x;


双分支语句

双分支if语句为if...else形式,其一般形式为:

if(表达式)

{

语句组1;

}

else

{

语句组2;

}

在这里if与else都是C语言的关键字。其执行过程中:首次判断其 表达式的值,如果表达式为真,则执行语句组1;否则执行语句组2。当语句组1与语句组2由多条语句组成时要用“{}”括起来,形成复合语句。

例如:输入一个数,判断其是否能被3整除。若能被3整除,则输出“YES”,否则则输出“NO”。

#include
main()
{
int x;
scanf("%d",&x);
if(x%3)
printf("NO\n");
else
printf("YES\n");
}

x%如果为0则可以被整除所以输出“YES”否则输出“NO”;


switch语句

C语言还提供了另一种用于多分支选择switch语句,其一般形式为:

switch(表达式)

{

case 常量表达式1: 语句1;break;

case 常量表达式2: 语句2;break;

...

case 常量表达式n: 语句n;break;

default : 语句n+1;

}

在这种选择结构中,switch,case,break,default是C语言系统的关键字,其执行过程是:先计算表达式的值,然后跳转到case后与其具有相同值的常量表达式处开始执行,直到break语句或语句结束处结束执行。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。语句中break可以省略,default部分也可以省略。

例如:输入一个日期,输出该日期是星期几。

#include
main()
{
int day;
scanf("%d",&day);
switch(day)
{
case 1:printf("Monday\n");break;
case 2:printf("Tuesday\n");break;
case 3:printf("Wednesday\n");break;
case 4:printf("Thursday\n");break;
case 5:printf("Friday\n");break;
case 6:printf("Saturday\n");break;
case 7:printf("Sunday\n");break;
default:printf("error\n");
}
}

用户可以根据需求选择语句的使用。



推荐阅读
  • c语言\n不换行,c语言printf不换行
    本文目录一览:1、C语言不换行输入2、c语言的 ... [详细]
  • 本文介绍了在Windows系统上使用C语言命令行参数启动程序并传递参数的方法,包括接收参数程序的代码和bat文件的编写方法,同时给出了程序运行的结果。 ... [详细]
  • C语言判断正整数能否被整除的程序
    本文介绍了使用C语言编写的判断正整数能否被整除的程序,包括输入一个三位正整数,判断是否能被3整除且至少包含数字3的方法。同时还介绍了使用qsort函数进行快速排序的算法。 ... [详细]
  • 本文介绍了GTK+中的GObject对象系统,该系统是基于GLib和C语言完成的面向对象的框架,提供了灵活、可扩展且易于映射到其他语言的特性。其中最重要的是GType,它是GLib运行时类型认证和管理系统的基础,通过注册和管理基本数据类型、用户定义对象和界面类型来实现对象的继承。文章详细解释了GObject系统中对象的三个部分:唯一的ID标识、类结构和实例结构。 ... [详细]
  • C语言自带的快排和二分查找
    Author🚹:CofCaiEmail✉️:cai.dongjunnexuslink.cnQQ😙:1664866311personalPage&#x ... [详细]
  • c语言基础编写,c语言 基础
    本文目录一览:1、C语言如何编写?2、如何编写 ... [详细]
  • 利用空间换时间减少时间复杂度以及以C语言字符串处理为例减少空间复杂度
    在处理字符串的过程当中,通常情况下都会逐个遍历整个字符串数组,在多个字符串的处理中,处理不同,时间复杂度不同,这里通过利用空间换时间等不同方法,以字符串处理为例来讨论几种情况:1: ... [详细]
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼*madebyebhrz*#include#include#include#include#include#include#include ... [详细]
  • C语言的经典程序有哪些
    本篇内容介绍了“C语言的经典程序有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文介绍了C函数ispunct()的用法及示例代码。ispunct()函数用于检查传递的字符是否是标点符号,如果是标点符号则返回非零值,否则返回零。示例代码演示了如何使用ispunct()函数来判断字符是否为标点符号。 ... [详细]
  • 本文介绍了一个程序,可以输出1000内能被3整除且个位数为6的所有整数。程序使用了循环和条件判断语句来筛选符合条件的整数,并将其输出。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • 本文介绍了UVALive6575题目Odd and Even Zeroes的解法,使用了数位dp和找规律的方法。阶乘的定义和性质被介绍,并给出了一些例子。其中,部分阶乘的尾零个数为奇数,部分为偶数。 ... [详细]
  • 本文介绍了指针的概念以及在函数调用时使用指针作为参数的情况。指针存放的是变量的地址,通过指针可以修改指针所指的变量的值。然而,如果想要修改指针的指向,就需要使用指针的引用。文章还通过一个简单的示例代码解释了指针的引用的使用方法,并思考了在修改指针的指向后,取指针的输出结果。 ... [详细]
author-avatar
风尚宣城_588
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有