Exercise 6 Lập Trình C – Learn C The Hard Way


Exercise 6: Types Of Variables

Ở bài này, chúng ta sẽ tìm hiểu về các kiểu biến cơ bản trong C nhu int, double, float,… . Đây là bài khá đơn giản, các bạn nhớ là không được copy code nhé. Bài sau các bạn sẽ được tìm hiểu thêm về biến và các phép toán trong C.

Bắt đầu với việc tạo một file ex6.c như sau:

#include <stdio.h>

int main(int argc, char *argv[])
{
    int distance = 100;
    float power = 2.345f;
    double super_power = 56789.4532;
    char initial = 'A';
    char first_name[] = "Zed";
    char last_name[] = "Shaw";

    printf("You are %d miles away.\n", distance);
    printf("You have %f levels of power.\n", power);
    printf("You have %f awesome super powers.\n", super_power);
    printf("I have an initial %c.\n", initial);
    printf("I have a first name %s.\n", first_name);
    printf("I have a last name %s.\n", last_name);
    printf("My whole name is %s %c. %s.\n",
    first_name, initial, last_name);

    return 0;
}

Sau khi tạo xong file thì tiến hành biên dịch và run, rồi xem kết quả nhé! Nhớ sử dụng Makefile và Valgrind.

Đến phần giải thích code:

1. int là từ khóa để khai báo một biến Intergers, khi in ra trong hàm printf thì dùng %d.

2. float và double để khai báo một biến kiểu số thực (double lớn hơn), khi in ra trong hàm printf thì dùng %f.

3. char dùng để khai báo một kí tự hay một chuỗi kí tự, kí tự thì dùng dấu nháy đơn, còn chuỗi kí tự thì phải dùng dấu nháy kép, khai báo giống như trong ví dụ. Chúng ta sẽ đi sâu hơn trong các bài tiếp theo.

Reseach

1. Hãy thử thay đổi các biến hay tham số trong hàm printf để chương trình gây ra lỗi và dùng Valgrind để xem, sau đó fix lại chương trình cho đúng.

2. Tìm hiểu thêm trên internet về “printf formats” và thử dùng nó với một vài “exotic” như %c, %s, … .
3. Tìm hiểu về các hệ thống số như: nhị phân, bát phân, thập phân, hệ 16.
4. Thử in một kí tự trống “” trong hàm printf.

End

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s