Bài giảng Kỹ thuật lập trình C/C++ - Chương 2: Cấu trúc và các thành phần chương trình C cung cấp cho người học các kiến thức: Chương trình C đơn giản, phong cách lập trình, rèn luyện việc xuất ra màn hình, đọc dữ liệu từ bàn phím, xử lý đơn giản. Mời các bạn cùng tham khảo.
Trang 1Chương 02 CẤU TRÚC VÀ CÁC THÀNH PHẦN
CHƯƠNG TRÌNH C
Lê Thành Sách
Trang 3Chương trình C đơn giản
#include <stdio.h>
#include <stdlib.h>
/*
This is a simple program.
The objective of this program is to print the following information on different
// "printf" is a function, which is defined in <stdio.h>
printf( "Ho Chi Minh city University of Technology\n" );
printf( "Programming Fundamentals" );
// "pause" causes the program pause before executing the next statement.
// “system" is a function, which is defined in <stdlib.h>
system( "pause" );
}
Trang 4Chương trình C đơn giản
Trang 5Chương trình C đơn giản
Các thành phần
n Lệnh được thực thi đầu tiên
void main(){
}
Dấu “{“ đánh dấu bắt đầu phần thân hàm main Dấu “}“ đánh dấu điểm kết thúc phần thân hàm main
Trang 6Chương trình C đơn giản
Các thành phần
n Lệnh được thực thi đầu tiên
int main(){
}
Nơi này xác định kiểu trả về của hàm (main) int: Hàm main trả về mã trạng thái: 0 = không có lỗi; 1 = có lỗi
Trang 7Chương trình C đơn giản
n Chú thích gồm nhiềudòng, nằm giữa cặp
Trang 12Phong cách lập trình
Các gợi ý
n Về quy cách đặt tên:
n Biến
Ví dụ:
unit32 timeout_msec;
Time time_of_error
Trang 13Phong cách lập trình
Các gợi ý
n Về quy cách đặt tên:
n Biến
Ví dụ:
char *name;
Student *student_ptr
Trang 14const int A_GLOBAL_CONSTANT = 5;
n Xem chi tiết trong trang chỉ dẫn trước, và luyện tập đến
cuối chương trình học
Trang 15Dữ liệu và kết xuất trong C
n Kiểu số nguyên
n Tên kiểu “int”, sẽ nói sâu
hơn trong chương sau
Trang 16Dữ liệu và kết xuất trong C
Trang 17Dữ liệu và kết xuất trong C
Trang 18Dữ liệu và kết xuất trong C
Trang 19Dữ liệu và kết xuất trong C
Trang 20Dữ liệu và kết xuất trong C
}
Trang 21Dữ liệu và kết xuất trong C
n Kiểu số thực chấm động
printf như ví dụ bên
n Câu hỏi: Cách nào đểchỉ in ra 3 ký tự sauchấm “.”
n Câu hỏi: Cách nào để in
ra số thực trong 7 ký tự(kể cả dấu chấm)
}
Trang 22Dữ liệu và kết xuất trong C
n Kiểu ký tự
hơn trong chương sau
(literal constant):
n Ví dụ: ‘A’, ‘a’, etc
printf như ví dụ bên
n Câu hỏi: “%3c” tronghình bên nghĩa là gì?
n Câu hỏi: “%03c” tronghình bên nghĩa là gì?
Trang 23Dữ liệu và kết xuất trong C
n Kiểu chuỗi (string)
tiếp Thay vào đó “string”
được hiện thực bởi kiểumảng (array), nói sâu hơntrong chương về array
(literal constant):
“Programming Fundamentals”,
printf( "%20s\n" , "University" );
printf( "%020s\n" , "University" );
system( "pause" );
}
Trang 24Dữ liệu và kết xuất trong C
n Tổng kết hàm printf
Trang 25Dữ liệu và kết xuất trong C
Trang 26Dữ liệu và kết xuất trong C
Trang 27Nhập liệu trong C
n Nguyên tắc
vùng nhớ có kiểu tương thích với kiểu ghi trong hàm đọc
Sinh viên tạm thời chấp nhận hai khái niệm sau:
1 Vùng nhớ được đặt tên (còn gọi là biến)
Trang 28Phần liệt kê địa chỉ của các vùng nhớ tương
ứng với những kiểu mong muốn
Dùng dấu phẩy (,) để phân cách các địa chỉ
nếu có nhiều hơn 1
Trang 30Cửa sổ ban đầu:
(chương trình chờ người dùng nhập vào một số nguyên)
Cửa sổ sau khi nhập giá trị 123 và nhấn phím ENTER:
Trang 31Nhập liệu trong C
n Chương trình đọc hai số nguyên
Cửa sổ ban đầu:
Sau khi nhập giá trị 123 và nhấn phím ENTER:
Sau khi nhập giá trị 456 và nhấn phím ENTER:
Trang 33Nhập liệu trong C
n Chương trình ngắn hơn nhưng có cùng tính năng
printf( "%s" , "Please enter x and y: " );
scanf( "%d %d" , &x, &y);
printf( "x = %d\ny = %d\n" , x, y);
Trang 34Nhập liệu trong C
n Bảng các đặc tả đọc dữ liệu theo kiểu dữ liệu
%u (số không dấu, unsigned int)
Trang 35Xử lý đơn giản
n Yêu cầu của chương trình:
printf( "%s" , "Please enter coordinates x and y: " );
scanf( "%f%f" , &x, &y);
printf( "(x,y) = (%5.2f,%5.2f)\n" , x, y);
printf( "Distance to the origin = %5.2f\n" , sqrt(x*x + y*y));
system( "pause" );
Trang 36Xử lý đơn giản
n Dùng thư viện toán học, cần chèn tập tin <math.h>
n sqrt(.): tính căn bậc hai của giá trị được truyền vào và trả
printf( "%s" , "Please enter coordinates x and y: " );
scanf( "%f%f" , &x, &y);
printf( "(x,y) = (%5.2f,%5.2f)\n" , x, y);
printf( "Distance to the origin = %5.2f\n" , sqrt(x*x + y*y));
system( "pause" );
}