Ngôn ngữ lập trình

Ngôn ngữ lập trình rất quan trọng và rất đa dạng. Lập trình viên thường học một vài ngôn ngữ nhưng vẫn có riêng một ngôn ngữ thiết yếu để làm việc...

Các loại biến trong C ++

Một biến cung cấp cho chúng ta lưu trữ có tên là các chương trình của chúng ta có thể thao tác. Mỗi biến trong C ++ có một kiểu cụ thể, xác định kích cỡ và bố cục của bộ nhớ của biến; phạm vi của các giá trị có thể được lưu trữ trong bộ nhớ đó; và tập hợp các hoạt động có thể được áp dụng cho biến.

Tên của một biến có thể bao gồm các chữ cái, chữ số và ký tự gạch dưới. Nó phải bắt đầu bằng chữ cái hoặc dấu gạch dưới. Chữ hoa và chữ thường khác biệt vì C ++ phân biệt chữ hoa chữ thường –

Có các loại biến cơ bản sau trong C ++ như được giải thích trong chương trước

Sr.No Loại & mô tả
1 bool

Lưu trữ giá trị đúng hoặc sai.

2 char

Thông thường một octet đơn (một byte). Đây là một loại số nguyên.

3 int

Kích thước tự nhiên nhất của số nguyên cho máy.

4 float

Giá trị dấu phẩy động chính xác đơn.

5 double

Giá trị dấu phẩy động kép chính xác.

6 void

Đại diện cho sự vắng mặt của loại.

7 wchar_t

Một loại ký tự rộng.

C ++ cũng cho phép xác định các loại biến khác nhau, chúng tôi sẽ đề cập đến trong các chương tiếp theo như Liệt kê, Con trỏ, Mảng, Tham chiếu, Cấu trúc dữ liệu và Lớp học .

Phần sau sẽ bao gồm cách xác định, khai báo và sử dụng các loại biến khác nhau.

Biến định nghĩa trong C ++

Một định nghĩa biến cho trình biên dịch biết đâu và dung lượng lưu trữ để tạo ra biến đó. Một định nghĩa biến xác định một kiểu dữ liệu và chứa một danh sách của một hoặc nhiều biến kiểu đó như sau:

type variable_list;
Ở đây, type phải là kiểu dữ liệu C ++ hợp lệ bao gồm char, w_char, int, float, double, bool hoặc bất kỳ đối tượng do người dùng xác định, v.v. và variable_list có thể bao gồm một hoặc nhiều tên định danh được phân tách bằng dấu phẩy. Một số khai báo hợp lệ được hiển thị ở đây –
int    i, j, k;
char   c, ch;
float  f, salary;
double d;
Dòng int i, j, k; cả hai khai báo và định nghĩa các biến i, j và k; hướng dẫn trình biên dịch tạo các biến có tên là i, j và k của kiểu int.

Các biến có thể được khởi tạo (gán một giá trị ban đầu) trong khai báo của chúng. Trình khởi tạo bao gồm một dấu bằng, theo sau là một biểu thức liên tục như sau:

type variable_name = value;
Một số ví dụ là –
extern int d = 3, f = 5;    // declaration of d and f. 
int d = 3, f = 5;           // definition and initializing d and f. 
byte z = 22;                // definition and initializes z. 
char x = 'x';               // the variable x has the value 'x'.
Đối với định nghĩa không có bộ khởi tạo: các biến có thời gian lưu trữ tĩnh được khởi tạo ngầm với NULL (tất cả các byte có giá trị 0); giá trị ban đầu của tất cả các biến khác là không xác định.

Tuyên bố biến trong C ++

Một khai báo biến cung cấp sự đảm bảo cho trình biên dịch rằng có một biến tồn tại với kiểu và tên đã cho để trình biên dịch tiến hành biên dịch thêm mà không cần chi tiết đầy đủ về biến. Một khai báo biến có ý nghĩa của nó tại thời điểm biên dịch chỉ, trình biên dịch cần định nghĩa biến thực sự tại thời điểm liên kết của chương trình.

Một khai báo biến hữu ích khi bạn đang sử dụng nhiều tệp và bạn xác định biến của mình trong một trong các tệp sẽ có sẵn tại thời điểm liên kết của chương trình. Bạn sẽ sử dụng từ khóa bên  extern để khai báo biến ở bất kỳ nơi nào. Mặc dù bạn có thể khai báo một biến nhiều lần trong chương trình C ++ của bạn, nhưng nó có thể được định nghĩa chỉ một lần trong một tệp, một hàm hoặc một khối mã.

