C語言學習小結

2022-06-06 04:54:12 字數 1396 閱讀 6476

**

這學期學了c語言,對c語言有了乙個簡單的了解與初步的認識。首先從程式結構的使用與學習開始學起,到後來陣列、函式的初步了解,能夠開始解決一些簡單的c語言問題,但是要想深入解決一些難題,還要等到下學期學習演算法及函式、指標的深入才能做到得心應手。這學期只是認識階段,下學期的任務很重,c語言的學習道路才剛剛開始,一切都是任重而道遠。

這次部落格根據之前的幾次部落格做一些補充及注意問題,另外列舉一些例題來加深對知識點的使用。

一、首先從輸入輸出寫起,scanf()型要注意取位址符的使用,不要漏掉,但是輸入字元陣列時,字串名稱前是不加的,例:scanf(「%s」,字串名稱)。

printf()型輸出可以規定其輸出格式,此時較cout型輸出簡單,例:對double型變數a保留3位小數輸出,用printf()型為printf(「%.3lf\n」,a);用cout型則為cout<#includeusing namespace std;

int main()

cout《就將n的數字倒置了。例:123變為321.

六、當然對於以上數字如果想要正序輸出,例:123以空格為間隔正序輸出得1 2 3

例:int q,v;

for(int i=1;i<=b;i++)

{ q=pow(10,b-i);

v=c/q;

c=c-v*q;

cout《其中b代表數字位數,可通過迴圈結構求出。

七、對於數字的基礎問題還有求素數、最小公倍數、最大公約數等。在求素數問題上,例:

for(int i=2;i表示判斷的n是否為素數,當然這樣判斷多組資料時容易超時,可以進行一點優化,改為

a=sqrt(x);

for(int i=2;i<=a;i++)

{if(n%i==0)

break;

cout《對於最小公倍數,例:

int n,m;

cin>>n>>m;

for(int i=1;i<=m*n;i++)

{if((i%m==0)&&(i%n==0))

{cout《相對來說容易想到,但是也容易超時,下面再寫一下改進之後的:

int a,b,i,t;

cin>>a>>b;

if(a這樣就不用一一測試排查,只測試了a的倍數的數值,當然也可以測試b的,但是資料就相對增多了一些,所以對a,b的大小進行了比較,只測試資料大的。

八、說起對比大小,這時就想到數字排序問題。在比較大小時,可以通過引入變數來排,也可以通過函式或者swap()換序解決。不過這些都只適用於兩位數字大小比較。當排序時,可以考慮sort函式,簡便不易超時,也可以使用冒泡法等方法解決。

通過以上幾個例子簡單說明一下思維的重要性,這學期初步認識c語言,就是要了解思維規律、演算法的奧妙,這學期只是為下學期做了乙個鋪墊,屬於認識階段。希望下學期能夠學好函式、演算法,靈活運用c語言,用c語言解決更多的問題。

C語言學習小結

這學期學了c語言,對c語言有了乙個簡單的了解與初步的認識。首先從程式結構的使用與學習開始學起,到後來陣列 函式的初步了解,能夠開始解決一些簡單的c語言問題,但是要想深入解決一些難題,還要等到下學期學習演算法及函式 指標的深入才能做到得心應手。這學期只是認識階段,下學期的任務很重,c語言的學習道路才剛...

c語言學習小結

include 呼叫標頭檔案 int main 宣告主函式 ps 小結 1.選擇需要的型別。2.使用有效的字元給變數起乙個變數名。3.按以下格式進行宣告 型別說明符1.scanf函式和printf函式 之所以將這兩個函式放在一起是因為它們分別是輸入 輸出函式,也就是i o函式,關係較為緊密。scan...

C語言學習小結1

1.strcpy和strcat的區別是什麼?解答 strcpy是將src內容直接給des的位址,屬於覆蓋內容,並且它不僅複製字串內容之外,還會複製字串的結束符 strcat則是將src內容銜接在des之後,佔據了 n 附註 strcpy和memcpy區別 1 複製的內容不同。strcpy只能複製字串...