Xuống Dòng Trong C
Có thể bạn quan tâm
Hướng dẫn cách xuống dòng trong C. Bạn sẽ biết cách xuống dòng trong C, cách sử dụng ký tự xuống dòng trong C cũng như cách xóa ký tự xuống dòng trong C trong bài học này.
Xuống dòng trong C
Về cơ bản, một câu lệnh trong C có thể được viết trên một hoặc nhiều dòng và được kết thúc bằng cách sử dụng dấu chấm than ; ở cuối câu.Và bạn có thể tùy ý xuống dòng trong C bằng cách nhấn phím ENTER khi đang viết một câu lệnh. Các khoảng trống này cũng sẽ được bỏ qua khi chương trình được xử lý.
Đây là điểm này rất khác biệt so với các ngôn ngữ khác như Python vốn dùng xuống dòng tạo bởi phím ENTER để kết thúc câu lệnh.
- Bạn có tham khảo sự khác biệt tại bài viết Xuống dòng trong Python
Ví dụ, chúng ta có thể xuống dòng bên trong câu lệnh C tùy ý như sau:
| #include <stdio.h>int main(void) { char str1[16] = "Hello"; char str2[16] = ", Việt Nam"; printf("%s%s", str1, str2); return 0;} |
Kết quả của ví dụ trên cũng giống như cách viết sau:
| #include <stdio.h>int main(void) { char str1[16] = "Hello"; char str2[16] = ", Việt Nam"; printf("%s%s", str1, str2); return 0;} |
Kết quả
| Hello, Việt Nam |
Tuy nhiên, chúng ta không thể xuống dòng bằng phím ENTER ở giữa một đối tượng ( tên biến, từ khóa, chuỗi v.v..) trong C được. Do xuất hiện xuống dòng giữa đối tượng nên đã khiến đối tượng đó thay đổi tính chất.
Ví dụ với các cách viết sau đây đều khiến đối tượng trong C thay đổi và lỗi sẽ xảy ra:
Ví dụ 1: Lỗi xảy ra khi xuống dòng giữa từ khóa trong C
| #include <stdio.h>int main(void) { cha r str1[16] = "Hello"; //Lỗi khi xuống dòng giữa từ khóa "char" char str2[16] = ", Việt Nam"; printf("%s%s\n", str1, str2); return 0;}>>> Main.c:3:5: error: use of undeclared identifier 'cha'; did you mean 'char'? |
Ví dụ 2: Lỗi xảy ra khi xuống dòng giữa tên biến trong C
| #include <stdio.h>int main(void) { char str1[16] = "Hello"; char str 2[16] = ", Việt Nam"; //Lỗi khi xuống dòng giữa tên biến "str2" printf("%s%s\n", str1, str2); }>>> Main.c:4:13: error: expected ';' at end of declaration char str |
Ví dụ 1: Lỗi xảy ra khi xuống dòng giữa chuỗi chứa ký tự xuống dòng \n
| #include <stdio.h>int main(void) { char str1[16] = "Hello"; char str2[16] = ", Việt Nam"; printf("%s%s\n ", str1, str2); //Lỗi khi xuống dòng giữa chuỗi chứa ký tự xuống dòng \n return 0;}>>> Main.c:5:12: warning: missing terminating '"' character [-Winvalid-pp-token] printf("%s%s\n |
Ký tự xuống dòng trong C
Ở phần trên bạn đã biết có thể tùy ý xuống dòng trong C bằng cách nhấn phím ENTER khi đang viết một câu lệnh. Tuy nhiên, xuống dòng trong câu lệnh sẽ bị bỏ qua khi xử lý câu lệnh đó, do đó kết quả chương trình cũng không bị xuống dòng khi in ra màn hình.Thay vào đó, để xuống dòng khi viết chuỗi, bạn cần tới ký tự xuống dòng trong C.
Ký xuống dòng xuống dòng là một loại mã dùng để in xuống dòng trong C, có tác dụng xuống dòng giữa một chuỗi ký tự, và được biểu diễn bởi ký hiệu \n.
Ví dụ cụ thể:
| #include <stdio.h>int main(void) { char str1[16] = "Hello"; char str2[16] = ", Việt Nam"; printf("%s\n%s", str1, str2); return 0;} |
Kết quả:
| Hello, Việt Nam |
Xóa ký tự xuống dòng trong C
Trong C không tồn tại phương pháp trực tiếp nào để xóa ký tự xuống dòng cả, vì vậy để xóa ký tự xuống dòng trong C, chúng ta cần sử dụng vòng lặp for để tạo ra một hàm xóa ký tự xuống dòng trong C.
Ý tưởng của hàm này đó là sử dụng vòng lặp để lấy từng ký tự trong chuỗi, và nếu ký tự đó là một ký tự xuống dòng thì chúng ta thay thế nó bởi một ký tự trắng.
Lưu ý là trong hàm có sử dụng hàm lấy độ dài chuỗi strlen() nên chúng ta cần phải thêm #include <string.h> để load thư viện xử lý string vào. Chúng ta viết hàm như sau:
| #include <string.h>void xoaXuongDongC(char *str) { //Lấy độ dài chuỗi str size_t len = strlen(str); //Tạo vòng lặp và kiểm tra từng ký tự trong chuỗi int i; for (i = 0; i <= len; i = i + 1){ if(str[i] == '\n') { str[i] = ' '; //Thay thế ký tự xuống dòng bằng dấu cách nếu tìm thấy. } }} |
Lưu ý là ở hàm trên thì Kiyoshi đã chỉ định một ký trắng để thay thế cho ký tự xuống dòng trong dòng code str[i] = ' ';. Bạn cũng có thể thay thế ký tự trắng bằng các ký tự khác nếu muốn.
Sau khi tạo hàm, chúng ta gọi hàm này và tiến hành xóa ký tự xuống dòng trong chuỗi ký tự C như sau:
| #include <stdio.h>//Tạo hàm xóa ký tự xuống dòng trong C#include <string.h>void xoaXuongDongC(char *str) { //Lấy độ dài chuỗi str size_t len = strlen(str); //Tạo vòng lặp và kiểm tra từng ký tự trong chuỗi int i; for (i = 0; i <= len; i = i + 1){ if(str[i] == '\n') { str[i] = ' '; //Thay thế ký tự xuống dòng bằng dấu cách nếu tìm thấy. } }}//Hàm main()int main(void) { char str[16] = "Hello\nViet Nam\n"; printf("%s\n", str); //Gọi và sử dụng hàm xóa ký tự xoaXuongDongC(str); printf("%s", str); return 0;} |
Kết quả:
| HelloViet NamHello Viet Nam |
Bạn có thể thấy ký tự xuống dòng trong chuỗi "Hello\nViet Nam\n" đã được xóa đi và thay thế bởi dấu cách và in ra màn hình trên cùng một dòng rồi phải không nào?
Tổng kết
Trên đây Kiyoshi đã hướng dẫn bạn cách xuống dòng trong C, cách sử dụng ký tự xuống dòng trong C cũng như cách xóa ký tự xuống dòng trong C rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.
Và hãy cùng tìm hiểu những kiến thức sâu hơn về C trong các bài học tiếp theo.
URL Link
https://laptrinhcanban.com/c/lap-trinh-c-co-ban/kien-thuc-co-ban-ve-c/xuong-dong-trong-c/
Từ khóa » Hàng Trong C
-
Bài 4. Biến Và Hằng Trong C - Lập Trình Không Khó
-
Biến, Hằng Và Nhập Xuất Dữ Liệu Trong C - AICurious
-
Hằng Số Trong C | 64 Bài Học Lập Trình C Hay Nhất
-
Nhập Xuất Cơ Bản Trong C/C++
-
Hằng Trong C++ — Modern C++
-
Hằng (Constant/Literal) Trong C/C++
-
Mảng Hai Chiều C/C++ - Writes - Dạy Nhau Học
-
Ngăn Xếp Và Hàng đợi Trong C++ | TopDev
-
Lập Trình C: Bài 2 - Các Thành Phần Trong C - Cách Học
-
MẢNG HAI CHIỀU & ĐA CHIỀU TRONG C++ - Hybrid Technologies
-
Hằng Trong C++
-
Bài Tập Hàng đợi Queue Cài đặt Bằng Mảng Trong C/C++
-
Mảng 2 Chiều Trong C - Học Lập Trình C Online - Viettuts