小白编程 初期3-数据操作

初期3-数据操作

了解了C语言里面的类型和数据的定义后,我们接着就开始对数据进行操作了

操作符-赋值

在小学我们了解到 ”x=10“ 的含义,他代表变量x的值等于10,这个表达方式是一种状态的表达

现在我们也引用这个表达方式:

int x
x=10

他代表:设置x的值为10

在C语言里面”x=10“他是一个动作,一个赋值的操作,让变量x的值设置为10

  • 等号”=“就是一个赋值操作符
  • “x=10”是一个赋值操作

我们可以这样操作:

x=1		// 让变量x等于1
x=2		// 让变量x变为2	
x=3		// 让变量x变为3	
x=10	// 让变量x变为10	
    
y=1		// 让变量y等于1	
y=2		// 让变量y变为2	
y=3		// 让变量y变为3	
y=10	// 让变量y变为10	

操作符-算术

C语言提供了算术操作符以实现基本的算术运算(假设变量 x 的值为 1,变量 y的值为2):

操作符 描述 描述 结果
+ 加法运算符,把两个操作数相加 x + y 3
- 减法运算符,从第一个操作数中减去第二个操作数 x - y -1
* 乘法运算符,把两个操作数相乘 x * y 2
/ 除法运算符,分子除以分母 x / y 0
% 取模运算符,整除后的余数 x % y 1
++ 自增运算符,整数值加 1 x++ 2
自减运算符,整数值减 1 x– 0

其中:

  • + - * /:基本的算术运算

  • %:取模(即取余数)运算x%y可以等价为: x-(x/y)*y,使用符号%,可以简化程序的书写

  • ++:自增运算x++,其实是为了简化x=x+1这样的操作,但是x++这个表达式的值与x=x+1的表达式值又不一样,所以在初期阶段,我们可以尽量不使用++,而直接使用x=x+1这样的操作

  • -- :自减运算,同自加运算类似,是为了简化x=x-1,初期阶段尽量不使用

操作符-比较

C 语言提供了比较运算符以实现两个变量之间的大小比较(假设变量 x 的值为 1,变量 y 的值为 2):

操作符 描述 实例 结果
== 检查两个操作数的值是否相等,如果相等则为真(等同数学符号=) x == y 0:假
!= 检查两个操作数的值是否相等,如果不相等则为真(等同数学符号≠) x != y 1:真
> 检查左操作数的值是否大于右操作数的值,如果是则为真 x > y 0:假
< 检查左操作数的值是否小于右操作数的值,如果是则为真 x < y 1:真
>= 检查左操作数的值是否大于或等于右操作数的值,如果是则为真(等同数学符号≥) x >= y 0:假
<= 检查左操作数的值是否小于或等于右操作数的值,如果是则为真(等同数学符号≤) x <= y 1:真

比较运算的结果用逻辑学里面的"真“和“假”来表达,是不是很奇怪为什么一个大小判断怎么就真假了呢?

其实比较运算可以看成是一个比较的假设判断,比如”==“运算,我们假设两个数相等,然后让计算机帮我们判断一下对不对,接着计算机吭呲吭呲地比较完告诉我们结果:我们的假设判断是对的还是错的,在英文里面他用True或者False来表示,在我们中文里面我门用了个”真假“来表示

至于为什么用真假,不用”对错“、”是否“或其他文字,这应该属于文字运用问题,我是码农,而且还是初级的,所以我不管

不管他用什么文字来描述判断的结果,在计算机里面最终的值都是0或者1

在编程语言里面,都是尽可能用一些基本符号组成相关的操作符,例如这里使用了= ! < > 四个基本符号,然后由这四个符号再组成这里的六个比较操作符

操作符-逻辑

逻辑指的是思维的规律和规则(他有一门学科来解释),这里不进行深入探索,只介绍C语言里面用到的的三个逻辑(与或非)运算

逻辑运算用来判断一件事情是”对的“还是”错的“,或者说”成立“还是“不成立”

逻辑与

当两个条件同时满足的时候即为真(相当于“并且”的关系)

举个例子:小明他爸告诉小明,当他语文数学考试都考100分的时候奖励个大鸡腿,这里就是逻辑与的关系,即

  • 条件A:语文100分
  • 条件B:数学100分
  • 逻辑与:(语文100分)&&(数学100分)
  • 结果:有大鸡腿吃/没有大鸡腿吃

