1. 在競賽中,題目:給定兩個整型數a,b,將其交換後輸出。 最優解法:(直接反序輸出) 2. 帶有與、或等操作的表達式,若判定結果已經確定,則不再進行運算,這種策略成為短路(short-circuit)。或許讀者認為,用短路的方法計算邏輯表達式唯一的優點是速度更快,但其實不是。 3. if 和 e ...
1. 在競賽中,題目:給定兩個整型數a,b,將其交換後輸出。
最優解法:(直接反序輸出)
#include<iostream> int main() { int a,b; cin>>a>>b; cout<<b<<a; return 0; }
2. 帶有與、或等操作的表達式,若判定結果已經確定,則不再進行運算,這種策略成為短路(short-circuit)。或許讀者認為,用短路的方法計算邏輯表達式唯一的優點是速度更快,但其實不是。
3. if 和 else if 在獨立性(多個併列,情況不交叉)上面的使用。
4. //表達式 cout<<sqrt(-10) 輸出:nan 表達式 1.0/0.0 輸出:inf 表達式 0.0/0.0 輸//出:nan 表達式:0/0 和 1/0 在一小段時間之後沒有任何輸出,程式結束。
#include<iostream> #include<cstdio> using namespace std; int main() { int a,b; cin>>a>>b; printf("%d %d\n",a,b); cout<<a<<" "<<b<<endl; return 0; }
//若輸入“12 s”,則輸出 “12 0“。
5.
printf("%%d");//輸出 "%d" printf("\\n");//輸出 “\n"
6. 計算輸出 1+2+3+…+n 的值:
cout<<n*(n+1)/2<<endl;
int a,b;
printf("%d %d",a,b);//輸出隨機值,分配了空間沒有對其初始化,輸出值即是該空間儲存的值
7. 閏年的計算
if( (n%4==0 && n%100!=0)|| n%400==0 )
8. 用實驗測出int 型能表示的最大值和最小值
#include<iostream> using namespace std; int main() { int i; while(i>0) i++; cout<<i<<endl<<i-1<<endl; return 0; } //原理就是有符號數最大值加1後,其二進位最高位(符號位)變成1,也即是最小的負數。
9. 用實驗測出double型精確度
#include"stdio.h" int main() { printf("%.50lf\n", 1.0/3.0 ); //超過一定位數,顯示是錯誤的以此得出
return 0; }
10. 如何通過實驗測出double型最大正數值和最小正數值(不必特別精確)
11. 與或非優先順序:! > && > || 。
C語言優先順序見百度:https://baike.baidu.com/item/運算符優先順序/4752611?fr=aladdin#2