************************20090521 陳惠堂 **************************
*設定預設的程式碼
工具 --> 邊輯器選項 --> 程式碼 --> 預設程式碼 --> 貼上要預設程式碼 --> 確定
*字串 I/O
以下兩個專屬於字串
puts(字串)
功用為字串輸出(只做字串輸出) (定義在Stdio)
gets(字串變數)(定義在Stdio)
功用為字串輸入
Lab:
// include 引入 .h (標頭檔)
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//進入主程式
int main()
{
//定義字元陣列 name
char name[20];
//做字串輸出, 一個puts 一定是一行
puts("Enter your name:");
//等待使用者輸入
gets(name);
//列印出剛剛的name 好處是空格也可以抓進來
printf("Hello %s\n",name);
system("pause"); //執行系統內的 pause指令 暫停 宣告被寫在 stdlib.h 內
return 0;
}
*字元輸入
getchar()
輸入會顯示字元
需要按 [Enter]結束
getche()
輸入會顯示字元
不需要按 [Enter]結束
宣告於conio.h
getch()
輸入不會顯示字元
不需要按 [Enter]結束
宣告於conio.h
Lab: getchar()
// include 引入 .h (標頭檔)
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//進入主程式
int main()
{
//定義一個字元
char ch;
//輸入字元定義為ch, 要以Enter 告知結束
ch = getchar();
//將其列印出來, 結果會去抓第一個字, 因為他是字元, 所以只抓第一個字
printf("Hello %c\n",ch);
system("pause"); //執行系統內的 pause指令 暫停 宣告被寫在 stdlib.h 內
return 0;
}
Lab: getche()
// include 引入 .h (標頭檔)
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
//進入主程式
int main()
{
//定義一個字元
char ch;
//輸入字元定義為ch, 使用 getche 來輸入 不需要Enter 告知結束
// getche 定義於 conio.h 所以要使用 #include "conio.h"
ch = getche();
//將其列印出來, 結果會去抓第一個字, 因為他是字元, 所以只抓第一個字
printf("Hello %c\n",ch);
system("pause"); //執行系統內的 pause指令 暫停 宣告被寫在 stdlib.h 內
return 0;
}
Lab: getch()
// include 引入 .h (標頭檔)
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
//進入主程式
int main()
{
///定義一個字元
char ch;
//輸入字元定義為ch, 使用 getch 來輸入 不需要Enter 告知結束
// getch 定義於 conio.h 所以要使用 #include "conio.h" 並不會顯示字元
ch = getch();
//將其列印出來, 結果會去抓第一個字, 因為他是字元, 所以只抓第一個字
printf("Hello %c\n",ch);
system("pause"); //執行系統內的 pause指令 暫停 宣告被寫在 stdlib.h 內
return 0;
}
*operator 運算元
數值運算
+ 加
- 減
* 乘
/ 除
% 求餘數
指定運算元
=
等於的左邊一定是變數
+=
a += b
a=a+b
-=
*=
/=
%=
Lab:
// include 引入 .h (標頭檔)
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//進入主程式
int main()
{
//定義兩個整數 a, b
int a,b;
//定義浮點數 c d
double c;
double d;
a=7;
b=2;
//運算元有順序問題 , 因為 a/b 先處理, 結果為3.5 但是只處理到整數所以是3
c=a/b;
//運算元有順序問題 , 因為 a/b 先處理, 結果為3.5 但是只處理到整數所以是3
//使用(double)a 強制轉型 a 為 double (暫時性的)
d=(double)a/b;
//將其列印出來
printf("c=%f\n",c);
//將其列印出來
printf("d=%f\n",d);
system("pause"); //執行系統內的 pause指令 暫停 宣告被寫在 stdlib.h 內
return 0;
}
以下兩個只針對 1來做累加或是累減,
而且只能出現一次(給變數累 加1或是 減1使用)
++ 累加
a++ --> a=a+1 , 先處理完運算再把a+1
++a --> a=a+1, 先將a+1 再來運算
-- 累減
a--
Lab:
// include 引入 .h (標頭檔)
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//進入主程式
int main()
{
//宣告三個整數 a b c
int a,b,c;
a=1;
b=2;
// c = a+b++ 等於下面兩個算式,從左邊看過去
// 所以等於c = a+b , 因為是 b++ , 所以 c=1+2=3
// 處理完運算後 再來執行 b++ --> b = b+1 = 2+1 =3
// 所以 a=1, b=3, c=3
c=a+b++;
//將其列印出來
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
system("pause"); //執行系統內的 pause指令 暫停 宣告被寫在 stdlib.h 內
return 0;
}
*關係運算元
> 大於
>= 大於等於
< 小於
<= 小於等於
== 等於
!= 不等於
&& AND
|| OR
! NOT
Lab: BMI計算
// include 引入 .h (標頭檔)
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//進入主程式
int main()
{
float w,h,bmi;
printf("Please input your Height(cm)\n");
//利用scan 定義 h 記得要使用位置 所以前面要加上 & 符號
scanf("%f",&h);
printf("Please input your Weight(KG)\n");
//利用scan 定義 w 記得要使用位置 所以前面要加上 & 符號
scanf("%f",&w);
//計算 BMI pow(底, 次方)
//BMI 為 體重/身高的2次方
//pow 必須 #include "math.h"
bmi = w/pow(h/100,2);
// 列印出BMI 值取到 小數點2位
printf("Your BMI is: %.2f\n",bmi);
system("pause"); //執行系統內的 pause指令 暫停 宣告被寫在 stdlib.h 內
return 0;
}
*Loop 迴圈
for
while
do .... while
for(變數初值設定;條件;變數增量運算)
{
xxxx敘述xxxx
}
Lab: for
// include 引入 .h (標頭檔)
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//進入主程式
int main()
{
//使用C++的方式來處理
//使用 for 迴圈 1.初始值i=0 2.判斷 i是否小於10 3.執行敘述每次處理完 i=i+1
for(int i=0;i<10;i++)>
//列印出來
printf("*");
system("pause"); //執行系統內的 pause指令 暫停 宣告被寫在 stdlib.h 內
return 0;
}
Lab:
// include 引入 .h (標頭檔)
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//進入主程式
int main()
{
//使用C++的方式來處理
//使用 for 迴圈 1.初始值i=0 2.判斷 i是否小於10 3.執行敘述每次處理完 i=i+1
//for的後面 沒有 ; 分號
// { } 如果迴圈 執行的敘述大於2行, 就使用大括號來處理
//如果沒有打大括號就是針對下一行
for(int i=0;i<10;i++)>
{
//列印出來
printf("*");
printf("A");
}
system("pause"); //執行系統內的 pause指令 暫停 宣告被寫在 stdlib.h 內
return 0;
}
Lab: ATM密碼輸入
// include 引入 .h (標頭檔)
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//進入主程式
int main()
{
printf("Enter your password:\n");
for(int i=0;i<4;i++)
{
getch();
printf("*\n");
}
system("pause"); //執行系統內的 pause指令 暫停 宣告被寫在 stdlib.h 內
return 0;
}
rand() 亂數; 0-32767的整數
Lab:
// include 引入 .h (標頭檔)
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
//進入主程式
int main()
{
int r;
// Start Rand 亂數起始值 使用time(0) 去抓現在的時間
//要 #include "time.h"
srand(time(0));
//將亂數 除以6 求餘數 +1 , 因為除以6 會餘 0,1,2,3,4,5
for(int i=0;i<4;i++)
{
r = rand()%6+1;
//rand的起始點都是固定
printf("%d\t",r);
}
system("pause"); //執行系統內的 pause指令 暫停 宣告被寫在 stdlib.h 內
return 0;
}
***************************************************************
沒有留言:
張貼留言