????????C語言的內置類型:
????????char
????????short
????????int?
????????long
????????float
????????double
????????C99中引入了bool類型,用來表示真假的變量類型,包含true,false。
????????這個代碼的執行結果是什么?好好想想哦,坑挺多的。
#include <stdio.h>int main()
{int i = 0;for(i = 0;i < 10;i++){if(i = 5)printf("%d ",i);}return 0;
}
????????你做對了嗎?結果是死循環打印5。= 是賦值操作符,== 是判斷相等操作符,循環變量 i 在循環內部也進行了修改。
????????VS選中語句,按 Tab 鍵可以一起往后縮進,按 Shift + Tab 鍵可以一起往前縮進。
????????switch語句中case后的表達式只能是整型常量表達式,char 也是屬于整型家族的,因為字符存儲的時候,存儲的是ASCII碼。
????????VS調試快捷鍵,F10進入調試,進入調試后按F10一條語句一條語句執行,按F11可以進入函數內部,然后再按F10一條語句一條語句執行,調試起來后,還可以調出監視窗口和內存窗口,幫助監視運行過程中變量的值的變化,還可以看變量在內存中的存儲情況。
????????注意:只有進入調試之后才能調出這兩個窗口。
????????三個整數從大到小輸出
#include <stdio.h>//三個整數從大到小輸出
int main()
{int a = 0;int b = 0;int c = 0;int t = 0;scanf("%d %d %d",&a,&b,&c);if(a < b){t = a;a = b;b = t;}if(a < c){t = a;c = a;a = t;}if(b < c){t = b;b = c;c = t;}printf("%d %d %d",a,b,c); return 0;
}
????????如上代碼,可以看出交換兩個數在代碼中重復出現,這時可以把交換兩個數這個功能封裝成函數,這樣就可以避免重復代碼。
#include <stdio.h>//交換兩個整數
void swap(int* a,int* b){int t = 0;t = *a;*a = *b;*b = t;
}//三個整數從大到小輸出
int main()
{int a = 0;int b = 0;int c = 0;//int t = 0;scanf("%d %d %d",&a,&b,&c);if(a < b){swap(&a,&b);/*t = a;a = b;b = t;*/}if(a < c){swap(&a,&c);/*t = a;c = a;a = t;*/}if(b < c){swap(&c,&b);/*t = b;b = c;c = t;*/}printf("%d %d %d",a,b,c); return 0;
}
????????求兩個數的最大公約數
????????暴力求解,先求兩個數中較小的即為m,然后用兩個數分別除以 i ,i 從m開始,i?-- ,重復這個相除和 -- 的過程,當兩個數分別除以m都為0時,停止循環,這時的 i 就為兩個數的最大公約數。
#include <stdio.h>//求兩個數的最大公約數
int main()
{int a = 0;int b = 0;int i = 0;int m = 0;scanf("%d %d",&a,&b);if(a > b)m = b;elsem = a;for(i = m;i >= 1;i--){if(a % i == 0 && b % i == 0)break;}printf("%d\n",i);return 0;
}
????????輾轉相除法求兩個數的最大公約數
#include <stdio.h>//輾轉相除法求兩個數的最大公約數
//void swap(int* a,int* b){
// int t = 0;
// t = *a;
// *a = *b;
// *b = t;
//}
int main()
{int a = 0;int b = 0;int i = 0;int m = 0;scanf("%d %d",&a,&b);/*if(a < b)swap(&a,&b);*///其實也不用事先求誰更大,如果是小的在前面,a % b 會= a;然后就是b % a,還是還會變成大的 % 小的while(a % b != 0){m = a % b;a = b;b = m;}printf("%d\n",b);return 0;
}
????????計算1 - 1 / 2 + 1 / 3 - 1 / 4 + ... + 1 / 99 - 1 / 100
#include <stdio.h>//計算1 - 1 / 2 + 1 / 3 - 1 / 4 + ... + 1 / 99 - 1 / 100
int main()
{int i = 0;double sum = 1;for(i = 2;i <= 100;i++){if(i % 2 == 0){sum = sum - 1.0 / i;}else{sum = sum + 1.0 / i;}}printf("%lf\n",sum);return 0;
}