【變數與記憶體位址】 變數(Variable)提供一個有名稱的記憶體儲存空間。一個變數包含資料型態、變數本身的值及它的位址值。

Slides:



Advertisements
Similar presentations
第一單元 建立java 程式.
Advertisements

計算機程式語言實習課.
第 2 章 初探 C++.
第4章 数组 数组是由一定数目的同类元素顺序排列而成的结构类型数据 一个数组在内存占有一片连续的存储区域 数组名是存储空间的首地址
File Access 井民全製作.
C++程序设计 王希 图书馆三楼办公室.
簡易C++除錯技巧 長庚大學機械系
資料大樓 --談指標與陣列 綠園.
函數(一) 自訂函數、遞迴函數 綠園.
Chen Yi Fen The C Language Chen Yi Fen
2 C++ 程式概論 2.1 C++ 程式結構 程式註解 // 插入標題檔 #include 2-3
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
保留字與識別字.
101北一女中 資訊選手培訓營 妳不可不了解的指標 Nan.
第一章 程序的基本结构. 第一章 程序的基本结构 教材及授课结构 本章目标 基本内容 扩展阅读 上机指导 应用举例 习题.
C語言簡介 日期 : 2018/12/2.
Object-Oriented Programming in C++ 第一章 C++的初步知识
第12章 從C到C++語言 12-1 C++語言的基礎 12-2 C++語言的輸出與輸入 12-3 C++語言的動態記憶體配置
前處理指令可以要求前處理器 (preprocessor) 在程式編譯之前,先進行加入其它檔案的內容、文字取代以及選擇性編譯等工作。
2 C++ 的基本語法和使用環境 親自撰寫和執行程式是學好程式語言的不二法門。本章藉由兩個簡單的程式,介紹C++ 程式的基本結構和開發環境,讓初學者能逐漸建立使用C++ 的信心。
CLASS 5 指標.
Chapter 7 指標.
第3章 變數、常數與資料型態 3-1 C語言的識別字 3-2 變數的宣告與初值 3-3 指定敘述 3-4 C語言的資料型態
第3讲 C++程序控制结构 3.1 顺序结构 3.2 分支结构 3.3 循环结构 3.4 转向控制 3.5 综合案例分析.
C++程序设计 string(字符串类) vector(容器类).
Java 程式設計 講師:FrankLin.
Chap3 Linked List 鏈結串列.
程序的三种基本结构 if条件分支语句 switch多路开关语句 循环语句 循环嵌套 break,continue和goto语句
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
切換Dev c++顯示語言 工具->環境選項(V)->介面->language (Chinese TW)
第一單元 建立java 程式.
C++ 程式設計 基礎篇 張啟中 Chang Chi-Chung.
開始使用Visual C++.
第二章 基本数据类型及运算 C数据类型概述 基本数据类型 运算符和表达式 混合运算与类型转换 数据的输入输出 顺序程序设计举例.
Chapter 2 & Chapter 3.
C++语言程序设计 C++语言程序设计 第五章 函数 第十一组 C++语言程序设计.
Speaker: Liu Yu-Jiun Date: 2009/4/29
輸入&輸出 函數 P20~P21.
第十章 指標.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第三章 控制语句 第十一组 C++语言程序设计.
第7章 指標 7-1 指標的基礎 7-2 指標變數的使用 7-3 指標運算 7-4 指標與陣列 7-5 指向函數的指標.
挑戰C++程式語言 ──第8章 進一步談字元與字串
物件導向程式設計 CH2.
認識常數與變數 學習C++所提供的各種基本資料型態 瞭解溢位的發生 學習認識資料型態之間的轉換
第11章 從C到C++語言 11-1 C++語言的基礎 11-2 C++語言的資料型態與運算子 11-3 C++語言的輸出與輸入
C qsort.
C++程式設計入門 變數與運算子 作者:黃建庭.
計算機程式設計 老師:蘇炳煌 助教:楊斯竣.
第14章 結構與其他資料形式.
C/C++基礎程式設計班 C++: 物件的使用、參考、重載函式 講師:林業峻 CSIE, NTU 3/28, 2015.
陣列與結構.
#include <iostream.h>
指標 (pointer) 是一種特別的資料型態,用來儲存某一資料在記憶體內的位址。
北一女中 資訊選手培訓營 妳不可不了解的指標 Nan.
簡單Java介紹.
C++语言程序设计 C++语言程序设计 第十章 多态 第十一组 C++语言程序设计.
第四章 陣列、指標與參考 4-1 物件陣列 4-2 使用物件指標 4-3 this指標 4-4 new 與 delete
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
Programming & Language Telling the computer what to do
C++语言程序设计 C++语言程序设计 第十一章 异常处理 C++语言程序设计.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
變數與資料型態  綠園.
Array(陣列) Anny
資料!你家住哪裏? --談指標 綠園.
C語言程式設計 老師:謝孟諺 助教:楊斯竣.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
InputStreamReader Console Scanner
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
Presentation transcript:

