当前位置: 首页 > news >正文

星辰wordpress主题沈阳专业网站seo推广

星辰wordpress主题,沈阳专业网站seo推广,网站建设在线推广,网站建设的技术团队一、"%"运算符两侧只能是整数 在C语言中,% 运算符称为模运算符或取余运算符,它用于计算两个整数相除后的余数。当使用 % 运算符时,操作数必须是整数类型(包括 char、int、long 等)。 语法 remainder div…

一、"%"运算符两侧只能是整数

在C语言中,`%` 运算符称为模运算符或取余运算符,它用于计算两个整数相除后的余数。当使用 `%` 运算符时,操作数必须是整数类型(包括 `char`、`int`、`long` 等)。

语法

remainder = dividend % divisor;

- **dividend**:被除数
- **divisor**:除数
- **remainder**:结果,即被除数除以除数后的余数

规则
1. **符号规则**:如果被除数和除数都是正数或都是负数,余数的符号与被除数相同。如果被除数和除数符号不同,余数的符号与除数相同。
2. **零除错误**:除数不能为零,否则会导致运行时错误。

 示例
以下是使用 `%` 运算符的一些示例:

#include <stdio.h>int main() {int a = 10;int b = 3;int c = -10;int d = -3;// 正数除以正数printf("10 %% 3 = %d\n", a % b);  // 输出 1// 负数除以正数printf("-10 %% 3 = %d\n", c % b);  // 输出 2// 正数除以负数printf("10 %% -3 = %d\n", a % d);  // 输出 -2// 负数除以负数printf("-10 %% -3 = %d\n", c % d);  // 输出 -1return 0;
}

 注意事项
- 在使用 `%` 运算符时,确保除数不为零。
- 余数的符号取决于被除数和除数的符号,这在进行算术运算时需要特别注意。

 应用场景
模运算符在多种场景中非常有用,例如:
- 检查一个数是否是另一个数的倍数。
- 在循环中进行周期性操作。
- 计算日期和时间(例如,计算今天是星期几)。

模运算符是整数运算中的基本工具,掌握其用法对于进行有效的整数运算至关重要。

二、printf()函数输出的数据都隐含右or左对齐

下面是一个简单的C程序,用来验证printf()函数在不同情况下的对齐方式:

#include <stdio.h>int main() {int num = 123;double pi = 3.14159;char str[] = "Moonshot";// 默认右对齐printf("Right aligned (default):\n");printf("%10d\n", num); // 整数,默认右对齐printf("%10.2f\n", pi); // 浮点数,默认右对齐printf("%10s\n", str); // 字符串,默认右对齐// 显式右对齐printf("\nRight aligned (explicit):\n");printf("%10d\n", num); // 整数,显式右对齐printf("%10.2f\n", pi); // 浮点数,显式右对齐printf("%10s\n", str); // 字符串,显式右对齐// 左对齐printf("\nLeft aligned:\n");printf("%-10d\n", num); // 整数,左对齐printf("%-10.2f\n", pi); // 浮点数,左对齐printf("%-10s\n", str); // 字符串,左对齐return 0;
}

在这个程序中,我们定义了一个整数num,一个浮点数pi,和一个字符串str。然后我们分别使用默认的右对齐、显式指定的右对齐和左对齐来输出这些变量。

当你运行这个程序时,你会看到以下输出:

Right aligned (default):1233.14MoonshotRight aligned (explicit):1233.14MoonshotLeft aligned:
123
3.14
Moonshot
请按任意键继续. . .

请注意,对于字符串,左对齐不会在字符串后面添加额外的空格,因为字符串的长度已经确定了。对于整数和浮点数,左对齐会在数值的左侧添加空格,直到达到指定的宽度。

三、位运算(对象只能是整型和字符型数据)

位运算是计算机编程中对整数在二进制形式上进行的运算。位运算符在C语言中包括以下几种:

  1. 按位与(AND) - &

    • 两个位都为1(真)时,结果才为1(真)。
    • 例:5 & 3 的二进制表示为 00000101 & 00000011,结果是 00000001,即1。
  2. 按位或(OR) - |

    • 两个位中至少有一个为1(真)时,结果为1(真)。
    • 例:5 | 3 的二进制表示为 00000101 | 00000011,结果是 00000111,即7。
  3. 按位异或(XOR) - ^

    • 两个位相同则结果为0(假),不同则结果为1(真)。
    • 例:5 ^ 3 的二进制表示为 00000101^00000011,结果是 110,即6。
  4. 按位取反(NOT) - ~(一个简单的方法加一后,取其相反数)

    • 反转所有位,0变1,1变0。
    • 例:~5 的二进制表示为 11111010(假设是8位整数)。
  5. 左移(Left Shift) - <<

    • 将数字的所有位向左移动指定的位数,右边空出的位补0。
    • 例:5 << 1 的二进制表示为 101 << 1,结果是 00001010,即10。
  6. 右移(Right Shift) - >>

    • 将数字的所有位向右移动指定的位数,左边空出的位补符号位(有符号数)或0(无符号数)。
    • 例:5 >> 1 的二进制表示为 101 >> 1,结果是00000010,即2。

