Data Type and Variable Flashcards
int : 32 bit -2^31 đến 2^31-1
unsigned int : 32 bit , sử dụng khi biết giá trị của mình không bao giờ âm , 0 đến 2^32-1
char: 8 bit, phiên sang ký tự chỉ lấy từ 0 đến 127, -128 đến 127
float: 32 bit, không có biểu đồ biểu thị giá trị
double : 64 bit, không có biểu đồ biểu thị giá trị , gấp đôi độ chính xác, nếu bạn đang làm việc trên bất kỳ thứ gì có vị trí thập phân thực sự dài và rất nhiều độ chính xác là quan trọng, bạn có thể muốn sử dụng double overfloat, Nhưng hãy biết rằng nhân đôi tồn tại như một cách để giải quyết phần nào về độ chính xác
void: không phải là một kiểu dữ liệu, nó là loại
> > Vì vậy, đó là năm loại bạn sẽ gặp được tích hợp sẵn trong C.
bool:
string:
Từ hạn định:
unsigned
short
long
const: chúng ta sẽ thấy một lát sau trong khóa học, long và short thì không
Double đó là một cách khác để chính xác hơn chỉ định số thực hoặc biến dấu phẩy động.
nếu bạn đã là một lập trình viên trong một thời gian dài,
0:14
có thể bạn bạn đã không làm việc với các kiểu dữ liệu
0:16
nếu bạn đã sử dụng các ngôn ngữ lập trình hiện đại.
0:18
Các ngôn ngữ hiện đại như PHP và JavaScript,
0:20
mà chúng ta cũng sẽ thấy một lát sau trong khóa học,
0:22
bạn không thực sự phải chỉ định kiểu dữ liệu của một biến
0:25
khi bạn sử dụng nó.
0:26
» Bạn chỉ việc khai báo và bắt đầu sử dụng.
> > Nhờ ASCII, lâu lắm rồi mới quyết định một con đường
3:45
để ánh xạ các số dương đó từ 0 đến 127 thành các ký tự khác nhau
3:50
tất cả đều tồn tại trên bàn phím của chúng tôi.
> > Kiểu dữ liệu chính tiếp theo là số dấu phẩy động.
4:23
Vì vậy, số dấu phẩy động còn được gọi là số thực.
4:26
Về cơ bản, chúng là những con số có dấu thập phân trong đó.
4:28
Các giá trị dấu phẩy động như số nguyên cũng
4:33
chứa trong 4 byte bộ nhớ.
4:36
Bây giờ không có biểu đồ ở đây.
4:37
Không có dòng số, bởi vì mô tả phạm vi của một float
4:40
không chính xác rõ ràng hoặc trực quan.
4:44
Đủ để nói rằng bạn có 32 bit để làm việc.
4:47
Và nếu bạn có một số như số pi, có
4:49
một phần nguyên 3 và một phần dấu phẩy động hoặc phần thập phân 0,14159,
4:55
v.v., bạn cần phải có khả năng đại diện cho tất cả–
4:58
phần nguyên và phần thập phân.
5:02
Vậy bạn nghĩ điều đó có nghĩa là gì?
5:04
Có một điều là nếu phần thập phân ngày càng dài ra,
5:08
nếu tôi có một phần nguyên rất lớn, tôi có thể không
5:10
chính xác với phần thập phân.
5:13
Và đó thực sự là hạn chế của phao.
5:15
Phao có vấn đề về độ chính xác.
5:17
Chúng tôi chỉ có 32 bit để làm việc, vì vậy chúng tôi chỉ có thể
5:19
chính xác như vậy với phần thập phân của chúng tôi.
5:22
Chúng ta không nhất thiết phải có phần thập phân chính xác đến 100 hoặc 200 chữ số,
5:27
bởi vì chúng tôi chỉ có 32 bit để làm việc.
5:29
Vì vậy, đó là một hạn chế của một float.
5:31
May mắn thay, có một kiểu dữ liệu khác được gọi là
5:33
double, phần nào giải quyết vấn đề này.
5:36
Nhân đôi, giống như số float, cũng được sử dụng để lưu trữ số thực hoặc dấu phẩy động
5:39
các giá trị.
5:40
Sự khác biệt là gấp đôi là gấp đôi độ chính xác.
5:44
Chúng có thể chứa 64 bit dữ liệu hoặc 8 byte.
5:48
Điều đó nghĩa là gì?
5:49
Chà, điều đó có nghĩa là chúng ta có thể chính xác hơn rất nhiều với dấu thập phân.
5:51
Thay vì có pi đến bảy vị trí, có thể, với một float,
5:54
chúng ta có thể có nó đến 30 địa điểm.
5:56
Nếu điều đó quan trọng, bạn có thể muốn sử dụng gấp đôi thay vì thả nổi.
5:59
Về cơ bản, nếu bạn đang làm việc trên bất cứ thứ gì
6:01
có một vị trí thập phân thực sự dài và rất nhiều độ chính xác là rất quan trọng,
6:06
bạn có thể muốn sử dụng phao nổi kép.
6:08
Bây giờ đối với hầu hết công việc của bạn trong CS50, một số float là đủ.
6:11
Nhưng hãy biết rằng nhân đôi tồn tại như một cách để giải quyết phần nào độ chính xác
6:15
vấn đề bằng cách cung cấp cho bạn thêm 32 bit để làm việc với các số của bạn.
6:32
» Vì vậy void là một loại.
6:33
Nó tồn tại.
6:34
Nhưng nó không phải là một kiểu dữ liệu.
6:35
» Chúng ta không thể tạo một biến kiểu void và gán giá trị cho nó.
6:39
Nhưng các hàm, chẳng hạn, có thể có kiểu trả về void.
6:42
Về cơ bản, nếu bạn thấy một hàm có kiểu trả về void,
6:45
nó có nghĩa là nó không trả về một giá trị.
6:46
» Danh sách tham số của hàm cũng có thể vô hiệu.
6:49
Và bạn cũng đã thấy điều đó khá nhiều trong CS50.
6:51
Int main void.
6:52
Điều đó có rung chuông không?
6:54
Về cơ bản, điều đó có nghĩa là main không nhận bất kỳ tham số nào.
6:57
Không có đối số nào được chuyển vào chính.
7:00
Bây giờ sau này chúng ta sẽ thấy rằng có một cách để chuyển đối số vào chính,
7:03
nhưng cho đến nay những gì chúng ta đã thấy là int main void.
7:06
Main chỉ không nhận bất kỳ đối số nào.
7:08
Và vì vậy chúng tôi xác định điều đó bằng cách nói void.
7:10
Chúng tôi chỉ đang rất rõ ràng về thực tế
7:12
rằng nó không có bất kỳ đối số.
7:14» Vì vậy, bây giờ, đủ để nói rằng khoảng trống về cơ bản
7:17
chỉ đóng vai trò như một trình giữ chỗ cho bạn khi nghĩ về không có gì.
7:26Nó phức tạp hơn thế một chút.
7:27
Nhưng điều này sẽ đủ cho phần tốt hơn của khóa học.
7:31
Và hy vọng bây giờ bạn đã có thêm một chút khái niệm về khoảng trống là gì.
Nếu bạn muốn tạo một biến, tất cả những gì bạn cần làm là hai việc.
9:53
» Trước tiên, bạn cần tạo kiểu cho nó.
9:54
Điều thứ hai bạn cần làm là đặt tên cho nó.
Không thể so sánh == với biến string vì == chỉ so sánh các giá trị giống nhau chứ không thực hiện so sánh từng giá trị trong chuỗi với nhau
Java, Python không thể so sánh string bằng ==
strcomp trả về 0 nếu hai string bằng nhau
trả về một số dương hoặc số âm dựa trên việc, có thể nó xuất hiện trước hoặc sau theo thứ tự bảng chữ cái