Tải bản đầy đủ (.ppt) (46 trang)

Cấu trúc và thành phần của chương trình c (NHẬP môn về lập TRÌNH SLIDE)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (786.34 KB, 46 trang )

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 lụn việc x́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


Giới thiệu

Học tiếng Anh

Nhập mơn về lập trình (C2)

Học tiếng Nga

Học ngơn ngữ lập trình

Slide 4


Giới thiệu
Cách học lập trình cũng như học một thứ tiếng

Ban đầu, bằng cách học máy móc một số chương trình
mẫu
Sửa đổi, hoặc thêm bớt trong chương trình mẫu
Thường xuyên xảy ra sai sót  phải biết cách sửa lỗi

Nhập mơn về lập trình (C2)

Slide 5


Chương trình C đơn giản
#include <stdio.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 6


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:
 Cho biết chương trình có sử dụng 2 thư
viện hàm stdio.lib và conio.lib.
 Thư viện stdio.lib chứa hàm printf.
 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)

#include <stdio.h>
#include <conio.h>
void main()
{
printf(“123");
printf(“456\n");
_getch();
}


Slide 7


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()
{
// Thân hàm

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

}

Nhập mơn về lập trình (C2)

Slide 8


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 9


Chương trình C đơn giản
Các thành phần

 Chú thích
 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ú,
đánh dấu, hay làm tiêu đê
dẫn nhập cho phần tử của C.
 Hai dạng chú thích:
 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)

#include "stdafx.h"
#include <conio.h>

/*
The objective of ...
...
Chú thích
This is ...
*/
void main(){
printf("..."); // "printf"
is ...
printf("...");
_getch(); // waiting for ...
}

Slide 10


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 lụn phong cách trong suốt q 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


1. />2. />
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:
• 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:
check_for_errors()
Thay cho:
error_checking() hay dump_data_to_file()
 Nên sử dụng “suffix” hay “prefix” để tăng ngữ nghĩa.
 Prefixes
• is
• get

kiểm tra xem một điêu kiện nào đó có thỏa hay khơng

• set

gán giá trị


Nhập mơn về lập trình (C2)

lấy giá trị

Slide 12


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 13


Phong cách lập trình
Các gợi ý

 Vê quy cách đặt tên:
• Biến tồ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 tồn cục
 Sử dụng tồ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 14


Hiển thị chuỗi
printf("Ho Chi Minh city University of Technology");

printf("Programming Fundamentals");

Nhập mơn về lập trình (C2)

Slide 15


Hiển thị chuỗi
printf("Ho Chi Minh city University of Technology\n");
printf("Programming Fundamentals");

Nhập mơn về lập trình (C2)

Slide 16


Hiển thị chuỗi
Ký tự điêu khiển
 \n (newline)
 \t (tab)
 \v (vertical tab)
 \f (new page)
 \b (backspace)
 \r (carriage return)
 \\: Hiển thị ký tự \ trong chuỗi
 \": Hiển thị dấu nháy kép trong chuỗi
Nhập môn về lập trình (C2)

Slide 17



Hiển thị chuỗi
printf("\"Hello\nWorld!\"" );
A."\"Hello\nWorld!\""
B."Hello World!“
C."Hello
World!"

Nhập mơn về lập trình (C2)

Slide 18


Hiển thị chuỗi
printf( "Toan

7.5

Kha\n" );

printf( "Ly

5.0

Trung binh\n" );

printf( "Hoa

3.0


Yeu\n" );

printf( "Toan\t7.5\tKha\n" );
printf( "Ly\t5.0\tTrung binh\n" );
printf( "Hoa\t3.0\tYeu\n" );
Nhập môn về lập trình (C2)

Slide 19


Dữ liệu và kết xuất trong C
 Kiểu số nguyên
 Tên kiểu “int”, sẽ nói sâu hơn
trong chương sau.
 Giá trị ghi ra trong code (literal
constant):
Ví dụ: 15, -20, 40, . . .
 Sử dụng đặc tả “%d” hoặc “%i”
trong printf như ví dụ bên

#include "stdafx.h"
#include <conio.h>
void main()
{
printf("%d\n", 123);
printf("%5d\n", 123);
printf("%05d\n",
123);
_getch();
}


 Câu hỏi: ḷt in số ngun ra màn
hình?

Nhập mơn về lập trình (C2)

Slide 20


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>
void main(){
printf("%d\n", 123);
printf("%5d\n",
123);
printf("%05d\n",
123);
_getch();
}

#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();
}

Không nên!

Sử dụng TAB để canh lề code

Nên!
Nhập mơn về lập trình (C2)

Slide 21


Dữ liệu và kết xuất trong C
 Ký tự điêu khiển


#include “stdafx.h”
#include <conio.h>

 \n (newline)
 \t (tab)
 \v (vertical tab)
 \f (new page)
 \b (backspace)
 \r (carriage return)

void main()
{
printf("%d\n", 123);
printf("%5d\n", 123);
printf("%05d\n", 123);
_getch();
}


Nhập mơn về lập trình (C2)

Slide 22


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 23


Dữ liệu và kết xuất trong C
 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
 Giá trị ghi ra trong code (literal
constant):
Ví dụ:
float:
5.5f
double:
5.5
 Sử dụng đặc tả “%f” trong printf.

#include “stdafx.h”

#include <conio.h>
void main()
{
printf("%f\n", 123.456);
printf("%10.2f\n", 123.456);
printf("%010.2f\n",
123.456);
_getch();
}

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 24


Dữ liệu và kết xuất trong C
 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
printf.

#include “stdafx.h”

#include <conio.h>
void main()
{
printf("%c\n", 'A');
printf("%3c\n", 'a');
printf("%03c\n",
'8');
_getch();
}

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 25


×