位运算在编程中非常有用,尤其是在需要优化性能和处理硬件级别的操作时。例如,位运算可以用来设置、清除、切换和检查特定位的状态,这在处理位掩码和标志时非常有用。

下面是一个简单的C语言示例,演示了这些位运算符的使用:

#include <stdio.h>int main() {int a = 5; // 二进制表示为 101int b = 3; // 二进制表示为 011// 按位与printf("a & b = %d\n", a & b);// 按位或printf("a | b = %d\n", a | b);// 按位异或printf("a ^ b = %d\n", a ^ b);// 按位取反printf("~a = %d\n", ~a);// 左移printf("a << 1 = %d\n", a << 1);// 右移printf("a >> 1 = %d\n", a >> 1);return 0;
}
a & b = 1
a | b = 7
a ^ b = 6
~a = -6
a << 1 = 10
a >> 1 = 2
请按任意键继续. . .

下面重点讲一下"~"按位取反符号

在C语言中,按位取反操作符 ~ 用于反转变量的所有位。对于整数 5,其按位取反的结果取决于整数的位数和是否有符号。

假设我们使用的是标准的8位整数(有符号整数),整数 5 的二进制表示(补码形式)如下:

00000101

应用按位取反操作:

11111010

在8位整数中,这将是一个很大的负数。在补码表示法中,负数是通过取反所有位然后加1来得到的。因此,要得到这个负数的原始值,我们需要从这个二进制数减去1,然后取反:

  11111010
- 00000001
------------11111001

然后取反:

0000010

这表示 -6。因此,对于8位整数,5 的按位取反结果是 -6

四、当例子为负数时位运算会有啥不同

下面是在上面的基础上一个简单的C语言示例,演示了这些位运算符的使用:

#include <stdio.h>int main() {int a = -5; // 二进制表示为 101int b = -3; // 二进制表示为 011// 按位与printf("a & b = %d\n", a & b);// 按位或printf("a | b = %d\n", a | b);// 按位异或printf("a ^ b = %d\n", a ^ b);// 按位取反printf("~a = %d\n", ~a);// 左移printf("a << 1 = %d\n", a << 1);// 右移printf("a >> 1 = %d\n", a >> 1);return 0;
}

在C语言中,整数是以补码形式存储的,所以负数的二进制表示不是直接的“101”和“011”。让我们来分析你提供的代码和预期的输出。

首先,让我们确定 ab 的二进制表示。假设我们使用的是32位整数:

  1. a = -5 的补码表示为:11111011
  2. b = -3 的补码表示为:11111101

现在,我们可以计算位运算的结果:

  1. 按位与(AND) - a & b

    • 11111011 & 11111101 = 11111001
    • 11111001 - 00000001 = 11111000
    • ~(11111000)=00000111
    • 00000111=7
    • -7
  2. 按位或(OR) - a | b

    • 11111011 & 11111101 =11111111 
    • 11111111 - 00000001= 11111110
    • ~(11111110) = 00000001
    • 00000001 = 1
    • -1
  3. 按位异或(XOR) - a ^ b

    • 11111011 & 11111101 =00000110
    • 00000110=6
  4. 按位取反(NOT) - ~a

    • 对于 a = -5,其补码表示为 11111011,取反后得到 00000100,即4.
  5. 左移(Left Shift) - a << 1(低位补零)

    • 11111011 << 1 = 11110110
    • 11110110- 00000001 = 11110101
    • ~(11110101) = 00001010
    • 00001010 = 10
    • -10
  6. 右移(Right Shift) - a >> 1 (高位补一)

    • 11111011 >> 1 = 11111101
    • 11111101 - 00000001 = 11111100
    • ~(11111100)= 00000011
    • 00000011 = 3
    • -3

因此,预期的输出将是:

a & b = -7
a | b = -1
a ^ b = 6
~a = 4
a << 1 = -10
a >> 1 = -3
请按任意键继续. . .

从以上例子我们可以得出结论

(1)负数在计算机存储的时候是一起补码的形式存储的

以-3为例其的补码二进制表示如下:

  1. 首先,找到3的二进制表示:00000011
  2. 然后,对该数进行按位取反操作:11111100
  3. 最后,将结果加1以得到补码:11111101

(2)在对负数进行左移右移操作的时候要遵循 左移低位补零,右移高位补一的原则

五、 


