Variable-comment-input-output-trong-C

Bài 3 : Variable, comment, input, output trong C

Chào các bạn đây là bài số 2, hôm nay chúng ta tìm hiểu variable, comment, input, output trong C.

Ở bài trước chúng ta đã tìm hiểu Cấu trúc và keywords của lập trình C cơ bản nếu các bạn chưa xem thì xem lại bài nhé.

Variable-comment-input-output-trong-C

Biến (gọi là variable) là một nơi chứa để lưu trữ các giá trị dữ liệu (data values).

Trong C, có nhiều loại biến (variable) khác nhau , được định nghĩa bằng những từ khóa (keywords) khác nhau:

  • int : lưu kiểu integer, không có số thập phân (decimals), như 123 hoặc -123.
  • float : lưu kiểu Floating là kiểu số thực, có số thập phân (decimals), như 19.99 hoặc-19.99
  • char : lưu các ký tự đơn, như “a” hoặc “B”. Các ký tự này được bao quanh bởi dấu ngoặc kép

Khai báo biến (Declaring Variables)

Để khai báo một variables (biến) trong C thì chúng ta phải chỉ định type và gán (assign) cho nó một giá trị.

Cú pháp (Syntax)

type variableName = value;

Ở bên trên type là loại của C (ví dụ : int, float, char..),

còn variableName giống như nghĩa tiếng anh là tên biến (ví dụ : x,y,z hoặc là tên của bạn, tên của tôi).

Dấu bằng (=) dùng để gán giá trị đến một biến.

Ví dụ :

Tạo một biến với tên gọi là myNum và type kiểu int và gán (assign) gí trị cho nó là 15.

Ở đây chúng ta có 2 cách làm.

Cách 1: Gán giá trị trực tiếp lúc khai báo.

int myNum = 15; // biến myNum có giá trị là 15.

Cách 2 : Gán giá trị sau khi khai báo.

int myNum;

myNum = 15; // biến myNum có giá trị là 15.

** Chú ý : nếu chúng ta gán 1 giá trị mới vào biến đã tồn tại, thì giá trị sau sẽ ghi đè vào giá trị trước, nghĩa là biến đó sẽ có giá trị sau cùng.

Ví dụ :

int myNum = 15;  // myNum is 15

myNum = 10;  // Now myNum is 10

Comment

Comment trong C là gì ?

Comment trong C là dùng để giải thích code, và làm cho nó dễ đọc và dễ hiểu hơn. Không chỉ trong lập trình C mà trong tất cả các ngôn ngữ lập trình khác thì comment cũng có chức năng tương tự.

Khi bạn đi làm hay làm những dự án thực tế, thì trong tất cả các dự án đều phải có comment. Comment nó không có tác dụng gì ngoài việc giải thích đoạn code là làm cái gì, và giúp cho những người khác đọc đoạn code của bạn cũng dễ đọc và dễ hiểu hơn.

Có 1 điểm ở chỗ này nếu bạn không viết comment thì sau này khi mà có bị lỗi (hay gọi là bug) ngay chỗ đó, nếu như dự án (hay còn gọi là project) của bạn nó có ít dòng code thì không sao, nhưng khi code của bạn lên đến cả ngàn dòng code thì mệt mỏi đấy, khi đấy nhiều khi bạn không hiểu một vài dòng code trong đó là để làm gì

Hãy tập comment như là 1 thói quen nhé. 🙂

Comment thì ta có comment 1 dòng và comment nhiều dòng.

Comment 1 dòng :

Comment 1 dòng nó sẽ bắt đầu bằng dấu // và kết thúc trong cùng 1 dòng.

#include <stdio.h>

int main(){
	// in ra màn hình Hello girl!!!
	printf("Hello girl!!!");
	return 0;
}

Ở đây những đoạn sau dấu // khi thực thi thì trình biên dịch sẽ bỏ qua.

Kết quả :

Comment nhiều dòng :

Để comment nhiều dòng thì ta sử dụng : /*….*/

#include <stdio.h>

int main() {
	/*
		Dòng code bên duoi
		in ra màn hình Hello girl!!!
	*/
	printf("Hello girl!!!");
	return 0;
}

Ở đây những đoạn giữa dấu /* đến */ khi thực thi thì trình biên dịch sẽ bỏ qua.

Kết quả :

Input and output

Trong lập trình C, Input và Output cung cấp cho chúng ta thư viên chuẩn của C, trong đó có nhiều hàm (function) và được xác định trong stdio.h header file.

Để import thư viện đó sử dụng dòng bên dưới trên đầu của chương trình C :

#include <stdio.h>

Thư viện (library) này nó cung cấp cho chúng ta nhiều function :

  • printf()
  • scanf()
  • sscanf()
  • fgets()
  • fprintf()
Ví dụ : Output
#include <stdio.h>
int main()
{
    int testInteger = 5;
    float number1 = 13.5;
    printf("number1 = %f\n", number1);
    printf("Number = %d", testInteger);
    return 0;
}

