************************20090519 陳惠堂 **************************
以後上課基本的 source code 內容
// include 引入 .h (標頭檔)
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//進入主程式
int main()
{
system("pause"); //執行系統內的 pause指令 暫停 宣告被寫在 stdlib.h 內
return 0;
}
*printf(字串 [,引數1,...]);
*逸出字元(Escaps)
\n new line
\t table(8個bytes
文字介面 寬度為 80 bytes, 每一個Tab 長度為8個 bytes. 使用\t 是移動到下一個8 bytes, 不是向後退8個space
\b back(回到前一個)
\f 換頁
\r Return
\ddd 8進位內碼
\xdd 16進位內碼
*格式符號
%形別
%d or %i 有號10進位整數
%o 有號 8 進位整數
%x 有號 16進位整數
%u 無號的 10 進位整數
%f 顯示6位小數
%e 以指數顯示
%g 一般顯示
%s 字串
%c 字元
*scanf(字串,位址1[,位址2,...]);
是少數在function 語法內要指定位址的
Lab:
// include 引入 .h (標頭檔)
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//進入主程式
int main()
{
printf( "Hello ...\n" );
printf( "Welcome to Dev C+...\n" );
printf("a\taa\taaa\n"); // \t為Tab鍵 移到下一個8 bytes
printf("aa\taa\taaa\n");// \t為Tab鍵 並不是移動8個 space
printf("aaa\taa\taaa\n");
printf("Back\b\n"); //觀察 \b的影響
printf("Back\ba\n"); //觀察 \b的影響 \b 向前一個byte 然後a取代
printf("\1\2\3\4\5\6\7\n"); // \7 是聲響
int a,b ;
a=1;
b=2;
printf("%d+%d=%d\n",a,b,a+b); // %d 會從後面抓一個資料, 有三個 %d 就會抓三個
printf("a=%d\n",a);
printf("b=%d\n",b);
printf("a+b=%d\n",a+b); // %d 會從後面抓一個資料, 有三個 %d 就會抓三個
printf("-----------------------------------------------------------------\n");
double c;
c=10.123456;
printf("c=%f\n",c); //顯示 6位小數(預設)
printf("c=%e\n",c); //以指數顯示
printf("c=%g\n",c); //一般方式顯示
printf("c=%.2f\n",c); //顯示 2位小數,會四捨五入
printf("c=%.12f\n",c); //顯示 2位小數
system("pause"); //執行系統內的 pause指令 暫停 宣告被寫在 stdlib.h 內
return 0;
}
& 位址運算元
用法: & 變數名稱
Lab:scanf
// include 引入 .h (標頭檔)
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//進入主程式
int main()
{
int n; //定義一個整數 n
printf("Please input your number:\n");
//利用scan 來等待使用者輸入, 結束用 Enter. %d 為10 進位整數
//scanf 後面要輸入位址 &n 而不能輸入變數 n 所以要特別注意
scanf("%d",&n); // n前面要加上 & 符號, 為位址運算元符號, 只輸入 n 會當機(變數)
printf("n=%d\n",n);
//定義 字元陣列 name 內容為20個字
char name[20];
printf("Enter your Name:\n");
//利用scan 來輸入 name
//在 C 裡面 陣列名稱 跟 變數名稱 是不同的, 陣列名稱代表是位址
scanf("%s",name);
printf("Hello %s\n",name);
//定義兩個 字元陣列 fname lname
char fname[10],lname[10];
printf("Enter your First Name:\n");
scanf("%s",fname);
printf("Enter your Last Name:\n");
scanf("%s",lname);
//這樣就可以列出 First name + Last name 剛剛的範例只會列出第一個
printf("Hello %s %s\n",fname,lname);
system("pause"); //執行系統內的 pause指令 暫停 宣告被寫在 stdlib.h 內
return 0;
}
Lab: 使用C++的方式來處理
//使用 C++ 的方式, 非C的方式
// iostream 必須配合 namespace
#include "iostream"
using namespace std;
#include "stdlib.h"
int main()
{
char name[20];
//cout是一個物件, 不是指令, 代表螢幕. 利用 << 導向螢幕
cout << "Enter your name:\n";
//利用cin 代表鍵盤
cin >> name;
// 一個 << 只能送一個資料 ,
cout << "Hello " <<>"\n";
// 也可以使用 endl 代表 \n
cout << "Welcome to Dev C++ ..." <<>
system("pause"); //執行系統內的 pause指令 暫停 宣告被寫在 stdlib.h 內
return 0;
}
***************************************************************
沒有留言:
張貼留言