C语言 算数运算符与表达式

2023-02-19 0 287

一。 操作方式符

Tip:

1、操作方式符:能协助使用者同时实现并顺利完成这类操作方式的命令

2、多元化操作方式符: 依照操作方式符市场需求的数组数目下定决心

1、微积分操作方式符(相互依赖操作方式符)

【+、-、*、/、%】

(1)+(加法):Add

(2)-(加法):Sub

(3)*(加法):Mul

(4)/(加法):Div

特别注意:

1、余数无法位0;

2、三个有理数相乘,结论仍是有理数;

3、若余数、被余数当中有两个为浮点数或是三个都为浮点数,则结论为浮点数类别

(5)%(取余):Mod

特别注意:

1、数组要为有理数,无法是浮点数

Eg:

C语言  算数运算符与表达式

2、自增、自减操作方式符(十元操作方式符)

【++、–】

1、自增(++):数组另一方面值加1

(1) 前置 ++ :先自增1,后参与运算

int num = 2;

++ num => num = num + 1;

(2) 后置 ++ :先参与运算, 后自增1

int num = 2;

num ++ => num = num + 1;

2、自减(–):数组自身值减1

(1)前置 — :先自减1, 后参与运算

int num = 6;

— num => num = num – 1;

(2)后置– :先参与运算, 后自减1

int num = 6;

num — => num = num – 1;

3、赋值操作方式符(=)

Eg: int num = 123;

4、相互依赖复合操作方式符

【+=、-=、*=、/=、%=】

Eg:

#include <stdio.h>

int main(int argc, const char * argv[]) {

int number_4 = 5;

number_4 += 5;

printf(“+= number_4 = %d\n”, number_4);

number_4 -= 1;

printf(“-= number_4 = %d\n”, number_4);

number_4 *= 2;

printf(“*= number_4 = %d\n”, number_4);

number_4 /= 4;

printf(“/= number_4 = %d\n”, number_4);

number_4 %= 5;

printf(“mod= number_4 = %d\n”, number_4);

return 0;

}

C语言  算数运算符与表达式

5、sizeof(C贼厄夫)(数组):十元操作方式符

作用: 用于计数数组占用的内存大小。

Eg:

printf(“int = %ld\n”, sizeof(int));

double number_5 = 12311233.00;

printf(“number_5 = %ld\n”, sizeof(number_5));

6、关系操作方式符(相互依赖操作方式符)

【<、 > 、<=、 >=、 ==、 !=】

【C词汇中, 0为假, 非0为真】

1、运算结论为布尔类别:true(真) 或 false(假)

2、一般情况下输出结论用0表示false, 用1表示true

Eg:

#include <stdio.h>

int main(int argc, const char * argv[]) {

int number_1 = 213;

int number_2 = 455;

printf(“%d\n”, number_1 < number_2);

printf(“%d\n”, number_1 <= number_2);

printf(“%d\n”, number_1 > number_2);

printf(“%d\n”, number_1 >= number_2);

printf(“%d\n”, number_1 == number_2);

printf(“%d\n”, number_1 != number_2);

return 0;

}

C语言  算数运算符与表达式

7、逻辑操作方式符(相互依赖操作方式符)

【&&(逻辑与)、||(逻辑或)】

【C词汇中, 0为假, 非0为真】

1、&&:两数组执行逻辑与运算时,

若两数组都为真,运算结论为真,

若当中两个数组为假,运算结论为假。

2、||:两数组执行逻辑或运算时,

若两数组都为假,运算结论为假,

若当中两个数组为真,运算结论为真。

Eg:

#include <stdio.h>

int main(int argc, const char * argv[]) {

int number_1 = 1;

int number_2 = 0;

int number_3 = 1;

int number_4 = 0;

/*&&*/

printf(“%d\n”, number_2 && number_4);/*0*/

printf(“%d\n”, number_1 && number_2);/*0*/

printf(“%d\n”, number_4 && number_2);/*0*/

printf(“%d\n”, number_1 && number_3);/*1*/

/*||*/

printf(“%d\n”, number_2 || number_4);/*0*/

printf(“%d\n”, number_1 || number_2);/*1*/

printf(“%d\n”, number_4 || number_1);/*1*/

printf(“%d\n”, number_1 || number_3);/*1*/

return 0;

}

C语言  算数运算符与表达式

8、条件操作方式符(三元操作方式符)

【?:】

格式:

函数1 ? 函数2 :函数3;

运算结论:

若函数1为真,则返回函数2的值

若函数1为假,则返回函数3的值

Eg:

#include <stdio.h>

