Tải bản đầy đủ (.pdf) (54 trang)

Bài giảng Ngôn ngữ lập trình C: Chương 2 - TS. Nguyễn Thị Hiền

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (659.33 KB, 54 trang )

Chương 2
Các yếu tố cơ bản của
ngôn ngữ C


Chương 2 - Các yếu tố cơ bản của ngôn ngữ C





Từ vựng trong C
Biểu thức
Hàm vào/ra dữ liệu chuẩn
Các câu lệnh điều khiển


Từ vựng trong C







Tập ký tự
Tên
Từ khóa
Các kiểu dữ liệu
Hằng
Biến




Từ vựng trong C


Tập ký tự
 26

chữ cái hoa: A, B, …, Z
 26 chữ cái thường: a, b, …, z
 10 chữ số: 0, 1, …9
 Các ký tự đồ họa: +, -, *, /, =, !, #, %, ^, &,
_, ~, [, ],\, |, ; , :, ‘, “, {, }, ,, .,
<, >, ?, (, )
 Các ký tự không hiển thị ra màn hình: space, tab,
enter


Từ vựng trong C


Từ khóa
 Là

những từ dành riêng cho một ngôn ngữ lập trình
 Một số từ khóa thường dung:
const, enum, signed, struct, typedef,
unsigned…
char, double, float, int, long, short,
void

case, default, else, if, switch
do, for, while
break, continue, goto, return


Từ vựng trong C


Tên/Định danh (Identifier)



Một dãy ký tự dùng để chỉ tên một hằng số, hằng ký tự, tên
một biến, một kiểu dữ liệu, một hàm một hay thủ tục.
Quy tắc đặt tên:





Ký tự đầu tiên có thể là chữ cái hoặc dấu gạch dưới _
Các ký tự sau đó (nếu có) có thể là chữ cái, dấu gạch dưới
hoặc số.
VD: x1, temp, _bien1 là những tên hợp lệ; 1abc, bai
1 la những tên không hợp lệ


Từ vựng trong C



Đối tượng dữ liệu: gồm các thuộc tính
 Kiểu

dữ liệu: chỉ ra loại dữ liệu có thể được lưu trữ
 Giá trị: hiện đang được lưu trong đối tượng dữ liệu
 Địa chỉ: vị trí của đối tượng dữ liệu trong bộ nhớ
 Tên: dùng để xác định đối tượng dữ liệu


Kiểu dữ liệu
 Mỗi

kiểu dữ liệu có tên và kích thước nhất định.
 Có miền giá trị xác định


Từ vựng trong C


Kiểu dữ liệu
 Kiểu ký tự
 Tên: char và unsigned char
 Kích thước: 1 byte
 Miền giá trị

Kiểu

Phạm vi biểu diễn

Số ký tự


char

-128 đến 127

256

unsigned char

0 đến 255

256



