Hướng dẫn học lập trình C cơ bản

Hoaibui2395 Hoaibui2395 @Hoaibui2395

Hướng dẫn học lập trình C cơ bản

19/04/2015 01:36 PM
301
Cùng tham khảo những hướng dẫn học lập trình C cơ bản, không hề có mà lại hiệu quả nhé các bạn.
 

MỘT SỐ KHÁI NIỆM CƠ BẢN TRONG C 

1.1. Bộ ký tự

Mọi ngôn ngữ lập trình đều được xây dựng từ một bộ ký tự nào đó. Ngôn ngữ C được xây dựng trên bộ ký tự sau:

26 chữ cái hoa : A B C .. Z    

26 chữ cái thường : a b c .. z

10 chữ số : 0 1 2 .. 9

Các ký hiệu toán học : + - * / = ( )

Ký tự gạch nối : _

Các ký tự khác : . , : ; [ ]  {} ! \ & % # $ ...

Dấu cách (space) dùng để tách các từ.

@Lưu ý: Khi viết chương trình, ta không được sử dụng bất kỳ ký tự nào khác ngoài các ký tự trên.

1.2 Từ khóa

Từ khoá là những từ được sử dụng để khai báo các kiểu dữ liệu, để viết các toán tử và các câu lệnh. Bảng dưới đây liệt kê các từ khoá của TURBO C:

Asm

break

case

cdecl

Char

const

continue

default

Do

double

else

enum

extern

far

float

for

Goto

huge

if

int

interrupt

long

near

pascal

register

return

short

signed

sizeof

static

struct

switch

tipedef

union

unsigned

void

volatile

while

@Lưu ý:

- Không được dùng các từ khoá để đặt tên cho các hằng, biến, mảng, hàm,...

- Từ khoá phải được viết bằng chữ thường, ví dụ: viết từ khoá khai báo kiểu nguyên là int chứ không phải là INT.

1.3 Tên

Khái niệm tên rất quan trọng trong quá trình lập trình, nó không những thể hiện rõ ý nghĩa trong chương trình mà còn dùng để xác định các đại lượng khác nhau khi thực hiện chương trình. Tên thường được đặt cho hằng, biến, mảng, con trỏ, nhãn,… Chiều dài tối đa của tên là 32 ký tự.

Tên biến hợp lệ là một chuỗi ký tự liên tục gồm: Ký tự chữ, số và dấu gạch dưới. Ký tự đầu của tên phải là chữ hoặc dấu gạch dưới. Khi đặt tên không được đặt trùng với các từ khóa.

Ví dụ 1.1:

Các tên đúng: delta, a_1, Num_ODD, Case

Các tên sai:

3a_1 (ký tự đầu là số)

num-odd (sử dụng dấu gạch ngang)

int (đặt tên trùng với từ khóa)

del ta (có khoảng trắng)

f(x) (có dấu ngoặc tròn)

Ví dụ 1.2: number khác Number

case khác Case (case là từ khóa, do đó bạn đặt tên là Case vẫn đúng)

@Lưu ý: Trong C, tên phân biệt chữ hoa, chữ thường

1.4 Kiểu dữ liệu

Có 4 kiểu dữ liệu cơ bản trong C là: char, int, float, double.

TT

Kiểu dữ liệu

Kích thước

Miền giá trị

1

2

3

4

5

6

7

8

9

10

11

unsigned char

char

enum

unsigned int

short int

int

unsigned long

long

float

double

long double

1 byte

1 byte

2 bytes

2 bytes

2 bytes

2 bytes

4 bytes

4 bytes

4 bytes

8 bytes

10 bytes

0 đến 255

– 128 đến 127

– 32,768 đến 32,767

0 đến 65,535

– 32,768 đến 32,767

– 32,768 đến 32,767

0 đến 4,294,967,295

– 2,147,483,648 đến 2,147,483,647

3.4 * 10–38 đến 3.4 * 1038

1.7 * 10–308 đến 1.7 * 10308

3.4 * 10–4932 đến 1.1 * 104932

1.5 Lời chú thích

Trong khi lập trình cần phải ghi chú để giải thích các biến, hằng, thao tác xử lý giúp cho chương trình rõ ràng dễ hiểu, dễ nhớ, dễ sửa chữa và để người khác đọc vào dễ hiểu. Trong C có các ghi chú sau: // hoặc /* nội dung ghi chú */

Tóm lại, đối với ghi chú dạng // dùng để ghi chú một hàng và dạng /* …. */ có thể ghi chú một hàng hoặc nhiều hàng.


