1. Trang chủ
  2. » Giáo án - Bài giảng

Thiết kế lập trình cơ bản với C

93 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Lập Trình Cơ Bản Với C
Định dạng
Số trang 93
Dung lượng 1,45 MB

Cấu trúc

  • Chương 1. GIỚI THIỆU NGÔN NGỮ C (5)
    • 1.1 Một số khái niệm (5)
      • 1.1.1 Thông tin (5)
      • 1.1.2 Dữ liệu (5)
      • 1.1.3 Câu lệnh (5)
      • 1.1.4 Chương trình (6)
      • 1.1.5 Phần mềm (6)
      • 1.1.6 Ngôn ngữ lập trình (6)
    • 1.2 Khái quát về ngôn ngữ C/C++ (6)
    • 1.3 Các bước thực hiện một chương trình (8)
    • 1.4 Chương trình đơn giản (8)
      • 1.4.1 Cấu trúc 1 chương trình C (9)
    • 1.5 Giải thuật và đặc tả giải thuật (11)
      • 1.5.1 Khái niệm (11)
      • 1.5.2 Lưu đồ (11)
      • 1.5.3 Mã giả (12)
      • 1.5.4 Ví dụ (12)
  • Chương 2. CÁC KIỂU DỮ LIỆU, HẰNG, BIẾN (16)
    • 2.1 Tập ký tự dùng trong C (16)
    • 2.2 Từ khóa (16)
    • 2.3 Tên và cách đặt tên (16)
      • 2.3.1 Tên (16)
      • 2.3.2 Cách đặt tên (17)
    • 2.4 Các kiểu dữ liệu cơ bản (17)
      • 2.4.1 Kiểu số nguyên (17)
      • 2.4.2 Kiểu số thực (18)
      • 2.4.3 Kiểu dữ liệu void (18)
    • 2.5 Biến (18)
      • 2.5.1 Khái niệm (18)
      • 2.5.2 Cú pháp khai báo (18)
      • 2.5.3 Ví dụ (18)
      • 2.5.4 Phạm vi của biến (18)
    • 2.6 Hằng (19)
      • 2.6.1 Khái niệm (19)
      • 2.6.2 Cú pháp khai báo (19)
      • 2.6.3 Ví dụ (19)
  • Chương 3. TOÁN TỬ VÀ BIỂU THỨC (23)
    • 3.1 Các loại toán tử (23)
      • 3.1.1 Toán tử số học (23)
      • 3.1.2 Toán tử luận lý (25)
      • 3.1.3 Toán tử bit (27)
      • 3.1.4 Toán tử so sánh (28)
      • 3.1.5 Toán tử gán (29)
      • 3.1.6 Toán tử điều kiện ? (0)
    • 3.2 Độ ưu tiên của các toán tử trong 1 biểu thức có nhiều toán tử (31)
    • 3.3 Biểu thức (32)
      • 3.3.1 Khái niệm (32)
      • 3.3.2 Ví dụ (32)
    • 3.4 Câu lệnh nhập/xuất (32)
      • 3.4.1 Câu lệnh printf (32)
      • 3.4.2 Câu lệnh scanf (37)
  • Chương 4. CÁC CẤU TRÚC ĐIỀU KHIỂN (42)
    • 4.1 Giới thiệu (42)
    • 4.2 Cấu trúc điều kiện (42)
      • 4.2.1 Cấu trúc if (42)
      • 4.2.2 Cấu trúc if…else (43)
      • 4.2.3 Cấu trúc if… else lồng nhau (45)
    • 4.3 Cấu trúc switch (48)
      • 4.3.1 Cú pháp (48)
      • 4.3.2 Ý nghĩa (49)
    • 4.4 Cấu trúc lặp for (51)
      • 4.4.1 Cú pháp (51)
      • 4.4.2 Ý nghĩa (51)
      • 4.4.3 Ví dụ (51)
    • 4.5 Cấu trúc lặp while (53)
      • 4.5.1 Cú pháp (53)
      • 4.5.2 Ý nghĩa (54)
      • 4.5.3 Ví dụ (54)
    • 4.6 Cấu trúc lặp do while (56)
      • 4.6.1 Cú pháp (56)
      • 4.6.2 Ý nghĩa (56)
      • 4.6.3 Ví dụ (56)
    • 4.7 So sánh giữa các cấu trúc (58)
    • 4.8 Câu lệnh break và continue (59)
      • 4.8.1 Ý nghĩa (59)
      • 4.8.2 Ví dụ (59)
    • 4.9 Câu lệnh return (61)
      • 4.9.1 Ý nghĩa (61)
      • 4.9.2 Cú pháp (61)
      • 4.9.3 Ví dụ (61)
    • 4.10 Câu lệnh goto (61)
      • 4.10.1 Ý nghĩa (61)
      • 4.10.2 Cú pháp (62)
      • 4.10.3 Ví dụ (62)
  • Chương 5. HÀM (67)
    • 5.1 Giới thiệu (67)
    • 5.2 Các hàm thư viện thông dụng (67)
    • 5.3 Hàm do người dùng tự xây dựng (68)
      • 5.3.1 Định nghĩa hàm (68)
      • 5.3.2 Sử dụng hàm (69)
    • 5.4 Nguyên tắt hoạt động của hàm (71)
    • 5.5 Tham số (71)
      • 5.5.1 Tham trị (71)
      • 5.5.2 Tham chiếu (72)
    • 5.6 Biến toàn cục và cục bộ (73)
    • 5.7 Hàm không có tham số và không có kiểu trả về (73)
    • 5.8 Hàm đệ qui (75)
      • 5.8.1 Định nghĩa (75)
      • 5.8.2 Cách xây dựng hàm (76)
  • Chương 6. MẢNG MỘT CHIỀU (79)
    • 6.1 Giới thiệu (79)
    • 6.2 Khai báo và khởi tạo (79)
      • 6.2.1 Khai báo tường minh (79)
      • 6.2.2 Khai báo không tường minh (80)
      • 6.2.3 Khai báo và khởi tạo trị ban đầu (80)
    • 6.3 Truy xuất mảng (81)
      • 6.3.1 Nhập dữ liệu cho mảng (82)
      • 6.3.2 Xuất dữ liệu từ mảng (82)
    • 6.4 Sắp xếp mảng (83)
    • 6.5 Tìm kiếm trên mảng (86)