Thí dụ

Hãy thử ví dụ sau, nơi một biến đã được khai báo ở trên cùng, nhưng nó đã được định nghĩa bên trong hàm main –

#include <iostream>
using namespace std;

// Variable declaration:
extern int a, b;
extern int c;
extern float f;
  
int main () {
   // Variable definition:
   int a, b;
   int c;
   float f;
 
   // actual initialization
   a = 10;
   b = 20;
   c = a + b;
 
   cout << c << endl ;

   f = 70.0/3.0;
   cout << f << endl ;
 
   return 0;
}
Khi mã trên được biên dịch và thực hiện, nó tạo ra kết quả sau:
30
23.3333
Cùng một khái niệm được áp dụng trên khai báo hàm, trong đó bạn cung cấp tên hàm tại thời điểm khai báo và định nghĩa thực tế của nó có thể được đưa ra ở bất kỳ nơi nào khác. Ví dụ –
// function declaration
int func();
int main() {
   // function call
   int i = func();
}

// function definition
int func() {
   return 0;
}

Lvalues ​​và Rvalues

Có hai loại biểu thức trong C ++ –

  • lvalue – Các biểu thức tham chiếu đến một vị trí bộ nhớ được gọi là biểu thức “lvalue”. Một giá trị có thể xuất hiện ở bên trái hoặc bên tay phải của một nhiệm vụ.
  • rvalue – Giá trị rvalue đề cập đến một giá trị dữ liệu được lưu trữ tại một số địa chỉ trong bộ nhớ. Một rvalue là một biểu thức mà không thể có một giá trị được gán cho nó có nghĩa là một rvalue có thể xuất hiện ở bên phải nhưng không phải bên trái của một nhiệm vụ.

Các biến là các giá trị và do đó có thể xuất hiện ở phía bên trái của một nhiệm vụ. Chữ số là giá trị và do đó có thể không được gán và không thể xuất hiện ở phía bên tay trái. Sau đây là một tuyên bố hợp lệ –

int g = 20;
Nhưng sau đây không phải là một tuyên bố hợp lệ và sẽ tạo ra lỗi thời gian biên dịch –
10 = 20;

Kiểu dữ liệu C ++

Trong khi viết chương trình bằng bất kỳ ngôn ngữ nào, bạn cần phải sử dụng các biến khác nhau để lưu trữ thông tin khác nhau. Các biến không là gì ngoài các vị trí bộ nhớ dành riêng để lưu trữ các giá trị. Điều này có nghĩa là khi bạn tạo một biến, bạn dành một số khoảng trống trong bộ nhớ.

Bạn có thể lưu trữ thông tin của các kiểu dữ liệu khác nhau như ký tự, ký tự rộng, số nguyên, dấu chấm động, dấu phẩy động kép, boolean vv. Dựa trên kiểu dữ liệu của một biến, hệ điều hành phân bổ bộ nhớ và quyết định những gì có thể được lưu trữ trong bộ nhớ dành riêng.

Các kiểu dựng sẵn nguyên thủy
C ++ cung cấp cho người lập trình một loại phong phú các kiểu dữ liệu được xây dựng sẵn cũng như người dùng định nghĩa. Bảng sau liệt kê 7 kiểu dữ liệu C ++ cơ bản –

Type Keyword
Boolean bool
Character char
Integer int
Floating point float
Double floating point double
Valueless void
Wide character wchar_t

Một số loại cơ bản có thể được sửa đổi bằng cách sử dụng một hoặc nhiều loại công cụ sửa đổi loại này –

  • signed
  • unsigned
  • short
  • long

Bảng sau đây cho thấy loại biến, bao nhiêu bộ nhớ để lưu trữ giá trị trong bộ nhớ, và giá trị tối đa và tối thiểu có thể được lưu trữ trong loại biến đó là gì.

Type Typical Bit Width Typical Range
char 1byte -127 to 127 or 0 to 255
unsigned char 1byte 0 to 255
signed char 1byte -127 to 127
int 4bytes -2147483648 to 2147483647
unsigned int 4bytes 0 to 4294967295
signed int 4bytes -2147483648 to 2147483647
short int 2bytes -32768 to 32767
unsigned short int Range 0 to 65,535
signed short int Range -32768 to 32767
long int 4bytes -2,147,483,648 to 2,147,483,647
signed long int 4bytes same as long int
unsigned long int 4bytes 0 to 4,294,967,295
float 4bytes +/- 3.4e +/- 38 (~7 digits)
double 8bytes +/- 1.7e +/- 308 (~15 digits)
long double 8bytes +/- 1.7e +/- 308 (~15 digits)
wchar_t 2 or 4 bytes 1 wide character

