--- title: 社課共筆 - Re:從 C 開始的大學生活(下) description: 本次社課和上次社課隔了10天,在上新進度前,我們會先複習上次社課的內容,接著在進入比較進階的C語言課程,包含:迴圈、函式、陣列,在過程中會有幾個概念性的問題,加深對本次社課內容的印象。 tags: - 社課 - 共筆 - 113 學年 --- :::success # Re:從 C 開始的大學生活(下) **時間:** 2024/10/17(星期四)18:00~20:00 **地點:** 挺生大樓 A3-200 教室 **簡報:** [連結](https://www.canva.com/design/DAGTOnq3QNw/kyiTomcd2h4jU8v2p7vXsg/view?utm_content=DAGTOnq3QNw&utm_campaign=designshare&utm_medium=link&utm_source=editor) **Slido:** [連結](https://app.sli.do/event/fQ6R44hfpgqACyEPtykDiE/live/questions) ::: # 環境建置 ## 安裝scoop&下載mingw 1. 打開 Power Shell 並輸入以下文字 ```bash Set-ExecutionPolicy RemoteSigned -scope CurrentUser Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh') iwr -useb get.scoop.sh | iex ``` > 可能需要再輸入 `scoop update` 2. 安裝成功後再輸入以下文字 輸入`scoop install mingw` 3. 找到mingw的檔案位置加到環境變數裡 4. 測試 在VS code 裡面新增一個Hello.c程式碼如下: ```C= #include <stdio.h> int main() { printf("hello, ttussc!"); return 0; } ``` 測試可不可以利用gcc編譯 輸入`gcc 檔案名稱.c`會跑出`a.exe`就表示成功 再輸入`./a`將會執行程式 ./a .就是目前的資料夾 > gcc 檔案名稱.c -o 想取的名稱 > 就可以為exe檔取名 ```= 例如: gcc hello.c -o hello ./hello 輸出:hello world! ``` # 上次社課內容 ## Lab 0x01 :::info $\frac{-b \pm \sqrt{b^{2}-4ac}}{2a}$ LaTeX:\frac{-b \pm \sqrt{b^{2}-4ac}}{2a} ::: [LaTeX符號指令大全](https://hackmd.io/@CynthiaChuang/Basic-LaTeX-Commands#%E7%9B%AE%E9%8C%84) ```c= /* 公式解.c **輸入三個數字解出他的兩根** 測資 1 3 -10 答案 2 -5 ※pow(底數,指數) */ //put your code below here ``` # 迴圈 ## for流程圖 ```mermaid flowchart TD initial["int i = 0; int num=0;"] condition{"i < 10;"} inloop["num = num + 1;"] expr["i++;"] terminate["迴圈結束"] initial --> condition condition --> inloop condition --> terminate inloop --> expr expr --> condition ``` <!-- ![for.drawio (1)](https://hackmd.io/_uploads/HkQKMLKkyl.png) --> ## 巢狀迴圈流程圖 ![未命名绘图.drawio](https://hackmd.io/_uploads/rJSW7LF1kx.png) ## while流程圖 ![for-第 2 页.drawio](https://hackmd.io/_uploads/rk1XmIKkJx.png) ## do-while流程圖 ![do-while.drawio](https://hackmd.io/_uploads/rkLr78KJJl.png) ### 九九乘法表 ```c= #include <stdio.h> int main() { for(int i = 1;i < 10;i++){ for(int j = 1;j < 10;j++){ printf("%d * %d = %3d ", i, j, i*j); } printf("\n"); } } ``` # 函式 # 陣列