CẤU TRÚC CỦA MỘT CHƯƠNG TRÌNH C

Một chương trình bao gồm một hoặc nhiều hàm, mỗi hàm được người lập trình tổ chức để giải quyết một hoặc một số công việc nào đó của bài toán cần giải quyết. Một chương trình C để có thể thực thi được luôn cần phải có hàm main().

Cấu trúc cơ bản của chương trình như sau:

•    Các #include ( dùng để khai báo sử dụng các hàm chuẩn)

•    Các #define  ( dùng để định nghĩa các hằng )

•    Khai báo các đối tượng dữ liệu ngoài ( biến, mảng, cấu trúc vv..).

•    Khai báo nguyên mẫu các hàm.

•    Hàm main().

•    Định nghĩa các hàm ( hàm main có thể đặt sau hoặc xen vào giữa các hàm khác).

Ví dụ 1.3:

?
1
2
3
4
5
6
7
8
9
#include <stdio.h> 
//k.báo sử dụng thư viện xuất/nhập chuẩn của C
void main(void)
{
double x,y;                      //Khai báo 2 biến x,y
//kiểu số thực
printf("\n Nhap x va y");        //xuất dữ liệu ra màn hình
scanf("%lf%lf",&x,&y);           //nhập dữ liệu từ bàn phím                                         //và lưu vào vùng địa chỉ                                          //cấp cho 2 biến x,y*/
}
@Lưu ý:Một số qui tắc cần nhớ khi viết chương trình:

- Mỗi câu lệnh có thể viết trên một hay nhiều dòng nhưng phải kết thúc bằng dấu (;).

- Trong chương trình, khi ta sử dụng các hàm chuẩn, ở đầu chương trình ta phải khai báo sử dụng, ví dụ: #include "stdio.h".

 
 

HẰNG - BIẾN - TOÁN TỬ - BIỂU THỨC

3.1 Khai báo hằng

Hằng là các đại lượng mà giá  trị của nó không thay đổi trong quá trình tính toán.   Nguyên tắc đặt tên hằng theo nguyên tắc đặt tên của C.

+ Khai báo

Cú pháp:

            #define   <tên hằng>   <giá trị>

Diễn giải:

#define: Từ khóa để định nghĩa một biến hằng

<tên hằng>: là tên của hằng mà ta cần định nghĩa

<giá trị>: Giá trị khởi gán cho hằng

Ví dụ:

            #define   MAX   1000

            Lúc này, tất cả các tên MAX trong chương trình xuất hiện sau này đều được thay bằng 1000. Vì vậy, ta thường gọi MAX là tên hằng, nó biểu diễn số 1000.

3.2 Khai báo biến

+ Khai báo

Cú pháp:

              <Kiểu dữ liệu> <Danh sách tên biến>;

Diễn giải:

- <Kiểu dữ liệu>: là kiểu dữ liệu muốn khai báo cho biến

- <Danh sách tên biến>: gồm các tên biến có cùng kiểu dữ liệu, mỗi tên biến cách nhau dấu phẩy (,), cuối cùng là dấu chấm phẩy (;).

Ví dụ

int iTuoi; //khai báo biến iTuoi có kiểu int

float fTrongLuong; //khai báo biến fTrongLuong có kiểu float

char cKyTu1, cKyTu2; //khai báo biến cKyTu1, cKyTu2 có kiểu char

+ Vừa khai báo vừa khởi gán giá trị cho biến

Có thể kết hợp việc khai báo với toán tử gán để biến nhận ngay giá trị lúc mới khai báo.

Ví dụ

Khai báo trước, gán giá trị sau

?
1
2
3
4
5
6
7
8
void main(void)
{
int a, b, c;
a = 1;
b = 2;
c = 5;
}

Vừa khai báo vừa gán giá trị:

?
1
2
3
4
5
void main(void)
{
int a = 1, b = 2, c = 5;
}

+ Phạm vi của biến

Khi lập trình, phải nắm rõ phạm vi của biến. Nếu khai báo và sử dụng không đúng, không rõ ràng sẽ dẫn đến sai sót khó kiểm soát được.

a. Khai báo biến ngoài (biến toàn cục):

Vị trí biến đặt bên ngoài tất cả các hàm, cấu trúc...Các biến toàn cục có ảnh hưởng đến toàn bộ chương trình. Chu trình sống của nó là bắt đầu từ khi chạy chương trình đến lúc kết thúc chương trình.

b. Khai báo biến trong (biến cục bộ):

