Tài liệu Tóm tắt kiến thức về ngôn ngữ lập trình C: Từ Trung Hiếu - Tóm tắt kiến thức về ngôn ngữ lập trình C
1
Tham khảo ngôn ngữ lập trình C
(C language references)
Các phần tử cơ bản (literals)
+ các dấu chấm câu (punctuators)
+ ngoặc nhọn và ngoặc đơn (braces & parentheses): ( ) { }
+ các hằng số nguyên (integers): 1234 0xABCD
+ các hằng số thực (floating point): 123.45 123E-45
+ các hằng chữ và số (characters & strings): 'a' '\n' "abcd"
+ định danh (identifier): abc xyz a1 my_var
+ từ khóa (keyword): for while do return void int
+ chú thích (comment)
Các toán tử (operators)
+ toán tử hướng bít (bitwise): & | ^ ~
+ toán tử số học (arithmetic): + - * / %
+ toán tử so sánh (relational / comparative): > >= < <= == !=
+ toán tử luận lý (logical): && || !
+ toán tử gán (assignment): = += -= *= /= %= &= |=
+ toán tử dấu phảy (comma)
Các kiểu dữ liệu (data types)
+ kiểu nguyên có: char, int, short, long
+ kiểu nguyên không dấu: uchar, uint, ushort, ulong
+ kiểu số thực: float, doubl...
5 trang |
Chia sẻ: hunglv | Lượt xem: 2123 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Tóm tắt kiến thức về ngôn ngữ lập trình C, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Từ Trung Hiếu - Tóm tắt kiến thức về ngôn ngữ lập trình C
1
Tham khảo ngôn ngữ lập trình C
(C language references)
Các phần tử cơ bản (literals)
+ các dấu chấm câu (punctuators)
+ ngoặc nhọn và ngoặc đơn (braces & parentheses): ( ) { }
+ các hằng số nguyên (integers): 1234 0xABCD
+ các hằng số thực (floating point): 123.45 123E-45
+ các hằng chữ và số (characters & strings): 'a' '\n' "abcd"
+ định danh (identifier): abc xyz a1 my_var
+ từ khóa (keyword): for while do return void int
+ chú thích (comment)
Các toán tử (operators)
+ toán tử hướng bít (bitwise): & | ^ ~
+ toán tử số học (arithmetic): + - * / %
+ toán tử so sánh (relational / comparative): > >= < <= == !=
+ toán tử luận lý (logical): && || !
+ toán tử gán (assignment): = += -= *= /= %= &= |=
+ toán tử dấu phảy (comma)
Các kiểu dữ liệu (data types)
+ kiểu nguyên có: char, int, short, long
+ kiểu nguyên không dấu: uchar, uint, ushort, ulong
+ kiểu số thực: float, double, long double
+ kiểu mảng: pointer, array, string
+ kiểu cấu trúc: struct
Các câu lệnh (statements)
+ các câu lệnh điều kiện: if, switch
+ các câu lệnh lặp: for, while, dowhile,
+ các câu lệnh rẽ nhánh: break, continue, goto, return
+ khai báo biến
+ khai báo biến mảng
+ khai báo hàm
+ khai báo kiểu: typedef
Từ Trung Hiếu - Tóm tắt kiến thức về ngôn ngữ lập trình C
2
Các kiến thức về mảng
(array processing)
Khai báo mảng (declare)
+ Khai báo mảng số
int a[10];
double a[10];
+ Khai báo mảng chuỗi (khai báo kiểu)
typedef char chuoi[50];
chuoi a[10];
+ Khai báo mảng sinh viên (cấu trúc trước)
struct SinhVien { char ten[30]; int tuoi; double dtb; }
typedef struct SinhVien sinhvien;
sinhvien a[100];
Nhập giá trị cho mảng (input)
+ Nhập giá trị cho mảng nguyên
printf("Nhap so phan tu:"); scanf("%d", &n);
for(i=0; i<n; i++) { printf("Nhap a%d:", i+1); fflush(stdin); scanf("%d", &a[i]); }
+ Nhập giá trị cho mảng chuỗi (dùng gets)
printf("Nhap so phan tu:"); scanf("%d", &n);
for(i=0; i<n; i++) { printf("Nhap a%d:", i+1); fflush(stdin); gets(a[i]); }
+ Nhập giá trị cho mảng sinh viên (phải viết hàm nhapSinhVien)
printf("Nhap so phan tu:"); scanf("%d", &n);
for(i=0; i<n; i++) { printf("Nhap sinh vien thu %d\n", i+1); nhapSinhVien(&a[i]); }
In các phần tử trong mảng / lọc các phần tử (print / filter)
+ In danh sách các số nguyên
for(i=0; i<n; i++) printf("%d\n", a[i]);
+ In danh sách các số nguyên dương
for(i=0; i 0) printf("%d\n", a[i]);
+ In danh sách các số nguyên tố (phải viết hàm nguyento)
for(i=0; i<n; i++) if( nguyento(a[i]) == 1 ) printf("%d\n", a[i]);
+ In danh sách các chuỗi
for(i=0; i<n; i++) printf("%s\n", a[i]);
+ In danh sách các chuỗi có độ dài lớn nhất (phải tìm độ dài lớn nhất trước)
for(i=0; i<n; i++) if( strlen(a[i]) == max) printf("%s\n", a[i]);
Từ Trung Hiếu - Tóm tắt kiến thức về ngôn ngữ lập trình C
3
+ In danh sách các chuỗi chứa từ "van"
for(i=0; i<n; i++) if( strstr(a[i], "van") != 0 )printf("%s\n", a[i]);
+ In danh sách các chuỗi có độ dài chẵn
for(i=0; i<n; i++) if( strlen(a[i]) % 2 == 0 ) printf("%s\n", a[i]);
+ In ra các sinh viên (phải viết hàm inSinhVien)
for(i=0; i<n; i++) inSinhVien(a[i]);
+ In ra các sinh viên có điểm lớn hơn 5
for(i=0; i 5.0 ) inSinhVien(a[i]);
+ In ra các sinh viên trong tên chứa từ "anh"
for(i=0; i<n; i++) if( strstr(a[i].ten, "anh") != 0 ) inSinhVien(a[i]);
Sắp xếp mảng (sort)
+ Sắp xếp mảng số
for(i=n; i>1; i--) for(k=0; k<i-1; k++)
if( a[k] > a[k+1] )
{ int t = a[k]; a[k] = a[k+1]; a[k+1] =t; }
+ Sắp xếp mảng số giảm dần (chỉ khác dấu so sánh)
+ Sắp xếp mảng số
for(i=n; i>1; i--) for(k=0; k<i-1; k++)
if( a[k] < a[k+1] )
{ int t = a[k]; a[k] = a[k+1]; a[k+1] =t; }
+ Sắp xếp mảng chuỗi (phải dùng strcmp và strcpy)
for(i=n; i>1; i--) for(k=0; k<i-1; k++)
if( strcmp(a[k], a[k+1]) > 0 )
{ string t; strcpy(t, a[k]); strcpy(a[k], a[k+1]); strcpy(a[k+1], t); }
+ Sắp xếp mảng sinh viên theo điểm (chỉ khác sắp xếp số ở chỗ dùng a[k].diem)
for(i=n; i>1; i--) for(k=0; k<i-1; k++)
if( a[k].diem > a[k+1].diem )
{ sinhvien t = a[k]; a[k] = a[k+1]; a[k+1] =t; }
+ Sắp xếp mảng sinh viên theo tên (chỉ khác sắp xếp chuỗi ở chỗ dùng a[k].ten)
for(i=n; i>1; i--) for(k=0; k<i-1; k++)
if( strcmp(a[k].ten, a[k+1].ten) > 0 )
{ sinhvien t = a[k]; a[k] = a[k+1]; a[k+1] =t; }
Từ Trung Hiếu - Tóm tắt kiến thức về ngôn ngữ lập trình C
4
Kết nhập mảng (aggregation)
+ Tính tổng các số trong mảng
s = 0;
for(i=0; i<n; i++) s += a[i];
printf("Tong cua cac so %d\n", s);
+ Tính tổng các số dương trong mảng
s = 0;
for(i=0; i 0) s += a[i];
printf("Tong cua cac so duong %d\n", s);
+ Tìm giá trị lớn nhất
max = a[0];
for(i=0; i<n; i++) if (max < a[i]) max = a[i];
printf("Gia tri lon nhat la %d\n", max);
+ Tìm vị trí mang giá trị lớn nhất (ví dụ 3 5 2 7 6 thì giá trị lớn nhất 7 nằm tại vị trí thứ 4)
imax = 0;
for(i=0; i<n; i++) if ( a[imax] < a[i]) imax = i;
printf("Vi tri mang gia tri lon nhat la %d\n", imax);
printf("Gia tri lon nhat la %d\n", a[imax]);
+ Tìm số có giá trị tuyệt đối lớn nhất (ví dụ -9 7 2 -5 3 thì số lớn nhất là 7 nhưng số có giá
trị tuyệt đối lớn nhất là -9)
imax = 0;
for(i=0; i<n; i++) if ( abs(a[imax]) < abs(a[i]) ) imax = i;
printf("So co gia tri tuyet doi lon nhat la %d\n", a[imax]);
printf("So nam tai vi tri la %d\n", imax);
+ Tìm giá trị âm lớn nhất (tìm trong tập con của mảng)
timthay = 0;
for(i=0; i<n; i++) if( a[i] < 0) {
if(timthay == 0) max = a[i];
timthay++;
if(max < a[i]) max = a[i];
}
if (timthay==0) printf("Khong tim thay so am\n");
else printf("Tim thay so am lon nhat la %d\n", max);
+ Tìm chuỗi có độ dài lớn nhất
max = strlen( a[0]);
for(i=0; i<n; i++) if (max < strlen(a[i]) ) max = strlen( a[i]);
printf("Gia tri lon nhat la %d\n", max);
+ Tìm sinh viên có điểm cao nhất
max = a[0].diem;
for(i=0; i<n; i++) if (max < a[i].diem ) max = a[i].diem;
printf("Gia tri lon nhat la %d\n", max);
Từ Trung Hiếu - Tóm tắt kiến thức về ngôn ngữ lập trình C
5
+ Đếm số các số dương
dem = 0;
for(i=0; i 0 ) dem++;
printf("So phan tu dem duoc la %d\n", dem);
+ Đếm số các chuỗi có từ "van"
dem = 0;
for(i=0; i<n; i++) if ( strstr(a[i], "van") != 0 ) dem++;
printf("So phan tu dem duoc la %d\n", dem);
+ Đếm số các sinh viên đạt điểm giỏi
dem = 0;
for(i=0; i = 8.0 ) dem++;
printf("So phan tu dem duoc la %d\n", dem);
+ Đếm số các sinh viên có tên chứa chữ "anh"
dem = 0;
for(i=0; i<n; i++) if ( strstr(a[i].ten, "anh") != 0 ) dem++;
printf("So phan tu dem duoc la %d\n", dem);
Các file đính kèm theo tài liệu này:
- Tom%20tat%20kien%20thuc.pdf