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


Exercise 12: If,Else-If,Else

Bài này thì quá dễ rồi, để mình nhớ lại xem, thật ra là nhớ về câu lệnh 3 toán tử mà mình đã tự học. Sau đó mình sẽ google một hồi, và cuối….
Bài hôm nay thì bình thường thôi, học về if-else đồ thôi chứ không có gì ghê gớm đâu, học nhanh mà qua những bài khác nhé, phía sau còn gian nan lắm.

Tạo một file ex12.c với nội dung sau, đừng quên tạo kèm Makefile nhé:

#include <stdio.h>

int main(int argc, char *argv[])
{
    int i = 0;
    
    if(argc == 1)
    {
        printf("You only have one argument. You suck.\n");
    }
    else if(argc > 1 && argc < 4)
    {
         printf("Here's your arguments:\n");

         for(i = 0; i < argc; i++)
         {
             printf("%s ", argv[i]);
         }        
         printf("\n");
    }
    else
    {
         printf("You have too many arguments. You suck.\n");
    }

    return 0;
}

Sau khi tạo xong thì các bạn hãy thực hiện biên dịch và chạy đi nhé. Nhớ dùng Makefile và Valgrind. Các bạn phải chạy được như thế này nhé:

$ make ex12
cc -Wall -g ex12.c -o ex12
$ ./ex12
You only have one argument. You suck.
$ ./ex12 one
Here's your arguments:
./ex12 one
$ ./ex12 one two
Here's your arguments:
./ex12 one two
$ ./ex12 one two three
You have too many arguments. You suck.
$

Đến phần giải thích code, vì bài này khá dễ nên mình không nói nhiều:
– Lệnh if sẽ có dạng như sau:

if(TEST)
{
    CODE;
}
else if(TEST)
{
    CODE;
}
else
{
    CODE;
}

Như trên, lệnh if chỉ thực hiện một trong 3 trường hợp trên khi trường hợp TEST = true. false = 0 và true là tất cả các số còn lại.

Reseach

1. Tìm hiểu các toán tử logic. So sánh toán tử && và toán tử & (không nói đến toán tử & lấy địa chỉ trong con trỏ nhé).
2. Câu lệnh 3 toán tử (hay if rút gọn)
Thử test ví dụ sau:

int x;
int a = 1, b = 2;
/* test thử xem x = mấy? */
x = a > b ? a : b; // đây là câu lệnh gán 3 toán tử

End

Advertisements

4 thoughts on “Exercise 12 Lập Trình C – Learn C The Hard Way

  1. Thực ra bạn phải bắt tay vào làm project thì trình độ sẽ tự động lên. Bạn có thể làm game (ngay trên console) hoặc có thể tự luyện giải thuật bằng link này: projecteuler.net/archives

    Like

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