Ở đây chúng ta sử dụng %d để in ra số nguyên (int), và %f để in ra số thực (float), \n là dùng để xuống dòng.

Có các định dạng (format specifiers) khác giống như %d và %f :

  • %c cho char (kiểu kí tự)
  • %s cho char (kiểu kí tự)
  • %p cho pointers (kiểu con trỏ)
  • %lf cho double (kiểu double)

Còn nhiều cái khác nữa nhưng chúng ta chỉ cần biết bao nhiêu đây thôi, nhiêu quá cũng không nhớ hết đâu. 🙂

Kết quả :

Ví dụ : Input và Output

Trong chương trình C, hàm scanf() là chờ người dùng nhập cái gì đó từ bàn phím.

Scanf() có 2 tham số (hay còn gọi arguments) :

  1. The format (type) of the variable
  2. The address of the variable

Giống như thế này :

Với age là biến (variable)

Bây giờ chúng ta sẽ viết 1 chương trình mini có sử dụng cả scanf() và prinft()

Ví dụ 1 : Integer Input/Output
#include <stdio.h>
int main()
{
    int testInteger;  	// Khai báo bien kieu integer voi ten là testInteger
    printf("Enter an integer: "); // in ra màn hình "Enter an integer: "
    scanf("%d", &testInteger);  // Cho nguoi dùng nhap vào tu bàn phím
    printf("Number = %d",testInteger);	// in ra gia tri mà nguoi dùng nhâp vao tu ban phím sau khi bam enter
    return 0;
}

Giải thích thêm đoạn code bên trên :

  • %d format specifier bên trong hàm scanf() : nghĩa là nó sẽ lấy input từ user, sau khi người dùng nhập vào 1 số Integer và bấm enter, và sau đó nó sẽ lưu trữ trong biến testInteger
  • &testInteger trong hàm scanf() : vì &testInteger nó sẽ lấy địa chỉ của testInteger, và giá trị mà người dùng nhập vào cũng được lưu trong địa chỉ đó

Kết quả :

Ví dụ 2 : Float and Double Input/Output
#include <stdio.h>
int main()
{
    float num1;
    double num2;

    printf("Enter a number: ");
    scanf("%f", &num1);
    printf("Enter another number: ");
    scanf("%lf", &num2);

    printf("num1 = %f\n", num1);
    printf("num2 = %lf", num2);

    return 0;
}

Sử dụng %f and %lf format specifier lần lượt cho kiểu float và double.

Kết quả :

Ví dụ 3 : C Character I/O
#include <stdio.h>
int main()
{
    char chr;
    printf("Enter a character: ");
    scanf("%c",&chr);     
    printf("You entered %c.", chr);  
    return 0;
} 

Sử dụng %c format specifier cho kiểu kí tự .

Ở đây khi người dùng nhập kiểu kí tự vào thì kiểu kí tự đó không được lưu trữ. Mà nó lưu trữ kiểu số nguyên (integer) (lưu trữ giá trị theo ASCII)

Khi chúng ta hiển thị nó bằng cách sử dụng %c thì kí từ người dùng nhập vào sẽ hiển thị.

Nhưng khi chúng ta sử %d để hiển thị giá trị đó thì giá trị ASCII được hiển thị. Xem ở ví dụ 4

Kết quả :

Ví dụ 4 : ASCII Value
#include <stdio.h>
int main()
{
    char chr;
    printf("Enter a character: ");
    scanf("%c", &chr);     

    // khi su dung %c thì se hien thi ki tu
    printf("You entered %c.\n",chr);  

    // khi su dung %d thì se hien thi giá tri ASCII
    printf("ASCII value is %d.", chr);  
    return 0;
}

Kết quả :

Ví dụ 5 : I/O Multiple Values

Ở ví dụ này người dùng sẽ nhập nhiều input và xuất ra 1 lần.

#include <stdio.h>
int main()
{
    int a;
    float b;

    printf("Enter integer and then a float: ");
  
    // nhap nhieu input tu nguoi dùng
    scanf("%d%f", &a, &b);

    printf("You entered %d and %f", a, b);  
    return 0;
}

Kết quả :

Tổng kết :

Bài tới đây cũng đã khá dài rồi, trong bài này thì mình cũng tham khảo từ nhiều nguồn trên Internet và rút ngắn lại những cái nào thường hay sử dụng.

Qua bài này mình hi vọng có thể chia sẻ cho các bạn hiểu những cái cơ bản về biến, comment, input và output. Các bạn có cái nào chưa hiểu hay muốn đóng góp cho bài viết thì vui lòng comment bên dưới nhé.

Chúc các bạn thực hành thành công

Xem video và làm bài tập để hiểu hơn tại đây nhé:

Nguồn tham khảo :

  1. https://www.programiz.com/c-programming/c-variables-constants

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *