C语言里面的判断语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言里面的判断语句相关的知识,希望对你有一定的参考价值。

题目为 由键盘输入一个数 判断该数是否能被10整除 如果能则输出该数 否则判断是否能被7整除 如果能则输出该数 否则输出该数不是10和7的倍数 请帮忙详细解答下

在C语言中,判断语句的一般格式为

if(expr1)

    //some codes

else if(expr2)

    //some codes

else if(expr3)
...
else

    //some codes


//out of check

执行时,会依照书写顺序,依次判断各个expr,如果有一个为真,则执行后续的内语句,并不再执行后续判断,而是直接从out of check开始执行。


else if的数量不限,可以不存在,也可以有任意多组。

else同样可以不存在。

每个else 与最其之前最近的没有匹配else的if相结合。

判断执行的语句部分,大括号对可以省略,省略后,if仅对其下一语句生效。

参考技术A if ( Number % 10 == 0 )/*判断是否能被10整除*/

/*能,在此输出此数*/

else if ( Number % 7 == 0)/*判断能否被7整除*/

/*能,在此输出此数*/

else

/*不能被10和7整除,在此输出此数*/
参考技术B 完整程序如下:
#include "stdio.h"
void main()

int num;
scanf("%d",&num);
if(num%10 ==0)
printf("%d\n",num);

else if (num%7 == 0)
printf("%d\n",num);

else
printf("%s\n","不是10和7的倍数");
本回答被提问者采纳
参考技术C #include<stdio.h>

void main()

int n;
scanf("%d", &n);

if (n%10 == 0)

if (n%7 != 0)
printf("%d能被10整除\n", n);
else
printf("%d是7和10的倍数\n", n);


else if (n%7 == 0)

if (n%10 != 0)
printf("%d能被7整除\n", n);
else
printf("%d是7和10的倍数\n", n);


else
printf("%d不是7和10的倍数\n", n);

参考技术D #include<stdio.h>
int main(void)

int i;

printf("enter a number:\n");
scanf("%d",&i);
if(i % 10 == 0)
printf("%d\n",i);
else if(i % 7 == 0)
printf("%d\n",i);
else
printf("不是10和7的倍数\n");
return 0;

C语言判断和循环介绍

一.判断介绍

判断是C语言最常用的语法之一,判断是满足某种条件时,执行对应语句的一种语法结构。

下面介绍工作中最常用的几种类型的判断语句

语句介绍使用场景
if由一个布尔表达式后跟一个或多个语句组成。需要满足某种单个条件时,执行的语句。
if…else一个 if 语句加上可选的 else 语句。满足if条件时执行一种语句,不满足if条件时执行的另一种语句。
if…else if…else一个 if 语句加上可选的 else if 语句,再加上else 语句。存在三种及三种以上条件时需要执行对应的语句,最后的else是所有条件都不满足时,需要执行的语句。
switch语句一个 switch 语句由一个switch表达式满足表达式case执行的语句和一个default执行语句组成。存在三种以上不同的变量条件时,执行符合表达式case的后面的语句当表达式的值与所有case后面的常量表达式的值都不相等时,执行default后面的语句

二.实例演示

if…else
判断一个数是否是正数

#include <stdio.h>
bool IfPositiveNumber(int x);
bool IfPositiveNumber(int x)
{
	if (x > 0) {
		printf("这个数为正数! \\n");
		return true;
	}
	printf("这个数不是正数! \\n");
	return false;
}

int main()
{
	if (IfPositiveNumber(-1))
		printf("条件为真! \\n");
	else
		printf("条件为假! \\n");
	return 0;
}

if…else if…else

int main()
{
	int a = 0;
	if(a>0)
		printf("这个数是正数! \\n");
	else if(a<0)
		printf("这个数是负数! \\n");
	else
		printf("这个数是0! \\n");
	return 0;
}

三.switch语句介绍

为什么要使用switch语句?