【變數與記憶體位址】 變數(Variable)提供一個有名稱的記憶體儲存空間。一個變數包含資料型態、變數本身的值及它的位址值。 變數資料型態決定了變數所分配到的記憶體大小;變數本身的值是指儲存於記憶體中的資料內容;而您可以透過變數名稱取得這個資料內容,又稱為 rvalue或 read value;而變數的位址值則是指變數所分配到的記憶體之位置,又稱為lvalue或 location value。 如果您想知道變數的記憶體位址為何,您可以使用&運算子,&是「取址運算子」(Address-of operator),它可以取出變數的記憶體位址,例如: #include <iostream> using namespace std;   int main() { int var = 10; cout << "變數var的值:" << var << endl; cout << "變數var的記憶體位址:" << &var << endl; system("pause"); return 0; }

【指標 Pointer】 一般變數可以直接對所分配到的記憶體空間作存取;而指標則提供了間接存取,指標可指向特定的記憶體位址,而不直接操作變數或物件,要宣告一個指標,使用以下的語法: type *ptr; 其中type是指標的資料型態,每一個指標都有一個相對應的型態,用以指出所指向的資料或物件之資料型態有所不同,編譯器根據指標型態來確定特定記憶體位址上的資料如何解釋,以及如何進行指標運算(Pointer arithmetic),以下是幾個指標宣告的範例: int *iptr; double *dptr; char *cptr;

【變數與指標的存取】 #include <iostream> using namespace std; int main() {   int main() { int var = 10; int *ptr = &var ; cout << "變數var的位址:" << &var << endl; cout << "指標ptr指向的位址:" << ptr << endl; cout << "指標ptr儲存的值:" << ptr << endl; cout << "取出ptr指向的記憶體位置之值:" << *ptr << endl; system("pause"); return 0; } 可以改為: int *ptr; ptr = &var; 但不能寫成:int *ptr = var;

【變數與指標的存取】 //pointer03.cpp #include <iostream> using namespace std;   int main() { int var = 10; int *ptr = &var ; cout << "var = " << var << endl; cout << "*ptr = " << *ptr << endl; *ptr = 20; system("pause"); return 0; }

【指標的運算】 //pointer04.cpp #include <iostream> using namespace std;   int main() { int *iptr = 0; cout << "iptr位置:" << iptr << endl; cout << "iptr+1:" << iptr+1 << endl; cout << "iptr+2:" << iptr+2 << endl; double *dptr = 0; cout << "dptr位置:" << dptr << endl; cout << "dptr+1:" << dptr+1 << endl; cout << "dptr+2:" << dptr+2 << endl;  system("pause"); return 0; }

【指標與陣列】 在宣告一個陣列之後,陣列名稱用來參考至陣列的第一個元素的記憶體位址,例如在下面的程式中可發現,陣列arr與&arr[0]所指向的位置是相同的: #include <iostream> using namespace std;   int main() { int arr[10] = {0}; cout << "arr :\t" << arr << endl; cout << "&arr[0]:" << &arr[0] << endl; system("pause"); return 0; }

【指標與陣列】 //指標與陣列存取資料的方式 point06.cpp #include <iostream> using namespace std;   int main() { const int length = 3; int arr[length] = {30, 40, 50}; int *ptr = arr; for(int i = 0; i < length; i++) // 以指標方式存取資料 cout << "*(ptr+" << i << "): " << *(ptr+i) << endl; for(int i = 0; i < length; i++) // 以陣列方式存取資料 cout << "arr[" << i << "]: " << arr[i] << endl; system("pause"); return 0; }

【 C 語言的標準輸出一】 1.標準輸出指令 printf("格式字串", var1, var2, …); 2.跳脫字元(Escape Sequence) 註:d 代表某個數值。 \n 換行 \" 雙引號 \f 換頁 \' 單引號 \t 跳格 \/ 斜線 \b 倒退 \\ 反斜線 \d* ASCII 碼 (8 進位) \x ASCII 碼 (16 進位) 例子 執行結果 printf("\tThe line begins with tab.\n"); This line begins with tab. printf("It\'s a \"C Tutorial\".\n"); It's a "C Tutorial". printf("This is backslash: \\.\n"); This is backslash: \. printf("\\101 is \101.\n"); \101 is A. printf("\\x41 is \x41.\n"); \x41 is A.

【 C 語言的標準輸出二】 3.修飾子 -:向左靠齊 +:印出正負號 %c:字元 %s:字串 %d:十進位整數 %f:浮點數 (小數點型式) %l:長整數,加在 d、u…之前 %u:無號十進位整數 %e:浮點數 (指數 e 型式) 資料 格式 結果 12345 %10d %+d +12345 %-10d % d %010d 0000012345 123.456 %7.2f 123.46 %010.3f 000123.456 %+10.4f +123.4560

【 C 語言的標準輸入】 1.標準輸入指令 scanf("格式化字串", &var1, &var2, …); 2.輸入格式 &是位址運算子 字元陣列不需要加上&位址運算子 2.輸入格式 %d:十進位整數 → int %f:浮點數 → float, double %c:字元 → char %s:字串 → 字元陣列 例子 結果 int num1, num2; printf("Enter 2 numbers: "); scanf("%d,%d",&num1,&num2); 執行畫面: Enter 2 numbers:   輸入值格式: 103,227

【zerojudge 練習】 a007 判斷質數 a811 2. 迷路小鴨 a233 排序法~~~ 挑戰極限 d255 11417 - GCD b080 A. 畢氏定理 b035  D. 海加爾山之戰

To be Continue… 回目錄頁