Bài giảng Ngôn ngữ lập trình C - Chương 2: Các thành phần cơ bản - Nguyễn Hữu Dũng
Nội dung
2 Ngôn ngữ lập trình C - Cơ bản
Giới thiệu ngôn ngữ lập trình C
Trình biên dịch/thông dịch
Cấu trúc chương trình
Định dạng trong C
Biến, kiểu dữ liệu
Hằng số, từ khóa, toán tử
Thư viện
stdio.h, stdlib.h, math.h, string.h, ctype.h, time.h
Nhập xuất căn bản
Nhập: scanf, cin, gets
Xuất: printf, cout, puts
Ngôn ngữ lập trình C - Cơ bản
Được phát triển bởi Dennis
Ritchie tại phòng thí nghiệm
AT&T Bell vào đầu thập niên
1970
C được dùng trong hệ điều
hành UNIX và phát triển cùng
với hệ điều hành này
C đã lan rộng ra nhiều hệ điều
hành khác và trở thành ngôn
ngữ phổ dụng nhất
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Ngôn ngữ lập trình C - Chương 2: Các thành phần cơ bản - Nguyễn Hữu Dũng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Ngôn ngữ lập trình C - Chương 2: Các thành phần cơ bản - Nguyễn Hữu Dũng
Ngôn ngữ lập trình C Các thành phần cơ bản TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH Nội dung Ngôn ngữ lập trình C - Cơ bản2 Giới thiệu ngôn ngữ lập trình C Trình biên dịch/thông dịch Cấu trúc chương trình Định dạng trong C Biến, kiểu dữ liệu Hằng số, từ khóa, toán tử Thư viện stdio.h, stdlib.h, math.h, string.h, ctype.h, time.h Nhập xuất căn bản Nhập: scanf, cin, gets Xuất: printf, cout, puts Ngôn ngữ lập trình C Ngôn ngữ lập trình C - Cơ bản Được phát triển bởi Dennis Ritchie tại phòng thí nghiệm AT&T Bell vào đầu thập niên 1970 C được dùng trong hệ điều hành UNIX và phát triển cùng với hệ điều hành này C đã lan rộng ra nhiều hệ điều hành khác và trở thành ngôn ngữ phổ dụng nhất 3 Trình biên dịch/Trình thông dịch Ngôn ngữ lập trình C - Cơ bản Trình biên dịch Compiler Mã nguồn Source code Mã máy Machine Code Executable Program Input Output Trình biên dịch: Phân tích chương trình và biên dịch thành mã máy. Chương trình có thể thực thi: Có thể chạy độc lập với trình biên dịch => Thực thi nhanh chóng Trình thông dịch Interpreter Source Code Input Output Trình thông dịch: Phân tích và thực thi chương trình cùng lúc. Việc thực thi chậm nhưng dễ sửa lỗi chương trình. 4 Biên dịch và chạy chương trình Ngôn ngữ lập trình C - Cơ bản IDE – Integrated Development Environment Trình soạn thảo Biên soạn mã nguồn Trình biên dịch Phân tích và biên dịch mã nguồn thành mã đối tượng Trình liên kết Kết hợp các mã đối tượng và thư viện thành mã thực thi Editor Compiler Linker Source code file.c Object code file.obj Executable code file.exe Libraries IDE (Integrated Development Environment) 5 Sửa lỗi - debug Ngôn ngữ lập trình C - Cơ bản Lỗi cú pháp Phát hiện bởi trình biên dịch Lỗi về từ khóa, cú pháp, ngữ pháp Lỗi ngữ nghĩa Được phát hiện bởi người sử dụng Lỗi về kết quả của chương trình Lỗi xuất hiện trong quá trình thực thi chương trình Đúng cú pháp nhưng sai kết quả Editor Compiler Linker Source code file.c Object code file.obj Executable code file.exe Libraries Syntactic Errors Semantic Errors 6 Cấu trúc chương trình C Ngôn ngữ lập trình C - Cơ bản Ký hiệu #include dùng để khai báo thư viện phục vụ chương trình Hàm main là nơi bắt đầu thực hiện chương trình Lệnh printf nằm trong thư viện stdio.h, dùng để xuất dữ liệu ra màn hình Kí hiệu \n dùng để xuống dòng Lệnh return dùng để kết thúc và trả về giá trị kiểu int cho hàm main 1. /* Chương trình Hello world! */ 2. #include // Khai báo thư viện 3. int main() // Chương trình chính 4. { // Bắt đầu chương trình 5. printf("Hello world!\n"); // Câu lệnh 6. return 0; 7. } // Kết thúc chương trình 7 Định dạng trong C Ngôn ngữ lập trình C - Cơ bản Có phân biệt giữa chữ in HOA và chữ in thường! Tất cả các từ khóa và hàm chuẩn trong C đều là chữ thường Các dòng trống, khoảng trắng, lời chú thích đều được trình biên dịch bỏ qua Không ảnh hưởng đến hoạt động của chương trình Các dấu thụt dòng giúp chương trình dễ đọc, rõ ràng. Có thể dùng tab hoặc dấu cách Không ảnh hưởng đến hoạt động của chương trình Câu lệnh được kết thúc bằng dấu chấm phẩy ; Chuỗi ký tự được đặt giữa hai dấu hai nháy "Chuỗi" Một ký tự được đặt giữa hai dấu một nháy 's' 8 Lời chú thích Ngôn ngữ lập trình C - Cơ bản Không ảnh hưởng đến hoạt động của chương trình Giải thích về giải thuật, cách hoạt động, chú thích các phần khác nhau Hai cách ghi chú thích // chú thích dòng /* chú thích khối*/ Chú thích dòng: Lời chú thích đứng sau dấu // Chú thích khối: Lời chú thích nằm giữa dấu /* và */ 1. /* Chương trình C 2. ** In ra màn hình dòng chữ Hello world! 3. */ 4. #include //Khai báo thư viện 9 Biến Ngôn ngữ lập trình C - Cơ bản Biến được dùng để lưu trữ dữ liệu và kết quả tính toán Kiểu dữ liệu: Nguyên, thực, ký tự, chuỗi, mảng, cấu trúc, con trỏ Tên biến: Do người lập trình tự đặt Biến phải được khai báo trước khi sử dụng Cú pháp: Kiểu-dữ-liệu Tên-biến; int year; float score; char kytu; 10 Biến (2) Ngôn ngữ lập trình C - Cơ bản Giá trị của biến có thể thay đổi Khởi tạo biến: int year = 2016; Phép gán: year = last_year + 1; Một vùng nhớ sẽ được cấp phát tương ứng với kích cỡ của biến Mỗi ô nhớ có một địa chỉ riêng Dữ liệu kiểu con trỏ lưu địa chỉ của ô nhớ (sẽ học ở phần sau) 2016year Biến Vùng nhớ int year; // Khởi tạo year = 2016;// Gán Kiểu dữ liệu? 11 Kiểu dữ liệu Ngôn ngữ lập trình C - Cơ bản int: Kiểu số nguyên 2 hoặc 4 bytes (16 hoặc 32 bits) -32,768 → 32,767 hoặc -2,147,483,648 → 2,147,483,647 float: Kiểu số thực 4 bytes (32 bits): 1.2E-38 → 3.4E+38, độ chính xác 24 bits double: Kiểu số thực có độ chính xác cao hơn float 8 bytes (64 bits): 2.3E-308 → 1.7E+308, độ chính xác 53 bits char: Kiểu ký tự 1 byte, ví dụ: char exit = 'e'; bool: Kiểu luận lý, có giá trị true hoặc false 1 byte, ví dụ: bool kt = true; Độ chính xác? 12 Số chấm động – floating-point numbers Ngôn ngữ lập trình C - Cơ bản Biểu diễn số thực Ví dụ: 12’345 = 1.2345 x 104 Hay 1.2345E+4 Trị số x hệ cơ số số mũ Float: Độ chính xác đơn Double: Độ chính xác đôi significand x base exponent Kiểu dữ liệu Dấu Mũ Trị số Tổng số bit Độ chính xác Float 1 bit 8 bits 23 bits 32 bits (4 bytes) 24 bits (Dấu + trị số) Double 1 bit 11 bits 52 bits 64 bits (8 bytes) 53 bits (Dấu + trị số) 13 Tên biến Ngôn ngữ lập trình C - Cơ bản Phải bắt đầu bằng một chữ hoặc dấu gạch dưới (_), tiếp sau đó có thể kết hợp giữa chữ, số và dấu gạch dưới. Không được trùng với từ khóa có sẵn của C Hai biến không được trùng tên nhau Có phân biệt giữa chữ hoa và chữ thường Độ dài tùy thích, tuy nhiên không nên đặt tên quá dài Nên đặt tên có nghĩa, dễ hiểu Ví dụ: Những tên biến nào sau đây đúng hay sai? 1ngoi_sao, bienDem1, phepNhân, donVi$, ngoi_nha, int, kiem-tra, A&T ____dien___tich, +hai_so, luy thua, T_T, ^_^, edthbdl_mbcln2h 14 Từ khóa Ngôn ngữ lập trình C - Cơ bản Là những từ đã được định nghĩa bởi trình biên dịch Không được dùng để đặt tên biến, tên hàm Các công cụ lập trình C thường có thể nhận biết và đổi màu các từ khóa trên trình soạn thảo auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while 15 Ví dụ về biến và kiểu biến Ngôn ngữ lập trình C - Cơ bản 1. #include // Khai báo thư viện 2. int main() // Chương trình chính 3. { 4. char a; // Kiểu ký tự 5. int i1 = 5, i2; // Kiểu số nguyên 6. float f; // Kiểu số thực 7. a = 'f'; // Phép gán 8. i2 = 10; // Phép gán 9. f = (float)i1 / i2; // Biểu thức 10. printf("%c = %f, ", a, f); 11. printf("kich thuoc %d bytes.\n", sizeof(f)); 12. getchar(); 13. return 0; 14.} f = (float)i1 / i2; 16 Chuyển đổi kiểu Ngôn ngữ lập trình C - Cơ bản Đặt (Kiểu dữ liệu) phía trước biểu thức để chuyển đổi kiểu dữ liệu cho kết quả của biểu thức f = (float) i1 / i2; i = (int)f; Gán một số nguyên vào một biến kiểu thực f = i; // Cảnh báo việc chuyển đổi f1 = 10; f2 = (float)i; // OK! f1 = 10.000000 Gán một số thực vào một biến kiểu nguyên: Mất phần thập phân (sau dấu chấm) i1 = 9.5; i2 = f; // Cảnh báo, i1 = 9 i1 = (int)9.5; i2 = (int)f; // OK! 17 Chuyển đổi kiểu (2) Ngôn ngữ lập trình C - Cơ bản18 Chia một số nguyên cho một số nguyên: Kết quả là số nguyên i1=5; i2=10; f=i1/i2;// Cảnh báo, f=0.000000 f=(float)i1/i2; // OK, f=0.500000 Chia một số thực cho một số nguyên hoặc chia một số nguyên cho một số thực: Kết quả là số thực i=5; f=10; i1 = i/f; // Cảnh báo, i1 = 0 f1=i/f; f2=i/10.0; // OK! f1 = f2 = 0.500000 Hằng số trong C Ngôn ngữ lập trình C - Cơ bản Giá trị không đổi suốt chương trình Hằng số có kiểu dữ liệu Số nguyên Số thực Ký tự Chuỗi Khai báo hằng số #define const #define a 45 // int #define b 125u // unsigned int #define c 87l // long int #define d 23ul // unsigned long int #define e 057 // Cơ số 8 #define f 0xfee // Cơ số 16 #define g 3.14159 // float #define h 314159E-5 // float #define i 'a' // char #define j "morning" // string const int k = 2016; const float l = 2.016; const char m = '4'; const char n[] = "afternoon"; #define o 048 /* ERROR! Hệ cơ số 8 không có số 8 */ #define p 59E // ERROR! #define q .E59 // ERROR! 19 Vận dụng Ngôn ngữ lập trình C - Cơ bản20 Đề bài 1: Hãy khai báo Một biến kiểu số nguyên Hai biến kiểu số thực Một biến kiểu ký tự Một biến kiểu luận lý Một hằng số PI = 3.15 Một hằng số MAX = 100 Đề bài 2: Hãy chuyển đổi kiểu dữ liệu cho biểu thức sau float x = 1/2; float y = (1/5)*x; int z = (x+5)*2; Toán tử toán học Ngôn ngữ lập trình C - Cơ bản Những phép toán học Cho A = 10, B = 20 Toán tử Mô tả Ví dụ + Phép cộng A + B = 30 Phép trừ A B = -10 * Phép nhân A * B = 200 / Phép chia B / A = 2 % Phép chia lấy phần dư B % A = 0 ++ Cộng lên một số nguyên A++ = 11 -- Trừ đi một số nguyên B-- = 19 1. #include 2. 3. int main() 4. { 5. int A=10, B=20, C; 6. C = A + B; 7. C = A - B; 8. C = A * B; 9. C = B / A; 10. C = B % A; 11. A++; 12. B--; 13. getchar(); 14. return 0; 15. } 21 Toán tử quan hệ Ngôn ngữ lập trình C - Cơ bản Những phép so sánh Cho A = 10, B = 20 Toán tử Mô tả Ví dụ == Bằng nhau (A == B) sai != Khác nhau (A != B) đúng > Lớn hơn (A > B) sai < Nhở hơn (A < B) đúng >= Lớn hơn hoặc bằng (A >= B) sai <= Nhở hơn hoặc bằng (A <= B) đúng #include int main() { int A=10, B=20; if (A==B) printf("A = B"); if (A!=B) printf("A ≠ B"); if (A>B) printf("A > B"); if (A<B) printf("A < B"); if (A>=B) printf("A ≥ B"); if (A<=B) printf("A ≤ B"); return 0; } 22 Toán tử luận lý Ngôn ngữ lập trình C - Cơ bản Những phép toán luận lý Cho A = 1, B = 0 Toán tử Mô tả Ví dụ && Gọi toán tử AND, nếu cả hai toán hạng điều đúng, kết quả phép toán là đúng (A && B) Sai || Gọi toán tử OR, nếu cả hai toán hạng đều sai, kết quả phép toán là sai (A || B) Đúng ! Gọi toán tử NOT, thực hiện phép phủ định !(A && B) Đúng 23 Toán tử trên bit Ngôn ngữ lập trình C - Cơ bản Các phép toán trên bit A 0 0 1 1 B 0 1 0 1 A & B 0 0 0 1 A | B 0 1 1 1 A ^ B 0 1 1 0 ~A 1 1 0 0 ~B 1 0 1 0 << Cho a = 00110100, a<<2= 11010000 >> Cho a = 00110100, a>>2= 00001101 #include int main() { int a = 52; // 0011 0100 int b = 29; // 0001 1101 int c; c = a & b; // 0001 0100 printf("%d & %d = %d\n", a, b, c); c = a | b; // 0011 1101 printf("%d | %d = %d\n", a, b, c); c = a ^ b; // 0010 1001 printf("%d ^ %d = %d\n", a, b, c); c = ~a; // 1100 1011 printf("~%d = %d\n", a, c); c = a << 2; // 1101 0000 printf("%d << 2 = %d\n", a, c); c = a >> 2; // 0000 1101 printf("%d >> 2 = %d\n", a, c); return 0; } 24 Toán tử gán Ngôn ngữ lập trình C - Cơ bản Các phép toán kết hợp với phép gán Toán tử Mô tả Ví dụ = Phép gán C = A + B += Phép cộng và gán C += A là C = C + A -= Phép trừ và gán C -= A là C = C – A *= Phép nhân và gán C *= A là C = C * A /= Phép chia và gán C /= A là C = C / A %= Phép chia lấy dư và gán C %= A là C = C % A <<= Phép dịch trái và gán C <<= 2 là C = C << 2 >>= Phép dịch phải và gán C >>= 2 là C = C >> 2 &= Phép AND trên bit và gán C &= 2 là C = C & 2 ^= Phép XOR trên bit và gán C ^= 2 là C = C ^ 2 |= Phép OR trên bit và gán C |= 2 là C = C | 2 25 Độ ưu tiên Ngôn ngữ lập trình C - Cơ bản Các toán tử được tính toán theo thứ tự ưu tiên như bảng Category Toán tử Postfix () [] -> . ++ - - Unary + - ! ~ ++ - - (type)* & sizeof Multiplicative * / % Additive + - Shift > Relational >= Equality == != Bitwise AND & Bitwise XOR ^ Bitwise OR | Logical AND && Logical OR || Conditional ?: Assignment = += -= *= /= %=>>= <<= &= ^= |= Comma , 26 Các thư viện Ngôn ngữ lập trình C - Cơ bản Các thư viện định nghĩa sẵn các hàm hay kiểu dữ liệu Cú pháp khai báo: #include các hàm nhập xuất chuẩn, các thao tác với tập tin getchar, putchar, printf, scanf, fopen, fclose, remove, rename các hàm chuyển đổi kiểu dữ liệu, cấp phát bộ nhớ atof, atoi, atol, strtol, free, malloc, abs, rand, srand các hàm về toán học sqrt, pow, ceil, floor, trunc, abs, sin, cos 27 Các thư viện (2) Ngôn ngữ lập trình C - Cơ bản28 các hàm xử lý chuỗi ký tự strcpy, strcat, strlen, strstr, strcmp, strchr, memset các hàm xử lý ký tự toupper, tolower các hàm nhập xuất gets, puts, cin, cout các hàm xử lý về thời gian time, clock, localtime, difftime, time_t, struct tm Hàm thường dùng ở thư viện stdio.h Ngôn ngữ lập trình C - Cơ bản29 Khai báo: #include Hàm printf: Xuất ra màn hình Nguyên mẫu hàm: int printf(const char * format, ... ); printf(“Hello world!”); printf(“a = %d.\n”, so_nguyen); Hàm scanf: Nhập dữ liệu từ bàn phím Nguyên mẫu hàm: int scanf( const char * format, ... ); scanf("%d", &so_nguyen); scanf("%f", &so_thuc); scanf("%c", &ky_tu); Hàm gets: Nhập chuỗi từ bàn phím char name[50]; gets(name); Hàm thường dùng ở thư viện stdlib.h Ngôn ngữ lập trình C - Cơ bản30 Khai báo: #include Hàm rand: Tạo số nguyên ngẫu nhiên Nguyên mẫu hàm: int rand (void); a = rand(); // a có giá trị từ 0 đến 32767 b = rand()%90; // b có giá trị từ 0 đến 89 c = rand()%90 + 10; // c có giá trị từ 10 đến 99 Hàm srand: Khởi tạo số ngẫu nhiên Nguyên mẫu hàm: void srand (unsigned int seed); Ví dụ: srand(time(NULL)); d = rand() % 101 – 50; Hàm thường dùng ở thư viện math.h Ngôn ngữ lập trình C - Cơ bản31 Khai báo: #include Hàm sqrt: Tính căn bậc hai Nguyên mẫu hàm: double sqrt (double x); x = sqrt(9); // Căn bậc hai của 9 y = sqrt(x + 1); // Căn bậc hai của x + 1 Hàm pow: Tính lũy thừa Nguyên mẫu hàm: double pow (double base, double exponent); x = pow(3, 2); // ba mũ hai y = pow(x, 4); // x mũ bốn Hàm floor, ceil: Làm tròn z = floor(4.3); // z = 4.0 w = ceil(4.3); // w = 5.0 Hàm thường dùng ở thư viện string.h Ngôn ngữ lập trình C - Cơ bản32 Khai báo: #include Hàm strlen: Tính chiều dài của chuỗi Nguyên mẫu hàm: size_t strlen(const char * str) a = strlen(“hello”); // a = 5 Hàm strcpy: Sao chép chuỗi Nguyên mẫu hàm: char * strcpy(char * dest, const char * src) char hello[50]; // Khai báo chuỗi strcpy(hello, “Hello ”); // hello = “Hello ” Hàm strcat: Nối chuỗi Nguyên mẫu hàm: char * strcat( char * dest, const char * src) char name[50] = “Tuan”; strcat(hello, name); // hello = “Hello Tuan!” Hàm strcmp: So sánh chuỗi Nguyên mẫu hàm: int strcmp( const char * str1, const char * str2 ) a = strcmp(name, “Tuan”); // a = 0 Hàm thường dùng ở thư viện ctype.h Ngôn ngữ lập trình C - Cơ bản33 Khai báo: #include Hàm tolower: Chuyển ký tự sang chữ thường Nguyên mẫu int tolower ( int c ); char c = ‘N’; tolower(c); // c = ‘n’ Hàm toupper: Chuyển ký tự sang chữ in Nguyên mẫu int toupper ( int c ); char c = ‘n’; toupper(c); // c = ‘N’ Các hàm kiểm tra ký tự isalnum(c): Trả về true (khác 0) nếu c là số hoặc chữ isalpha(c): Trả về true nếu c là chữ islower(c): Trả về true nếu c là chữ thường isupper(c): Trả về true nếu c là chữ in Vận dụng Ngôn ngữ lập trình C - Cơ bản34 Đề bài 3: Cho trước một biến số nguyên x và một biến số thực y, viết biểu thức tính z: z = ( ) z = ( ) z = ( ) (y khác không) z = + z = + z = + z = + ( + ) Nhập dữ liệu Ngôn ngữ lập trình C - Cơ bản35 Chú ý nhập đúng kiểu dữ liệu Nhập số nguyên int a; scanf(“%d”, &a); Nhập số thực float b; scanf(“%f”, &b); Nhập ký tự char c; scanf(“%c”, &c); Nhập chuỗi ký tự char s[50]; scanf(“%s”, &s); // Ký tự trắng kết thúc nhập liệu Có thể thay bằng scanf(“%[^\n]s”, &s); hoặc gets(s); Ví dụ về nhập dữ liệu Ngôn ngữ lập trình C - Cơ bản36 Đề bài 4: Viết chương trình nhập vào một số nguyên, một số thực, một ký tự và một chuỗi, xuất ra màn hình các giá trị vừa nhập. Gợi ý: Khai báo Nhập dữ liệu Chú ý khai báo và nhập đúng kiểu dữ liệu #include int main() { int a; float b; char c; char s[50]; scanf("%d", &a); scanf("%f", &b); scanf("%c", &c); gets(s); . . . return 0; } Xử lý dữ liệu Ngôn ngữ lập trình C - Cơ bản37 Các phép tính toán Chú ý độ ưu tiên của các phép tính Chú ý sử dụng đúng các hàm toán học Ví dụ 1: Tính chu vi hình chữ nhật có chiều dài x và chiều rộng y CV = (x + y)*2; Ví dụ 2: Tính khoảng cách giữa hai điểm A(xA, yA) và B(xB, yB) KC = sqrt(pow(xA-xB,2) + pow(yA-yB,2)); Xuất dữ liệu Ngôn ngữ lập trình C - Cơ bản38 Chú ý xuất đúng kiểu dữ liệu Xuất số nguyên printf(“%d”, a); Xuất số thực printf(“%f”, b); Xuất ký tự printf(“%c”, c); Xuất chuỗi ký tự printf(“%s”, s); #include int main() { int a; float b; char c; char s[50]; scanf("%d", &a); scanf("%f", &b); scanf("%c", &c); gets(s); printf("%d %f\n", a, b); printf("%c \n%s", c, s); return 0; } Ví dụ xuất ra màn hình Ngôn ngữ lập trình C - Cơ bản 1. /* Practicing of printf */ 2. #include 3. 4. int main() 5. { 6. int year = 2016; // Khai báo biến 7. printf("Hello!\n\n The C "); 8. printf("programming language schedule:\n"); 9. printf("1.Intro\n2.C language"); 10. printf("\n3.Programming skills\n"); 11. printf("4.Practices\n5.Examinations\n\n "); 12. printf("Lecturer: Dr. Ngo, %d",year); 13. return 0; 14. } 39 Định dạng biểu diễn dữ liệu Ngôn ngữ lập trình C - Cơ bản %[flags][width][.precision][length]specifier flags Mô tả – Canh trái trong width + Buộc in dấu + hoặc – (space) Ký tự trống trước dữ liệu 0 In số 0 trước dữ liệu width Số ký tự tối thiểu được in ra .precision Số ký tự sau dấu chấm động length d i u o x (none) int unsigned int hh signed char unsigned char h short int unsigned short int l long int unsigned long int 40 Định dạng biểu diễn dữ liệu Ngôn ngữ lập trình C - Cơ bản specifier Kết quả Ví dụ %d, %i Số nguyên có dấu -95, 23 %u Số nguyên không dấu 7235 %o Số bát phân không dấu 610 %x, %X Số thập lục phân không dấu 7fa, 7FA %f, %F Số thực 392.65 %e, %E Ký hiệu khoa học 3.92e+2, 3.92E+2 %c Ký tự a %s Chuỗi ký tự laptrinh %p Địa chỉ con trỏ b8000000 %% In dấu % % %a, %A Số thập lục phân kiểu thực 0xb.f3p-2, 0XB.F3P-2 %g, %G Dạng ngắn của %e, %E hoặc %f,%F 392.65 41 %[flags][width][.precision][length]specifier Ví dụ biểu diễn dữ liệu Ngôn ngữ lập trình C - Cơ bản 1. #include 2. int main() 3. { 4. printf ("Ky tu: %c %c \n", 'a', 65); 5. printf ("So nguyen: %d \n", 1977); 6. printf ("Khoang trong: %10d \n", 1977); 7. printf ("So khong: %010d \n", 1977); 8. printf ("%d %x %o %#x %#o\n",100,100,100,100,100); 9. printf ("So thuc: %.2f\n", 3.1416); 10. printf ("%s\n", "Mot chuoi"); 11. return 0; 12.} Ky tu: a A So nguyen: 1977 Khoang trong: 1977 So khong: 0000001977 100 64 144 0x64 0144 So thuc: 3.14 Mot chuoi 42 Mã escape Ngôn ngữ lập trình C - Cơ bản Escape code Description \n newline \r carriage return \t tab \v vertical tab \b backspace \f form feed (page feed) \a alert (beep) \' single quote (') \" double quote (") \? question mark (?) \\ backslash (\) Mã escape dùng để đại diện cho những ký tự đặc biệt hoặc những chuỗi, thao tác khó trình bày trực tiếp Mã escape được đặt trong chuỗi định dạng của lệnh printf Ví dụ: printf(“A\tB\n”); 43 Bài tập vận dụng Ngôn ngữ lập trình C - Cơ bản44 Đề bài 5: Viết chương trình nhập vào số ngày công (số nguyên), tính lương theo công thức: Lương = số ngày công x lương công nhật Trong đó lương công nhật là hằng số = 120’000 Đề bài 6: Viết chương trình nhập vào hai số x và y, tính + 3( + 4) Đề bài 7: Viết chương trình tính khoảng cách hai điểm A, B. Đề bài 8: Viết chương trình nhập vào ba cạnh của một tam giác, tính diện tích và chu vi của hình tam giác ấy. Kết thúc Bài 2 Ngôn ngữ lập trình C - Cơ bản Giới thiệu ngôn ngữ lập trình C Trình biên dịch/thông dịch Cấu trúc chương trình Định dạng trong C Biến, kiểu dữ liệu Hằng số, từ khóa, toán tử Thư viện stdio.h, stdlib.h, math.h, string.h, ctype.h, time.h Nhập xuất căn bản Nhập: scanf, cin, gets Xuất: printf, cout, puts 45
File đính kèm:
- bai_giang_ngon_ngu_lap_trinh_c_chuong_2_cac_thanh_phan_co_ba.pdf