Nội dung

GIỚI THIỆU NGÔN NGỮ C

Một số khái niệm

Thông tin là sự hiểu biết mà con người có được về một sự kiện hoặc hiện tượng thông qua các hoạt động như nghiên cứu, trao đổi, nhận xét, học tập, truyền thụ và cảm nhận.

- Con người hiểu được thông tin qua lời nói, chữ viết… và diễn tả thông tin thành ngôn ngữ để truyền đạt cho nhau

Thông tin có thể được truyền tải qua nhiều môi trường vật lý khác nhau, bao gồm ánh sáng, sóng âm và sóng điện từ Nó được lưu trữ trên các phương tiện hữu hình như văn bản in trên giấy, băng ghi âm hoặc phim ảnh.

- Là hình thức thể hiện của thông tin trong mục đích thu thập, lưu trữ và xử lý

- Trong nhiều tài liệu người ta định nghĩa dữ liệu là đối tượng xử lý của máy tính

- Thông tin luôn mang một ý nghĩa xác định còn dữ liệu là các dữ kiện không có ý nghĩa rõ ràng nếu nó không được tổ chức và xử lý

Câu lệnh là những chỉ thị hoàn chỉnh và có ý nghĩa rõ ràng, đóng vai trò là đơn vị cơ bản trong một ngôn ngữ lập trình Để hoạt động hiệu quả, các chỉ thị này cần tuân thủ các quy tắc nhất định.

Mỗi câu lệnh trong lập trình bao gồm một hoặc nhiều mệnh lệnh cho máy tính Cấu trúc và trật tự của các câu lệnh này khác nhau tùy thuộc vào ngôn ngữ lập trình, và trật tự cố định này được gọi là cú pháp (syntax).

Lập trình là tập hợp các câu lệnh và phát biểu theo một hệ thống quy ước về ý nghĩa và thứ tự thực hiện, nhằm điều khiển máy tính thực hiện công việc Niklaus Wirth đã định nghĩa lập trình theo cách này.

Chương trình = Thuật toán + Cấu trúc dữ liệu

Là 1 tập họp các chương trình

