1. GIỚI THIỆU........................................................................................................... 1
1.1.
Chương trình C đầu tiên................................................................................. 1
1.2.
Cấu trúc một chương trình C.......................................................................... 1
1.3.
Câu lệnh và câu chú thích .............................................................................. 2
1.4.
Từ khóa và tên gọi ......................................................................................... 2
1.5.
Biến và kiểu dữ liệu ....................................................................................... 3
1.6.
Các phép toán trong C.................................................................................... 4
1.7.
Xuất nhập dữ liệu trong ứng dụng dạng cửa sổ lệnh Console ......................... 5
2. LỆNH RẼ NHÁNH CÓ ĐIỀU KIỆN...................................................................... 7
2.1.
Lệnh if thiếu .................................................................................................. 7
2.2.
Lệnh if đủ ...................................................................................................... 7
2.3.
Lệnh if … else if … else ................................................................................ 8
3. LỆNH VÒNG LẶP................................................................................................12
3.1.
Lệnh for ........................................................................................................12
3.2.
Lệnh while....................................................................................................13
3.3.
Lệnh do .... while ..........................................................................................15
4. MẢNG VÀ CHUỖI ...............................................................................................19
4.1.
Mảng ............................................................................................................19
4.2.
Chuỗi và mảng chuỗi ....................................................................................24
5. CON TRỎ..............................................................................................................29
5.1.
Khai báo và sử dụng .....................................................................................29
5.2.
Con trỏ và mảng 1 chiều ...............................................................................30
5.3.
Cấp phát bộ nhớ động cho biến con trỏ .........................................................31
6. HÀM......................................................................................................................35
6.1.
Định nghĩa hàm ............................................................................................35
6.2.
Truyền tham số cho hàm ...............................................................................37
6.3.
Cấu trúc chương trình C................................................................................39
7. KIỂU CẤU TRÚC .................................................................................................43
7.1.
Kiểu cấu trúc.................................................................................................43
7.2.
Cấu trúc chương trình C................................................................................44
7.3.
Mảng 1 chiều kiểu cấu trúc ...........................................................................45
7.4.
Con trỏ cấu trúc ............................................................................................47
8. GIỚI THIỆU VỀ NGÔN NGỮ C#.........................................................................55
8.1.
Giới thiệu......................................................................................................55
8.2.
Các thành phần trong ngôn ngữ C# ...............................................................55
8.3.
Các kiểu dữ liệu trong C# .............................................................................56
8.4.
Xuất nhập trong lớp Console.........................................................................57
8.5.
Biến ..............................................................................................................59
8.6.
Cấu trúc rẽ nhánh có điều kiện......................................................................59
8.7.
Cấu trúc vòng lặp..........................................................................................59
8.8.
Mảng 1 chiều ................................................................................................60
8.9.
Mảng hai chiều .............................................................................................62
9. LỚP TRONG C#....................................................................................................64
9.1.
Định nghĩa lớp ..............................................................................................64
9.2.
Khai báo và sử dụng đối tượng thuộc lớp ......................................................65
9.3.
Một số lớp thông dụng ..................................................................................66
10. THIẾT KẾ GIAO DIỆN VỚI C# .........................................................................69
10.1.
Các thành phần trên giao diện....................................................................69
10.2.
Các đối tượng cơ bản trong thiết kế Window Form....................................69
10.3.
Ví dụ .........................................................................................................78
BM Điện tử - Viễn Thông
1. GIỚI THIỆU
1.1. Chương trình C đầu tiên
Một chương trình bằng ngôn ngữ C có thể được viết như sau:
#include
#include
void main ( void )
{
printf (“Chao mung den voi ngon ngu C!”);
getch( );
}
1.2. Cấu trúc một chương trình C
Các chương trình viết bằng ngôn ngữ C đều có cú pháp chung như sau:
#include
void main (void)
{
Nội dung chương trình
}
Ví dụ : một chương trình C đơn giản khác:
#include
#include
void main ( void )
{
//khai bao cac bien
int a;
int b;
int tong;
//nhap du lieu
printf (“Nhap so thu nhat:”);
scanf (“%d”,&a);
printf (“Nhap so thu hai:”);
scanf (“%d”,&b);
Trang 1
BM Điện tử - Viễn Thông
//tinh toan
tong = a + b;
//xuat ket qua
printf (“Tong = %d”, tong);
getch( );
}
1.3. Câu lệnh và câu chú thích
1.3.1. Câu lệnh
Các câu lệnh là thành phần cơ bản nhất để xây dựng nên một chương trình C.
Các câu lệnh viết trong chương trình sẽ được trình biên dịch (compiler) biên dịch
thành ngôn ngữ máy. Câu lệnh trong ngôn ngữ C có một số đặc điểm cơ bản sau:
Mỗi câu lệnh (trừ một số câu lệnh đặc biệt) phải được kết thúc bằng một
dấu ;
Trên 1 dòng có thể viết nhiều câu lệnh
Ví dụ:
int a;
int b; scanf(“%d”,&a);
1.3.2. Câu chú thích
Câu chú thích là những dòng được viết vào chương trình để minh họa, diễn
giải hoặc làm cho chương trình dễ hiểu hơn với người đọc. Các câu chú thích sẽ
không được trình biên dịch (compiler) biên dịch, do đó sẽ không ảnh hưởng đến
hoạt động của chương trình.
Để viết các câu chú thích, ngôn ngữ C cho phép sử dụng 2 cách:
Cách 1: viết chú thích trên 1 dòng:
// chu thich: viet o day!
Cách 2: viết chú thích trên nhiều dòng:
/*
chu thich : viet
o day!
*/
Ví dụ:
int a; // khai bao bien thu nhat
1.4. Từ khóa và tên gọi
Trong câu lệnh
int a;
thì int được hiểu là từ khóa – trong trường hợp này mang ý nghĩa là kiểu dữ
liệu và a là tên gọi được đặt cho biến.
Trang 2
BM Điện tử - Viễn Thông
Từ khóa (Keyword): là những từ được quy ước bởi ngôn ngữ C, mang một
ý nghĩa cố định mà người dùng không được phép thay đổi.Các từ khóa
trong C được liệt kê ở bảng dưới.
Tên gọi: là những từ được quy ước bởi người dùng, thường dùng để gọi
tên một số thành phần khi viết chương trình như: biến, hằng, hàm. Tên gọi
trong C có một số đặc điểm sau:
o Không được phép trùng với từ khóa
o Chỉ bao gồm: ký số 0 - 9, chữ cái thường a – z, chữ cái hoa A –
Z, và dấu _
o Không được bắt đầu bằng số
o Có phân biệt chữ thường và chữ viết hoa
1.5. Biến và kiểu dữ liệu
1.5.1.
Biến (variable )
Biến là một vùng nhớ trong bộ nhớ chương trình – RAM, được dùng để
lưu trữ dữ liệu trong lúc chương trình đang thực thi.
Biến muốn có trong chương trình thì phải được khai báo 1 lần, trước khi
bắt đầu sử dụng, với cú pháp:
tên_kiểu_dữ _liệu
tên_biến;
hoặc cú pháp:
tên_kiểu_dữ_liệu
tên_biến = giá trị;
Ví dụ:
int bien1 = 45;
Lúc này, chương trình sẽ phát sinh một vùng nhớ - trong RAM – được
đánh dấu bằng tên gọi là bien1 đang lưu trữ giá trị là 45
bien1
Trang 3
BM Điện tử - Viễn Thông
1.5.2.
Kiểu dữ liệu
Là đại lượng quy định kích thước vùng nhớ của biến và định dạng dữ liệu
được phép lưu trữ trong vùng nhớ biến.
Một số kiểu dữ liệu cơ bản trong ngôn ngữ C:
Tên kiểu dữ liệu
Kích thước vùng Định
nhớ biến
liệu
char
1 byte
int
2 byte hoặc 4 byte
short
long
float
double
long double
2 byte
4 byte
4 byte
8 byte
10 byte
dạng
dữ
Ký tự
Số nguyên
Số thực
Ví dụ
A
b
3569
137
423
2456783
5.6
245.78
3.1
1.6. Các phép toán trong C
Ngôn ngữ C trang bị một số phép toán với các ký hiệu được sử dụng như sau:
Nhóm phép toán
Quan hệ
Luận lý
khác
Ý nghĩa
=
Số học
Ký hiệu
gán
+
*
/
%
>
>=
<
==
!=
!
&&
||
cộng
trừ
nhân
chia
chia lấy phần dư
lớn hơn
lớn hơn hoặc bằng
nhỏ hơn
nhỏ hơn hoặc
bằng
bằng
không bằng
not
and
or
++
tăng 1
<=
Ví dụ
int a;
a = 5;
a = 5/2;
a = 5%2;
a==5
a != 2
(a > 3)&&( b < c)
int b = 3;
b++;
Trang 4
BM Điện tử - Viễn Thông
int c = ++b;
––
+= – = *=
%=
giảm 1
/=
Gán mở rộng
int d = 1;
d += 2;
1.7. Xuất nhập dữ liệu trong ứng dụng dạng cửa sổ lệnh Console
1.7.1.
Xuất
C cho phép xuất dữ liệu trong các ứng dụng cửa sổ lệnh console bằng hàm
printf trong thư viện stdio.h với cú pháp như sau:
printf (“chuoi_dinh_dang”, danh_sách_đối_số);
trong đó:
chuoi_dinh_dang có thế là:
o chuỗi ký tự thông thường
o mã định dạng ( %d
%f
%c …): dùng để định dạng dữ liệu
cho đối số (%d : định dạng số nguyên, %f: định dạng số thực, %c:
định dạng ký tự …)
o ký tự điều khiển (\n \t …): dùng để điều khiển con trỏ khi in dữ
liệu (xuống hàng, canh tab …)
danh_sách_đối_số là các biến chứa dữ liệu cần xuất.
Ví dụ:
int a = 5;
printf(“gia tri a: %d \n”, a);
1.7.2. Nhập
C cho phép nhập dữ liệu trong các ứng dụng cửa sổ lệnh console bằng hàm
scanf trong thư viện stdio.h với cú pháp như sau:
scanf(“mã_định_dạng”,&biến_lưu_dữ_liệu);
Ví dụ:
float b;
scanf(“%f”, &b);
BÀI TẬP
Bài tập1.
Hãy đọc và phân tích chương trình sau:
#include
#include
void main (void)
{
int a,b;
printf ("Nhap a:");
Trang 5
BM Điện tử - Viễn Thông
scanf(“%d”, &a);
printf ("Nhap b:");
scanf(“%d”, &b);
printf (“%d , %d”, a+b, a – b);
getch();
}
Bài tập2.
Viết chương trình nhập vào 2 số nguyên từ bàn phím và in ra
tổng, hiệu, tích, thương của 2 số đó.
Trang 6
BM Điện tử - Viễn Thông
2. LỆNH RẼ NHÁNH CÓ ĐIỀU KIỆN
2.1.
Lệnh if thiếu
2.1.1.
Cú pháp
if (biểu thức)
{
Khối lệnh;
}
2.1.2.
Hoạt động
2.1.3.
Ví dụ
Cho biết kết quả đoạn chương trình sau:
int a = 5, b = 6, c = 7;
if ( a > c)
a = a + b;
b = b + 1;
if ( a < b)
{
c = b – a;
b = c + 5;
}
Kết quả : a = …….. b = ………. c =………
2.2. Lệnh if đủ
2.2.1.
Cú pháp
if (biểu thức)
{
Khối lệnh 1;
}
Trang 7
BM Điện tử - Viễn Thông
else
{
Khối lệnh 2;
}
2.2.2.
Hoạt động
2.2.3.
Ví dụ
Cho biết kết quả đoạn chương trình sau:
int a = 4, b = 2, c = 5;
c –= 2;
if ( a > c)
a = a + b;
b = b + c;
if ( a < b)
{
c = b – a;
b = c + 5;
}
else
a = a + 1;
b = b +1;
Kết quả : a = …….. b = ………. c =………
2.3. Lệnh if … else if … else
2.3.1. Cú pháp
if (biểu thức)
{
Khối lệnh 1;
}
Trang 8
BM Điện tử - Viễn Thông
else if (biểu thức 2)
{
Khối lệnh 2;
}
else
{
Khối lệnh 3;
}
2.3.2.
2.3.3.
Hoạt động
Ví dụ
Cho biết kết quả đoạn chương trình sau:
int a = 4, b = 2, c = 5;
if (( a > c)|| (a < b) && (b > c))
a = a – 2;
else if ( a == b)
{
c = b – a;
b = c + 5;
}
else
a = a + 1;
b = b +1;
Kết quả : a = …….. b = ………. c =………
Trang 9
BM Điện tử - Viễn Thông
BÀI TẬP
Bài tập1.
Hãy đọc và phân tích chương trình sau:
#include
#include
void main (void)
{
int a,b,c,min;
printf ("Nhap a:");
scanf(“%d”, &a);
printf ("Nhap b:");
scanf(“%d”, &b);
printf ("Nhap c:");
scanf(“%d”, &c);
if (a > b)
min = a;
else
min = b;
if (min < c)
min = c;
printf( "min = %d",min);
getch();
}
Yêu cầu :
Cho biết : chương trình thực hiện chức năng : ………………………………
Vẽ lưu đồ hoạt động của chương trình.
Viết lại chương trình khác thực hiện cùng chức năng với chương trình
trên.
Bài tập2.
Viết chương trình nhập vào 4 số nguyên từ bàn phím và in ra số
lớn nhất trong 4 số này.
Bài tập3.
Viết chương trình giải phương trình bậc 2 : ax2 + bx + c = 0
(không xét đến trường hợp hệ số a = 0).
Bài tập4.
Viết chương trình giải phương trình bậc 2: ax2 + bx + c = 0 có xét
đến trường hợp hệ số a = 0.
Bài tập5.
Viết chương trình nhập vào giờ : phút : giây từ bàn phím; kiểm tra
thời gian vừa nhập vào có hợp lệ hay không; nếu hợp lệ cho biết trước đó 15s
là thời gian bao nhiêu.
Ví dụ : Nhap gio : 25
Trang 10
BM Điện tử - Viễn Thông
Nhap phut: 19
Nhap giay: 43
Thoi gian nhap vao khong hop le!!!!
Ví dụ : Nhap gio : 0
Nhap phut: 0
Nhap giay: 0
Truoc do 15s la 23:59:45
Trang 11
BM Điện tử - Viễn thông
3. LỆNH VÒNG LẶP
3.1.
Lệnh for
3.1.1.
Cú pháp
for (biểu thức 1; biểu thức 2; biểu thức 3)
{
Khối lệnh;
}
3.1.2.
Hoạt động
3.1.3.
Ví dụ
Ví dụ 1: Cho biết kết quả đoạn chương trình sau:
int i, a = 3;
for ( i = 0; i<5; i++)
a ++;
Kết quả : a = …….. i = ……….
Trang 12
BM Điện tử - Viễn thông
Ví dụ 2: Cho biết kết quả đoạn chương trình sau:
int i, a = 0;
for ( i = 0; i<5; i – – )
a ++;
Kết quả : a = …….. i = ……….
Ví dụ 3: Cho biết kết quả đoạn chương trình sau:
int i, a = 3;
for ( i = 0; ; i ++ )
{
a += 2;
if ( a >= 8 )
break;
}
Kết quả : a = …….. i = ……….
Ví dụ 4: Cho biết chức năng đoạn chương trình sau
int i, a,b;
for ( i = 0;i <10 ; i ++ )
{
scanf(“%d”,&a);
b = b+a;
}
3.2. Lệnh while
3.2.1.
Cú pháp
while (biểu thức)
{
Khối lệnh ;
}
3.2.2.
Hoạt động
Trang 13
BM Điện tử - Viễn thông
3.2.3.
Ví dụ
Ví dụ 1: Cho biết kết quả đoạn chương trình sau:
int a = 4, i = 0;
while ( i <4)
a = a + i;
Kết quả : a = …….. i = ……….
Ví dụ 2: Cho biết kết quả đoạn chương trình sau:
int a = 4, i = 0;
while ( i <4)
{
i ++;
a = a + i;
}
Kết quả : a = …….. i = ……….
Ví dụ 3: Cho biết chức năng của đoạn chương trình sau:
int a , b=0;
scanf(“%d”,&a);
while ( a! =0)
{
b= b + a;
scanf(“%d”,&a);
}
Chức năng : .....…….……….
Trang 14
BM Điện tử - Viễn thông
3.3. Lệnh do .... while
3.3.1.
Cú pháp
do
{
Khối lệnh ;
}
while (biểu thức );
3.3.2.
3.3.3.
Hoạt động
Ví dụ
Ví dụ 1: Cho biết kết quả đoạn chương trình sau:
int i = 0;
do
{
printf(“%d”,i);
}
while ( i++ <4);
Kết quả : .....…….……….
Ví dụ 2: Cho biết chức năng của đoạn chương trình sau:
int a , b=0;
do
{
scanf(“%d”,&a);
b= b + a;
}
while ( a! =0);
Chức năng : .....…….……….
Trang 15
BM Điện tử - Viễn thông
BÀI TẬP
Bài tập1.
Hãy đọc và phân tích chương trình sau :
#include
#include
void main ( void)
{
int a =0,i=0;
while (++i <10)
{
if ( i%2==0)
a = a+i;
else
a = a+ 2*i;
if (i == 6)
break;
}
printf(“%d”, a);
getch();
}
Yêu cầu:
Cho biết kết quả chương trình : ....................................................
Bài tập2.
Hãy đọc, phân tích chương trình sau :
#include
#include
void main ( void)
{
int a =0,i, j=0;
for ( i = 3; i > 0; i- -)
{
while (j++<10)
{
if (j == 7)
continue;
if ( j%2==1)
printf(“%d”,j);
}
}
Trang 16
BM Điện tử - Viễn thông
getch();
}
Yêu cầu:
Cho biết kết quả chương trình : ....................................................
......................................................................................................
Bài tập3.
Hãy đọc và phân tích chương trình sau:
#include
#include
void main ( void)
{
int n, i, j;
printf( “Nhap vao so n :”);
scanf(“%d”,&n);
if ( n == 0 || n ==1 || n == 2)
printf( “SNT”);
else
{
for ( i=2; i<=n; i++)
if ( n %i == 0)
break;
if (i==n)
printf( “SNT”);
else
printf( “Khong phai SNT”);
}
getch();
}
Yêu cầu :
Cho biết : chương trình thực hiện chức năng : ………………………………
...................................................................................................................
Viết lại chương trình khác thực hiện cùng chức năng với chương trình
trên.
Bài tập4.
Viết chương trình nhập vào 2 số nguyên a,b từ bàn phím và in ra
tất cả các số nguyên tố trong đoạn [a b].
Ví dụ : Nhap a: 4
Nhap b: 15
Cac so nguyen to trong doan [4 15] la: 7 11 13
Ví dụ : Nhap a: 5
Trang 17
- Xem thêm -