所以:

  • 小明只有两个条件都满足的时候才能吃大鸡腿(都考100分)
  • 只要有一个条件没满足就没得吃了(语文80分,数学80分 或者 语文100分,数学80分)

在描述条件满足与否的时候,我们经常会用“真”或“假”

一般的,我们会使用真值表来简化上面的描述(使用1表示真,使用0表示假):

真表示条件成立,假表示条件不成立

x y 结果
逻辑或

当两个条件,满足任何一个的时候即为真(相当于“或者”的关系)

举个例子:小明他爸告诉小明,当他语文数学考试考100分的时候奖励个大鸡腿,这里就是逻辑或的关系,即

  • 条件A:语文100分
  • 条件B:数学100分
  • 逻辑与:(语文100分)||(数学100分)
  • 结果:有大鸡腿吃/没有大鸡腿吃

所以:

  • 小明两个条件都不满足的时候才没有大鸡腿吃(语文80分,数学80分 )
  • 只要有一个条件满足就有得吃了(语文100分,数学80分 或者 语文80分,数学100分 或 语文100分,数学100分)
x y x || y
逻辑非

逻辑非是对原有逻辑的一个取反操作,即如果原来状态时真,则新状态为假,如果原来状态为假,则新状态为真

举个例子:小明处于青春逆反期,总喜欢抬扛(杠精一个),他爸说要吃饭,他就不吃饭,他爸说不吃饭,他就要拼命吃

  • 条件:吃饭
  • 逻辑: !(吃饭)
  • 结果:不吃饭
x !x
操作符

C 语言提供了逻辑运算符以实现两个变量之间的逻辑判断(假设变量 x 的值为 1:真,变量 y 的值为 0:假)

运算符 描述 实例 结果
&& 称为逻辑与运算符。如果两个操作数都非零,则条件为真。 x && y
|| 称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。 x || y
! 称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假 ! x

总结

  • (1个)赋值操作符:=

    最基本的操作符

  • (4个)基本的算术操作符:+、-、*、/

    数学运算必须的加减乘除

  • (3个)扩展的算术操作符:%、++、–

    简化的数学操作符号

  • (6个)比较操作符:==、!=、>、<、>=、<=

    数值大小比较的判断符号

  • (3个)逻辑操作符:&&、||、!

    逻辑判断操作的结果:真(True、1)或假(False、0)

  • 对数据的操作在在计算机里面就是对数字的运算操作,所以操作符也经常称为运算符,没什么大的区别

代码演示(扫一眼即可,看不懂没关系)

#include "stdio.h"
void main()
{
    int x;
    int y;

    printf("\n赋值操作符\n");
    x=1;    printf("x = %d\n",x);
    x=2;    printf("x = %d\n",x);
    x=3;    printf("x = %d\n",x);
    x=10;   printf("x = %d\n",x);
					    
    y=1;    printf("y = %d\n",y);
    y=2;    printf("y = %d\n",y);
    y=3;    printf("y = %d\n",y);
    y=10;   printf("y = %d\n",y);

    printf("\n算术操作符:");
    x=1;
    y=2;
    printf("x=%d,y=%d\n",x,y);
    printf("x+y     = %d \n",x+y);
    printf("x-y     = %d \n",x-y);
    printf("x*y     = %d \n",x*y);
    printf("x/y     = %d \n",x/y);
						 
    printf("x%%y	= %d \n",x%y);
    printf("x-(x/y)*y=%d \n",x-(x/y)*y);

    printf("\n");
    printf("x      = %d \n",x);
    printf("x++    = %d \n",x++);
    printf("x      = %d \n",x);
    printf("x--    = %d \n",x--);
    printf("x      = %d \n",x);

    printf("\n比较操作符:");
    printf("x=%d,y=%d\n",x,y);
    printf("x==y   = %d	\n",x==y);
    printf("x!=y   = %d	\n",x!=y);
    printf("x>y    = %d	\n",x>y);
    printf("x=y   = %d	\n",x>=y);
    printf("x<=y   = %d	\n",x<=y);

    x=1;
    y=0;
    printf("\n逻辑操作符:");
    printf("x=%d,y=%d\n",x,y);
	printf("x&&y   = %d \n",x&&y);
    printf("x||y   = %d \n",x||y);
    printf("!x     = %d \n",!x);
}

小白编程 初期3-数据操作_第1张图片

你可能感兴趣的:(小白编程)