Ngôn ngữ lập trình là hệ thống ký hiệu theo quy tắc ngữ pháp và ngữ nghĩa, dùng để xây dựng chương trình cho máy tính Chương trình viết bằng ngôn ngữ lập trình cụ thể, như Pascal hay C, được gọi là chương trình nguồn, trong khi chương trình dịch sẽ chuyển đổi chương trình nguồn thành chương trình thực thi trên máy tính Để một ngôn ngữ lập trình được công nhận, nó cần đáp ứng hai điều kiện cơ bản.

 Phải dễ hiểu và dễ sử dụng đối với người lập trình, để con người có thể dùng nó giải quyết các bài toán khác

 Phải miêu tả một cách đầy đủ và rõ ràng các tiến trình (process), để có thể chạy được trên các máy tính khác.

Khái quát về ngôn ngữ C/C++

C là ngôn ngữ lập trình, được sử dụng rất phổ biến để lập trình hệ thốngcùng với Assembler và phát triển các ứng dụng

Vào cuối thập kỷ 60 và đầu thập kỷ 70 của thế kỷ XX, Dennish Ritchie tại phòng thí nghiệm Bell đã phát triển ngôn ngữ lập trình C, dựa trên ngôn ngữ BCPL do Martin Richards giới thiệu năm 1967 và ngôn ngữ B do Ken Thompson phát triển từ BCPL vào năm 1970 khi viết hệ điều hành UNIX đầu tiên trên máy PDP-7 Ngôn ngữ C được cài đặt lần đầu tiên trên hệ điều hành UNIX của máy DEC PDP-11.

Năm 1978, Dennish Ritchie và B.W Kernighan đã cho xuất bản quyển

“Ngôn ngữ lập trình C” và được phổ biến rộng rãi đến nay

Ngôn ngữ lập trình C được phát triển ban đầu để hỗ trợ lập trình trong môi trường hệ điều hành Unix, phục vụ cho các công việc lập trình phức tạp Tuy nhiên, với sự gia tăng nhu cầu lập trình, C đã nhanh chóng thoát khỏi khuôn khổ của phòng thí nghiệm Bell và trở thành một công cụ phổ biến trong ngành công nghiệp phần mềm Các công ty sản xuất phần mềm đã liên tục phát hành các phiên bản hỗ trợ lập trình bằng ngôn ngữ C, dẫn đến sự ra đời của chuẩn ANSI C.

Ngôn ngữ lập trình C là một ngôn ngữ lập trình hệ thống rất mạnh và rất

Ngôn ngữ lập trình C nổi bật với tính "mềm dẻo" và thư viện phong phú chứa nhiều hàm đã được tạo sẵn, giúp lập trình viên giải quyết các bài toán mà không cần phải viết lại từ đầu C hỗ trợ nhiều phép toán, rất phù hợp cho các bài toán kỹ thuật phức tạp và cho phép định nghĩa các kiểu dữ liệu trừu tượng Tuy nhiên, người mới học thường gặp khó khăn do tính linh hoạt của C Dù vậy, C vẫn được sử dụng rộng rãi và trở thành một công cụ mạnh mẽ trong việc phát triển phần mềm hiện đại.

1990, ra đời các ngôn ngữ lập trình hướng đối tượng C++ và Java

Nhiều ngôn ngữ hiện đại đều bắt nguồn từ C như: MS VC++, Java, C# Ngôn ngữ C có những đặc điểm cơ bản sau:

Tính cô đọng (compact): C chỉ có 32 từ khóa chuẩn và 40 toán tử chuẩn, nhưng hầu hết đều được biểu diễn bằng những chuỗi ký tự ngắn gọn

Ngôn ngữ lập trình C có tính cấu trúc với các chỉ thị như cấu trúc lựa chọn và lặp, giúp tổ chức chương trình một cách rõ ràng và dễ hiểu.

Ngôn ngữ lập trình C nổi bật với tính tương thích cao, nhờ vào bộ tiền xử lý mạnh mẽ và thư viện chuẩn phong phú Điều này cho phép các chương trình viết bằng C hoạt động mượt mà trên nhiều máy tính khác nhau mà không gặp phải vấn đề tương thích.

Ngôn ngữ C nổi bật với tính linh động, cho phép nhiều cách thể hiện khác nhau Điều này giúp tối ưu hóa kích thước mã lệnh, từ đó nâng cao hiệu suất và tốc độ chạy của chương trình.

Biên dịch (compile) : C cho phép biên dịch nhiều tập tin chương trình riêng rẽ thành các tập tin đối tượng (object) và liên kết (link) các đối tượng đó

Trang 8 lại với nhau thành một chương trình có thể thực thi được (executable) thống nhất