Vị trí biến đặt bên trong hàm, cấu trúc…. Chỉ ảnh hưởng nội bộ bên trong hàm, cấu trúc đó…. Chu trình sống của nó bắt đầu từ lúc hàm, cấu trúc được gọi thực hiện đến lúc thực hiện xong.

3.3 Biểu thức

Biểu thức là sự phối hợp của những toán tử và toán hạng.

Ví dụ:

a + b

b = 1 + 5 * 2/i

a = 6 % (7 + 1)

x++ * 2/4 + 5 – power(i, 2)

Toán hạng sử dụng trong biểu thức có thể là hằng số, biến, hàm.

3.4 Phép toán

Trong C có 4 nhóm toán tử chính yếu sau đây:

+ Phép toán số học

+ : phép cộng    

– : phép trừ          

* : phép nhân

/ : phép chia

% : phép chia lấy phần dư, được áp dụng trên các toán hạng có kiểu dữ liệu char, int, long

+ Phép toán quan hệ

> : lớn hơn

>= : lớn hơn hoặc bằng

<   : nhỏ hơn

<= : nhỏ hơn hoặc bằng

== : bằng

!= : khác

@Lưu ý:

- Kết quả của phép toán quan hệ là số nguyên kiểu int, bằng 1 nếu đúng, bằng 0 nếu sai.

- Phép toán quan hệ ngoài toán hạng được sử dụng là kiểu dữ liệu số hoặc kiểu dữ liệu char.

+ Phép toán logic

! : (phép toán Phủ định)

&&: (phép toán Và)

|| : (phép Hoặc)

+ Phép toán trên bit (bitwise)

& : và(AND)

| : hoặc (OR)

^ : hoặc loại trừ (XOR)

>> : dịch phải

<< : dịch trái

~ : đảo

+ Phép gán hợp

Biểu thức gán là biểu thức có dạng:

            v=e

Trong đó v là một biến (hay phần tử mảng ), e là một biểu thức. Giá trị của biểu thức gán là giá trị của e, kiểu của nó là kiểu của v. Nếu đặt dấu ; vào sau biểu thức gán ta sẽ thu được phép toán gán có dạng:

            v=e;

Biểu thức gán có thể sử dụng trong các phép toán và các câu lệnh như các biểu thức khác. Ví dụ như khi ta viết

            a=b=5;

thì điều đó có nghĩa là gán giá trị của biểu thức b=5 cho biến a. Kết qủa là b=5 và a=5.

Hoàn toàn tương tự như :

            a=b=c=d=6; gán 6 cho cả a, b, c và d

            z=(y=2)*(x=6);            { ở đây * là phép toán nhân }

gán 2 cho y, 6 cho x và nhân hai biểu thức lại cho ta z=12.

+ Phép toán tăng giảm

C đưa ra hai phép toán một ngôi để tăng và giảm các biến (nguyên và thực). Toán tử tăng là ++ sẽ cộng 1 vào toán hạng của nó, toán tử giảm là -- sẽ trừ toán hạng đi 1.

Ví dụ

            n=5

            m=4

            ++n      Cho ta   n=6

            --m       Cho ta   m=3

Ta có thể viết phép toán ++ và -- trước hoặc sau toán hạng: ++n, n++, --n, n--.

Sự khác nhau của ++n và n++ ở chỗ : trong phép n++ thì tăng giá trị của biến n lên 1 sau khi giá trị của nó đã được sử dụng, còn trong phép ++n thì n được tăng trước khi sử dụng. Sự khác nhau giữa n-- và --n cũng như vậy.

+ Toán tử điều kiện

Cú pháp:

<biểu thức đều kiện>?<biểu thức1>:<biểu thức2>

Diễn giải:Nếu biểu thức điều kiện có giá trị đúng thì kết quả là <biểu thức 1>, nếu sai kết quả là <biểu thức 2>

Ví dụ:

            a=2

            b=5

            max=(a>b)? a:b;

kết quả là max = 5



Lập trình viên
Cách tự học lập trình hiệu quả nhất
Hướng dẫn học lập trình plc s7-200 đơn giản
Hướng dẫn học lập trình web bằng HTML cơ bản
Cách tư duy lập trình giúp công việc bạn nhanh hơn
Hướng dẫn học lập trình Excel căn bản

(St)


 

Hỏi đáp, bình luận, trả bài:
*địa chỉ email của bạn được bảo mật

Hot nhất
Top xink
Bộ sưu tập
Chợ xink
Thanh lý