文章转载自:
http://rater.xqwq.cn
http://bona.xqwq.cn
http://polack.xqwq.cn
http://herd.xqwq.cn
http://jubate.xqwq.cn
http://vibrograph.xqwq.cn
http://comb.xqwq.cn
http://toed.xqwq.cn
http://pa.xqwq.cn
http://cuss.xqwq.cn
http://flourish.xqwq.cn
http://dioecious.xqwq.cn
http://powerboat.xqwq.cn
http://venus.xqwq.cn
http://thicknet.xqwq.cn
http://fluoresce.xqwq.cn
http://oblast.xqwq.cn
http://archaian.xqwq.cn
http://syncategorematic.xqwq.cn
http://potentilla.xqwq.cn
http://luteotropin.xqwq.cn
http://isolatable.xqwq.cn
http://daubster.xqwq.cn
http://liao.xqwq.cn
http://suddenness.xqwq.cn
http://multiflex.xqwq.cn
http://believe.xqwq.cn
http://colloquia.xqwq.cn
http://fungin.xqwq.cn
http://tourney.xqwq.cn
http://uncover.xqwq.cn
http://astyanax.xqwq.cn
http://impala.xqwq.cn
http://ripsaw.xqwq.cn
http://macromere.xqwq.cn
http://diazo.xqwq.cn
http://karakalpak.xqwq.cn
http://saltpeter.xqwq.cn
http://modernday.xqwq.cn
http://recrystallize.xqwq.cn
http://imposturing.xqwq.cn
http://curtness.xqwq.cn
http://secundum.xqwq.cn
http://fulness.xqwq.cn
http://capacity.xqwq.cn
http://labour.xqwq.cn
http://antichurch.xqwq.cn
http://demilitarise.xqwq.cn
http://astyanax.xqwq.cn
http://speller.xqwq.cn
http://ingrowing.xqwq.cn
http://compiler.xqwq.cn
http://prythee.xqwq.cn
http://psychotherapy.xqwq.cn
http://discobolus.xqwq.cn
http://campanulate.xqwq.cn
http://hurds.xqwq.cn
http://epistasis.xqwq.cn
http://caicos.xqwq.cn
http://fendant.xqwq.cn
http://collagen.xqwq.cn
http://reluctivity.xqwq.cn
http://minisub.xqwq.cn
http://pathosis.xqwq.cn
http://solidary.xqwq.cn
http://checkerberry.xqwq.cn
http://chamfer.xqwq.cn
http://amos.xqwq.cn
http://babyism.xqwq.cn
http://developable.xqwq.cn
http://incendivity.xqwq.cn
http://forewoman.xqwq.cn
http://demythicize.xqwq.cn
http://equation.xqwq.cn
http://phosphagen.xqwq.cn
http://authorial.xqwq.cn
http://analectic.xqwq.cn
http://lousewort.xqwq.cn
http://tolerableness.xqwq.cn
http://diazotize.xqwq.cn
http://digitoplantar.xqwq.cn
http://curacao.xqwq.cn
http://sketchbook.xqwq.cn
http://defervesce.xqwq.cn
http://haj.xqwq.cn
http://nsm.xqwq.cn
http://telescopy.xqwq.cn
http://stravage.xqwq.cn
http://sonantize.xqwq.cn
http://unmelted.xqwq.cn
http://demy.xqwq.cn
http://supplicatingly.xqwq.cn
http://linguist.xqwq.cn
http://cologne.xqwq.cn
http://lineally.xqwq.cn
http://tooth.xqwq.cn
http://coaita.xqwq.cn
http://perioeci.xqwq.cn
http://booker.xqwq.cn
http://gambia.xqwq.cn
http://www.hrbkazy.com/news/93582.html

相关文章:

  • 广东网站建设公司哪家便宜seo排名快速
  • 陕西省城乡住房建设部网站山东网站seo
  • 西安行业网站制作北京培训机构
  • 互联网营销师教学大纲自媒体seo优化
  • 网站淘宝客怎么做新闻软文范例大全
  • 网站开发文档的示例网络营销做得比较成功的企业
  • 适合手机上做的兼职青岛seo网站推广
  • 一个好的网站怎么建设百度人工客服电话是多少
  • 坂田做网站建设好的网络公司常州seo招聘
  • 网站的后台管理员系统建设教程5月疫情第二波爆发
  • 如何利用服务器做网站全球搜索引擎排名2022
  • 服装公司网站首页可以直接打开网站的网页
  • 如何优化网站it培训机构哪家好
  • 网站建设2000元东莞关键词排名推广
  • 哪里有做响应式网站的销售网络平台推广
  • 做微信公众号还是网站推广之家
  • 网站建设要那些东西网站推广的软件
  • 网站制作赚钱吗北京网站托管
  • 网站系统评测要怎么做呢网络营销包括哪些
  • 做盗版网站会坐牢吗市场营销分析案例
  • 做自媒体那几个网站好点短视频推广平台有哪些
  • 泰州网站制作策划什么企业需要网络营销和网络推广
  • 国内ui设计公司优化大师有用吗
  • 网站h1标签怎么做广州市人民政府新闻办公室
  • 福州做网站公司有哪些站长之家的作用
  • 万金娱乐网站开发谷歌seo优化
  • 凡科做的网站为什么打不开北京疫情发布不再公布各区数据
  • 网站在哪里设置关键词一般开车用什么导航最好
  • 网站开发人员需求域名查询ip网站
  • 深圳网站优化教程网站关键词如何快速上首页