Ngôn ngữ C là một ngôn ngữ bậc trung, kết hợp các yếu tố của ngôn ngữ cấp cao và chức năng của hợp ngữ, cho phép lập trình ở mức hệ thống thông qua việc thao tác trên các thành phần cơ bản của máy tính như bits, bytes, địa chỉ và con trỏ Một điểm mạnh của C là khả năng chuyển đổi mã, giúp phần mềm được viết cho một loại máy tính hoặc hệ điều hành có thể chạy trên các hệ thống khác C có 5 kiểu dữ liệu cơ bản và 32 từ khóa chuẩn, ít hơn so với nhiều ngôn ngữ cấp cao khác như Basic với hơn 100 từ khóa.

Ngôn ngữ C được coi là ngôn ngữ cấu trúc do có nhiều điểm tương đồng với các ngôn ngữ như ALGOL và Pascal Đặc trưng nổi bật của ngôn ngữ cấu trúc là sự phân tách rõ ràng giữa mã nguồn và dữ liệu Sự phân tách này thường được thực hiện thông qua việc sử dụng các chương trình con với các biến cục bộ Điều này cho phép lập trình viên xây dựng các chương trình con mà không ảnh hưởng đến các phần khác của chương trình.

Các bước thực hiện một chương trình

Bước 1: Phân tích vấn đề và xác định các đặc điểm (xác định I-P-O) Bước 2: Lập ra giải pháp (đưa ra thuật giải)

Bước 3: Cài đặt (viết chương trình)

Bước 4: Chạy thử chương trình (dịch chương trình)

Bước 5: Kiểm chứng và hoàn thiện chương trình (thử nghiệm bằng nhiều số liệu và đánh giá)

Ví dụ: xác định I_P_O cho chương trình nhập 2 số nguyên , tính và xuất tổng 2 số đó

Chương trình đơn giản