Kích thước của các biến có thể khác với các biến được hiển thị trong bảng trên, tùy thuộc vào trình biên dịch và máy tính bạn đang sử dụng.

Sau đây là ví dụ, sẽ tạo ra kích thước chính xác của các loại dữ liệu khác nhau trên máy tính của bạn.

#include &lt;iostream&gt;
using namespace std;

int main() {
cout &lt;&lt; "Size of char : " &lt;&lt; sizeof(char) &lt;&lt; endl;
cout &lt;&lt; "Size of int : " &lt;&lt; sizeof(int) &lt;&lt; endl;
cout &lt;&lt; "Size of short int : " &lt;&lt; sizeof(short int) &lt;&lt; endl;
cout &lt;&lt; "Size of long int : " &lt;&lt; sizeof(long int) &lt;&lt; endl;
cout &lt;&lt; "Size of float : " &lt;&lt; sizeof(float) &lt;&lt; endl;
cout &lt;&lt; "Size of double : " &lt;&lt; sizeof(double) &lt;&lt; endl;
cout &lt;&lt; "Size of wchar_t : " &lt;&lt; sizeof(wchar_t) &lt;&lt; endl;

return 0;
}
Ví dụ này sử dụng endl , chèn một ký tự dòng mới sau mỗi dòng và toán tử << đang được sử dụng để truyền nhiều giá trị ra màn hình. Chúng tôi cũng đang sử dụng toán tử sizeof () để có được kích thước của các kiểu dữ liệu khác nhau.

Khi mã trên được biên dịch và thực hiện, nó tạo ra kết quả sau có thể thay đổi từ máy này sang máy khác –

Size of char : 1
Size of int : 4
Size of short int : 2
Size of long int : 4
Size of float : 4
Size of double : 8
Size of wchar_t : 4
typedef Tuyên bố
Bạn có thể tạo tên mới cho loại hiện có bằng typedef . Sau đây là cú pháp đơn giản để định nghĩa một kiểu mới bằng typedef –

typedef type newname;
Ví dụ, sau đây nói với trình biên dịch rằng bàn chân là một tên khác cho int –

typedef int feet;
Bây giờ, khai báo sau đây là hoàn toàn hợp pháp và tạo ra một biến số nguyên gọi là khoảng cách –

feet distance;
Các loại được liệt kê
Một kiểu liệt kê khai báo một tên kiểu tùy chọn và một tập hợp số không hoặc nhiều định danh có thể được sử dụng như các giá trị của kiểu. Mỗi điều tra viên là một hằng số có kiểu là kiểu liệt kê.

Việc tạo một liệt kê yêu cầu sử dụng từ khóa enum . Dạng chung của kiểu liệt kê là –

enum enum-name { list of names } var-list;
Ở đây, tên enum là tên kiểu của liệt kê. Danh sách các tên được phân cách bằng dấu phẩy.

Ví dụ, đoạn mã sau định nghĩa một kiểu liệt kê các màu được gọi là màu sắc và biến c của loại màu. Cuối cùng, c được gán giá trị “blue”.

enum color { red, green, blue } c;
c = blue;
Theo mặc định, giá trị của tên đầu tiên là 0, tên thứ hai có giá trị 1 và giá trị thứ ba có giá trị 2, v.v. Nhưng bạn có thể đặt tên, một giá trị cụ thể bằng cách thêm một bộ khởi tạo. Ví dụ, trong liệt kê sau, màu xanh lá cây sẽ có giá trị 5.

enum color { red, green = 5, blue };
Ở đây, màu xanh sẽ có giá trị là 6 vì mỗi tên sẽ lớn hơn một cái đứng trước nó.

Comments trong C++

Các chú thích chương trình là các câu lệnh giải thích mà bạn có thể đưa vào trong mã C ++. Những nhận xét này giúp mọi người đọc mã nguồn. Tất cả các ngôn ngữ lập trình đều cho phép một số dạng nhận xét.

