今天的内容比较简单,先说下基本的内容(万幸任务不多,上午下大暴雨,我居然还要出去给别人送伞,淋了个透心凉,倒霉催的)
先说共同的基本运算符:+ - * / %,这几个运算符分别对应加减乘除和取余数。当然,对于/这个操作,很有意思的是,c++中的默认输出是int,如果要输出double是需要加一个(double);而python里却默认输出float,要输出int是用//这个运算符
再说其他的:c++里有一个神奇的操作:++(--)这个操作是一个看位置的操作,其意义是+1。但这个操作(比如a++和++a),其返回值时是按照从左到右的顺序:a++会先返回a,然后对a赋值a+1;++a会先对a赋值a+1,然后返回a。这样,在一些函数输入时就会有不同的顺序,比如:
int alpha = 2;
int beta = 2;
cout << "bool:2++=3? " <<boolalpha<< bool(alpha++ == 3)<< " et 2 devient " << alpha << " actuellement" << endl;
cout << "bool:++2=3? " <<boolalpha<< bool(++beta == 3)<< " et 2 devient "<< beta <<" actuellement" << endl;
这两个判断就完全不同。
python里还有一些操作:**:这个是对象的多少次幂的意思,当然也可以对字符(串)表示重复多少次;另外%也有一些特殊用法,用于占字符,类似于昨天的f-string。比如
print("%s a %d ans"%('elle',20))
(当然这个是比较老旧的方法,这个方法要写的东西不少,而且每个大类都有自己的名字,所以不好记,不如f-string好用,毕竟只需要在句子里插空格)
对于两种语言的运算顺序,首先可以知道的是基础的数学运算顺序优先级是没问题的。但是,c++里,++的优先级高于乘除;而python中,幂的优先级最高(废话),不过//我确实没想到有什么优先级问题,这玩意我感觉用处并没那么大
以下是今天的代码块
int num1=3;
int num2=5;
int num3=7;
cout << num1<<num2<<num3 << endl;
cout << "l'addition de num1 et num2: " << num1 + num2 << endl;
cout << "la soustraction de num1 et num2: " << num1 - num2 << endl;
cout << "la multiplication de num1 et num2: " << num1* num2 << endl;
cout << "la division de num1 et num2: " << num1 / num2 << endl;
cout << "la flottante de division de num1 et num2: " <<(double) num1 / num2 << endl;
cout << "le reste de num1 et num2: " << num1 % num2 << endl;
cout << "num3:" << num3 << endl;
cout << "l'operation de num3:A.++num3:" << num3 << "et ++num3:" << ++num3 <<" auctuellement num3 est" <<num3<< endl;
cout << "l'operation de num3:A.num3++:" << num3 << "et num3++:" << num3++ << " auctuellement num3 est" << num3 << endl;
cout << "l'operation de num3:B.--num3:" << num3 << "et --num3:" << --num3 << " auctuellement num3 est" << num3 << endl;
cout << "l'operation de num3:B.num3--:" << num3 << "et num3--:" << num3-- << " auctuellement num3 est" << num3 << endl;
cout << "num1,num2,num3 sont:" << num1 << num2 << num3 << " num1+num2*++num3:" << num1 + num2 * ++num3 << endl;
int alpha = 2;
int beta = 2;
cout << "bool:2++=3? " <<boolalpha<< bool(alpha++ == 3)<< " et 2 est " << alpha << " auctuellement" << endl;
cout << "bool:++2=3? " <<boolalpha<< bool(++beta == 3)<< " et 2 est "<< beta <<" auctuellement" << endl;
a = 3
b = 4
c = 5
d = 6
num1 = a + b
num2 = a - b
num3 = a * b
num4 = a / b
num5 = a // b
num6 = a % b
num7 = -a ** b + c * d
print("%s a %d ans"%('elle',20))
print(num1)
print(num2)
print(num3)
print(num4)
print(num5)
print(num6)
print(num7)
print('a = 3'+' b = 4'+' c = 5'+' d = 6')
print('num1 = a + b'+' num2 = a - b'+' num3 = a * b'+' num4 = a / b'+' num5 = a // b'+' num6 = a % b'+' num7 = -a ** b + c * d')