{ int a,b, tong; printf("nhap a: ");scanf("%d", &a); printf("nhap b: ");scanf("%d", &b); tong = a+b; printf("%d + %d = %d", a, b, tong); getch();

Chỉ thị tiền xử lý:

Trong C, việc dịch (translation) một tập tin nguồn được tiến hành trên hai bướchoàn toàn độc lập với nhau:

Hai bước này thường được thực hiện liên tiếp một cách tự động, tạo ấn tượng rằng chúng như một quá trình xử lý duy nhất.

Bước tiền xử lý liên quan đến việc cập nhật văn bản trong chương trình nguồn, chủ yếu thông qua việc diễn giải các chỉ thị dẫn hướng đặc biệt của bộ tiền xử lý, bắt đầu bằng ký hiệu #.

Hai chỉ thị tiền xử lý thường dùng nhất là:

- Chỉ thị sự gộp vào của các tập tin nguồn khác: #include

- Chỉ thị việc định nghĩa các macro hoặc ký hiệu: #define

Xuất kết quả Các xử lý

Chỉ thị #include được sử dụng để gộp nội dung từ các tậptin, đặc biệt là các tậptin tiêu đề, giúp tối ưu hóa việc sử dụng các hàm trong thư viện chuẩn Thư viện phổ biến nhất thường được sử dụng là #include .

Chỉ thị thứ hai thường được sử dụng trong các tập tin thư viện (header file) đã được định nghĩa trước đó, giúp các lập trình viên dễ dàng định nghĩa các ký hiệu.

1 Chương trình C bao gồm các phần như: Các chỉ thị tiền xử lý, khai báo biến ngoài, các hàm tự tạo, chương trình chính (hàm main)

Cấu trúc có thể như sau:

Các chỉ thị tiền xử lý (Preprocessor directives)

#include

#define là một chỉ thị dùng để định nghĩa kiểu dữ liệu, cho phép người dùng đặt tên lại cho một kiểu dữ liệu hiện có hoặc tạo ra một kiểu dữ liệu mới Phần này không bắt buộc, nhưng hữu ích trong việc gợi nhớ và quản lý các kiểu dữ liệu trong lập trình.

Cú pháp: typedef ;

Ví dụ: typedef int SoNguyen; // Kiểu SoNguyen là kiểu int

Khai báo các prototype: phần này chỉ là các khai báo đầuhàm, không phải là phần định nghĩa hàm

Cú pháp: Tên_hàm ( các tham số);

Khai báo các biến ngoài (các biến toàn cục) phần này không bắt buộc: phần này khaibáo các biến toàn cục được sử dụng trong cả chương trình

Chương trình chính phần này bắt buộc phải có void main()

Các khai báo cục bộ trong hàm main: Các khai báo này chỉ tồn tại trong hàm mà thôi, có thể là khai báo biến hay khai báo kiểu

Các câu lệnh dùng để xử lý bên trong hàm main

Tên_hàm ( các tham số)

Các khai báo cục bộ trong hàm

Các câu lệnh dùng để xử lý bên trong hàm

[return;]

Một chương trình C bắt đầu thực thi từ hàm main:thông thường là từ câu lệnh đầu tiên đến câu lệnh cuối cùng.

Giải thuật và đặc tả giải thuật

Giải thuật, hay còn gọi là thuật toán, là một quy trình hoặc công thức dùng để giải quyết vấn đề, bao gồm một chuỗi các bước nhằm đạt được lời giải Để mô tả giải thuật, người ta thường sử dụng hai phương pháp chuẩn là mã giả (pseudo code) và lưu đồ (flowchart).

Lưu đồ là hình ảnh minh họa cho giải thuật, thể hiện biểu đồ luồng chỉ thị và các hoạt động trong một tiến trình Mỗi hoạt động được biểu diễn bằng các ký hiệu đặc trưng.

Tập các ký hiệu dùng biểu diễn lưu đồ:

Khối Nhập xuất Khối xử lý Lựa chọn 1 trong 2 trường hợp Gọi chương trình con

Luồng xử lý Điểm ghép nối

Mã giả sử dụng một tập hợp những từ tương tự như mã thật nhưng nó không thể được biên dịch và thực thi như mã thật

Ví dụ 1:Nhập 2 số nguyên, xuất tổng của 2 số đó

Ví dụ 2:Tìm số lớn nhất trong 3 số

 Câu lệnh là chỉ thị hoàn chỉnh và có ý nghĩa rõ ràng, là một đơn vị cơ bản cuả một ngôn ngữ lập trình

 Chương trình: là một tập hợp các câu lệnh

 Phần mềm: là 1 tập họp các chương trình

Để thực hiện một chương trình hiệu quả, cần tuân theo các bước sau: đầu tiên, phân tích vấn đề và xác định các đặc điểm, bao gồm việc xác định đầu vào, quá trình và đầu ra (I-P-O) Tiếp theo, đưa ra thuật giải phù hợp, sau đó tiến hành cài đặt chương trình Sau khi cài đặt, cần chạy thử chương trình để kiểm tra tính chính xác và hiệu quả Cuối cùng, thực hiện kiểm chứng và hoàn thiện chương trình để đảm bảo chất lượng.

 Một giải thuật (còn gọi là thuật toán) là một tập hợp các bước giúp đạt được lời giải

 Đặt tả giải thuật:Giải thuật được viết bằng cách dùng hai phương pháp chuẩn là mã giả (pseudo code) và lưu đồ (flowchart)

 Cấu trúc 1 chương trình C đơn giản:

Các chỉ thị tiền xử lý (Preprocessor directives)

#include

#define … Định nghĩa kiểu dữ liệu (phần này không bắt buộc)

Khai báo các prototype (tên hàm, các tham số, kiểu kết quả trả về,… của các hàm sẽcài đặt trong phần sau, phần này không bắt buộc)

Khai báo các biến ngoài (các biến toàn cục) phần này không bắt buộc: Chương trình chính phần này bắt buộc phải có void main()

Các khai báo cục bộ trong hàm main

Các câu lệnh dùng để xử lý bên trong hàm main

Tên_hàm ( các tham số)

Các khai báo cục bộ trong hàm

Các câu lệnh dùng để xử lý bên trong hàm

[return;]

Câu hỏi và bài tập:

1 Phân biệt các khái niệm: câu lệnh, chương trình, phần mềm

2 Trình bày cấu trúc 1 chương trình C đơn giản

3 Viết một đoạn mã giả và vẽ một lưu đồ để nhập một giá trị là độ 0 C (Celsius) và chuyển nó sang độ 0 F (Fahrenheit)

4 Viết một đoạn mã giả và vẽ một lưu đồ để nhập điểm của một sinh viên cho các môn :Lập trình C cơ bản, Kỹ thuật lập trình, và Cấu trúc dữ liệu và giải thuật Sau đó hiển thị điểm trung bình và tổng của những điểm này

5 Viết một đoạn mã giả và vẽ một lưu đồ để đổi từ tiền Việt sang USD biết tỷ giá 20.800 ĐVN/1 USD

6 Viết một đoạn mã giả và vẽ một lưu đồ để giải phương trình bậc 2

7 Viết một đoạn mã giả và vẽ một lưu đồ để tìm giá trị nhỏ nhất của 3 số

CÁC KIỂU DỮ LIỆU, HẰNG, BIẾN

Tập ký tự dùng trong C

C phân biệt chữ hoa, chữ thường Do đó tập ký tự trong C bao gồm:

 Các ký tự mẫu tự: a z, A Z

 Các ký tự đặt bịêt: + - * / % & ! # ^ & …

 Tập ký tự trong C bao gồm các ký tự in được của bàn phím chuẩn

Từ khóa

Mỗi ngôn ngữ đều có những từ khóa đặc biệt phục vụ cho mục đích riêng, mang ý nghĩa sâu sắc trong bối cảnh của ngôn ngữ đó Những từ này đóng vai trò quan trọng trong việc truyền đạt thông điệp và ý tưởng.

Trong C có các từ khóa sau:

Tên và cách đặt tên

A name is a term used to identify various elements within a program, such as constants, variables, arrays, and functions Keywords like auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, static, struct, signed, sizeof, switch, typedef, union, unsigned, void, volatile, and while play crucial roles in defining the structure and behavior of programming languages.

Tên trong lập trình đóng vai trò quan trọng, không chỉ thể hiện ý nghĩa mà còn giúp xác định các đại lượng khác nhau trong chương trình Tên thường được sử dụng cho hằng, biến, mảng, con trỏ và nhãn Chiều dài tối đa của tên là 32 ký tự, và tên biến hợp lệ phải là chuỗi ký tự liên tục bao gồm chữ cái, số và dấu gạch dưới, với ký tự đầu tiên phải là chữ hoặc dấu gạch dưới Lưu ý rằng tên không được trùng với các từ khóa.

 Bắt đầu bằng ký tự mẫu tự

 Bao gồm các ký tự mẫu tự, các ký số, dấu “_”

 Không có ký tự đặc biệt

 Không trùng tên từ khoá

Lưu ý:Tên nên gợi nhớ công dụng của đối tượng

Các kiểu dữ liệu cơ bản

Kiểu Kích thước(byte) Miền giá trị char 1 -128…+127 unsigned char 1 0-255 int 2 -32768…+32767 unsigned int 2 0…65535 long 4 – 2.147.483.648…+2,147,483,647 unsigned long 4 0…4,294,967,295

Kiểu Kích thước(byte) Miền giá trị float 4 3.4 * 10-38 … 3.4 * 10+38 double 8 1.7 * 10-308 … 1.7 * 10+308 long double 10 3.4 * 10-4932 … 1.1 * 10+4932

Trong ngôn ngữ lập trình C, kiểu dữ liệu void là một kiểu đặc biệt cho biết rằng đối tượng không thuộc bất kỳ kiểu dữ liệu nào Thông thường, các hàm trong C sẽ trả về dữ liệu thuộc một kiểu nhất định, nhưng khi một hàm không cần trả về giá trị nào, kiểu dữ liệu void được sử dụng để biểu thị điều này.

Biến

Là 1 phần bộ nhớ được đặt tên và được dùng để lưu trữ 1 giá trị có thể thay đổi khi thực hiện chương trình Tất cả các biến trong C đều phải được khai báo trước khi sử dụng

[=< giá trị 1 >], [=< giá trị 2 >],… ; 2.5.3 Ví dụ: int x=5, y= 7, z;

Khi lập trình, việc hiểu rõ phạm vi của biến là rất quan trọng Nếu khai báo và sử dụng biến không đúng cách, sẽ dễ dẫn đến những sai sót khó kiểm soát Do đó, cần xác định chính xác vị trí và phạm vi sử dụng của biến trước khi tiến hành lập trình.

Khai báo biến toàn cục là việc đặt biến bên ngoài tất cả các hàm và cấu trúc, cho phép chúng ảnh hưởng đến toàn bộ chương trình Những biến này có thể được sử dụng ở bất kỳ phần nào trong chương trình, và chu trình sống của chúng kéo dài từ khi chương trình bắt đầu cho đến khi kết thúc.

Khai báo biến cục bộ được thực hiện bên trong hàm hoặc cấu trúc, và chỉ ảnh hưởng đến nội bộ của hàm hoặc cấu trúc đó Chu trình sống của biến cục bộ bắt đầu khi hàm hoặc cấu trúc được gọi và kết thúc khi quá trình thực hiện hoàn tất.

{ int tong =0; int n; printf("n = "); scanf("%d", &n); for(int i=1 ; i giá trị

Cách 2: dùng từ khóa const const < tên hằng> =

Ví dụ:const long MaxSalary000000;

Cách 3:Viết thẳng trị hằng trong chương trình

Trang 20 const int MaxN0; const long MaxSalary000000; const float g=9.8; const char k1='A'; const char k2='b'; void main()

The code snippet demonstrates how to use the `sizeof` operator in C to determine the sizes of various variables and constants, including `PI`, `MaxN`, `MaxSalary`, `g`, `k1`, and `k2` Each size is printed to the console, providing essential information about the memory allocation of these elements in the program This practice is crucial for understanding data types and optimizing resource management in C programming.

 Tất cả ngôn ngữ dành một số từ nhất định cho mục đích riêng Những từ này được gọi là là “từ khóa” (keywords)

 Một hằng là mộtthànhphần có giá trị không thay đổi khi thực hiện chương trình

 Biến là thành phần có trị có thể thay đổi khi thực hiện chương trình

 Tên của các biến (variable), các hàm (function), các nhãn (label) và các đối tượng khác nhau do người dùng định nghĩa phải tuân thủ qui tắc:

 Bắt đầu bằng ký tự mẫu tự

 Bao gồm các ký tự mẫu tự, các ký số, dấu “_”

 Không có ký tự đặc biệt

 Không trùng tên từ khoá

 Các kiểu dữ liệu cơ bản của C là char, integer, long, float, double và void

Câu hỏi và bài tập:

1.Phân biệt hằng, biến? Cách khai báo và sử dụng hằng biến?

2.Qui tắt đặt tên trong C?

3.Các liểu dữ liệu cơ bản trong C?

4 Viết chương trình nhập vào bán kính r của một hình tròn Tính chu vi và diện tích của hình tròn theo công thức :

In kết quả lên màn hình

5 Viết chương trình nhập vào độ dài 3 cạnh a, b, c của một tam giác Tính chu vi và diện tích của tam giác theo công thức:

In kết quả lên màn hình

6 Viết chương trình tính log a x với a, x là số thực nhập vào từ bàn phím, x>0,a>0, a != 1.( dùng log a x=lnx/lna)

7 Viết chương trình nhập vào tọa độ của hai điểm (x1, y1) và (x2, y2) a) Tính hệ số góc của đường thẳng đi qua hai điểm theo công thức:

Hệ số góc = (y2 - y1) /(x2 - x1) b) Tính khoảng cách giữa hai điểm theo công thức:

8 Viết chương trình nhập vào một ký tự: a) In ra mã Ascii của ký tự đó b) In ra ký tự kế tiếp của nó