C ++ hỗ trợ nhận xét một dòng và nhiều dòng. Tất cả các ký tự có sẵn bên trong bất kỳ bình luận nào đều bị bỏ qua bởi trình biên dịch C ++.

Các chú thích C ++ bắt đầu bằng / * và kết thúc bằng * /. Ví dụ –

/* This is a comment */

/* C++ comments can also
   * span multiple lines
*/
Nhận xét cũng có thể bắt đầu bằng //, mở rộng đến cuối dòng. Ví dụ –
#include 
using namespace std;

main() {
   cout &lt;&lt; "Hello World"; // prints Hello World
   
   return 0;
}
 

Khi mã trên được biên dịch, nó sẽ bỏ qua // bản in Hello World và bản thực thi cuối cùng sẽ tạo ra kết quả sau:

Hello World
Trong một / * và * / chú thích, // các ký tự không có ý nghĩa đặc biệt. Trong // nhận xét, / * và * / không có ý nghĩa đặc biệt. Vì vậy, bạn có thể “làm tổ” một loại bình luận trong loại khác. Ví dụ –
/* Comment out printing of Hello World:

cout &lt;&lt; "Hello World"; // prints Hello World

*/

Cú pháp cơ bản của C ++

Khi chúng ta xem xét một chương trình C ++, nó có thể được định nghĩa như một tập hợp các đối tượng giao tiếp thông qua việc gọi các phương thức của nhau. Bây giờ chúng ta hãy xem xét những gì một lớp, đối tượng, phương thức và các biến tức thời có nghĩa là gì.

  • Đối tượng – Đối tượng có các trạng thái và hành vi. Ví dụ: Chó có trạng thái – màu sắc, tên, giống cũng như hành vi – vẫy, sủa, ăn uống. Một đối tượng là một thể hiện của một lớp.
  • Lớp – Một lớp có thể được định nghĩa là một bản mẫu / kế hoạch chi tiết mô tả các hành vi / trạng thái mà đối tượng của kiểu hỗ trợ của nó.
  • Phương pháp – Một phương pháp cơ bản là một hành vi. Một lớp có thể chứa nhiều phương thức. Đó là trong các phương thức mà các logic được viết, dữ liệu được thao tác và tất cả các hành động được thực thi.
  • Instance Variables – Mỗi đối tượng có tập các biến cá thể duy nhất của nó. Trạng thái của đối tượng được tạo bởi các giá trị được gán cho các biến cá thể này.

Cấu trúc chương trình C ++

Chúng ta hãy nhìn vào một mã đơn giản có thể in chữ Hello World .

<span class="com">#include</span> <span class="str">&lt;iostream&gt;</span>
<span class="kwd">using</span> <span class="kwd">namespace</span><span class="pln"> std</span><span class="pun">;</span>

<span class="com">// main() is where program execution begins.</span>
<span class="kwd">int</span><span class="pln"> main</span><span class="pun">()</span> <span class="pun">{</span><span class="pln">
   cout </span><span class="pun">&lt;&lt;</span> <span class="str">"Hello World"</span><span class="pun">;</span> <span class="com">// prints Hello World</span>
   <span class="kwd">return</span> <span class="lit">0</span><span class="pun">;</span>
<span class="pun">}</span>
Chúng ta hãy xem xét các phần khác nhau của chương trình trên –

  • Ngôn ngữ C ++ định nghĩa một số tiêu đề, chứa các thông tin cần thiết hoặc hữu ích cho chương trình của bạn. Đối với chương trình này, tiêu đề <iostream> là cần thiết.
  • Dòng sử dụng không gian tên std; yêu cầu trình biên dịch sử dụng không gian tên std. Không gian tên là một bổ sung tương đối gần đây cho C ++.
  • Dòng tiếp theo ‘ // main () là nơi bắt đầu thực hiện chương trình. ‘là một chú thích một dòng có sẵn trong C ++. Các chú thích một dòng bắt đầu bằng // và dừng ở cuối dòng.
  • Dòng int main () là hàm chính nơi bắt đầu thực hiện chương trình.
  • Dòng lệnh tiếp theo << “Đây là chương trình C ++ đầu tiên của tôi.”; gây ra thông báo “Đây là chương trình C ++ đầu tiên của tôi” được hiển thị trên màn hình.
  • Dòng tiếp theo trả về 0; chấm dứt hàm main () và làm cho nó trả về giá trị 0 cho quá trình gọi.

Biên dịch và thực thi chương trình C ++

