Khai báo biến trong c++ là gì

Hướng dẫn khai báo biến trong C

  • Labs
  • Lab lập trình C
Hướng dẫn khai báo biến trong C

Bởi

admin

-

23/03/2019

6567

Facebook

Twitter

Hướng dẫn khai báo biến trong C là bài lab theo sau bài Hướng dẫn cách biểu diễn thuật toán bằng sơ đồ khối mà chúng tôi đã trình bày.

Như chúng ta đã biết, biến được sử dụng để lưu trữ dữ liệu được nhập vào hoặc kết quả từ phép tính nào đó.

Về việc này, chúng tôi đã trình bày ở bài Biến trong c. Do đó, các bạn có thể xem bài này để biết thêm thông tin về kiểu dữ liệu, cú pháp khai báo biến.

Hướng dẫn khai báo biến trong C – Yêu cầu

Câu 1. Viết chương trình tính chu vi, diện tích hình tròn và hiển thị kết quả sau khi tính.

Câu 2. Viết chương trình nhập vào lương, tuổi của nhân viên và hiển thị thông tin lên màn hình.

Câu 3. Viết chương trình tính chu vi, diện tích hình chữ nhật và hiển thị kết quả sau khi tính.

Câu 4. Viết chương trình tìm số lớn nhất trong 3 số và hiển thị số lớn nhất.

Hướng dẫn khai báo biến trong C – Hướng dẫn

Yêu cầu 1: Viết chương trình tính chu vi, diện tích hình tròn và hiển thị kết quả sau khi tính.

Phân tích: Cần 1 biến để lưu bán kính, 1 biến lưu chu vi và 1 biến lưu diện tích. 3 biến này là kiểu số thực.

Khai báo biến:

Khai báo biến trong c++ là gì

Vì 3 biến cùng kiểu dữ liệu nên chúng ta có thể khai báo chung. Các bạn có thể khai báo thành 3 dòng như sau

Khai báo biến trong c++ là gì

Yêu cầu 2: Viết chương trình nhập vào lương, tuổi của nhân viên và hiển thị thông tin lên màn hình.

Phân tích: Cần 1 biến kiểu số nguyên để lưu lương, 1 biến kiểu số nguyên để lưu tuổi. Như vậy, tổng cộng có 2 biến kiểu số nguyên.

Khai báo biến:

Khai báo biến trong c++ là gì

Yêu cầu 3: Viết chương trình tính chu vi, diện tích hình chữ nhật và hiển thị kết quả sau khi tính.

Phân tích: Cần 2 biến kiểu số nguyên để lưu chiều rộng và chiều cao. 1 biến kiểu số nguyên lưu chu vi. 1 biến kiểu số nguyên lưu diện tích. Tổng cộng có 4 biến kiểu số nguyên.

Khai báo biến:

Khai báo biến trong c++ là gì

Yêu cầu 4: Viết chương trình tìm số lớn nhất trong 3 số và hiển thị số lớn nhất.

Phân tích: Cần 3 biến kiểu số thực để lưu 3 số cần so sánh. 1 biến kiểu số thực để lưu giá trị lớn nhất. Tổng cộng có 4 biển kiểu số thực.

Khai báo biến:

Khai báo biến trong c++ là gì

Hướng dẫn khai báo biến trong C – Tổng kết

Biến là một thành viên trong chương trình C và được sử dụng để lưu giá trị mà người dùng nhập vào hoặc giá trị từ phép tính.

Đối với những biến có cùng kiểu dữ liệu, chúng ta có thể khai chung trên một dòng và mỗi biến phân cách bằng dấu phảy.

Biến, hằng giống như những chiếc hộp có tên riêng mà chúng ta có thể để dữ liệu vào và mang ra mỗi khi chúng ta cần sử dụng. Biến khác hằng ở chỗ giá trị lưu trữ trong biến có thể thay đổi trong quá trình thực hiện chương trình; còn giá thị của hằng thì được định nghĩa ngay từ đầu chương trình, không thay đổi trong suốt quá trình thực hiện chương trình.

Các quy tắc đặt tên biến, hằng:

Tên biến, tên hằng:

  • Chỉ chứa các chữ cái, chữ số và kí tự gạch dưới ( _ ) trong bảng mã ASCII.
  • Phải bắt đầu bằng một chữ cái hoặc kí tự gạch dưới.
  • Không được trùng với các từ khóa trong ngôn ngữ C.
  • Phân biệt hoa thường. C là ngôn ngữ phân biệt hoa thường, do vậy biến aBc và abc là khác nhau trong C.

