Chương 7: Các Thành Phần Cơ Bản và Kiểu Dữ Liệu trong C

Tài liệu nghiên cứu Htmt va nnc chapter 7, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về ., phục vụ nghiên cứu và ứng dụng thực tiễn

Trường đại học

Trường Đại Học

Chuyên ngành

Lập Trình C

Người đăng

Ẩn danh

Thể loại

Tài Liệu

2023

140
3
0

Phí lưu trữ

35 Point

Tóm tắt

I. Tổng quan về Các Thành Phần Cơ Bản và Kiểu Dữ Liệu trong C

Chương 7 của ngôn ngữ lập trình C tập trung vào các thành phần cơ bản và kiểu dữ liệu. Các thành phần này bao gồm biến, hằng, và cấu trúc dữ liệu. Kiểu dữ liệu trong C rất đa dạng, từ kiểu số nguyên đến kiểu số thực, và mỗi kiểu đều có những đặc điểm riêng. Việc hiểu rõ các thành phần này là rất quan trọng để lập trình viên có thể viết mã hiệu quả.

1.1. Các thành phần cơ bản trong C

Các thành phần cơ bản trong C bao gồm biến, hằng, và hàm. Biến là nơi lưu trữ dữ liệu, hằng là giá trị không thay đổi, và hàm là khối mã thực hiện một chức năng cụ thể.

1.2. Tại sao cần hiểu kiểu dữ liệu trong C

Hiểu kiểu dữ liệu giúp lập trình viên tối ưu hóa bộ nhớ và hiệu suất chương trình. Mỗi kiểu dữ liệu có kích thước và cách thức lưu trữ khác nhau, ảnh hưởng đến cách mà dữ liệu được xử lý.

II. Vấn đề và Thách thức liên quan đến Kiểu Dữ Liệu trong C

Một trong những thách thức lớn nhất khi làm việc với kiểu dữ liệu trong C là việc lựa chọn kiểu dữ liệu phù hợp cho từng tình huống. Việc sử dụng kiểu dữ liệu không đúng có thể dẫn đến lỗi trong chương trình hoặc tiêu tốn nhiều bộ nhớ hơn cần thiết.

2.1. Lựa chọn kiểu dữ liệu phù hợp

Lựa chọn kiểu dữ liệu phù hợp là rất quan trọng. Ví dụ, sử dụng kiểu int cho các giá trị lớn có thể dẫn đến tràn số. Cần phải xem xét kích thước và phạm vi của dữ liệu.

2.2. Các lỗi thường gặp khi sử dụng kiểu dữ liệu

Các lỗi thường gặp bao gồm tràn số, lỗi kiểu dữ liệu, và lỗi khi chuyển đổi giữa các kiểu dữ liệu. Những lỗi này có thể gây ra sự cố nghiêm trọng trong chương trình.

III. Phương pháp khai báo và sử dụng Biến trong C

Khai báo biến trong C là bước đầu tiên để sử dụng chúng trong chương trình. Biến cần được khai báo với kiểu dữ liệu cụ thể và có thể được khởi tạo với giá trị ban đầu.

3.1. Cách khai báo biến trong C

Khai báo biến trong C được thực hiện bằng cách chỉ định kiểu dữ liệu và tên biến. Ví dụ: int a; là khai báo một biến số nguyên có tên là a.

3.2. Khởi tạo biến và sử dụng

Biến có thể được khởi tạo ngay khi khai báo hoặc sau đó. Việc khởi tạo giúp đảm bảo rằng biến có giá trị hợp lệ trước khi sử dụng.

IV. Các Kiểu Dữ Liệu Cơ Bản trong C và Ứng Dụng của Chúng

C có nhiều kiểu dữ liệu cơ bản như int, float, char, và double. Mỗi kiểu dữ liệu có ứng dụng riêng trong lập trình, từ việc lưu trữ số nguyên đến số thực.

4.1. Kiểu int và ứng dụng

Kiểu int được sử dụng để lưu trữ các số nguyên. Nó thường được sử dụng trong các phép toán số học và điều kiện.

4.2. Kiểu float và double

Kiểu float và double được sử dụng để lưu trữ số thực. Float có độ chính xác thấp hơn so với double, nhưng chiếm ít bộ nhớ hơn.

V. Cấu trúc Dữ liệu và Hàm trong C

Cấu trúc dữ liệu trong C cho phép tổ chức dữ liệu một cách hiệu quả. Hàm là một phần quan trọng trong việc xử lý dữ liệu và thực hiện các tác vụ cụ thể.

