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 đủ
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:
bai_giang_nhap_mon_ve_lap_trinh_chuong_2_cau_truc_va_thanh_p.pdf