Danh sách các từ khóa trong ngôn ngữ C:

1| auto   | break  | case     | char   | const    | continue | default  | do     |
2| double | else   | enum     | extern | float    | for      | goto     | if     |
3| int    | long   | register | return | short    | signed   | sizeof   | static |
4| struct | switch | typedef  | union  | unsigned | void     | volatile | while  |

Ví dụ:

  • Tên đúng:
    1  ;
    
    2,
    1  ;
    
    3,
    1  ;
    
    4,
    1  ;
    
    5
  • Tên sai:
    1  ;
    
    6 (tên sai do bắt đầu bằng số),
    1  ;
    
    7 (tên sai do chứa kí tự @ không được phép), 
    1  ;
    
    8 (tên sai do trùng với từ khóa).

Khai báo biến

Vị trí khai báo: Biến thường được khai báo ở đầu chương trình, đầu hàm hoặc khối lệnh.

Có 2 loại biến theo vị trí khai báo:

  • Biến toàn cục: biến khai báo ở ngoài các hàm, các khối lệnh. Chu trình sống của chúng từ lúc bắt đầu chương trình tới khi kết thúc chương trình.
  • Biến cục bộ: biến khai báo bên trong các hàm, các khối lệnh. Chu trình sống từ khi bắt đầu khối lệnh tới khi khối lệnh được thực hiện xong.

Cú pháp khai báo biến:

1  ;

(Biến trong ngôn ngữ C luôn gắn liền với một kiểu dữ liệu).

Ví dụ:

1int i,j; /* Khai báo biến i,j kiểu số nguyên */
2char ch; /* Khai báo biến ch kiểu chữ cái ASCII */
3char name[100]; /* Khai báo xâu kí tự tên name với độ dài lớn nhất là 100 kí tự */
4i = j = 0; /* Gán giá trị 0 cho 2 biến i,j */
5ch = 'A'; /* Gán giá trị chữ cái A in hoa cho biến ch */

Khai báo hằng

Khai báo hằng thực hiện ở đầu chương trình.

Cách 1: Sử dụng bộ tiền xử lí:

1#define  ;

Cách 2:

1const   = ;

Trên thực tế tên hằng thường được viết in hoa.

Phân chia các kiểu giá trị trong ngôn ngữ C

STTKiểu và miêu tả1Kiểu cơ bản: Là các kiểu dữ liệu số học và bao gồm 2 kiểu chính: a) kiểu số nguyên và b) kiểu số thực dấu chấm động.2Kiểu liệt kê: Đây là các kiểu số học và được dùng để định nghĩa các biến mà nó có thể được gán trước một số lượng nhất định giá trị số nguyên qua suốt chương trình.3Kiểu void: Kiểu định danh
1  ;
9 là kiểu đặc biệt thể hiện rằng không có giá trị nào.4Kiểu phát triển từ cơ bản: Bao gồm các kiểu : a) con trỏ, b) kiểu mảng, c) kiểu cấu trúc, d) kiểu union và e) kiểu function (hàm).

Bảng các kiểu nguyên:

KiểuKích thước biếnKhoảng giá trịchar1 byte-128 tới 127 hoặc 0 tới 255unsigned char1 byte0 tới 255signed char1 byte-128 tới 127int2 hoặc 4 bytes-32,768 tới 32,767 hoặc -2,147,483,648 tới 2,147,483,647unsigned int2 hoặc 4 bytes0 tới 65,535 hoặc 0 tới 4,294,967,295short2 bytes-32,768 tới 32,767unsigned short2 bytes0 tới 65,535long4 bytes-2,147,483,648 tới 2,147,483,647unsigned long4 bytes0 tới 4,294,967,295

Bảng các kiểu số thực dấu phẩy động:

KiểuKích thước biếnKhoảng giá trịĐộ chính xácfloat4 byte1.2E-38 tới 3.4E+386 vị trí thập phândouble8 byte2.3E-308 tới 1.7E+30815 vị trí thập phânlong double10 byte3.4E-4932 tới 1.1E+493219 vị trí thập phân

