1
TIN HỌC ĐẠI CƯƠNG
www.uit.edu.vn
KHÁI NIỆM CƠ BẢN VỀ C
KHÁI NIỆM CƠ BẢN VỀ C
BIỂU THỨC & CÁC PHÉP TOÁN
BIỂU THỨC & CÁC PHÉP TOÁN
NHẬP XUẤT DỮ LIỆU
NHẬP XUẤT DỮ LIỆU
Tin học đại cương
2
NỘI DUNG
NỘI DUNG
KHÁI NIỆM CƠ BẢN VỀ C
1
Tin học đại cương
3
KHÁI NIỆM CƠ BẢN VỀ C
Chương trình C
Các kiểu dữ liệu cơ sở
Hằng, biến
Chương trình ví dụ
Tin học đại cương
4
DẪN NHẬP
BÀI TOÁN
THUẬT GIẢI
NN LẬP TRÌNH
MÁY TÍNH
Tin học đại cương
5
CHƯƠNG TRÌNH C ĐƠN GIẢN
/* Nhập vào 2 số nguyên. Tính và in ra tổng của chúng */
#include <stdio.h> // stdio.h, conio.h: tên thư viện
#include <conio.h>
void main() // void : Kiểu hàm trả về
{
int a, b, sum; // khai báo biến địa phương
clrscr();
printf("Nhap a="); // hàm xuất ra màn hình
scanf("%d", &a); // hàm nhập theo dịa chỉ biến a
printf("Nhap b="); // %d: chỉ thị đặc tả
// cho biến kiểu int
scanf("%d", &b);
sum=a+b; // phép gán =
printf("Tong: %d + %d = %d", a, b, sum);
getch( ); // hàm nhận ký tự trực tiếp từ bộ đệm
} // kết thúc hàm chính
Tin học đại cương
6
Kiểu ký tự: char, unsigned char
Kiểu số nguyên: int, unsigned,
long, unsigned long, long
Kiểu dấu chấm động: float, double,
long double
Kiểu void
CÁC KIỂU DỮ LIỆU CƠ SỞ
Tin học đại cương
7
CÁC KIỂU DỮ LIỆU CƠ SỞ
KDL trên BC++ 3.1
Tin học đại cương
8
HẰNG
Cách định nghĩa hằng trong chương
trình:
Cách 1:
#define <tên hằng> <giá trị>
Cách 2:
const <kiểu> <tên hằng> = <giá
trị>;
Ví dụ:
#define PI 3.1415
const float PI = 3.1415;
HẰNG, BIẾN
Tin học đại cương
9
Các loại hằng:
Hằng số:
#define MAX 100
Hằng ký tự:
#define STOP ‘Q’
Hằng chuỗi:
#define NNC “Ngôn ngữ LT C”
HẰNG, BIẾN
Tin học đại cương
10
BIẾN
Cách khai báo biến:
<Kiểu dữ liệu> <danh_sách_tên_biến>;
VD: int a, b;
float x;
Khởi tạo giá trị ban đầu cho các biến
VD: int a, b=6, d=1;
Truy xuất đến địa chỉ của biến: &tên_biến
VD: &a
HẰNG, BIẾN
Tin học đại cương
11
#include <stdio.h>
#include <conio.h>
#define PI 3.1415
void main ()
{
float r = 3.1;
float cv=2*r*PI;
float dt=PI*r*r;
printf("\nChu vi = %10.2f\n\
Dien tich = %10.2f", cv, dt);
// 10.2 : định dạng xuất giá trị của biến dành 10 //
khoảng trắng, trong đó 2 cho phần lẻ thập phân
getch(); // lệnh chờ nhấn một phím bất kỳ
}
Kết quả:
Chu vi = 19.47
Dien tich = 30.18
CHƯƠNG TRÌNH VÍ DỤ
Tin học đại cương
12
MỘT SỐ QUY TẮC CẦN NHỚ
Trong C, câu lệnh phân biệt ký tự thường – ký tự
hoa.
Mỗi câu lệnh có thể viết trên một hay nhiều dòng
nhưng phải kết thúc bằng dấu chấm phẩy ‘;’ .
Muốn biểu diễn một dãy hằng ký tự (dãy ký tự
đặt trong cặp dấu nháy kép) trên nhiều dòng, thì
ta phải đặt thêm dấu ‘\’ trước khi xuống dòng.
VD: printf("\n Chu vi = %10.2f \
\n Dien tich = \
%10.2f", cv, dt);
Tin học đại cương
13
MỘT SỐ QUY TẮC CẦN NHỚ
Muốn sử dụng các hàm chuẩn của C thì
ở đầu chương trình ta phải khai báo thư
viện chuẩn có chứa hàm muốn sử dụng.
VD:
/* Chương trình tính diện tích và
chu vi của đường tròn, khi biết bán
kính r = 3.1 */
// printf chỉ thị in ra màn hình
Tin học đại cương
14
MỘT SỐ QUY TẮC CẦN NHỚ
Các lời giải thích phải đặt giữa cặp dấu
/*…*/ hoặc sau dấu //
VD:
Muốn sử dụng hàm printf để in một
chuỗi ra màn hình chúng ta phải khai
báo: #include <stdio.h>
Muốn sử dụng hàm sqrt để tính giá trị
căn bậc hai của một biến chúng ta phải
khai báo: #include <math.h>
Tin học đại cương
15
NỘI DUNG
NỘI DUNG
BIỂU THỨC VÀ CÁC PHÉP TOÁN
2
Tin học đại cương
16
BIỂU THỨC
Là sự kết hợp của những phép toán
thực hiện hợp lệ trên các biến, hằng
hoặc các giá trị của hàm.
Ví dụ:
int i, a=3;
a=(i=a*11);
BIỂU THỨC VÀ CÁC PHÉP TOÁN
Tin học đại cương
17
CÁC PHÉP TOÁN
Các phép toán số học
Các phép thao tác trên bit
Phép toán bù bit
Các phép toán quan hệ
Các phép toán logic
Các phép toán tăng giảm
BIỂU THỨC VÀ CÁC PHÉP TOÁN
Tin học đại cương
18
CÁC PHÉP TOÁN SỐ HỌC
Cộng (+), trừ (-), nhân (*), chia (/) thực hiện
trên các kiểu dữ liệu int, char, float,
double.
Kết quả của các phép toán này sẽ có giá trị
cùng kiểu với toán hạng có kiểu cao nhất.
Ví dụ:
int a;
float b;
Biểu thức (a*b) có giá trị là kiểu số thực.
BIỂU THỨC VÀ CÁC PHÉP TOÁN
Tin học đại cương
19
CÁC PHÉP TOÁN SỐ HỌC
Phép chia của hai số nguyên cho ra kết
quả là số nguyên.
VD: float f = 5/2; // cho kết quả f = 2
Phép toán phẩy (,): thứ tự thực hiện ở vế
phải là từ trái sang phải.
VD:
int m, t, h;
m=(t=2,h=t*t+3);
/* sẽ cho t=2, h=7 và m=7 */
int a, b=2;
b=(a=3,(5*b)+(a*=b));
/* b=16 a=6 */
BIỂU THỨC VÀ CÁC PHÉP TOÁN
Tin học đại cương
20
CÁC PHÉP THAO TÁC TRÊN BIT
Gồm AND(&), OR(|), XOR(^), Dịch
trái(<<), Dịch phải (>>), lấy phần bù
(∼)
Các phép toán này cho phép xử lý
từng bit của một số nguyên (không
dùng cho kiểu float và double).
BIỂU THỨC VÀ CÁC PHÉP TOÁN
Tin học đại cương
21
Ví dụ:
unsigned char a = 135; // a
2
= 10000111
unsigned char b = 50; // b
2
= 00110010
unsigned char c;
c = a&b;// c
10
= 2; c
2
= 00000010
c = a|b;// c
10
= 183, c
2
= 10110111
c = a^b;// c
10
= 181, c
2
= 10110101
c = a>>3; // c
10
= 16, c
2
= 00010000
c = a<<4; // c
10
= 112, c
2
= 01110000
c = a>>n; // ⇔ c = a / 2
n
,
c = a<<n; // ⇔ c = a * 2
n
// n : số bit dịch chuyển
BIỂU THỨC VÀ CÁC PHÉP TOÁN
Tin học đại cương
22
PHÉP TOÁN BÙ BIT ~
∼1=0
∼0=1
Ví dụ:
char a = 52; // a
2
=00110100
char b = ~a; // b
2
=01001011, b
10
= 75
BIỂU THỨC VÀ CÁC PHÉP TOÁN
Tin học đại cương
23
CÁC PHÉP TOÁN QUAN HỆ
Bao gồm các phép toán so sánh:
==, !=, >, >=, <, <=
So sánh giá trị của các toán hạng cho ra
kết quả 0 (sai) hoặc 1 (đúng).
Ví dụ:
int a = 3, b = 5, f;
f = a>b; // f = 0
f = a * 2 > b; // f = 1
BIỂU THỨC VÀ CÁC PHÉP TOÁN
Tin học đại cương
24
CÁC PHÉP TOÁN LOGIC
Bao gồm các toán tử:
NOT (!), AND (&&) và OR (||)
Dùng kết hợp các biểu thức thành một
biểu thức logic.
Kết quả của các phép toán này có giá trị:
0 (sai) hoặc 1 (đúng).
BIỂU THỨC VÀ CÁC PHÉP TOÁN
Tin học đại cương
25
Ví dụ:
x y x&&y x||y !x !!x
0 0 0 0 1 0
0 7 0 1 1 0
5 0 0 1 0 1
5 7 1 1 0 1
8 7 1 1 0 1
Chú ý: !!x có thể có giá trị khác x
BIỂU THỨC VÀ CÁC PHÉP TOÁN