Hãy xem cách lưu tệp, biên dịch và chạy chương trình. Vui lòng làm theo các bước dưới đây –

  • Mở trình soạn thảo văn bản và thêm mã như trên.
  • Lưu tệp dưới dạng: hello.cpp
  • Mở một dấu nhắc lệnh và đi đến thư mục mà bạn đã lưu tệp.
  • Nhập ‘g ++ hello.cpp’ và nhấn enter để biên dịch mã của bạn. Nếu không có lỗi trong mã của bạn, dấu nhắc lệnh sẽ đưa bạn đến dòng tiếp theo và sẽ tạo ra tệp thực thi a.out.
  • Bây giờ, gõ ‘a.out’ để chạy chương trình của bạn.
  • Bạn sẽ có thể nhìn thấy ‘Hello World’ được in trên cửa sổ.
$ g++ hello.cpp
$ ./a.out
Hello World
Đảm bảo rằng g ++ nằm trong đường dẫn của bạn và bạn đang chạy nó trong thư mục chứa tệp hello.cpp.

Dấu chấm phẩy và khối trong C ++

Trong C ++, dấu chấm phẩy là một dấu kết thúc câu lệnh. Tức là, mỗi câu lệnh riêng lẻ phải được kết thúc bằng dấu chấm phẩy. Nó cho biết kết thúc của một thực thể logic.

Ví dụ, sau đây là ba câu lệnh khác nhau –

x = y;
y = y + 1;
add(x, y);
Khối là một tập hợp các câu lệnh được kết nối hợp lý được bao quanh bằng cách mở và đóng niềng răng. Ví dụ –
{
   cout &lt;&lt; "Hello World"; // prints Hello World
   return 0;
}
C ++ không nhận ra sự kết thúc của dòng như một terminator. Vì lý do này, nó không quan trọng nơi bạn đặt một tuyên bố trong một dòng. Ví dụ –
x = y;
y = y + 1;
add(x, y);
giống như
x = y; y = y + 1; add(x, y);

Định danh C ++

Mã định danh C ++ là tên được sử dụng để xác định biến, hàm, lớp, mô-đun hoặc bất kỳ mục nào do người dùng xác định khác. Mã định danh bắt đầu bằng chữ cái A đến Z hoặc từ a đến z hoặc dấu gạch dưới (_) theo sau là 0 hoặc nhiều chữ cái, dấu gạch dưới và chữ số (0 đến 9).

C ++ không cho phép các ký tự dấu câu như @, $ và% trong số nhận dạng. C ++ là một ngôn ngữ lập trình phân biệt chữ hoa chữ thường. Do đó, Nhân lựcvà nhân lực là hai định danh khác nhau trong C ++.

Dưới đây là một số ví dụ về số nhận dạng có thể chấp nhận –

mohd       zara    abc   move_name  a_123
myname50   _temp   j     a23b9      retVal

Từ khóa C ++

Danh sách sau đây hiển thị các từ dành riêng trong C ++. Các từ dành riêng này có thể không được sử dụng làm hằng số hoặc biến hoặc bất kỳ tên định danh nào khác.

asm else new this
auto enum operator throw
bool explicit private true
break export protected try
case extern public typedef
catch false register typeid
char float reinterpret_cast typename
class for return union
const friend short unsigned
const_cast goto signed using
continue if sizeof virtual
default inline static void
delete int static_cast volatile
do long struct wchar_t
double mutable switch while
dynamic_cast namespace template

Một vài ký tự có một biểu diễn thay thế, được gọi là một chuỗi dấu vết. Một dấu vết là một chuỗi ba ký tự đại diện cho một ký tự đơn và chuỗi luôn bắt đầu bằng hai dấu chấm hỏi.Trigraphs

Trigraphs được mở rộng bất cứ nơi nào chúng xuất hiện, bao gồm trong các chuỗi ký tự và các ký tự chữ, trong các chú thích và các chỉ thị tiền xử lý.

Sau đây là các chuỗi dấu vết được sử dụng thường xuyên nhất –

Trigraph Thay thế
?? = #
?? / \
?? ‘ ^
?? ( [
??) ]
??! |
?? < {
??> }
?? – ~

Tất cả các trình biên dịch không hỗ trợ các dấu vết và chúng không được khuyên dùng vì bản chất khó hiểu của chúng.

Khoảng trống trong C ++

Một dòng chỉ chứa khoảng trắng, có thể với một chú thích, được gọi là một dòng trống, và trình biên dịch C ++ hoàn toàn bỏ qua nó.