Một số kí tự điều khiển:

  • 1int i,j; /* Khai báo biến i,j kiểu số nguyên */
    2char ch; /* Khai báo biến ch kiểu chữ cái ASCII */
    3char name[100]; /* Khai báo xâu kí tự tên name với độ dài lớn nhất là 100 kí tự */
    4i = j = 0; /* Gán giá trị 0 cho 2 biến i,j */
    5ch = 'A'; /* Gán giá trị chữ cái A in hoa cho biến ch */
    
    0 : Xuống dòng
  • 1int i,j; /* Khai báo biến i,j kiểu số nguyên */
    2char ch; /* Khai báo biến ch kiểu chữ cái ASCII */
    3char name[100]; /* Khai báo xâu kí tự tên name với độ dài lớn nhất là 100 kí tự */
    4i = j = 0; /* Gán giá trị 0 cho 2 biến i,j */
    5ch = 'A'; /* Gán giá trị chữ cái A in hoa cho biến ch */
    
    1 : Tab ngang (tạo khoảng trắng giống như khi bạn ấn phím Tab trên bàn phím trong soạn thảo văn bản)
  • 1int i,j; /* Khai báo biến i,j kiểu số nguyên */
    2char ch; /* Khai báo biến ch kiểu chữ cái ASCII */
    3char name[100]; /* Khai báo xâu kí tự tên name với độ dài lớn nhất là 100 kí tự */
    4i = j = 0; /* Gán giá trị 0 cho 2 biến i,j */
    5ch = 'A'; /* Gán giá trị chữ cái A in hoa cho biến ch */
    
    2 : Nhảy về đầu hàng
  • 1int i,j; /* Khai báo biến i,j kiểu số nguyên */
    2char ch; /* Khai báo biến ch kiểu chữ cái ASCII */
    3char name[100]; /* Khai báo xâu kí tự tên name với độ dài lớn nhất là 100 kí tự */
    4i = j = 0; /* Gán giá trị 0 cho 2 biến i,j */
    5ch = 'A'; /* Gán giá trị chữ cái A in hoa cho biến ch */
    
    3 : Kêu Bip
  • 1int i,j; /* Khai báo biến i,j kiểu số nguyên */
    2char ch; /* Khai báo biến ch kiểu chữ cái ASCII */
    3char name[100]; /* Khai báo xâu kí tự tên name với độ dài lớn nhất là 100 kí tự */
    4i = j = 0; /* Gán giá trị 0 cho 2 biến i,j */
    5ch = 'A'; /* Gán giá trị chữ cái A in hoa cho biến ch */
    
    4 : In ra dấu \
  • 1int i,j; /* Khai báo biến i,j kiểu số nguyên */
    2char ch; /* Khai báo biến ch kiểu chữ cái ASCII */
    3char name[100]; /* Khai báo xâu kí tự tên name với độ dài lớn nhất là 100 kí tự */
    4i = j = 0; /* Gán giá trị 0 cho 2 biến i,j */
    5ch = 'A'; /* Gán giá trị chữ cái A in hoa cho biến ch */
    
    5 : In ra dấu "
  • 1int i,j; /* Khai báo biến i,j kiểu số nguyên */
    2char ch; /* Khai báo biến ch kiểu chữ cái ASCII */
    3char name[100]; /* Khai báo xâu kí tự tên name với độ dài lớn nhất là 100 kí tự */
    4i = j = 0; /* Gán giá trị 0 cho 2 biến i,j */
    5ch = 'A'; /* Gán giá trị chữ cái A in hoa cho biến ch */
    
    6 : In ra dấu '
  • 1int i,j; /* Khai báo biến i,j kiểu số nguyên */
    2char ch; /* Khai báo biến ch kiểu chữ cái ASCII */
    3char name[100]; /* Khai báo xâu kí tự tên name với độ dài lớn nhất là 100 kí tự */
    4i = j = 0; /* Gán giá trị 0 cho 2 biến i,j */
    5ch = 'A'; /* Gán giá trị chữ cái A in hoa cho biến ch */
    
    7 : In ra dấu %

2. Nhập xuất dữ liệu trong C:

Để nhập xuất cơ bản trong C, ta sử dụng 2 hàm tiêu chuẩn, được định nghĩa trong thư viện

1int i,j; /* Khai báo biến i,j kiểu số nguyên */
2char ch; /* Khai báo biến ch kiểu chữ cái ASCII */
3char name[100]; /* Khai báo xâu kí tự tên name với độ dài lớn nhất là 100 kí tự */
4i = j = 0; /* Gán giá trị 0 cho 2 biến i,j */
5ch = 'A'; /* Gán giá trị chữ cái A in hoa cho biến ch */
8.

  • Hàm printf() để in ra thiết bị xuất tiêu chuẩn (màn hình).
  • Hàm scanf() để nhận giá trị từ thiết bị nhập tiêu chuẩn (bàn phím) và lưu vào các biến.

