Bài giảng Ngôn ngữ lập trình C - Chương 3: Hằng, biến và mảng
lượt xem 10
download
Hằng chính là một giá trị thông tin cụ thể. Biến và mảng là các đại lượng mang tin. Mỗi loại biến (mảng) có thể chứa một dạng thông tin nào đó, ví dụ biến kiểu int chứa được các số nguyên, biến kiểu float chứa được các số thực. Để lưu trữ thông tin, biến và mảng cần phải được cấp phát bộ nhớ. Mời các bạn tham khảo "Bài giảng Ngôn ngữ lập trình C - Chương 3: Hằng, biến và mảng" để nắm bắt được những nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Ngôn ngữ lập trình C - Chương 3: Hằng, biến và mảng
- Chương III HẰNG, BIẾN VÀ MẢNG Trong chương trình C sử dụng các dạng thông tin (kiểu giá trị) sau: số nguyên (int), số thực hay số dấu phẩy động (float), số dấu phẩy động có độ chính xác gấp đôi (double) và ký tự (char). Hằng chính là một giá trị thông tin cụ thể. Biến và mảng là các đại lượng mang tin. Mỗi loại biến (mảng) có thể chứa một dạng thông tin nào đó, ví dụ biến kiểu int chứa được các số nguyên, biến kiểu float chứa được các số thực. Để lưư trử thông tin, biến và mảng cần phải được cấp
- Người ta chia biên ( mảng) thành: Biến (mảng) tự động Biến (mảng) ngoài Biến (mảng) tĩnh. Biến (mảng) tự động chỉ tồn tại (được cấp phát bộ nhớ) khi nào chúng được sử dụng. Biến (mảng) ngoài và tĩnh tồn tại trong suốt thời gian làm việc của chương trình. Cách tổ chức như vậy vừa tiết kiệm bộ nhớ (vì cùng một khoảng nhớ lúc thì phân cho biến này, lúc thì phân cho biến khác), vừa cho phép sử dụng một tên biến cho các đối tượng khác nhau mà không gây ra một sự nhầm lẫn nào.
- I Kiểu dữ liệu Trong C sử dụng các kiểu dữ liệu sau: Ký tự (char) Số nguyên (int) Số dấu phẩy động độ chính xác đơn (float) Số dấu phẩy động độ chính xác gấp đôi (float) 1. Một giá trị kiểu char chiếm một byte (8bit) và biểu diễn được một ký tự thông qua bảng mã ASCII Thực chất dữ liệu kiểu char là một số nguyên không dấu trong khoảng từ 0 đến 255.
- Dưới đây là phạm vi và kích cỡ biểu diễn của giá trị kiểu char Phaûm vi biãøu Säú kyï Kiãøu Kêch thæåïc diãùn tæû char 0 255 256 1 byte 2. Giá trị kiểu nguyên (int). Trong C cho phép sử dụng: Số nguyên (int), số nguyên dài (long) và số nguyên không dấu (unsigned). Kích thước và phạm vi biểu diễn của chúng là: Kêch Kiãøu Phaûm vi biãøu diãùn thæåïc int -32768 32767 2 byte long int -2145483648 2145483648 4 byte unsigned
- 3. Giá trị dấu phẩy động. Trong C cho phép sử dụng 2 loại giá trị dấu phẩy động là float và double. Kích thước và phạm vị biểu diển là: Säú chæî Phaûm vi biãøu Kêch Kiãøu säú coï diãùn thæåïc nghéa 1.5e-45 3.4e+38 float 7-8 4 byte 5.0e-324 Giải thích: Máy có th double 1.7e+308 ể lưu trữ15-16 được số d8 ấu ph byteảy dộng có giá trị tuyệt đối trong khoảng từ 1.5e45 đến 3.4e+38. Số có giá trị tuyệt đối nhỏ hơn 1.5e 45 được xem bằng 0. Phạm vi biểu diễn của số double được hiểu theo nghĩa tương tự.
- II. Hằng Hằng là các đại lượng mà các giá trị của nó không thay đổi trong quá trình tính toán. Các loại hằng được sử dụng: ∙ Hằng dấu chấm động (float và double) được viết theo hai cách Cách 1: (Ký pháp tự nhiên): Số được viết theo cách thông thường chỉ có khác là dấu phẩy thập phân được thay bởi dấu chấm. Ví dụ: 44.356, 43442.54546 Cách 2: (Ký pháp khoa học): Số được tách thành hai phần là phần định trị và phần bậc. Phần định trị là một số nguyên hoặc số thực được viết theo ký pháp tự nhiên, phần bậc là một số nguyên. Hai phần này cách nhau bởi ký tự e hoặc E Ví dụ: 123.456e5 (Biểu diễn giá trị 0.00123456) 0.123E5 (Biểu diễn giá trị 12300) 123.56e4 (Biểu diễn giá trị 0.012356) 2E4 (Biểu diễn giá trị 20000)
- Hằng int là số nguyên có giá trị trong khoảng từ 32768 32767 ∙ Hằng long được viết theo kiểu: 4234253l hoặc 4234253l (Thêm l hoặc L). Một số nguyên vượt ra ngoài miền xác định của int cũng được xem là hằng long. ∙ Hằng int hệ 8 được viết theo cách: 0x1x2x3... Ở đây x1, x2, x3, ... là số nguyên trong khoảng từ 0 đến 7. Hằng nguyên hệ 8 luôn luôn nhận giá trị dương. ∙ Hằng int hệ 16 được viết theo cách: 0xx1x2x3... hoặc 0Xx1x2x3... Ở đây x1, x2, x3, ... là số nguyên trong khoảng từ 0 đến 9 và các chữ cái từ a(A) đến f(F). Hằng nguyên hệ 16 luôn luôn nhận giá trị dương.
- Hằng ký tự là một ký tự riêng biệt được viết trong dấu nháy đơn (‘), ví dụ: ‘a’, giá trị ‘a’ chính là mã ASCII của chữ a. Như vậy giá trị của ‘a’ là 97. Hằng ký tự có thể tham gia vào các phép toán như mọi số nguyên khác. Ví dụ, giá trị của biểu thức: ‘a’ ‘A’ = 97 65 = 32 Hằng ký tự còn có thể được viết theo cách ‘\x1x2x3...’ Ở đây x1, x2, x3, ... là một số hệ 8 mà hệ giá trị của nó bằng mã ASCII của ký tự cần biểu diễn. Ví dụ: Chữ a có mã hệ 10 là 97 đối ra hệ 8 là 141. Vậy hằng ký tự ‘a’ có thể viết dưới dạng ‘\141’
- Hằng xâu ký tự: là một dãy các ký tự bất kỳ đặt giữa hai dấu nháy kép (“) Ví dụ: “Dai Hoc Su Pham” “” /* Xâu rỗng */ Cách định nghĩa một hằng: #define Hoặc: const =
- III. Biến Mọi biến cần phải khai báo trước khi sử dụng. Cách khái báo một biến: type Vị trí khái báo biến: Các biến khai báo cần đặt ngay sau dấu { đầu tiên của thân hàm và cần đứng trước mọi câu lệnh. Như vậy, sau một câu lệnh gán chẵng hạn thì không được khai báo nữa. Việc khởi đầu cho các biến: Nếu trong khai báo, ngay sau tên iến ta đặt dấu = và một giá trị nào đó thì đây chính là cách vừa khai báo vừa khởi đầu cho một biến. Ví dụ: int a, b = 45, c =50; float c, b = 35.79;
- Các kiểu dữ liệu TYPE FORMAT BYTES MINIUM MAXIMUM Integer char CHAR_MIN %c 1 CHAR_MAX signed char SCHAR_MI %c 1 SCHAR_MAX unsigned char N %c 1 UCHAR_MAX short [int] 0 %hi 2 SHRT_MAX unsigned SHRT_MIN %hu 2 USHRT_MAX short 0 %i 2 or 4 INT_MAX int INT_MIN %u 2 or 4 UNIT_MAX unsigned int 0 %li 4 LONG_MAX long LONG_MIN %lu 4 ULONG_MAX unsigned long 0
- TYPE FORMAT BYTES MINIUM MAXIMUM Real float %f %e %g 4 FLT_MIN FLT_MAX double %lf %le %lg 8 DBL_MIN DBL_MAX long double %Lf %Le %Lg 10 LDBL_MIN LDBL_MAX
- IV Một số ví dụ về hằng và biến: Ví dụ 1: Chương trình hiển thị các giá trị lớn nhất và nhỏ nhất trong kiểu số nguyên #include "stdio.h" #include "limits.h" int main(void) { unsigned long big = ULONG_MAX; clrscr(); printf(" Minimum int = %i ", INT_MIN); printf(" \n Maximum int = %i ", INT_MAX); printf(" \n Maximum unsigned = %u ", UINT_MAX); printf(" \n Maximum long int = %li ", LONG_MAX); printf(" \n Maximum unsigned long = %lu ", big); getch(); return 0; }
- Ví dụ 2: Chương trình hiển thị các giá trị trong kiểu char #include "stdio.h" #include "limits.h" int main(void) { char lower_a ='a'; char lower_z ='z'; clrscr(); printf(" Minimum char = %i ", CHAR_MIN); printf(" \n Maximum char = %i ", CHAR_MAX); printf(" \n Sau ky tu '%c' la ky tu '%c' ",lower_a, lower_a+1); printf(" \n Ky tu hoa cua '%c' la '%c' ", lower_z,lower_z'a'+'A'); getch(); return 0; }
- Ví dụ 3: Hãy viết chương trinh chuyển đổi giữa các hệ cơ số: #include "stdio.h" int main(void) { int dec = 45 , oct = 045, hex = 0xA5, heX =0XA5; clrscr(); printf("Decimal = %d Octan = %d Hexa = %d, Hexa = %d \n", dec, oct, hex,heX); printf("Decimal = %d Octan = %o Hexa = %x\n", dec, oct, hex); printf("Decimal = %d Octan = %o Hexa = %X", dec, oct, heX); getch(); return 0; }
- VI. Mảng Một biến chỉ có thể biểu diễn được một giá trị. Để biểu diễn một dãy hay một bảng số ta có thể dùng nhiều biến nhưng cáhc này không tiên lợi. Việc sử dụng mảng là cách tốt hơn nhiều trong những trường hợp như vây. Mảng có thể hiểu là tập hợp nhiều phần tử có cùng một kiểu giá trị và có chung một tên. Mỗi phần tử của mảng biểu diễn được một giá trị Có bao nhiêu kiểu biến thì cũng có bấy nhiêu kiểu mảng. Mảng cần được khai báo để định rõ: Loại mảng (int, float, double,...) Tên mảng Số chiều và kích thước mỗi chiều.
- Khai bái mảng: Mảng một chiều: [Number of elements] Mảng nhiều chiều: [Num of elements1][Num of elements ] Ví dụ: Khai báo mảng 1 chiêu: int a[10] /*Khai báo một mảng chứa 10 số nguyên*/ Khai báo mảng 2 chiều: int b[5][4] /Khai báo một ma trận có 5dòng 4 cột*/
- Chú ý: Các phần của mảng được cấp phát các khoảng nhớ liên tiếp nhau trong bộ nhớ. Nói cách khác phần tử có địa chỉ liên tiếp nhau trong bộ nhớ. Trong bộ nhớ, các phần tử của mảng hai chiều được sắp xếp theo hàng. Truy cập đến từng phần tử của mảng: – Mỗi phần tử của mảng được xác định nhờ các chỉ số của nó. – Chỉ số của mảng phải có giá trị int không vượt quá kích thước của chiều tương ứng. Ví dụ: a[i] b[i][j]
- Chú ý: Cho phép lấy địa chỉ của mảng một chiều: &a[I] Và không chấp nhận phép tính: &b[i][j] V. Khối lệnh: 1. Định nghĩa: Một khối lệnh là gồm dãy các câu lệnh được bao bởi các dấu { và } Ví dụ: { a = 4; b = 5; printf(“\n %6d%6d”,a,b)
- Máy xem một khối lệnh cũng như một câu lệnh riêng lẻ. Nói cáhc khác, chổ nào trong chương trình đặt được một câu lệnh thì có thể đặt một khối lệnh 2. Khai báo biến ở đầu khối lệnh: Các khai báo chẳng những có thể đặt ở đầu mỗi hàm mà còn có thể viết ở đầu khối lệnh. Ví dụ: { int a ,b; float x, y,z; a=b=3; x=5; y=a*x; z= 5b*y; printf(“\ny = %8.2f\nz = %8.2f”,y,z); }
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Ngôn ngữ lập trình Java căn bản
115 p | 351 | 104
-
Bài giảng Ngôn ngữ lập trình C++: Chương 1 - Trần Minh Châu
17 p | 250 | 54
-
Bài giảng Ngôn ngữ lập trình C# - Nguyễn Hồng Phương
409 p | 214 | 41
-
Bài giảng Ngôn ngữ lập trình ứng dụng: Phần 1 – ĐH CNTT&TT
45 p | 113 | 13
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 1: Ngôn ngữ lập trình C) - Chương 1: Ôn tập một số nội dung chính của NNLT C
31 p | 157 | 13
-
Bài giảng Ngôn ngữ lập trình bậc cao - Th.S Đoàn Thị Thu Huyền
44 p | 150 | 10
-
Bài giảng Ngôn ngữ lập trình C: Chương 1 - TS. Nguyễn Thị Hiền
12 p | 62 | 9
-
Bài giảng Ngôn ngữ lập trình - Nguyễn Văn Linh
109 p | 118 | 8
-
Bài giảng Ngôn ngữ lập trình C - Chương 1: Giới thiệu ngôn ngữ C
4 p | 104 | 8
-
Bài giảng Ngôn ngữ lập trình C và C++: Bài 1 - TS. Đỗ Đăng Khoa
53 p | 112 | 7
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ lập trình C++) - Chương 5: Các lớp nhập/xuất trong C++
19 p | 132 | 7
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ C++) - Chương 2: Giới thiệu về ngôn ngữ lập trình C++
49 p | 137 | 7
-
Bài giảng Ngôn ngữ lập trình C: Chương 1 - PhD. Nguyễn Thị Huyền
12 p | 55 | 7
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ lập trình C++) - Chương 3: Lớp và đối tượng
52 p | 112 | 5
-
Bài giảng Ngôn ngữ lập trình C và C++: Bài 4 - TS. Đỗ Đăng Khoa
40 p | 95 | 5
-
Bài giảng Ngôn ngữ lập trình C/C++ (Bài giảng tuần 1) – Nguyễn Hải Châu
7 p | 142 | 5
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ lập trình C++) - Chương 6: Mẫu (template)
27 p | 85 | 4
-
Bài giảng Ngôn ngữ lập trình: Bài 1 - Lý Anh Tuấn
30 p | 82 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn