一。 操作方式符
Tip:
1、操作方式符:能协助使用者同时实现并顺利完成这类操作方式的命令
2、多元化操作方式符: 依照操作方式符市场需求的数组数目下定决心
1、微积分操作方式符(相互依赖操作方式符)
【+、-、*、/、%】
(1)+(加法):Add
(2)-(加法):Sub
(3)*(加法):Mul
(4)/(加法):Div
特别注意:
1、余数无法位0;
2、三个有理数相乘,结论仍是有理数;
3、若余数、被余数当中有两个为浮点数或是三个都为浮点数,则结论为浮点数类别
(5)%(取余):Mod
特别注意:
1、数组要为有理数,无法是浮点数
Eg:
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;
}
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;
}
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;
}
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;
}
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、操作方式符优先级与结合性
操作方式符优先级与结合性二、函数
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;
}