Bài giảng Nhập môn về lập trình - Chương 2: Cấu trúc và thành phần của chương trình C

Chương 2  
Cꢀu trúc và thành phꢁn  
cꢂa chương trình C  
Presenter:  
Nhập môn về lập trình (C2)  
Slide 1  
Nꢃi dung  
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.  
Nhập môn về lập trình (C2)  
Slide 2  
Learning outcomes  
L.O.1.4 – Biết được cꢀu trúc và hiểu được các thành phꢁn  
cꢂa mꢃt chương trình viết bằng ngôn ngữ lập trình  
C.  
L.O.1.5 – Vận dụng được các nguyên tắc trong phong cách  
lập trình để viết được các chương trình trong sáng  
và dễ đọc.  
L.O.1.6 – Liệt kê được các kiểu dữ liệu cơ bản trong C và  
ghi ra giá trị điển hình cꢂa các kiểu đó trong mã  
nguồn.  
L.O.1.7 – Sử dụng được các hàm để đọc dữ liệu từ bàn  
phím và xuꢀt dữ liệu ra màn hình.  
Nhập môn về lập trình (C2)  
Slide 3  
Chương trình C đơn giản  
#include “stdafx.h”  
#include <conio.h>  
/*  
This is a simple program, which is used to show the structure of programs developed  
in C  
The objective of this program is to print the following information on different lines  
1. University's name  
2. Course's name  
*/  
void main()  
{
// "printf" is a function, which is defined in <stdio.h>  
printf("Ho Chi Minh city University of Technology\n");  
printf("Programming Fundamentals");  
// _getch() causes the program pause before close the console window,  
//  
i.e., quit the program  
// _getch() is a function, which is defined in <conio.h>  
_getch();  
}
Nhập môn về lập trình (C2)  
Slide 4  
Chương trình C đơn giản  
Các thành phꢁn  
Khai báo thư viꢂn sꢈ đưꢉc sꢇ dꢊng  
. Chꢋ thꢌ #include:  
#include “stdafx.h”  
#include <conio.h>  
Cho biꢍt chương trình cꢎ sꢇ dꢊng 2 thư  
viꢂn hꢏm stdio.lib (gián tiꢍp qua  
stdafx.h) vꢏ conio.lib.  
void main()  
{
Thư viꢂn stdio.lib chꢐa hàm printf.  
printf(“123");  
printf(“456\n");  
_getch();  
Thư viꢂn conio.lib chꢐa hàm _getch.  
Cách khai báo bꢑng chꢋ thꢌ #include  
như hình bên.  
}
Chꢒ ý dꢃu “ ” vꢏ < >.  
Nhập môn về lập trình (C2)  
Slide 5  
Chương trình C đơn giản  
Các thành phꢁn  
Chương trình viꢍt bꢑng C sꢈ bꢓt đꢔu chꢕy tꢆ hꢏm main().  
main (viꢍt toꢏn chꢅ thưꢖng) lꢏ tên hꢏm, chꢒ ý dꢃu ().  
• Lꢂnh đꢔu tiên ngay sau hàm main()  
• Mꢗi chương trình viꢍt bꢑng C phꢀi có mꢘt hàm có tên main  
void main()  
{
Dꢀu “{“ đánh dꢀu bắt đꢁu phꢁn thân hꢄm main  
// Thân hꢄm  
Dꢀu “}“ đánh dꢀu điểm kết thúc phꢁn thân hꢄm main  
}
Nhập môn về lập trình (C2)  
Slide 6  
Chương trình C đơn giản  
Kiểu trả kết quả  
Kiꢙu trꢀ kꢍt quꢀ do tꢆ khꢎa viꢍt trưꢚc tên hꢏm quy đꢌnh (void).  
Trong trưꢖng hꢉp nꢏy, void cꢎ nghꢛa lꢏ không trꢀ kꢍt quꢀ vꢜ.  
void main()  
{
}
Nơi nꢄy xác định kiểu trả kết quả về cꢂa hꢄm (main)  
void : Hꢄm main không trả kết quả gì về cả  
Nhập môn về lập trình (C2)  
Slide 7  
Chương trình C đơn giản  
Các thành phꢁn  
Chú thích  
#include "stdafx.h"  
#include <conio.h>  
. Chú thích là văn bꢀn không  
cꢔn có văn phꢕm cꢝa C.  
/*  
. Chú thích đưꢉc chèn vào  
nhꢑm giꢀi thích, ghi chú,  
The objective of ...  
...  
This is ...  
Chú thꢅch  
đánh dꢃu, hay làm tiêu đꢜ */  
void main(){  
dꢞn nhꢁp cho phꢔn tꢇ cꢝa C.  
. Hai dꢕng chú thích:  
printf("..."); // "printf" is ...  
printf("...");  
_getch(); // waiting for ...  
Chú thích trên nhiꢜu dòng,  
đưꢉc bao bꢄc giꢅa ký hiꢂu  
mꢟ đꢔu “/*” và kꢍt thꢒc “*/”.  
}
Chú thích trên mꢘt dꢠng, mꢟ  
đꢔu bꢟi “//”.  
Nhập môn về lập trình (C2)  
Slide 8  
Phong cách lập trình  
Chương trình cꢡng như mꢘt bꢏi văn trong ngôn ngꢅ tꢢ nhiên.  
Do đꢎ, cꢔn đưꢉc viꢍt sao cho dꢣ đꢄc, dꢣ hiꢙu, và dꢣ phát hiꢂn các sai sót.  
Trong các dꢢ án lꢚn, phong cách lꢁp trình là rꢃt quan trꢄng nhꢑm :  
• Dꢣ dàng phꢤi hꢉp giꢅa các thành viên phát triꢙn  
• Dꢣ dàng phát hiꢂn sai sót  
• Dꢣ dàng bꢀo trì và nâng cꢃp  
Danh sách các chꢝ đꢜ cꢎ thꢙ xem chi tiꢍt ꢟ nhꢅng trang sau.  
Sinh viên phꢀi rèn luyꢂn phong cách trong suꢤt quá trình hꢄc, thông qua thꢢc  
hành.  
Tꢃt cꢀ các bài nꢘp cho giꢀng viên xem phꢀi tuân thꢝ hꢔu hꢍt các gꢉi ý.  
Xem thêm  
Nhập môn về lập trình (C2)  
Slide 9  
Phong cách lập trình  
Các gợi ý  
Vꢜ quy cách đꢥt tên:  
• Hàm  
Bꢓt đꢔu bꢟi đꢘng tꢆ (verb), vì hꢏm lꢏ đơn vꢌ xꢇ lý (nghꢛa lꢏ thꢢc thi hành  
đꢘng).  
Tên phꢀi nêu bꢁt tính năng xꢇ lý cꢝa hàm.  
Ví dꢀ:  
Nên dùng:  
Thay cho:  
check_for_errors()  
error_checking() hay dump_data_to_file()  
Nên sꢇ dꢊng “suffix” hay “prefix” đꢙ tăng ngꢅ nghꢛa.  
Prefixes  
• is  
kiꢙm tra xem mꢘt điꢜu kiꢂn nꢏo đꢎ cꢎ thꢦa hay không  
• get  
• set  
lꢃy giá trꢌ  
gán giá trꢌ  
Nhập môn về lập trình (C2)  
Slide 10  
Phong cách lập trình  
Các gợi ý  
• Biꢍn  
Thưꢖng bꢓt đꢔu bꢟi danh tꢆ (noun)  
Tꢃt cꢀ các ký tꢢ trong tên đꢜu là chꢅ thưꢖng  
Nꢤi các tꢆ vꢚi nhau bꢟi dꢃu gꢕch dưꢚi, “_”  
Đưa đơn vꢌ vào tên nꢍu có thꢙ  
Ví dꢀ: unit32 timeout_msec;  
time  
time_of_error  
• Biꢍn kiꢙu pointer  
Đꢥt dꢃu * liꢜn sát tên biꢍn  
Suffix vꢚi “ptr” nꢍu có thꢙ  
Ví dꢀ:  
char  
*name;  
Student *student_ptr  
Nhập môn về lập trình (C2)  
Slide 11  
Phong cách lập trình  
Các gợi ý  
Vꢜ quy cách đꢥt tên:  
• Biꢍn toàn cꢊc  
Prefix vꢚi “g_”, đꢙ dꢣ phân biꢂt trong code  
Ví dꢀ:  
Logger g_logger;  
Logger g_logger_ptr;  
• Hꢑng toàn cꢊc  
Sꢇ dꢊng toàn bꢘ chꢅ hoa  
Ví dꢀ:  
const int A_GLOBAL_CONSTANT = 5;  
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.  
Nhập môn về lập trình (C2)  
Slide 12  
Dữ liệu và kết xuꢀt trong C  
Kiꢙu sꢤ nguyên  
#include "stdafx.h"  
#include <conio.h>  
. Tên kiꢙu “int”, sꢈ nꢎi sâu hơn  
void main()  
{
trong chương sau.  
. Giá trꢌ ghi ra trong code (literal  
printf("%d\n", 123);  
printf("%5d\n", 123);  
printf("%05d\n", 123);  
_getch();  
constant):  
Ví dꢊ: 15, -20, 40, . . .  
}
. Sꢇ dꢊng đꢥc tꢀ “%d” hoꢥc “%i”  
trong printf như ví dꢊ bên  
Câu hꢦi: luꢁt in sꢤ nguyên ra màn  
hình?  
Nhập môn về lập trình (C2)  
Slide 13  
Dữ liệu và kết xuꢀt trong C  
Rèn luyện phong cách lập trình  
#include “stdafx.h”  
#include <conio.h>  
#include “stdafx.h”  
#include <conio.h>  
#include “stdafx.h”  
#include <conio.h>  
void main()  
{
printf("%d\n", 123);  
printf("%5d\n", 123);  
printf("%05d\n", 123);  
_getch();  
void main()  
{
printf("%d\n", 123);  
printf("%5d\n", 123);  
printf("%05d\n", 123);  
_getch();  
void main(){  
printf("%d\n", 123);  
printf("%5d\n", 123);  
printf("%05d\n", 123);  
_getch();  
}
}
}
Không nên!  
Sử dụng TAB để canh lề code  
Nên!  
Nhập môn về lập trình (C2)  
Slide 14  
Dữ liệu và kết xuꢀt trong C  
#include “stdafx.h”  
#include <conio.h>  
Ký tꢢ điꢜu khiꢙn  
. \n (newline)  
void main()  
{
. \t (tab)  
printf("%d\n", 123);  
printf("%5d\n", 123);  
printf("%05d\n", 123);  
_getch();  
. \v (vertical tab)  
. \f (new page)  
. \b (backspace)  
. \r (carriage return)  
}
Nhập môn về lập trình (C2)  
Slide 15  
Dữ liệu và kết xuꢀt trong C  
Kiꢙu sꢤ nguyên  
. In nhiꢜu sꢤ dùng chꢋ mꢘt hàm printf  
#include “stdafx.h”  
#include <conio.h>  
void main()  
{
printf("|%5d|\t%5d|\t%5d|\n",123,456,7890);  
printf("|%5d|\t%5d|\t%5d|\n",12,345,6789);  
_getch();  
}
Nhập môn về lập trình (C2)  
Slide 16  
Dữ liệu và kết xuꢀt trong C  
#include “stdafx.h”  
#include <conio.h>  
Kiꢙu sꢤ thꢢc chꢃm đꢘng  
. Kiꢙu chính xác đơn: float  
. Kiꢙu chính xác kép: double  
void main()  
{
. Giá trꢌ ghi ra trong code (literal  
printf("%f\n", 123.456);  
printf("%10.2f\n", 123.456);  
printf("%010.2f\n", 123.456);  
_getch();  
constant):  
Ví dꢊ: float:  
double:  
5.5f  
5.5  
}
. Sꢇ dꢊng đꢥc tꢀ “%f” trong printf.  
Câu hꢀi  
1. Lꢄm sao chꢆ in ra 3 ký tꢇ sau chꢀm thập phân.  
2. Hꢈy in ra số thꢇc có 7 ký số (kể cả dꢀu chꢀm).  
Nhập môn về lập trình (C2)  
Slide 17  
Dữ liệu và kết xuꢀt trong C  
#include “stdafx.h”  
#include <conio.h>  
Kiꢙu ký tꢢ  
. Tên kiꢙu: char  
. Giá trꢌ ghi ra trong code  
(literal constant):  
Ví dꢊ: „A‟, „a‟, „8‟, „(„, ...  
. Sꢇ dꢊng đꢥc tꢀ “%c” trong  
void main()  
{
printf("%c\n", 'A');  
printf("%3c\n", 'a');  
printf("%03c\n", '8');  
_getch();  
}
printf.  
Câu hꢀi  
1. Hꢈy giải thꢅch ꢉ nghꢊa cꢂa định dꢋng “%3c”.  
2. Định dꢋng “%03c” in ra thế nꢄo ?  
Nhập môn về lập trình (C2)  
Slide 18  
Dữ liệu và kết xuꢀt trong C  
#include "stdafx.h"  
#include <conio.h>  
Kiꢙu chuꢗi (string)  
. Kiꢙu chuꢗi đưꢉc hiꢙu lꢏ dꢧy ký  
tꢢ (character array) vꢏ kꢍt thꢒc  
bꢑng ký tꢢ null („\0‟). Đꢌnh  
nghꢛa như sau:  
void main()  
{
printf("%s\n","01234567890123456789");  
printf("%s\n","University");  
printf("%20s\n","University");  
printf("%020s\n","University");  
_getch();  
char s[50];  
. Giá trꢌ chuꢗi (literal constant)  
viꢍt trong 2 dꢃu nháy kꢨp (“):  
}
“Programming Fundamentals”,  
“Computer”, ...  
. Sꢇ dꢊng đꢥc tꢀ “%s” trong  
printf.  
Nhập môn về lập trình (C2)  
Slide 19  
Nhập liệu trong C  
Nguyên tꢓc  
• Dꢅ liꢂu cꢎ thꢙ đưꢉc nhꢁp vꢏo tꢆ bàn phím thông qua các hꢏm  
nhꢁp.  
• Giá trꢌ nhꢁp vꢏo sꢈ đưꢉc lưu giꢅ trong bꢘ nhꢚ.  
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)  
Vꢅ dụ: int i,so; float x,y; char ktu,s[36];  
2. Cách lấy địa chỉ của vùng nhớ  
Vꢅ dụ: &ktu, &so, &x  
(sử dụng dꢀu & trước tên cꢂa biến)  
Nhập môn về lập trình (C2)  
Slide 20  
Tải về để xem bản đầy đủ
pdf 27 trang yennguyen 12060 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn về lập trình - Chương 2: Cấu trúc và thành phần của chương 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_nhap_mon_ve_lap_trinh_chuong_2_cau_truc_va_thanh_p.pdf