Khoảng trống là thuật ngữ được sử dụng trong C ++ để mô tả khoảng trống, tab, ký tự dòng mới và nhận xét. Khoảng trắng phân tách một phần của câu lệnh từ một câu lệnh khác và cho phép trình biên dịch xác định vị trí của một phần tử trong câu lệnh, chẳng hạn như int, kết thúc và phần tử tiếp theo bắt đầu.

Tuyên bố 1

int age;
Trong câu lệnh trên, phải có ít nhất một ký tự khoảng trống (thường là một dấu cách) giữa int và age để trình biên dịch có thể phân biệt chúng.

Tuyên bố 2

fruit = apples + oranges;   // Get the total fruit
Trong câu lệnh trên 2, không có ký tự khoảng trắng nào cần thiết giữa trái cây và = hoặc giữa = và táo, mặc dù bạn được tự do đưa vào một số nếu bạn muốn cho mục đích có thể đọc được.

Cú pháp cơ bản của C ++

Khi chúng ta xem xét một chương trình C ++, nó có thể được định nghĩa như một tập hợp các đối tượng giao tiếp thông qua việc gọi các phương thức của nhau. Bây giờ chúng ta hãy xem xét những gì một lớp, đối tượng, phương thức và các biến tức thời có nghĩa là gì.

  • Đối tượng – Đối tượng có các trạng thái và hành vi. Ví dụ: Chó có trạng thái – màu sắc, tên, giống cũng như hành vi – vẫy, sủa, ăn uống. Một đối tượng là một thể hiện của một lớp.
  • Lớp – Một lớp có thể được định nghĩa là một bản mẫu / kế hoạch chi tiết mô tả các hành vi / trạng thái mà đối tượng của kiểu hỗ trợ của nó.
  • Phương pháp – Một phương pháp cơ bản là một hành vi. Một lớp có thể chứa nhiều phương thức. Đó là trong các phương thức mà các logic được viết, dữ liệu được thao tác và tất cả các hành động được thực thi.
  • Instance Variables – Mỗi đối tượng có tập các biến cá thể duy nhất của nó. Trạng thái của đối tượng được tạo bởi các giá trị được gán cho các biến cá thể này.

Cấu trúc chương trình C ++

Chúng ta hãy nhìn vào một mã đơn giản có thể in chữ Hello World .

#include 
using namespace std;

// main() is where program execution begins.
int main() {
   cout &lt;&lt; "Hello World"; // prints Hello World
   return 0;
}
Chúng ta hãy xem xét các phần khác nhau của chương trình trên –

  • Ngôn ngữ C ++ định nghĩa một số tiêu đề, chứa các thông tin cần thiết hoặc hữu ích cho chương trình của bạn. Đối với chương trình này, tiêu đề <iostream> là cần thiết.
  • Dòng sử dụng không gian tên std; yêu cầu trình biên dịch sử dụng không gian tên std. Không gian tên là một bổ sung tương đối gần đây cho C ++.
  • Dòng tiếp theo ‘ // main () là nơi bắt đầu thực hiện chương trình. ‘là một chú thích một dòng có sẵn trong C ++. Các chú thích một dòng bắt đầu bằng // và dừng ở cuối dòng.
  • Dòng int main () là hàm chính nơi bắt đầu thực hiện chương trình.
  • Dòng lệnh tiếp theo << “Đây là chương trình C ++ đầu tiên của tôi.”; gây ra thông báo “Đây là chương trình C ++ đầu tiên của tôi” được hiển thị trên màn hình.
  • Dòng tiếp theo trả về 0; chấm dứt hàm main () và làm cho nó trả về giá trị 0 cho quá trình gọi.

Biên dịch và thực thi chương trình C ++

Hãy xem cách lưu tệp, biên dịch và chạy chương trình. Vui lòng làm theo các bước dưới đây –

  • Mở trình soạn thảo văn bản và thêm mã như trên.
  • Lưu tệp dưới dạng: hello.cpp
  • Mở một dấu nhắc lệnh và đi đến thư mục mà bạn đã lưu tệp.
  • Nhập ‘g ++ hello.cpp’ và nhấn enter để biên dịch mã của bạn. Nếu không có lỗi trong mã của bạn, dấu nhắc lệnh sẽ đưa bạn đến dòng tiếp theo và sẽ tạo ra tệp thực thi a.out.
  • Bây giờ, gõ ‘a.out’ để chạy chương trình của bạn.
  • Bạn sẽ có thể nhìn thấy ‘Hello World’ được in trên cửa sổ.