5.1. Cấu trúc dữ liệu trong C

Cấu trúc dữ liệu cho phép lưu trữ nhiều loại dữ liệu khác nhau trong cùng một biến. Điều này giúp tổ chức dữ liệu một cách hợp lý và dễ dàng truy cập.

5.2. Khai báo và sử dụng hàm

Hàm trong C được khai báo với kiểu trả về và tên hàm. Hàm có thể nhận tham số và thực hiện các tác vụ cụ thể, giúp mã nguồn trở nên gọn gàng và dễ bảo trì.

VI. Kết luận và Tương lai của Kiểu Dữ Liệu trong C

Kiểu dữ liệu trong C là một phần quan trọng trong lập trình. Việc hiểu rõ và sử dụng đúng kiểu dữ liệu sẽ giúp lập trình viên viết mã hiệu quả hơn. Tương lai của ngôn ngữ C có thể sẽ tiếp tục phát triển với các kiểu dữ liệu mới và cải tiến.

6.1. Tầm quan trọng của việc cập nhật kiến thức

Cập nhật kiến thức về kiểu dữ liệu và các thành phần cơ bản trong C là rất cần thiết để theo kịp sự phát triển của công nghệ.

6.2. Xu hướng phát triển của ngôn ngữ C

Ngôn ngữ C vẫn giữ vị trí quan trọng trong lập trình hệ thống và phát triển phần mềm. Các cải tiến trong ngôn ngữ có thể sẽ mở ra nhiều cơ hội mới cho lập trình viên.

15/07/2025
Htmt va nnc chapter 7

Trích đoạn nội dung tài liệu

CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.2 Caùc kieåu döõ lieäu chuaån cuûa C 7.5 Bieåu thöùc 7.6 Caùc pheùp toaùn cuûa C 7.7 Caáu truùc toång quaùt cuûa moät chöông trình C Baøi taäp cuoái chöông CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.1 DANH HIEÄU Danh hieäu laø teân cuûa haèng, bieán, haøm. hoaëc caùc kyù hieäu ñaõ ñöôïc quy ñònh ñaëc tröng cho moät thao taùc naøo ñoù. Danh hieäu coù hai loaïi: kyù hieäu vaø danh hieäu. CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.1 DANH HIEÄU Kyù hieäu (symbol) laø caùc daáu ñaõ ñöôïc C quy ñònh ñeå bieåu dieãn cho moät thao taùc naøo ñoù.

-Neáu duøng moät daáu ñeå bieåu dieãn cho moät thao taùc thì ta coù kyù hieäu ñôn (single symbol). Ví duï: +, -, *, /, %, =, >, < CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.1 DANH HIEÄU Kyù hieäu (symbol) laø caùc daáu ñaõ ñöôïc C quy ñònh ñeå bieåu dieãn cho moät thao taùc naøo ñoù. -Neáu duøng hai daáu trôû leân bieåu dieãn cho moät thao taùc thì ta coù kyù hieäu keùp (compound symbol). CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.1 DANH HIEÄU Danh hieäu (Identifier) laø caùc töø khoùa cuûa ngoân ngöõ hoaëc teân cuûa caùc haèng, bieán, haøm trong C.

Danh hieäu bao haøm töø khoùa vaø danh hieäu. Töø khoùa (keyword) laø caùc danh hieäu maø C ñaõ ñònh nghóa saün cho laäp trình vieân söû duïng ñeå thieát keá chöông trình, taäp caùc töø khoùa cuûa C seõ ñöôïc lieät keâ trong phaàn phuï luïc. Ví duï: if, for, while. CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.1 DANH HIEÄU Danh hieäu (Identifier) laø caùc töø khoùa cuûa ngoân ngöõ hoaëc teân cuûa caùc haèng, bieán, haøm trong C.

Danh hieäu bao haøm töø khoùa vaø danh hieäu. Danh hieäu laø teân cuûa caùc haèng, bieán, haøm. -Neáu caùc haèng, bieán, haøm. naøy do C ñaõ khai baùo vaø thieát keá saün thì caùc danh hieäu coù ñöôïc goïi laø caùc danh hieäu chuaån.

Ví duï: main, scanf, printf. CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.1 DANH HIEÄU Danh hieäu (Identifier) laø caùc töø khoùa cuûa ngoân ngöõ hoaëc teân cuûa caùc haèng, bieán, haøm trong C. Danh hieäu bao haøm töø khoùa vaø danh hieäu. Danh hieäu laø teân cuûa caùc haèng, bieán, haøm.

