Bài giảng Tin học đại cương - Chương 2: Ngôn ngữ lập trình C

TIN HỌC ĐẠI CƯƠNG  
Chương 2: Ngôn ngữ lập trình C  
1
Nội dung  
1. Các khái niệm cơ bản  
2. Các kiểu dữ liệu  
3. Các lệnh điều khiển  
4. Bài tập thực hành  
2
Giới thiệu  
Năm 1970 Ken Thompson sáng tạo ra ngôn ngữ B (Basic  
Combined Programming Language) trên môi trường HĐH Unix  
của máy DEC PD-7  
Năm 1972 Dennis Ritchie ở Bell Labotories cùng Ken Thompson  
sáng tạo ra ngôn ngữ C nhằm tăng hiệu quả cho ngôn ngữ B.  
Ngôn ngữ C nhanh chóng phổ biến rộng rãi và được sử dụng để  
viết nên HĐH đa nhiệm UNIX, O/S 2, và 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 nhau  
. Turbo C (từ ver 1 tới ver 3), Microsoft C (ver 1 tới ver 6)  
. C++ với 3 trình biên dịch nổi tiếng Borland C++, Visual C++,  
và Turbo C++  
Chúng ta sẽ sử dụng:  
. Borland C++ 5.02 hoặc Free C++ hoặc Dev C++  
3
Tập ký tự  
Mọi ngôn ngữ đều được xây dựng trên 1 bộ ký tự. Bộ  
ký tự trong C gồm:  
- Các chữ cái in hoa: A, B, C,....,Z  
- Các chữ cái 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 dưới _  
4
Từ khóa  
• Là các từ dùng riêng cho ngôn ngữ  
• Từ khoá phải được dùng đúng cú pháp quy định  
• Mọi từ khoá đều viết thường (không viết in hoa)  
• Các từ khoá thường gặp.  
5
Tên và cách đặt tên  
. Dùng để định danh các thành phần của 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 đuợc chứa kí tự trống (space)  
- không được bắt đầu bằng một chữ số  
- không được trùng với từ khóa  
- Không đặt tên ở dạng số mũ hoặc chỉ 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 một cách gợi nhớ có ý nghĩa.  
. Tên chuẩn: một số tên có sẵn của trình biên dịch.  
. C là ngôn ngữ phân biệt viết hoa, viết thường  
6
Hằng, Biến, Biểu thức  
Hằng:  
- Là đại lượng có giá trị không thay đổi được  
- Ví dụ:  
• 124 Là một hằng số  
• ‘D’ Là một hằng ký tự  
• “Lap trinh” Là một hằng chuỗi ký tự  
Biến  
- Là đại lượng có thể thay đổi được giá trị (gán giá trị mới)  
Biểu thức  
- Là công thức tính toán để có 1 giá trị theo quy tắc toán học  
- Gồm các toán hạng và các phép toán (toán tử)  
• Toán hạng: hằng, biến, hàm hoặc biểu thức khác.  
• Phép toán: Số học, luận lý, gán, điều kiện, lấy địa chỉ, tăng giảm  
7
Các phép toán C hỗ trợ  
• 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;  
%= , /= , -=, &=, |=, ^=  
8
Các hàm toán học thông dụng  
Chỉ thị tiền biên dịch:  
#include <math.h>  
• Các biểu thức phức tạp phải sử dụng biến đổi toán học  
để có được biểu diễn tương ứng trong C.  
9
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;  
Lưu ý: hằng phải được khai báo trước khi sử  
dụng  
10  
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';  
• Lưu ý: Biến có thể khai báo bất kỳ đâu trong  
chương trình miễn là trước khi sử dụng.  
11  
Phép gán giá trị  
• Cú pháp  
TênBiến = Biểu thức giá trị ;  
• Ví dụ:  
intx, y, z;  
x=0;  
50=x; //sai  
3+y=x; //sai  
Z=x+y;  
x+y=z; //sai  
12  
Câu lệnh, Chú thích  
Câu lệnh: Là một chỉ thị yêu cầu máy tính thực thi một  
tác vụ nào đó. Một câu lệnh phải kết thúc bởi một dấu  
chấm phẩy “;”  
Chú thích:  
• Trên 1 dòng: // Chú thích trên một dòng  
• Trên nhiều dòng:  
/*  
Chú thích trên nhiều dòng.  
*/  
Các chỉ thị tiền biên dịch:  
13  
Cấu trúc 1 chương trình C  
#include <stdio.h>  
#include <conio.h>  
const int MAX=100; //khai bao hang  
float X, y, z;//khai bao bien  
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;  
}
14  
Một số quy tắc cần nhớ  
• Đặt tên biến, hằng, hàm,... một cách gợi nhớ  
• Khi sử dụng biến, hằng cần kiểm tra lại xem biến hằng đó đã  
được khai báo trước đó hay chưa ?  
• C là ngôn ngữ phân biệt hoa/thường => phải kiểm tra kỹ từng ký  
tự khi viết  
• Loại bỏ các chỉ thị #include <file *.h> không cần thiết (để lại sẽ  
làm chậm quá trình biên dịch và 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)  
• 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)  
15  
Các kiểu dữ liệu trong C  
• Các kiểu dữ liệu cơ bản  
- Số  
- Ký tự  
- Chuỗi ký tự  
- Mảng  
• Ép kiểu trong C  
• Nhập xuất dữ liệu trong C  
16  
Các kiểu dữ liệu cơ bản  
• Kiểu số:  
17  
Các kiểu dữ liệu cơ bản  
• Kiểu ký tự:  
• Ví dụ:  
- Ký tự 'A' có mã 65  
- Ký tự '0' có mã 48  
• Các ký tự đặc biệt:  
'\0‘ : ký tự Null (có mã = 0) ký tự  
'\n‘ : xuống dòng (new line) ký tự  
'\t‘ : Tab  
18  
Các kiểu dữ liệu cơ bản (tt)  
Kiểu chuỗi (xâu ký tự)  
- Một dãy các ký tự đứng liền nhau được gọi là 1 xâu  
ký tự.  
- Ngôn ngữ C hiểu ký tự ‘\0’ là ký tự kết thúc xâu  
=>Chỉ lưu biết địa chỉ cua ký tự đầu tiên của chuỗi  
- Một hằng xâu ký tự đặt trong cặp dấu “nháy kép”  
Ví dụ:  
“Ho Chi Minh” là hằng xâu ký tự  
Khai báo biến xâu: char tênbiếnxâu[số byte];auu  
19  
Kiểu mảng - Array  
Định nghĩa:  
- Mảng là một kiểu dữ liệu có cấu trúc do  
người lập trình định nghĩa  
- Dùng biểu diễn các đối tượng dữ liệu ở dạng  
một dãy các thành phần có cùng kiểu với  
nhau (kiểu cơ sở)  
- NNLT C luôn chỉ định một khối nhớ liên tục  
cho một biến kiểu mảng  
- Kích thước của mảng được xác định ngay  
khi khai báo và không bao giờ thay đổi  
20  
Tải về để xem bản đầy đủ
pdf 73 trang yennguyen 16700 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học đại cương - Chương 2: Ngôn ngữ lập trình C", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_tin_hoc_dai_cuong_chuong_2_ngon_ngu_lap_trinh_c.pdf