8 Viết chương trình nhập vào điểm ba môn Toán, Lý, Hóa của một học sinh In ra điểm trung bình của học sinh đó với hai số lẻ thập phân

9 Viết chương trình nhập vào ngày, tháng, năm In ra ngày tháng năm theo dạng dd/mm/yyyy.(dd: ngày, mm: tháng, yyyy : năm Ví dụ: 20/11/2012 )

10 Viết chương trình đảo ngược một số nguyên dương có 3 chữ số

TOÁN TỬ VÀ BIỂU THỨC

Các loại toán tử

Ngôn ngữ lập trình C sở hữu một tập hợp phong phú các toán tử, được sử dụng như công cụ để thao tác dữ liệu Toán tử là ký hiệu đại diện cho các thao tác cụ thể trên dữ liệu Trong C, có bốn loại toán tử được định nghĩa.

+ Toán tử số học (arithmetec)

+ Toán tử quan hệ (relational)

+ Toán tử luận lý (logical)

Toán tử trong lập trình được phân loại thành toán tử một ngôi, hai ngôi và ba ngôi, tùy thuộc vào số lượng toán hạng (operands) mà chúng thao tác Toán tử một ngôi chỉ thao tác trên một toán hạng, trong khi toán tử hai ngôi thao tác trên hai toán hạng và toán tử ba ngôi thao tác trên ba toán hạng.

