首页 > 其他分享 >B站C语言第十三课——操作符

B站C语言第十三课——操作符

时间:2023-11-15 22:32:20浏览次数:32  
标签:return 第十三 int C语言 num 操作符 printf main

1,/ 与 %的应用

int main()

{

int a = 5 / 2;//商2余1

printf("a = %d\n", a);

int b = 5 % 2;

printf("b = %d\n", b);

return 0;

}

B站C语言第十三课——操作符_操作符

2,移位操作符

右移操作符

1.算术右移

右边丢弃,左边补原符号位

2.逻辑右移

右边丢弃,左边补0

左移操作符

左边丢弃,右边补0


int main()

{

int a = 5;

a << 1;

int b = a << 1;

//00000000000000000000000000101

printf("%d\n", b);

return 0;


}

B站C语言第十三课——操作符_赋值_02

警告:对于移位运算符,不要移动负数位,这个标准是未定义的。例如:

int num = 10;

num>>-1//error

3,位操作符


int main()

{

//& - 按2进制位与

int a = 3;

int b = 5;

int c = a&b;

//00000000000000000000000000011

//00000000000000000000000000101

//00000000000000000000000000001

printf("%d\n", c);

return 0;


}


B站C语言第十三课——操作符_赋值_03

 //| - 按2进制位或

int a = 3;

int b = 5;

int c = a | b;

////00000000000000000000000000011

////00000000000000000000000000101

////00000000000000000000000000111

printf("%d\n", c);

return 0;

}


B站C语言第十三课——操作符_进制_04

 int a = 3;

int b = 5;

int c = a ^ b;

printf("%d\n", c);

//00000000000000000000000000011

//00000000000000000000000000101

//00000000000000000000000000110

return 0;

B站C语言第十三课——操作符_操作符_05

int main()

{

int a = 3;

int b = 5;

//int tmp = 0;//临时变量

printf("before: a = %d b = %d\n", a, b);

//tmp = a;

//a = b;

//b = tmp;

//加减法 缺陷:可能会溢出

/*a = a + b;

b = a - b;

a = a - b;*/

a = a^b;

b = a^b;

a = a^b;


printf("after: a = %d b =%d\n", a, b);

return 0;

}

B站C语言第十三课——操作符_进制_06

练习1

int main()

{

int num = 0;

int count = 0;

scanf_s("%d", &num);

int i = 0;

for (i = 0; i < 32; i++)

{

 if (1 == ((num >> i) & 1))

  count++;

}

printf("%d\n", count);

//统计num的补码中有几1

//while (num)

//{

// if (num % 2 == 1)

//  count++;

// num = num / 2;

//}


 

return 0;


}

B站C语言第十三课——操作符_赋值_07

4,赋值操作符 = 

复合赋值符

int main()

{

int a = 10;

a = a + 2;

a += 2;//复合赋值符


a = a >> 1;

a >>= 1;

a = a & 1;

a &= 1;

return 0;


}

按位取反~

int main()

{

int a = 11;

a = a | (1 << 2);

printf("%d\n", a);  

a = a & (~(1 << 2));

printf("%d\n", a);

return 0;

}

B站C语言第十三课——操作符_赋值_08

不写了哥们我累死了

标签:return,第十三,int,C语言,num,操作符,printf,main
From: https://blog.51cto.com/u_16316543/8408303

相关文章

  • c语言 常量字符串及其初始化
    @TOC前言一、常量字符串:常量字符串:需用双引号包着。例如:"hello","你好".常量字符串的本质就是字符数组,该字符串就是数组的名字。访问常量字符串的个元素:"hellowyy"[0]"hellowyy"[1]"hellowyy"[2]......访问各元素可以输出,但是不能赋值修改,因为这是常量字符。常量......
  • C语言转义字符
    在我们实际生活中,有一些特殊的字符,它们并没有实际的意义,但是我们需要用到它们,比如换行、制表符等。在C语言中,我们可以使用转义字符来表示这些特殊的字符。转义字符是以反斜杠\开头的字符,比如\n表示换行,\t表示制表符。下面是一些常用的转义字符:转义字符含义\n换行\t......
  • C语言中的关键字
    C语言中有32个关键字,关键字不能用作变量名、函数名、数组名等标识符。关键字的作用是用于定义变量、函数、结构体、联合体等。需要注意,这些关键字都是小写的。这些关键字分别是:auto:自动变量,用于定义自动变量。break:跳出循环,用于跳出循环。case:用于switch语句中,表示某个值......
  • C语言新年祝福程序设计
    以下是一个基于C语言的简单新年祝福程序代码,通过打印特定的字符画和文字,为用户送上新年的祝福:#include<stdio.h>intmain(){printf("\n");printf("\n");printf("__________________________________\n");printf(&qu......
  • 操作符之间的优先级(高到低):算数操作符 → 比较操作符 → 布尔(逻辑)操作符 → “=”赋值
    执行以下程序,输出结果为()vara=4>=6||true&&1||false;console.log(a);AtrueBfalseC1D4>=6正确答案:C赋值语句右侧的表达式含有关系运算符、逻辑运算符,其运算符的优先级是:关系运算符>逻辑运算符(先&&后||)。因此,先执行关系运算:4>=6,返回结果为false,再执行逻辑......
  • 【C语言】argc 和argv
    主函数的标准写法有两种:1//第一种2intmain(void)34//第二种5intmain(intargc,char*argv[])6//第二种等价于7intmain(intargc,char**argv) 而对于我们常看到的1intmain()在一些编译器里是不支持的argc& argv的意义int argc 代表了所输......
  • C语言如何一次给全部数组元素赋初值?
    在C语言中,可以在声明数组的同时一次性地为所有元素赋初值。下面是一个例子:c复制代码intarr[5]={1,2,3,4,5};在这个例子中,我们创建了一个包含5个整数的数组,并且一次性地为所有元素赋了初值。另外,需要注意的是,如果你在数组初始化后尝试更改数组中的元素值,那么该数组将不再是常......
  • C语言程序设计入门教程4
    1define#定义常量和宏(1)#define定义的标识符常量(eg:MAX=100)(2)define定义宏--宏:带参数eg:比较俩数大小用函数方式表示intMax(intx,inty)//定义函数方式{if(x>y) returnx; else returny;}用宏表示//定义MAX(x,y)=(x>y?x:y)#defineMAX(x,y)(x>y?x:y)//定义MA......
  • 学习C语言的一天(2):简易扫雷的实现
    思路:建立三个文件,头文件用于声明函数和保存程序的声明,源文件(1)用于函数的具体实现,源文件(2)用于主函数的实现建立扫雷菜单。建立2个二维数组,一个用于布置雷(下文称雷二),一个用于打印棋盘(下文称棋盘二);最终效果如下:(实际效果中保留上面的棋盘,而下面的布置雷的效果不需要打印,这里打印是......
  • C语言0长度数组
    一、零长度数组概念众所周知,GNU/GCC在标准的C/C++基础上做了有实用性的扩展,零长度数组(ArraysofLengthZero)就是其中一个知名的扩展.多数情况下,其应用在变长数组中,其定义如下structPacket{intstate;intlen;charcData[0];//这里的0长结构体就......