-Neáu caùc haèng, bieán, haøm. naøy do laäp trình vieân khai baùo vaø ñònh nghóa trong quaù trình thieát keá chöông trình thì caùc danh hieäu ñoù ñöôïc goïi laø caùc danh hieäu khoâng chuaån. -Ví duï: a, b, delta CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.1 DANH HIEÄU Chuù yù raèng C laø moät ngoân ngöõ nhaïy caûm vôùi söï phaân bieät giöõa kyù töï hoa vaø kyù töï thöôøng, do ñoù khi vieát While seõ hoaøn toaøn phaân bieät vôùi while. Caùc töø khoùa cuûa C ñeàu ôû daïng chöõ thöôøng.

CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.1 DANH HIEÄU Nhö vaäy danh hieäu khoâng chuaån laø teân cuûa caùc haèng, bieán, haøm. do laäp trình vieân töï ñaët, do ñoù nguyeân taéc ñaët teân cuûa danh hieäu khoâng chuaån cuõng caàn phaûi ñöôïc neâu cuï theå: - Danh hieäu khoâng chuaån khoâng truøng vôùi töø khoùa - Danh hieäu khoâng chuaån khoâng truøng vôùi danh hieäu chuaån CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.1 DANH HIEÄU - Khi ñaët teân cho danh hieäu khoâng chuaån caàn phaûi theo sô ñoà cuù phaùp sau: CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.1 DANH HIEÄU Chuù yù: - Ñoái vôùi oâ vuoâng khi ñi ngang qua ta caàn phaûi laáy moät phaàn töû trong noù. - Ñoái vôùi oâ troøn khi ñi ngang qua ta phaûi laáy phaàn töû trong noù. - Moät danh hieäu coù theå ñöôïc baét ñaàu baèng daáu gaïch döôùi CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.1 DANH HIEÄU Ví duï: Main ? -batdau ? _batdau ? 2thang9 ? ket thuc ? CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.1 DANH HIEÄU Ví duï: Main ? -batdau ? _batdau ? 2thang9 ? ket thuc ? /* maøu ñoû: danh hieäu sai*/ CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.1 DANH HIEÄU Chieàu daøi moät danh hieäu khoâng bò haïn cheá, moãi boä dòch C seõ coù quy ñònh veà chieàu daøi danh hieäu khaùc nhau, ñoái vôùi caùc boä dòch C/C++ thì danh hieäu coù theå daøi tuøy yù, tuy nhieân trong caùc boä dòch Borland C/C++ coù quy ñònh moät giaù trò xaùc ñònh soá kyù töï ñaàu coù nghóa ñeå phaân bieät söï gioáng nhau vaø khaùc nhau giöõa hai danh hieäu.0, giaù trò naøy laø 31, trong Borland C++ 5.02, giaù trò naøy laø 55.

CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.1 DANH HIEÄU Ví duï: ket_thuc_vong_lap_in_ra_ky_tu_khoang_trang ket_thuc_vong_lap_in_ra_k CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.2 CAÙC KIEÅU DÖÕ LIEÄU CUÛA C C coù boán kieåu döõ lieäu chuaån: char, int, float vaø double, moãi kieåu seõ coù yeâu caàu veà boä nhôù vaø taàm trò nhö sau: KIEÅU KÍCH THÖÔÙC TAÀM TRÒ BIEÅU DIEÃN char 8 bit -128 .7E+308 CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.2 CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 1- Kieåu char char laø kieåu nguyeân moät byte, kieåu naøy coù theå ñöôïc söû duïng ñeå khai baùo bieán, bieán ñoù seõ chieám kích thöôùc trong boä nhôù laø 1 byte vaø coù theå giöõ moät kyù töï hoaëc moät giaù trò 8 bit. Moãi boä dòch C seõ coù quy ñònh khaùc nhau veà taàm trò cuûa kieåu char, ñoái vôùi boä dòch TURBO C VERSION 2.0 kieåu char laø kieåu coù daáu. CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.2 CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 1- Kieåu char Ví duï: Bieán kieåu char löu trò haèng kyù töï #include <stdio.h> main() { char d; d = 'a'; printf (“Ky tu trong bien d la %c ", d); } CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.2 CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 1- Kieåu char Ví duï: Bieán kieåu char löu trò soá nguyeân #include <stdio.h> main() { char c; c = 89; printf ("Tri trong bien c la %d ", c); } CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.2 CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 2- Kieåu int Kieåu int laø moät kieåu soá nguyeân, coù theå ñöôïc söû duïng ñeå khai baùo bieán, bieán ñoù coù kích thöôùc trong boä nhôù laø kích thöôùc cuûa soá nguyeân maø maùy quy ñònh, ñoái vôùi maùy PC vaø boä dòch Borland C/C++ thì chieàu daøi cuûa kieåu int laø 16 bit coù daáu, nhö vaäy moät bieán hay haèng thuoäc kieåu naøy coù taàm trò bieåu dieãn töø –32768 ñeán 32767 (töùc töø –215 ñeán 215 – 1). CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.2 CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 2- Kieåu int Ví duï : #include <stdio.h> main() { int i; i = 1234; i = i + 123; printf ("Trò trong bieán i laø %d ", i); } CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.2 CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 3- Kieåu float vaø double float laø kieåu soá thöïc daáu chaám ñoäng, coù ñoä chính xaùc ñôn (7 kyù soá sau daáu chaám thaäp phaân), double laø kieåu soá thöïc, daáu chaám ñoäng, coù ñoä chính xaùc keùp (15 kyù soá sau daáu chaám thaäp phaân).

