精华内容
下载资源
问答
  • C语言判断语句进阶之真假值 在机器语言中,不论是任何表达式,都会有真假值。 众所周知,在面对对象的高级编程语言中真假值的表示也都是用True(真)与False(假)来表示的。但是在面向过程的c语言中,是用0(假)与...

    C语言判断语句进阶之真假值

    在机器语言中,不论是任何表达式,都会有真假值。
    众所周知,在面对对象的高级编程语言中真假值的表示也都是用True(真)与False(假)来表示的。但是在面向过程的c语言中,是用0(假)与1(真)来表示的。并且真值不仅仅是1,所有不为零的值都是真值。

    即,在C语言中所有不为零的值都是真值,反之亦然。

    下面让我们来看一下在c语言中表达真假值的几种方式

    • 判断表达式

      判断表达式,也可以将其理解为数学中的真命题假命题。

      例如,6>7为假命题,即代表这个表达式值为假。所以显而易见,当判断表达式成立时,值为真;当判断表达式不成立时,值为假。

      下面让我们来看一个代码片段:

    /*代码片段 不可直接运行*/
    if(6>7) 
               printf("6>7成立");
    if(3-2==1) 
                printf("3-2==1成立");
    

    输出结果
    3-2==1成立

    • 运算表达式

      运算表达式,其实就是进行计算的语句。

      其真假,便是其最终结果。上文也有提过,C语言中真假为非零的所有数值。所以,在运算过后要出的结果不为零,则该表达式假为真。

      例如,6*2的值便为真。因为其结果为12,为非零数值。

    /*代码片段 不可直接运行*/            
    if(7-5)
          printf("7-5值为真");
    else
          printf("7-5值为假");
    

    输出结果
    7-5值为真

    • 数值

      这个就非常好理解了。即所有非零的值全部为真,当值为零时为假。

      也就是说,只有零是假值。

      在此不再耗费笔墨进行赘述。可参见运算表达式如何区分真假进行理解。

    新手必看,进行真假判断时如何使代码可读性更高!

    关于c语言真假值的定义,上文已经阐述完毕。这也就意味着,只要是表达式或数值,都可以进行比较。

    这也说明了c语言灵活性之高。在此,我给大家介绍一种模拟高级语言的真价值的方法,可以使代码更直接明了。

    这里涉及到C语言宏定义,如果有没有学习的同学,可以通过下方网址去进行学习。

    C语言宏定义学习:C语言宏定义#define 学习

    废话不多说,直接上代码!

    #include<stdio.h>
    #define True !0
    #define False 0
    int main(){
      printf("Hello world!");    
      return 0;
    }
    

    以上是模拟高级语言真假值的开发模板

    仔细的同学可能已经发现了,它比一般的开发模板多了两条宏定义语句。

    #define True !0
    #define False 0
    

    头脑比较灵活的同学,现在已经恍然大明白了。迫不及待的想说,这不就是把True定义成非0,把False定义为0嘛!

    没错,结合上文所说c语言中真假值的定义,不难发现True现在代表真值,False代表假值。

    在实际开发中,这可能显得很没用。但是,把他替换0与1,可以让人一眼就看出来哪里是真值,哪里是假值。

    更因为C语言表达式都有真假值,所以可以将表达式直接与其进行判断。这样在日常学习中,可以在少量注释甚至没有注释的情况下,把代码很快的顺下来。

    好啦,今日的分享就到这儿了。祝大家学习生活愉快!

    课堂总结
    通过文中所提供的模板,可以将0替换为False, 将非0替换为True。这样与高级语言的表达方式无二,并且能使自己的代码可读性更高。

    如有错误 欢迎大家在下方评论区指出

    展开全文
  • C语言 判断语句 三元运算符

    千次阅读 2019-10-29 17:34:40
    判断语句 语句 描述 if 语句 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。 if…else 语句 一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。 嵌套 if 语句 您可以在一个 if ...

    判断语句

    语句 描述
    if 语句 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。
    if…else 语句 一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。
    嵌套 if 语句 您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。
    switch 语句 一个 switch 语句允许测试一个变量等于多个值时的情况。
    嵌套 switch 语句 您可以在一个 switch 语句内使用另一个 switch 语句。

    ? : 运算符(三元运算符)
    我们已经在前面的章节中讲解了 条件运算符 ? :,可以用来替代 if…else 语句。它的一般形式如下:

    Exp1 ? Exp2 : Exp3;
    其中,Exp1、Exp2 和 Exp3 是表达式。请注意,冒号的使用和位置。
    

    ? 表达式的值是由 Exp1 决定的。如果 Exp1 为真,则计算 Exp2 的值,结果即为整个 ? 表达式的值。如果 Exp1 为假,则计算 Exp3 的值,结果即为整个 ? 表达式的值。

    #include<stdio.h>
     
    int main()
    {
        int num;
     
        printf("输入一个数字 : ");
        scanf("%d",&num);
     
        (num%2==0)?printf("偶数"):printf("奇数");
    }
    
    展开全文
  • 上次我们谈到了switch语句,但在C语言中,if条件构成的选择结构程序很重要。在实际问题中,往往需要对不同变量进行比较,然后分别执行不同的语句。如何使用if语句呢?小编在这里谈一谈if语句基本用法与使用技巧。 ...

    C语言,是全球使用最多的编程语言。上次我们谈到了switch语句,但在C语言中,if条件构成的选择结构程序很重要。在实际问题中,往往需要对不同变量进行比较,然后分别执行不同的语句。如何使用if语句呢?小编在这里谈一谈if语句基本用法与使用技巧。

     

    一、if语句

    在操作符章节中我们学习过问号表达式,也就是当某一个条件表达式是真时,问号表达式的结果为冒号前的结果,当条件表达式是假时,问号表达式的结果为冒号后的结果。这里我们可以分析一下,问号表达式其实是一个条件判断功能表达式,也就是说:

    如果条件表达式的值为真:

    那么结果为A;

    否则:

    那么结果为B。

     

    其实这是一个我们在生活常常需要处理的一种情形,如果……那么……否则……那么……

     

    二、 if语句基本用法

    if语句基本用法有如下四种形式,我们以求ab中的最大值为例,分别来看看。

    1) 简单的if语句形式

    if(某条件)执行某项操作。如图的if语句,即如果a<b,另a=b,使a成为最大值,最后输出

     

     

    该语句形式的语义是:如果表达式为真,则执行语句块;否则,将跳过该语句块,执行整个if分支语句后面的其它语句。上述语句块,可以是一条语句,也可以是多条语句组合。

    2) if-else语句形式

    if(表达式)语句a

    else 语句b,即满足表达式时,执行语句a,否则执行语句b

    该语句形式的语义是:如果表达式为真,则执行语句块1;否则,执行语句块2。也就是说语句块1和语句块2两者必执行其一。然后,再执行整个if分支语句后面的其它语句。

    3) if-else-if语句形式

    if(表达式1)语句1

    else if(表达式2)语句2

    else 语句3

    即满足表达式1时,执行语句1,不满足表达式1,但满足表达式2时,执行语句2,都不满足执行语句3

    该语句形式的语义是,如果依次判断各表达式,若表达式为真,就执行对应的语句块,然后跳出整个if分支语句,执行后面的语句;如果前m个表达式均不为真,则会执行语句块n,然后再跳出整个if分支语句,执行后面的语句;也就是整个if分支语句的n个语句块,程序必定会执行其一。

    4) if语句嵌套形式

    即在if语句内写入其他if语句,如图

    所谓的if语句嵌套形式是指if语句某一分支里又是一个if语句。通俗的理解是,前三种用法形式里的语句块,又是一个if语句,而且可以是前三种用法形式的任一种。C语言的C89标准指明,编译程序必须最少支持15层嵌套;C99标准把限度提升到127层。不过虽然支持这么多层嵌套,但实际编程应用时,为了保持程序的可读性及简洁程度,应尽量减少嵌套层次。

     

     

    三、 if语句用法技巧

    1) 合理调整if分支顺序

    在编程应用时,应合理调整if分支顺序,把大概率为真对应情况的语句块直接放在if后面,不要放在else后面。这样做有利于减少程序的判断次数,提高执行效率。

    例如,我们把学生成绩分成60分及以上、40-60分、40分以下三个分数段。很显然,及格的学生是大多数,也就是某个学生及格的可能性较大,低于60分较少,低于40分的更少。在编程处理学生成绩的应用时,通常用if-else-if语句形式,就应该把60分及以上的学生处理情况直接放到if语句之后,40-60分段放到else if语句后面,低于40分的情况放到else语句后面处理,这种安排很符合大家的逻辑思维习惯。如果把顺序颠倒,if语句处理40分以下,else if语句处理40-60分段,60分及以上放到else语句后面,无形中增加了成倍的成绩比较次数。

    2) else结合问题

    C语言if语句编程应用时,应该注意else的配对问题,它始终与最近的未匹配的if相结合。如果不注意该问题,有可能程序执行结果与预期相去甚远。请看下面的例子说明。

    if(表达式1)

    if(表达式2)

    语句块1;

    else

    语句块2;

    上面的例子我们来看,作者的意图是,如果表达式1与表达式2均为真的情况下,执行语句块1;如果表达式1为假,则执行语句块2。这里虽然else与表达式1的if对齐,但它们并不能配对;事实上else是与表达式2的if相结合。实际执行逻辑是:在表达式1为真的情况下,继续判断表达式2,若表达式2为真则执行语句块1,若表达式2为假则执行语句块2。可见与作者的意图相差太远。

    要想实现作者意图,解决办法是合理使用“{}”,将上述表达式修改成如下形式即可。

    if(表达式1)

    {

    if(表达式2)

    语句块1;

    }

    else

    语句块2;

     

    3) 避免if/else语句后面加分号“;”

    C语言中,分号“;”组成的语句称为空语句,它什么都不做,通常被用来做空循环体。如果不小心在if/else语句后面加了分号“;”,程序执行有可能违背了你的意图,导致意外结果。例如:

    if(表达式);

    语句块;

    本来意图是表达式为真就执行语句块,现在不小心在if后面加了个分号“;”,则上述表达式实际上变成了如下形式:

    if(表达式)

    ;

    语句块;

    也就是说如果表达式为真,则执行一个空语句。然后再执行语句块。此时上述语句块不再是在表达式为真的条件下执行,而是会无条件的执行。

    可见,一个分号“;”误用会带来不可预计的后果。而且,此种错误在程序编译时是发现不了的,不会有任何错误提示。因此,建议大家编程时一定要细心。

    以上就是c语言中if语句的用法是什么的详细内容,如果你想更好的提升你的编程能力,好好学习C/C++编程知识的话!那么你很幸运~

    “点击链接”加入C语言/C++企鹅圈,这里还有一些你可能不知道的趣事分享哟。

    展开全文
  • #include<stdio.h> int main() { int num[6]={0};//数组的初始化 int x,y,count=0; scanf("%d",&x); y=x; if(y==0) { count=1; } else { while(y) { y=y/10; count++;... n
    #include<stdio.h>
    int main()
    {
    	int num[6]={0};//数组的初始化
    	int x,y,count=0;
    	scanf("%d",&x);
    	y=x;
    	if(y==0)
    	{
    		count=1;
    	}
    	else
    	{
    		while(y)
    		{
    			y=y/10;
    			count++;
    		}
    	}
    	printf("%d\n",count); 
    	//将数字存入数组 
    	for(int i=0;i<=4;i++)
    	{
    		num[i]=x%10;
    		x=x/10;
    	}
    	//顺序输出 
    	for(int x=count-1;x>0;x--)
    	{
    		printf("%d ",num[x]);
    	}
    	printf("%d\n",num[0]);
    	//逆序输出 
    	for(int y=0;y<count;y++)
    	{
    	printf("%d",num[y]);
    	}
    	return 0;
    }
    

    心得体会
    1.数组的初始化,将数字储存在数组中
    2.代码条理性,三个for循环的运用

    展开全文
  • //联系人:石虎 QQ:... C语言中两种if语句判断方式。请问哪种写法更好?为什么?  int n;  if (n == 1) // 第一种判断方式  if (1 == n) // 第二种判断方式 二、分析  i
  • 下面是C语言中两种if语句判断方式。请问哪种写法更好?为什么? int n; if (n == 10) // 第一种判断方式 if (10 == n) // 第二种判断方式 首先,看看效率上有没有区别 if (i == 1) 004014CF cmp dword ptr ...
  • if 语句格式如下:if (表达式) 语句 1 [ else 语句2 ]else 子句是可选的。上述括号中的表达式会先被计算,以决定接下来被执行的是语句 1 还是...下面的示例为在递归函数中使用 if,以计算判断是否满足可以结束递归...
  • C语言基本语句

    千次阅读 2019-04-17 01:02:09
    C语言基本语句主要有以下几个: 1:条件语句 if(条件) { 语句...; } else 语句...; if里面的判断若成立则返回真(1),否则返回假(0)。 2:for寻循环语句 for(表达式1;表达式2;表达式3) { 语句......
  • C语言循环判断语句的反汇编分析一、IF判断语句1、简单if语句1.1函数调用处代码1.2函数调用处代码2、if...else...语句二、循环语句的语法1、do..while语句2、while语句3、for语句 一、IF判断语句 1、简单if语句 if(a...
  • C语言条件判断语句:if、else if、else

    万次阅读 多人点赞 2018-07-05 13:34:04
    1)简单介绍三种形式的条件判断语句:if、else if、elseif:if(表达式) 执行语句if:判断表达式内容,如果为true(真),就执行语句else if:if(表达式) 执行语句 else if(表达式1) 执行语句1 ......(很多的else if)...
  • C语言判断语句

    2015-12-30 21:01:00
    // // main.c // homeWork1222 //// #include <stdio.h> int main(int argc, const char * argv[]) { // insert code here... // 第一题 年份 // int year,month;...// printf("请输入年份:...
  • C语言if语句判断闰年平年

    千次阅读 2015-07-21 21:14:29
  • C语言赋值语句判断

    2012-09-28 23:01:49
    这是一个选择题,我也不知道他有没定义,选项如下,问哪个是不合法的赋值语句? A. t++; B. n1=(n2=(n3=0)); C.k=i==j; D.a=b,c=1
  • C语言分支语句

    2019-11-16 20:00:32
    1.)if判断语句 语法: if(判断条件) { 如果条件成立,执行这里的语句; } else { 如果条件不成立,执行这里的语句; } 2.)switch筛选语句 int a; scanf("%d",&a); switch(a) //a和条件几相等,就执行条件几的...
  • C语言循环语句总结

    2018-12-09 12:04:12
    C语言循环语句总结 一、知识点 1、while循环:while语句属于当型循环。其一般形式为: while(循环控制表达式) { 语句序列 } while循环是计算表达式的值,当值为真(非0)时,执行循环体语句。 2、do-while循环:do...
  • } 然后给了个选项是1,2,3,4,我看完题就选它了,为啥了,看第一个if语句的表达式:(a=2)||(b=1),逻辑或嘛有一个为真即为真,把赋值号当成等号了,那就(a!=2)&&(b!=1),就不执行c=2,这不就错了嘛,a=2是给a赋值为...
  • C语言if语句

    2020-04-07 13:49:02
    //if语句(选择结构的代表性语句):用来判断给定的条件是否满足,根据判断结果(真、假)决定执行给出的两种操作之一。 //if语句三种形式 //a)if(表达式) 语句:如果表达式的条件满足执行该语句。 //int x = 7; ...
  • if语句 if语句的语法结构 悬空else问题:else具有临近原则,在使用if的相关语句时建议带上{} 练习:判断一个数是不是奇数
  • c语言 5 语句

    2020-01-03 01:26:10
    分支,循环,判断 我们通过这三种类型的语句构建代码,简陋又精妙,这也是为啥敲代码敲不出女朋友,但我依然爱敲代码, 那么,继续学习语句。 1 空语句 ; // 没毛病 cout<<"hello wor...
  • #include int main() { const int MINOR = 35; int age = 0; printf("请输入你的年龄:"); scanf("%d",&age);... printf("年轻就是努力的资本!... printf("你的年龄是%d岁,年龄决定了你的精神世界,好好珍惜吧!...
  • C语言switch语句

    2020-11-24 21:07:37
    //头文件 #include <stdio.h> //主函数 int main() { //声明数据类型 int score;... //switch判断只能是具体的值所以除以10 //switch判断条件满足就退出 switch (score / 10) { case 10: .

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,803
精华内容 1,121
关键字:

c语言判断语句

c语言 订阅