起因...
早在很久以前就曾經有想學程式設計
然而C語言也算是最基本的程式語言之一
所以早在小學就有去巨匠補過C語言
不過無奈啊!!那時候就是不開竅
導致程式語言一直都還是"夢想"
......
......
直到到了大學因為實驗室需要
接觸了PHP語言
從此就創造了人生另一片天地(顆顆)
...
雖然PHP語言日漸進步
不過學習C語言或者其他程式語言的想法
還是不停在腦中盤旋
因此在升大三的暑假
終於再次有機會到巨匠學習C語言摟!!
......
<重點>
......
本人將會把在巨匠學的程式範例和一些重點 PO 上來
放在"C語言學習實錄"分類
供大家參考
此次暑假預計學習的有
C++ 初階 (其實還是C語言)
C++ 進階
C++ 物件導向
歡迎大家觀賞 (顆顆)
也當作自己的學習紀錄吧!!
STAR
============開始=================
============C語言學習實錄一======
C語言學習實錄之一
(第一次上課)
當然學習程式語言第一步驟當然
就是安裝相關程式
此次課程使用的是 DEV C++ (免費的搜尋一下就下載的到)
點我進入官方下載網頁
安裝好後呢
就是先確定
是否安裝成功?
可否使用?
SO 老套的 當然就是先輸出 "HELLO WORLD!!" (顆顆)
此次使用了
printf 輸出在螢幕
system 系統相關
ex1-1
#include
#include
int main(void)
{
printf("Hello,C!\n"); //輸出
printf("Hello,World!\n");
system("pause"); //程式暫停 (沒輸入的話視窗執行完就跳掉)
return 0; //無實質意義,只是表示檔案成功執行完畢(可有可無)
}
接下來就是HELLO WORLD 進階版(顆顆)
就是要輸入名子然後 HELLO!!
此次增加了
宣告變數
int 宣告為整數
char 宣告為字元
變數代數 %x
%c 為字元
%d 為十進位
ex1-2
#include
#include
int main(void){
int y=10; //宣告變數整數y 且值為10
char name; //宣告字元name
printf("please enter your name\n");
scanf("%c",&name); //scanf為讓使用者輸入東西,並存入name中('&'要加,%c字元)
printf("please enter your age\n");
scanf("%d",&y);//%d 輸入十進位
printf("HELLO !!\n大家好\n");
printf("我是%c\n今年%d歲\n",name,y); //(這邊不用'&')
system("pause");
return 0;
}
接下來呢
就是在整合入 運算的部分
ex1-3
#include
#include
int main(void){
int n1,n2,s;
/*注解
printf("請輸入被加數\n");
scanf("%d",&n1);
printf("請輸入加數\n");
scanf("%d",&n2);
s = n1+n2;
printf("%d+%d=%d\n",n1,n2,s);
p.s此段較複雜,下段較簡潔
*/
printf("請輸入被加數與加數,並請以豆號隔開\n");
scanf("%d,%d",&n1,&n2); //輸入的時候必須符合""之間的格式
printf("%d+%d=%d\n",n1,n2,n1+n2);
system("pause");
return 0;
}
此次課程最後就是較複雜的運算
加入了小數的部分
宣告變數
double 為小數
變數代數 %x
%f 小數
ex1-4
#include
#include
int main(void)
{
int f;
double c; //宣告為小數c (float也可,差在記憶體大小)
printf("please enter F\n");
scanf("%d",&f);
c = (f-32)*5/(double) 9;
/*
p.s
(double) 9 為宣告9為小數,(隨便挑一個宣靠為小數即可)
在c語言中,整數間運算的結果還是整數
如果不加入(double) 那最後的c值會是 xx.0000 小數部分為0
*/
printf("C is %.2f \n",c); //%f為小數,%2.4f表示只顯示小數點前兩位,小數點後四位
system("pause");
return 0;
}
此次課程結束
homework
1.寫出兩數相減
2.寫出bmi計算,輸入身高(cm) 體重(kg) (整數)
hw1-1 寫出兩數相減
#include
#include
int main(void){
int a,b;
printf("請輸入被減數\n");
scanf("%d",&a);
printf("請輸入減數\n");
scanf("%d",&b);
printf("%d-%d=%d\n",a,b,a-b);
system("pause");
return 0;
}
hw1-2 寫出bmi計算,輸入身高(cm) 體重(kg) (整數)
#include
#include
int main(void){
int cm,kg;
double bmi;
printf("請輸入身高(cm)\n");
scanf("%d",&cm);
printf("請輸入體重(kg)\n");
scanf("%d",&kg);
bmi = (kg*(double)10000)/(cm*cm);
printf("您的身高為%d,體重為%d,BMI值為%.2f\n",cm,kg,bmi);
system("pause");
return 0;
}
============C語言學習實錄二===========
C語言學習實錄之二
C語言學習實錄之二
(第二次上課)
第二次上課
終於慢慢切入了最重要的地方了
就是重複迴圈 for() while() 等等
在c語言中這些用法都和php差不多(別的語法也是...)
所以還蠻容易上手的
首先就是for()迴圈的應用
for(起始值;判斷值是否進行;每次判斷值得改變){
do something
}
接下來是範例,要算出階層 就是 "!"
不過在這邊要注意的是,由於宣告的最後放結果的a,的長度只有31位元,正整數只能存放15位元
,所以如果輸入太大,則會出現"溢位"。
ex2-1
#include
#include
int main(void){
int i,a=1,n;
printf("請輸入皆層\n");
scanf ("%d",&n);
for(i=1;i<=n;i++){ //i起始值為一,每執行一次就加一,直到>n停止
a = a*i;
}
printf("=%d\n",a);
system("pause");
return 0;
}
接下來當然就是for()迴圈加強版摟!!
這邊主要差是在一次跳兩個數字,就變成偶數
ex 2-2
#include
#include
int main(void){
int i,a=0,n;
printf("請輸入偶數連加的最終值\n");
scanf("%d",&n);
for(i=2;i<=n;i=i+2){
a=a+i;
}
printf("%d\n",a);
system("pause");
return 0;
}
for()迴圈其實就差不多就這樣
如果想更詳細了解的話可以參考 php重複迴圈
for()迴圈基本上是大同小異,不過在寫法上還是有些差異
接下來就進入下一個主題
while()迴圈
這邊同樣可以參考 php重複迴圈
這個範例就直接是while()迴圈較深入的範例,用了兩個迴圈(當初就寫在一起了,忘了分開)
第一個是可以重複執行
第二個就是要計算所有整數的和
這邊有多一個指令 system("cls") 就是每執行一次就清除螢幕
ex2-3
#include
#include
int main(void){
int i,s,n;
char f='y'; // 宣告字元 f = 'y'
while(f == 'y' || f == 'Y') // 由於上述 所以可以執行以下
{
int i=1;s=0; //這邊要將i s 歸位,否則會錯誤(迴圈的變數值會保留,所以要重設)
printf("求1~N所有整數之和\n");
scanf("%d",&n);
while(i<=n) //第二個迴圈,用來計算
{
s=s+i;
i++;
}
printf("1~%d所有和為%d\n",n,s);
printf("如果繼續請案y\n");
scanf(" %c",&f); //輸入值給f,如果不是 'y' or 'Y' 則第一個while()不會繼續執行
//這邊在設定 %c時,前面要加一個空白,是告訴c,把"\n"(換行)清除掉,(c預設有換行)
system("cls");
}
system("pause");
return 0;
}
------------------------------------------------
本人將會把在巨匠學的程式範例和一些重點 PO 上來
放在"C語言學習實錄"分類
供大家參考
此次暑假預計學習的有
C++ 初階 (其實還是C語言)
C++ 進階
C++ 物件導向
歡迎大家觀賞 (顆顆)
也當作自己的學習紀錄吧!!
------------------------------------------------
============C語言學習實錄三===========
網誌管理員已經移除這則留言。
回覆刪除