Ví dụ về chương trinh nhập một số và in ra số vừa nhập:

1#include ;
2int main() {
3	float x;
4	printf("aicurious.io\n");
5	printf("Nhap vao mot so: ");
6	scanf("%f",&x);
7	printf("So ban vua nhap la: %f", x);
8	return 0;
9}

a) In dữ liệu ra màn hình:

Cú pháp:

1int i,j; /* Khai báo biến i,j kiểu số nguyên */
2char ch; /* Khai báo biến ch kiểu chữ cái ASCII */
3char name[100]; /* Khai báo xâu kí tự tên name với độ dài lớn nhất là 100 kí tự */
4i = j = 0; /* Gán giá trị 0 cho 2 biến i,j */
5ch = 'A'; /* Gán giá trị chữ cái A in hoa cho biến ch */
9

Việc sử dụng đơn giản nhất là in ra một xâu kí tự: "Xin chao cac ban!":

1printf("Xin chao cac ban!");

Vậy bạn muốn in một biến chứa dữ liệu ra màn hinh thì sao?

Ví dụ về in biến chứa 1 số nguyên ra màn hình:

1int number = 12;
2printf ("So duoc in ra: %d",number);

Để in giá trị của các biến, số ra màn hình, ta phải sử dụng các đặc tả định dạng bắt đầu với % như trên nhằm đại diện cho các biến, số (%d đại diện cho biến số nguyên number).  Các đặc tả định dạng này không được in ra màn hình mà được thay thế bởi các biến, các số đằng sau.

Một số đặc tả định dạng cơ bản:

  • 1#define  ;
    
    0: số nguyên hệ 10 có dấu
  • 1#define  ;
    
    1: số nguyên hệ 10 không dấu
  • 1#define  ;
    
    2: số nguyên hệ 16
  • 1#define  ;
    
    3: số nguyên hệ bát phân
  • 1#define  ;
    
    4: xâu kí tự
  • 1#define  ;
    
    5: một kí tự đơn
  • 1#define  ;
    
    6: số chấm động cố định
  • 1#define  ;
    
    7: số chấm động (ký hiệu có số mũ)
  • 1#define  ;
    
    8 : Tiền tố dùng kèm với
    1#define  ;
    
    0,
    1#define  ;
    
    2,
    1#define  ;
    
    3 để chỉ số nguyên dài (ví dụ
    1const   = ;
    
    2)

Chú ý:

  • Ta có thể sử dụng đặc tả định dạng để in dữ liệu sang kiểu khác:

1char ch = "A";
2printf ("%d\n", ch); /* In ra 65 */
3printf ("%c\n", ch); /* In ra A */

  • Để in ra kí tự % ta dùng %%.

Định dạng dữ liệu in ra:

1const   = ;
3 trong đó: •
1const   = ;
4 chiều rộng •
1const   = ;
5 căn lề trái •
1const   = ;
6 số kí tự được in ra

Ví dụ:

Giá trịĐặc tả định dạngKết quả42%6d4242%-6d42'z'%3cz2.71828%10.2f2.71"printf"%10sprintf

b) Nhập dữ liệu từ bàn phím:

Cú pháp:

1const   = ;
7

Ví dụ ta muốn nhập một số nguyên vào biến a:

Lưu ý: Ở đây

1const   = ;
8 là con trỏ trỏ tới biến a.

Chú ý khi nhập xâu kí tự chứa dấu cách (space):

Trước khi đọc xâu, chúng ta phải làm sạch bộ đệm bàn phím vì có thể quá trình đọc dữ liệu trước còn lưu lại. Trên Windows chúng ta có lệnh

1const   = ;
9 , tuy nhiên nó đã bộc lộ khá nhiều hạn chế, nhất là không thể dùng trên Linux nên tôi không sử dụng ở đây. Chúng ta sẽ dùng đoạn lệnh sau trước lệnh nhập vào một chuỗi:

1int c;
2while ( ( c = getchar() ) != EOF && c != '\n' );

Hoặc

1  ;
0

Cách 1: Ta dùng lệnh:

với 100 là độ dài lớn nhất của xâu kí tự bạn muốn nhập vào (bạn có thể thay đổi nó) và name là tên biến xâu kí tự. Việc đọc này sẽ lưu vào biến name cả kí tự xuống dòng ở cuối xâu (khi bạn ấn enter để kết thúc nhập xâu là truyền vào bộ đệm kí tự xuống dòng).