Trang 24 Độ ưu tiên giữa các toán tử:

Loại toán tử Toán tử Tính kết hợp

Một ngôi - , ++, Phải sang trái

Hai ngôi ^ Trái sang phải

Ví dụ 1:Tìm lỗi trong chương trình sau

Chia(division) / x/y -Chia x cho y nếu x,y là số thực

-Lấy phần nguyên phép chia x/y nếu x,y là số nguyên

Lấy phần dư (remainder) được tính bằng phép chia x/y, trong đó x và y là các số nguyên, được biểu thị bằng x % y Khi sử dụng toán tử tăng trước (preIncrement) với cú pháp ++x, giá trị của x sẽ được tăng thêm 1 đơn vị trước khi được sử dụng Ngược lại, với toán tử tăng sau (posIncrement) được viết là x++, giá trị của x sẽ được tăng thêm 1 đơn vị sau khi đã được sử dụng.

Giảm trước( preDecrement) x Giảm x 1 đơn vị trước khi dùng Giảm sau(posIncrement) x Giảm x 1 đơn vị sau khi dùng Đổi dấu(minus) - -x Đổi dấu của x

Giữ trị + +x Giữ trị x không đổi

**Toán tử % không áp dụng với kiểu dữ liệu số thực

{ int m=6; double n=4.5; int a=m++; printf("a = %d, m = %d", a, m); double b = ++n; printf("\n b = %lf, n = %lf", b, n); printf("\n ++a - 2 * 5 - m = %d", ++a - 2 * 5 - m ); getch();}