int main(int argc, const char * argv[]) {

//number_1 = 0 result = ?

//number_1 = 1 result = ?

int number_1 = 1;

int number_2 = 123;

int number_3 = 456;

int result;

result = number_1 ? number_2 : number_3;

printf(“result = %d\n”, result);

return 0;

}

C语言  算数运算符与表达式

9、十元否定操作方式符

【!】

格式:!函数

运算结论:

对函数进行取反操作方式,

若函数为真,则结论为假,

若函数为假,则结论为真,

Eg:

#include <stdio.h>

int main(int argc, const char * argv[]) {

//number_1 = 0 result = ?

//number_1 = 1 result = ?

int number_1 = 0;

printf(“result = %d\n”, !number_1);

return 0;

}

10、位操作方式符

1、 二进制(一种数制, 以2为基数, 逢二进一, 借一当二)

对于有符号数而言:

(1)二进制的最高位是符号位:0表示正数,1表示负数;

(2)正数的原码、反码、补码都一样;

(3)负数的反码 = 它的原码符号位不变,其他位取反(0 ->1 ; 1->0 );

(4)负数的原码 = 相应正数二进制,最高位取1

(5)负数的补码 = 它的反码 + 1;

(6)0的原码、反码、补码都是0;

(7)在计算机运算的时候,都是以【补码】的方式来运算的。

+:

0 + 0 = 0

1 + 0 = 1

0 + 1 = 1

1 + 1 = 10

-:

0 – 0 = 0

0 – 1 = 1

1 – 0 = 1

1 – 1 = 0

*:

0 * 0 = 0

1 * 0 = 0

0 * 1 = 0

1 * 1 = 1

/:

0 / 1 = 0

1 / 1 = 1

备注:位数以8位为例

115(10) = (2)

原码:0111 0011(2)

反码:0111 0011(2)

补码:0111 0011(2)

-24(10) = 1001 1000(2)

原码:1001 1000(2)

反码:1110 0111(2)

补码:1110 1000(2)

0.65(10) = 0.101001(2)

转换步骤:

1、0.65 * 2 = 1.3 -> 1

2、0.3 * 2 = 0.6 -> 0

3、0.6 * 2 = 1.2 -> 1

4、0.2 * 2 = 0.4 -> 0

5、0.4 * 2 = 0.8 -> 0

6、0.8 * 2 = 1.6 -> 1

1.125(10) = 0001.001(2)

1.125二进制转十进制计算:

有理数:0 * 2^(4 – 1) + 0 * 2^(3 – 1) + 0 * 2^(2 – 1) + 1 * 2^(1 – 1)

小数:0 * 2 (-1) + 0 * 2^(-2) + 1 * 2(-3)

结论 = 有理数.小数

【&、|、^、~】为操作方式符

【&】(按位与):

1 & 1 = 1

0 & 1 = 0

1 & 0 = 0

0 & 0 = 0

1 & 2 = (0000 0001) & (0000 0010) = (0000 0000)

【|】(按位或):

1 | 1 = 1

1 | 0 = 1

0 | 1 = 1

0 | 0 = 0

10 | 8 = (0000 1010) | (0000 1000) = (0000 1010)

^(按位异或):

1 ^ 1 = 0

1 ^ 0 = 1

0 ^ 1 = 1

0 ^ 0 = 0

123 ^ 78 = (0111 1011) ^ (0100 1100) = (0011 0111)

【~】(按位取反):

123(10) = 0111 1011(2)

~123 = ~(0111 1011(2)) = (1000 0100(2)) = -124 = -(123 + 1)

公式: ~num = -(num + 1)

11、操作方式符优先级与结合性

C语言  算数运算符与表达式
操作方式符优先级与结合性

二、函数

1、赋值函数

eg: int num = 5;

2、条件函数

1、简单条件表达式(if条件函数)

格式:

if(condition)

代码行

(建议使用以下方式)

if(condition){

语句块(代码块)

}

Eg:

if(number1 < 0){

printf(“Number1 less than 0\n”);

}

2、复合条件函数

格式:

if(condition){

语句块

}else{

语句块

}

Eg:

#include <stdio.h>

int main(int argc, const char * argv[]) {

int number1 = 3;

if(number1 < 0){

printf(“Number1 less than 0\n”);

}else{

printf(“Number1 less than or equal 0\n”);

}

return 0;

}

格式:

if(condition){

语句块

}else if(condition){

语句块

}else{

语句块

}

Eg:

#include <stdio.h>

int main(int argc, const char * argv[]) {

int number1 = 1;

if(number1 < 0){

printf(“Number1 less than 0\n”);

}else if (number1 >= 0 && number1 <= 2){

printf(“Number1 greater than 0 and less than 2\n”);

}else{

printf(“Number1 less than or equal 2\n”);

}

return 0;

}

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务