Một ký tự được biểu diễn thông qua bảng mã ASCII
( />

Từ vựng trong C


Kiểu dữ liệu
 Kiểu


ký tự

Phân nhóm ký tự: 3 nhóm
Nhóm các ký tự điều khiển: từ 0÷31 và 127
 Nhóm các ký tự văn bản: 32÷126

 Nhóm các ký tự đồ họa: 128÷255



Từ vựng trong C


Kiểu dữ liệu
 Kiểu nguyên
 short, int, long


Kích thước và phạ vi biểu diễn:
Kiểu

Phạm vi biểu diễn

Kích thước

int/ signed int

-32768 đến 32767

2/4 bytes

unsigned int

0 đến 65535

2/4 bytes


short/ signed short

-32768 đến 32767

2 bytes

unsigned short

0 đến 65535

2 bytes

long/ signed long

-2147483648 đến 2147483647

4 bytes

unsigned long

0 đến 4294967295

4 bytes


Từ vựng trong C


Kiểu dữ liệu

 Kiểu số phẩy động
 float, double, long double


Kích thước và phạm vi biểu diễn:
Kiểu

Phạm vi biểu diễn

Kích thước

float

3.4E-38 đến 3.4E+38

4 bytes

double

1.7E-308 đến 1.7E+308

8 bytes

3.4E-4932 đến 1.1E4932

10 bytes

long
double



Từ vựng trong C


Kiểu dữ liệu
 Định

nghĩa kiểu dữ liệu mới bằng typedef

Cú pháp:
typedef <kiểu_dữ_liệu> <tên_mới>;




Ví dụ:

typedef int nguyen
typedef float m50[50]
typedef int m_20x30[20][30]


Từ vựng trong C


Hằng






Là đại lượng mà giá trị của nó không thay đổi trong suốt
quá trình hoạt động của chương trình
Cú pháp khai báo
#define <tên_hằng> <giá_trị>
Ví dụ: #define MAX 1000
#define PI 3.141593
Hằng số học:






Hằng số nguyên
Hằng số thực

Hằng ký tự: ký tự đơn được viết trong dấu nháy đơn
Hằng kiểu chuỗi: một dãy các ký tự liên tục được đặt
trong dấu nháy kép


Từ vựng trong C


Biến
 Là

một đối tượng dữ liệu có giá trị thay đổi trong quá
trình hoạt động của chương trình

 Cú pháp khai báo:
<Kiểu_dữ_liệu> <Tên_biến>;
 Ví

dụ

int a,b,c;

Khai báo ba biến int là a,b,c

long dai,mn;

Khai báo hai biến long là dai và mn

char kt1,kt2;

Khai báo hai biến ký tự là kt1 và kt2

float x,y

Khai báo hai biến float là x và y

double canh1,canh2; Khai báo hai biến double là canh1 và canh2


Từ vựng trong C


Biến (t.)
 Vị



trí khai báo biến:
Các biến ngoài:
Là các biến được khai báo bên ngoài hàm
 Phạm vi sử dụng được tính từ vị trí khai báo đến cuối
chương trình




Các biến cục bộ:
Là các biến được khai báo bên trong hàm, hoặc bên
trong các khối lệnh
 Phạm vi sử dụng: được tính từ vị trí khai báo đến cuối
hàm hoặc cuối khối lệnh



Biểu thức




Biểu thức trong C
Các toán tử
Phép toán chuyển đổi kiểu dữ liệu


Biểu thức






Là sự kết hợp giữa toán tử và toán hạng để
diễn đạt một công thức toán học nào đó
Mỗi biểu thức có một giá trị trả về
Biểu thức thường được dùng trong:
 Vế

phải của câu lệnh gán
 Đối số của hàm
 Làm chỉ số cho phần tử của mảng
 Trong các biểu thức điều kiện


Biểu thức


Toán tử:
 Là

các phép toán được ngôn ngữ lập trình hỗ trợ trực
tiếp
 Được biểu diễn thông qua các ký hiệu
 Phân loại: 1 ngôi, 2 ngôi, 3 ngôi
 Một số toán tử thông dụng








Toán tử số học:
+ - * / %
Toán tử quan hệ:
== > < >= <=
Toán tử gán:
= += -= *= /=
Toán tử tăng, giảm trị: ++ -Toán tử logic:
&& || !
Toán tử trên bit gồm: & | ~ ^

!=


Biểu thức


Các loại biểu thức





Biểu thức số học
Biểu thức so sánh
Biểu thức logic

Biểu thức gán


Biểu thức


Phép toán chuyển đổi kiểu dữ liệu:




Trong biểu thức gồm các toán hạng khác kiểu, kiểu thấp
hơn sẽ được tự động nâng thành kiểu cao hơn trước khi
thực hiện phép toán. Điều này được gọi là tăng cấp kiểu.
Cấp của kiểu dữ liệu theo thứ tự:char < int < long < float <
double
Giá trị của kiểu dữ liệu này được gán cho 1 biến có kiểu dữ
liệu khác. Việc này xảy ra trong lệnh gán hoặc truyền giá trị
các tham số, kiểu dữ liệu được tự động đổi kiểu như sau:







Giá trị của vế phải được chuyển sang kiểu của vế trái đó là kiểu
của kết quả.
Kiểu int có thể được chuyển thành float.
Kiểu float có thể chuyển thành int do chặt đi phần sau dấu phảy.

Kiểu double chuyển thành float bằng cách làm tròn.
Kiểu long được chuyển thành int.


Biểu thức


Phép toán chuyển đổi kiểu dữ liệu:
 Ngoài

ra, có thể thực hiện chuyển kiểu giá trị bằng
phép chuyển kiểu (ép kiểu)
Cú pháp: (Kiểu_dữ_liệu_mới) <Biểu_thức>;


Biểu thức


Ví dụ :

0
1
2
3
4
5
6
7
8
9

10
11

#include <stdio.h>
#define Max 100
const int m = 40;
int bt;
int main()
{
int a = 15; a=1; // co so 10
int b = 015;
// co so 8
int c = 0x15;
// co so 16
float d = 1.2e-6; // 15.06*10^-3
bt = a + b + c/m + (a>b);
}


Nhập/xuất dữ liệu


Thư viện
#include <stdio.h> (standard input/output)



Cú pháp
printf(<chuỗi định dạng>[, <đs1>, <đs2>, …]);


định dạng> là cách trình bày thông tin xuất và
được đặt trong cặp nháy kép “ ”, có thể bao gồm các
thành phần sau:




Văn bản thường (literal text)
Ký tự điều khiển (escape sequence)
Đặc tả (conversion specifier)


Nhập/xuất dữ liệu


Văn bản thường (literal text)
 Được



xuất y hệt như lúc gõ trong chuỗi định dạng.

Ví dụ
 Xuất

chuỗi Hello World
 printf(“Hello ”); printf(“World”);
 printf(“Hello World”);


 Xuất

chuỗi a + b
 printf(“a + b”);


Nhập/xuất dữ liệu


Ký tự điều khiển (escape sequence)




Gồm dấu \ và một ký tự như trong bảng sau:
Ký tự điều khiển

Ý nghĩa

\a
\b
\n
\t
\\
\?
\”

Tiếng chuông
Lùi lại một bước
Xuống dòng

Dấu tab
In dấu \
In dấu ?
In dấu “

Ví dụ



printf(“\t”); printf(“\n”);
printf(“\t\n”);


×