Trong ngôn ngữ lập trình C, không tồn tại kiểu dữ liệu Boolean như ở một số ngôn ngữ khác; thay vào đó, TRUE và FALSE được định nghĩa dưới dạng các hằng số Một biểu thức được coi là sai khi có giá trị bằng 0, trong khi biểu thức đúng có giá trị khác 0.

Toán tử Ký hiệu Cú pháp Kết quả

Not ! !x Đúng nếu x=sai, và ngược lại

And && x && y Đúng nếu x và y đúng, và sai khi x hoặc y sai

Or || x || y Đúng nếu x hoặc y đúng, và sai khi tất cả x,y cùng sai

Thứ tự ưu tiên của các toán tử:khi có nhiều toán tử luận lý trong một biểu thức , chúng được lượng giá từ phải sang trái

Ví dụ 1:xét điều kiện sau:

False OR True ANDNOT False AND True Ðiều kiện này được tính như sau:

1 False OR True AND [NOT False] AND True

NOT có độ ưu tiên cao nhất

2 False OR True AND [True AND True] Ở đây, AND là toán tử có độ ưu tiên cao nhất và những toán tử có cùng ưu tiên được tính từ phải sang trái

3 False OR [True AND True]

{ int x=5, y=7, z=9; printf("\ngia tri cua x || y la %d", x ||y); printf("\ngia tri cua x&&y la %d", x&&y); printf("\ngia tri cua x && y ||z && !y la %d", x && y ||z && !y ); getch();

{ int l, k, m=3, n=9, kq1, kq2, kq3, kq4; l=l|m; m=m&n; kq1 = n3;

Toán tử Ký hiệu Cú pháp Kết quả

And & x & y And từng cặp bit của x,y

Or | x | y or từng cặp bit của x,y

ER_OR ^ x^y Ex_or từng cặp bit của x,y

(0|0 = 0; 1|0 =1; 0|1 = 1;1|1=0) Left Shift

Ngày đăng: 11/10/2022, 23:14

HÌNH ẢNH LIÊN QUAN

Một lưu đồ là một hình ảnh minh hoạ cho giải thuật. Nó vẽ ra biểu đồ của luồng  chỉ  thị  hay  những  hoạt  động  trong  một  tiến  trình - Thiết kế lập trình cơ bản với C
t lưu đồ là một hình ảnh minh hoạ cho giải thuật. Nó vẽ ra biểu đồ của luồng chỉ thị hay những hoạt động trong một tiến trình (Trang 11)
Xuất dữliệu lên màn hình theo khn dạng - Thiết kế lập trình cơ bản với C
u ất dữliệu lên màn hình theo khn dạng (Trang 32)
của bàn phím và màn hình của máy tính. Nó chứa các hàm định dạng và không định dạng. - Thiết kế lập trình cơ bản với C
c ủa bàn phím và màn hình của máy tính. Nó chứa các hàm định dạng và không định dạng (Trang 40)
Trong hàm HoanVi ở trên, biến x,y là tham số hình thức được truyền bằng giá trị (gọi là tham trị của hàm) - Thiết kế lập trình cơ bản với C
rong hàm HoanVi ở trên, biến x,y là tham số hình thức được truyền bằng giá trị (gọi là tham trị của hàm) (Trang 72)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w