$ g++ hello.cpp
$ ./a.out
Hello World
Đảm bảo rằng g ++ nằm trong đường dẫn của bạn và bạn đang chạy nó trong thư mục chứa tệp hello.cpp.

Dấu chấm phẩy và khối trong C ++

Trong C ++, dấu chấm phẩy là một dấu kết thúc câu lệnh. Tức là, mỗi câu lệnh riêng lẻ phải được kết thúc bằng dấu chấm phẩy. Nó cho biết kết thúc của một thực thể logic.

Ví dụ, sau đây là ba câu lệnh khác nhau –

x = y;
y = y + 1;
add(x, y);
Khối là một tập hợp các câu lệnh được kết nối hợp lý được bao quanh bằng cách mở và đóng niềng răng. Ví dụ –
{
   cout &lt;&lt; "Hello World"; // prints Hello World
   return 0;
}
C ++ không nhận ra sự kết thúc của dòng như một terminator. Vì lý do này, nó không quan trọng nơi bạn đặt một tuyên bố trong một dòng. Ví dụ –
x = y;
y = y + 1;
add(x, y);
giống như
x = y; y = y + 1; add(x, y);

Định danh C ++

Mã định danh C ++ là tên được sử dụng để xác định biến, hàm, lớp, mô-đun hoặc bất kỳ mục nào do người dùng xác định khác. Mã định danh bắt đầu bằng chữ cái A đến Z hoặc từ a đến z hoặc dấu gạch dưới (_) theo sau là 0 hoặc nhiều chữ cái, dấu gạch dưới và chữ số (0 đến 9).

C ++ không cho phép các ký tự dấu câu như @, $ và% trong số nhận dạng. C ++ là một ngôn ngữ lập trình phân biệt chữ hoa chữ thường. Do đó, Nhân lựcvà nhân lực là hai định danh khác nhau trong C ++.

Dưới đây là một số ví dụ về số nhận dạng có thể chấp nhận –

mohd       zara    abc   move_name  a_123
myname50   _temp   j     a23b9      retVal

Từ khóa C ++

Danh sách sau đây hiển thị các từ dành riêng trong C ++. Các từ dành riêng này có thể không được sử dụng làm hằng số hoặc biến hoặc bất kỳ tên định danh nào khác.

asm else new this
auto enum operator throw
bool explicit private true
break export protected try
case extern public typedef
catch false register typeid
char float reinterpret_cast typename
class for return union
const friend short unsigned
const_cast goto signed using
continue if sizeof virtual
default inline static void
delete int static_cast volatile
do long struct wchar_t
double mutable switch while
dynamic_cast namespace template


Một vài ký tự có một biểu diễn thay thế, được gọi là một chuỗi dấu vết. Một dấu vết là một chuỗi ba ký tự đại diện cho một ký tự đơn và chuỗi luôn bắt đầu bằng hai dấu chấm hỏi.Trigraphs

Trigraphs được mở rộng bất cứ nơi nào chúng xuất hiện, bao gồm trong các chuỗi ký tự và các ký tự chữ, trong các chú thích và các chỉ thị tiền xử lý.

Sau đây là các chuỗi dấu vết được sử dụng thường xuyên nhất –

Trigraph Thay thế
?? = #
?? / \
?? ‘ ^
?? ( [
??) ]
??! |
?? < {
??> }
?? – ~

Tất cả các trình biên dịch không hỗ trợ các dấu vết và chúng không được khuyên dùng vì bản chất khó hiểu của chúng.

Khoảng trống trong C ++

Một dòng chỉ chứa khoảng trắng, có thể với một chú thích, được gọi là một dòng trống, và trình biên dịch C ++ hoàn toàn bỏ qua nó.

Khoảng trống là thuật ngữ được sử dụng trong C ++ để mô tả khoảng trống, tab, ký tự dòng mới và nhận xét. Khoảng trắng phân tách một phần của câu lệnh từ một câu lệnh khác và cho phép trình biên dịch xác định vị trí của một phần tử trong câu lệnh, chẳng hạn như int, kết thúc và phần tử tiếp theo bắt đầu.

Tuyên bố 1

int age;
Trong câu lệnh trên, phải có ít nhất một ký tự khoảng trống (thường là một dấu cách) giữa int và age để trình biên dịch có thể phân biệt chúng.