Kieåu double coøn coù theå ñöôïc khai baùo laø long float, do ñoù khi khai baùo double b; thì cuõng hoaøn toaøn töông ñöông vôùi long float b; CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.2 CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 3- Kieåu float vaø double Ñeå xuaát nhaäp cho haèng, bieán, bieåu thöùc float chuoãi ñònh daïng ñöôïc söû duïng laø "%f" ñoái vôùi kieåu double thì chuoãi ñònh daïng laø "%lf" cho caùc haøm printf vaø scanf. Ví duï: float a; double b; CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.2 CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 3- Kieåu float vaø double Ví duï: #include <stdio.h> main() { double x, y, luy_thua; clrscr(); printf ("Moi nhap 2 so:"); scanf ("%lf %lf“, &x, &y); if (x < 0 && (y - (int)y != 0)) printf ("Ban da nhap sai tri"); else { luy_thua = pow (x, y); printf ("Luy thua cua %5.2lf", x, y, luy_thua); } } CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.2 CAÙC KIEÅU DÖÕ LIEÄU CUÛA C Ngoaøi ra, ANSI (American National Standards Institute – ANSI) coøn ñöa theâm moät kieåu döõ lieäu nöõa laø void. Ñaây laø kieåu khoâng trò, chæ duøng ñeå bieåu dieãn keát quaû traû veà cuûa haøm vaø khai baùo pointer khoâng troû ñeán moät kieåu döõ lieäu xaùc ñònh naøo caû. Kieåu naøy seõ ñöôïc noùi chi tieát hôn ôû caùc phaàn sau.

CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.2 CAÙC KIEÅU DÖÕ LIEÄU CUÛA C Ñeå boå sung cho boán kieåu döõ lieäu cô baûn C coøn ñöa ra caùc daïng boå sung signed, unsigned, short, long : - signed xaùc ñònh kieåu coù daáu. - unsigned xaùc ñònh kieåu khoâng daáu. - short xaùc ñònh kieåu ngaén cuûa kieåu cô baûn. - long xaùc ñònh kieåu daøi cuûa kieåu cô baûn.

CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.2 CAÙC KIEÅU DÖÕ LIEÄU CUÛA C CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.2 CAÙC KIEÅU DÖÕ LIEÄU CUÛA C Chuù yù raèng trong boä nhôù maùy tính, caùc giaù trò ñeàu ñöôïc löu tröõ döôùi daïng maõ nhò phaân coù nhieàu bit (8, 16 hoaëc 32 bit tuøy theo kieåu cuûa bieán hoaëc giaù trò), trong ñoù soá thöù töï cuûa caùc bit ñöôïc ñaùnh soá töø phaûi sang traùi baét ñaàu töø 0, soá hieäu naøy ñöôïc goïi laø vò trí cuûa bit. Moãi bit nhö vaäy coù moät troïng soá laø 2 muõ n, vôùi n laø vò trí cuûa bit ñoù. CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.2 CAÙC KIEÅU DÖÕ LIEÄU CUÛA C Do ñoù, moät soá maø nhò phaân laø 10011110 seõ ñöôïc bieåu dieãn nhö sau: CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.2 CAÙC KIEÅU DÖÕ LIEÄU CUÛA C Ví duï: moät giaù trò kieåu integer (coù daáu) 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 29+27+23+21 = 512 + 128 + 8 + 2 = +650 CHÖÔNG 7 CAÙC THAØNH PHAÀN CÔ BAÛN VAØ CAÙC KIEÅU DÖÕ LIEÄU CUÛA C 7.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