■ Chương trình viết xong chưa thể biết được đúng hay sai => phải chạy thử với các bộ số liệu khác nhau (nên test thử với các bộ số liệu đặc biệt ).. Các khái niệm cơ bản[r]
(1)TIN HỌC ĐẠI CƯƠNG Chương 4: NGÔN NGỮ LẬP TRÌNH C
GV: Nguyễn Lê Minh Bộ môn: Công nghệ thông tin
(2)Giới thiệu
Năm 1970 Ken Thompson sáng tạo ngôn ngữ B (Basic Combined Programming Language) môi trường HĐH Unix máy DEC PD-7
Năm 1972 Dennis Ritchie Bell Labotories Ken Thompson sáng tạo ngôn ngữ C nhằm tăng hiệu cho ngôn ngữ B
Ngơn ngữ C nhanh chóng phổ biến rộng rãi sử dụng để viết nên HĐH đa nhiệm UNIX, O/S 2, ngôn ngữ Dbase
Phát triển thành C++ vào năm 1983 hỗ trợ lập trình hướng đối tượng
Có nhiều trình biên dịch C khác
Turbo C (từ ver tới ver 3), Microsoft C (ver tới ver 6)
C++ với trình biên dịch tiếng Borland C++, Visual C++, Turbo C++
Trình ứng dụng hỗ trợ:
Borland C++ 5.02 C-Free Dev C++
(3)Tập ký tự
Mọi ngôn ngữ xây dựng ký tự Bộ ký tự C gồm:
- Các chữ in hoa: A, B, C, ,Z - Các chữ thường: a, b, c, ,z - Các chữ số: 0, 1,2, ,9
- Các loại dấu chấm câu ! ? : ;
- Các dấu toán học: + , - , * , / , %, >, <, =, ( , ) - Các dấu đặc biệt: @, #, &, A, $ { , } , [, ], \, | - Các ký tự khơng nhìn thấy: Space, Enter, Tab - Dấu gạch _
(4)Từ khóa
■ Là từ dùng riêng cho ngơn ngữ
■ Từ khố phải dùng cú pháp quy định ■ Mọi từ khoá viết thường (không viết in hoa) ■ Các từ khoá thường gặp.
(5)Tên cách đặt tên
Dùng để định danh thành phần chương trình Tên biến, tên hàm, tên hằng, file, cấu trúc
Gồm chữ số dấu gạch nối “_” Độ dài tối đa 32
Lưu ý:
- Khơng chứa kí tự trống (space) - Không bắt đầu chữ số - Khơng trùng với từ khóa
- Không đặt tên dạng số mũ só (vd: H2SO4)
- Khơng đặt tên với ký tự tiếng việt (vd: SốMaX, TổngChẵn v.v)
Nên đặt tên cách gợi nhớ có ý nghĩa
Tên chuẩn: số tên có sẵn trình biên dịch C ngôn ngữ phân biệt viết hoa, viết thường
(6)Tên cách đặt tên
■ Cách đặt tên đúng:
a) Hoc-tap b) Bien2
c) _HangSo d) 2SinhVien
e) Lớp f) char
g) Sinh_vien h) Mon hoc i) Ngay,sinh
(7)Nội dung
1 Các khái niệm bản
2 Các kiểu liệu
3 Các lệnh điều khiển
4 Bài tập thực hành
(8)Nội dung
1. Các khái niệm bản
2 Các kiểu liệu
3 Các lệnh điều khiển
4 Bài tập thực hành
(9)1.1 Các khái niệm bản
Hằng:
- Là đại lượng có giá trị khơng thay đổi - Ví dụ:
• 124 Là số
• ‘D’ Là ký tự
• “Lap trinh” Là chuỗi ký tự
Biến
- Là đại lượng thay đổi giá trị (gán giá trị mới)
Biểu thức
- Là cơng thức tính tốn để có giá trị theo quy tắc toán học - Gồm tốn hạng phép tốn (tốn tử)
• Toán hạng: hằng, biến, hàm biểu thức khác
(10)1.1 Các khái niệm bản Các phép toán hỗ trợ C
■ Số học: + , - , * , / , %
■ Luận lý: ==, !=, >, <, >=, <=, &&, ||, !
■ Gán giá trị: =
■ Lấy kích cỡ theo số byte: sizeof(đốitượng)
■ Điều kiện: ĐK ? E1 : E2
■ Lấy địa chỉ: &(biến)
■ Tăng giảm: x++, ++x, x , x
tong+=i; tich*=i;
(11)1.1 Các khái niệm bản Các hàm tốn học thơng dụng
Các biểu thức phức tạp phải
sử dụng biến đổi toán học
(12)1.1 Các khái niệm bản Khai báo biến
Cú pháp
Kiểudữliệu TÊNBIẾN;
Kiểudữliệu Biếnl, Biến2;
Kiểudữliệu TÊNBIẾN = giátrịbanđầu;
Ví dụ
int sole;
float tbc, tong;
char Enter = '\n';
(13)1.1 Các khái niệm bản Khai báo hằng
Cú pháp
#define TÊNHẰNG giátrị
hoặc
const kiểudữliệu TÊNHẰNG = giátrị; Ví dụ
#define MAX 100
const int SOPT = 100;
(14)1.1 Các khái niệm bản Phép gán giá trị
■ Cú pháp
■ Ví dụ:
int x, y, z; x=0;
50=x; //sai
3+y=x; //sai
Z=x+y;
x+y=z; //sai
(15)1.1 Các khái niệm bản Câu lệnh - thích
Câu lệnh: Là thị yêu cầu máy tính thực thi tác vụ Một câu lệnh phải kết thúc dấu chấm phẩy “;”
Chú thích:
■ Trên dịng: // Chú thích dịng
■ Trên nhiều dịng:
/*
Chú thích nhiều dòng */
Các chỉ thị
(16)Cấu trúc chương trình C
16
#include <stdio.h>
#include <conio.h>
const int MAX=100; //khai bao hang
float X,y, z;//khai baobien
void nhapSL();
void inKQ();
float max2so(int, int) ;
int main(void) {
nhapSL();
z = max2so(x, ỵ) ;
inKQ(); getch();
return 0; }
void nhapSL (){
printf("Nhap X va y:”);
scanf("%f%f", &x, &y);
}
void inKQ() {
printf(“So lon nhat = %.2f", z);
}
float max2so(int a, int b)(
return a>b? a:b;
(17)1.1 Các khái niệm bản Một số quy tắc cần nhớ
■ Đặt tên biến, hằng, hàm, cách gợi nhớ
■ Khi sử dụng biến, cần kiểm tra lại xem biến khai báo trước hay chưa ?
■ C ngôn ngữ phân biệt hoa/thường => phải kiểm tra kỹ ký tự viết
■ Loại bỏ thị #include <file *.h> không cần thiết (để lại làm chậm trình biên dịch tăng kích thước file *.exe sau biên dịch)
■ Viết chương trình theo cấu trúc khối (phân cấp thụt đầu dòng)
(18)Nội dung
1 Các khái niệm bản
2. Các kiểu liệu
3 Các lệnh điều khiển
4 Bài tập thực hành
(19)1.2 Các kiểu liệu
■ Các kiểu liệu bản - Số
- Ký tự
- Chuỗi ký tự - Mảng
■ Ép kiểu C
(20)