语句结构可读角度:
1、switch语句是多分支选择语句.用来实现多分支选择结构.if语句只有两个分支可供选择,而实际问题中常常要用到多分支的选择。
2、这些都可以用嵌套的if语句来外理(if else if else),但如果分支较多,则嵌套的if语句层数多,程序沉余长而且可读性降低.C语言提供switch语句直接外理多分支选择。

如何使用switch语句?
switch语句格式:

switch (表达式)
{
	case '常量表达式 1':	
		语句 1
	case '常量表达式 2':	
		语句2
	...
	case '常量表达式 n':	
		语句n
	default:
		语句 n+1
}

switch使用注意点
先看一个例子
举例:

int main()
{
	char grade = 'B';
	switch (grade)
	{
		case 'A':
			printf("85-100\\n");
		case 'B':
			printf("70-84\\n");
		case 'C':
			printf("60-69\\n");
		case 'D':
			printf("<60\\n");
		default:
			printf("error\\n");
	}
}

这是一个根据等级来输出分数区间的例子。

注意点:
(1) switch括号内的"表达式",允许它为任何类型
(2) 当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,若所有的case中的常量表达式的值都没有与表达式的匹配的,就执行default后面的语句。
(3) 每一个case的常量表达式的值必须互不相同,否则就会出现互相矛盾的现象。
(4) 各个case和default的出现次序不影响执行结果。例如,可以先出现"default: …",再出现"case ‘C’: …",然后是"case ‘A’: …"
(5) 重要:执行完一个case后面的语句后,流程控制转移到下一个case继续执行."case常量表达式"只是起语句标号作用,并不是在该处进行条件判断.在执行swith语句时,根据switch后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。

所以,以上的结果是

若想执行符合的语句后就停止执行,需要加上break。

char grade = 'B';
	switch (grade)
	{
		case 'A':
			printf("85-100\\n");
			break;
		case 'B':
			printf("70-84\\n");
			break;
		case 'C':
			printf("60-69\\n");
			break;
		case 'D':
			printf("<60\\n");
			break;
		default:
			printf("error\\n");
	}

四.循环介绍

循环在各种语言中的使用也是非常多,主要的用途在于处理大量数据、遍历、长稳运行(重复运行)等等。
在C语言中,可以使用三种循环方式

语句说明
for多次执行一个语句,简化写代码的次数。
while当while中的条件为真时,反复执行while中的语句,直到条件语句不再符合。
do…while在循环主体的结尾进行条件判断,其余和while类似。

for循环

int main()
{
	for (int i = 0; i < 100; i++)
	{
		if (i % 2 == 0)
			printf("i=%d\\n",i);
	}
	return 0;
}

注意:for 循环头部中的三个表达式可以省略一个或多个。这意味着 for 循环头部最短的形式是:for ( ; ; )

while

int main()
{
	int i = 0;
	while (i < 100)
	{
		if (i % 2 == 0)
			printf("i=%d\\n", i);
		i++;
	}
	return 0;
}

注意:
一般来说,当循环内有计数器或索引变量需要被初始化,并且在每次循环时需要调整它们的值时,最好使用 for 循环,而不是 while 循环。

do…while

int main()
{
	do
	{
		if (i % 2 == 0)
			printf("i=%d\\n", i);
		i++;
	} while (i < 100);
	return 0;
}

注意:
1.do…while格式中,在最后的while()后要加上;
2.在控制表达式被第一次计算之前,循环体语句会首先被执行一次与 while 和 for 循环不同,do…while 循环会确保循环体语句至少执行一次。如果控制表达式的值为 true,那么另一次循环就会继续;如果是 false,则循环结束。

以上三个例子都是输出100以内的偶数。

感谢阅读!!!

以上是关于C语言里面的判断语句的主要内容,如果未能解决你的问题,请参考以下文章

makefile条件判断语句

C语言 条件语句

C++怎么用switch语句判断输入的字符

C语言判断和循环介绍

C语言编程计算闰年

C语言判断和循环介绍