Tuyên bố 2

fruit = apples + oranges;   // Get the total fruit
Trong câu lệnh trên 2, không có ký tự khoảng trắng nào cần thiết giữa trái cây và = hoặc giữa = và táo, mặc dù bạn được tự do đưa vào một số nếu bạn muốn cho mục đích có thể đọc được.

Hưỡng dẫn sử dụng IPython Notebook

Ipython Notebook là công cụ soạn thảo chuyên nghiệp bởi vì nó hỗ trợ nhiều tiện ích như LaTex, biểu đồ… đặc biệt nó cho phép soạn thảo code Python và chạy trực tiếp.

Cách đọc file .ipynb

Bước 1: Tải về và cài đặt Anaconda

Bước 2: Chạy Anaconda Command Prompt

Bước 3: Chuyển về thư mục chứa file Ipython Notebook (*.ipynb)

Ví dụ: cd e:/myipynb/

Bước 4: Gõ jupyter-notebook

Chương trình sẽ đưa cho bạn một đường dẫn localhost để mở xem file .ipynb

Hướng dẫn sử dụng cơ bản

Mỗi tập tin IPython Notebook được cấu tạo từ các cell. Ở mỗi cell bạn có thể viết và thực thi câu lệnh. Như đã biết IPython Notebook mạnh mẽ ở khả năng viết code và soạn thảo văn bản do đó có 2 loại cell tương ứng với tên gọi là Code Cell  Markdown Cell.

yeulaptrinh.pư-python-notebook-cell

Markdown Cell và Code Cell

Khi tạo một tập tin mới, một cell được tạo sẵn (cell có dòng In[]: phía trước) đó là Code cell, để có thể chuyển sang Markdown cell, bạn chỉ cần nhấn Esc mất con trỏ nhấp nháy sau đó nhấn phím M. Để chuyển ngược lại sang Code Cell, bạn hãy nhấn phím Y. Đó là 2 trong số rất nhiều thao tác thường xuyên sử dụng, bạn hãy nhấn phím H để xem tất cả các phím tắt.

 

 

Pandas trong Python

Pandas là một gói công cụ viết bằng Python, được sử dụng nhiều trong xử lý và phân tích dữ liệu. Pandas cũng được kèm theo khi cài đặt Anaconda.

Trong phần này, ta sẽ thực hành việc nhập dữ liệu thực tế vào DataFrame của Pandas, sau đó sử dụng các kỹ thuật khác để trích xuất những phần thông tin ta cần từ trong tập dữ liệu.

Chuyển dữ liệu từ file CSV sang DataFrame trong pandas

DataFrame là một cấu trúc dữ liệu quan trọng nhất của pandas, được dùng để lưu trữ dữ liệu dạng bảng, hỗ trợ ta đặt tên cho các cột và các hàng.

Trong bài tập này, ta sẽ làm việc với dữ liệu giao thông của một số quốc gia. Mỗi mẫu là dữ liệu của một quốc gia, bao gồm các thông tin về số lượng phương tiện trung bình trên đầu người, vô-lăng ở bên trái hay phải xe,… Dữ liệu này được đặt trong file "cars.csv", file này nằm trong thư mục hiện tại ta đang làm việc. Toàn bộ dữ liệu trong file được trình bày như sau:

[[code]]czoxODc6XCIsY2Fyc19wZXJfY2FwLGNvdW50cnksZHJpdmVzX3JpZ2h0DQpVUyw4MDksVW5pdGVkIFN0YXRlcyxUcnVlDQpBVVMsNzN7WyYqJl19MSxBdXN0cmFsaWEsRmFsc2UNCkpBUCw1ODgsSmFwYW4sRmFsc2UNCklOLDE4LEluZGlhLEZhbHNlDQpSVSwyMDAsUnVzc2lhLFRydXtbJiomXX1lDQpNT1IsNzAsTW9yb2NjbyxUcnVlDQpFRyw0NSxFZ3lwdCxUcnVlDQpcIjt7WyYqJl19[[/code]]
Dòng đầu tiên là tên của các cột dữ liệu. Mỗi dòng tiếp theo là dữ liệu ứng với từng quốc gia. Dữ liệu ở các cột được phân cách bởi dấu phẩy.

Để đọc dũ liệu từ file .csv vào DataFrame trong Pandas, ta dùng hàm read_csv() (tham khảo hàm này tại đây).