Học ngôn ngữ lập trình miễn phí

Trong C nhiu loi phép toán. Bài viết hôm nay chúng ta cùng tìm hiu v các phép toán trong C.

  1. Toán t s hc:
    Các toán tử số học thông thường là:

Cộng : +

Trừ : –

Nhân : *

Chia : /

Phép chia lấy phần dư của số nguyên : %

*Chú ý: 
– Phép toán % không dùng cho kiểu dữ liệu float hay double.
– Phép chia( / ) thực hiện theo kiểu của các toán hạng dù là phép chia số nguyên hay số thực.
– Có sự khác nhau giữa i/j và (float)i/j . Theo cách viết (float)i/j thì kết quả sẽ là một số thực.

Ví dụ:

#include <stdio.h>
#include <conio.h>
int main()
{

 int i = 10,j = 4, s, p, r;
 float x;
 s = i + j;
 printf("n Tong = %d",s);
 printf("n Hieu = %d",i-j);
 p = i*j ;
 printf("nTich = %d",p);
 printf("nThuong = %d",i/j);
 x=(float)i/j;
 printf("n Thuong = %f",x);
 r = i % j ;
 printf("n Phan du la : %d",r); printf("n x + i = %f",x + i );
 getch();
 return 0;
}

kết quả :

Tong = 14 Hieu = 6Tich = 40Thuong = 2 Thuong = 2.500000 Phan du la : 2 x + i = 12.500000

  1. Toán t quan h:
    Các toán tử quan hệ bao gồm :
    != : so sánh sự khác nhau
    ==: so sánh bằng nhau
    >=: so sánh lớn hơn hoặc bằng
    <=: so sánh nhỏ hơn hoặc bằng
    > : so sánh lớn hơn
    < : so sánh nhỏ hơn
    Ví dụ:
#include <stdio.h>
#include <conio.h>
int main (){
	int a,b;
	printf ("nNhap a = ");scanf ("%d",&a);
	printf ("nNhap b = ");scanf ("%d",&b);
	if (a == b){
		printf ("na bang b");
	}
	if (a != b){

		printf ("na khong bang b");
	}
	if (a > b){
		printf ("na lon hon b");
	}
	else
	printf ("na nho hon b");
	if (a >= 0 && a <= 10 ){
		printf ("na nam trong khoang 0 - 10");
	}
	if (a < 0 || a > 100){
		printf ("na nho hon 0 hoac a lon hon 100");
	}
	getch ();
	return 0;
}

 

kết quả :

Nhap a = 10 Nhap b = 15 a khong bang ba nho hon ba nam trong khoang 0 – 10

 

  1. Toán t logic:
    Các phép toán logic gồm:
    – && : phép AND logic
    – | | : phép OR logic
    – ! : phép NOT logic
    Trong đó:
    – Phép && chỉ cho kết quả là đúng chỉ khi hai toán hạng đều đúng.
    – Phép | | chỉ cho kết quả là sai khi hai toán hạng đều sai.
    – Phép ! phủ định lại toán hạng.
  2. Toán t trên bit:
    Các toán tử trên bit cho phép xử lý các tín hiệu ở mức bit . Các phép toán này không được dùng cho kiểu float và double.
    Các toán tử này bao gồm:
    – & : phép AND ở mức nhị phân.
    – | : phép OR ở mức nhị phân.
    – ^ : phép XOR ở mức nhị phân.
    – << : Phép dịch trái(Shift left).
    – >> : Phép dịch phải(Shift right).
    – ~ : Phép đảo bit.
    *Cách thực hiện các phép toán trên bit:
    1 & 1 = 1 1 | 1 = 1 1 ^ 1 = 0
    1 & 0 = 0 1 | 0 = 1 1 ^ 0 = 1
    0 & 1 = 0 0 | 1 = 1 0 ^ 1 = 1
    0 & 0 = 0 0 | 0 = 0 0 ^ 0 = 0
    Các phép dịch trái “<<”, dịch phải “>>” gây nên sự lệch trái hay lệch phải nội dụng của một biến.
    – x << M nghĩa là dịch sang trái số nguyên x đi M bit, tương đương với x*2M

– x >> M nghĩa là dịch sang phải số nguyên x đi M bit, tương đương với phép chia x/2M (chia lấy phần nguyên).
Ví dụ: Ta có thể thay phép tính x*80 bằng cách viết:
x << 6 + x << 2 vì 80 = 26 +24

  1. Toán t tăng gim:
    Trong ngôn ngữ lập trình C, phép tăng giảm 1 có thể viết gọn lại như sau:
    – i = i + 1 có thể được viết thành : i ++(tăng sau) hoặc ++ i(tăng trước).
    – i = i – 1 có thể được viết thành : i– ( giảm sau) hoặc –i (giảm trước).
    Phép ++i thì đầu tiên biến i được tăng 1, sau đó thực hiện phép gán. Còn phép i++ thì phép gán được thực hiện trước, phép tăng 1 sẽ được thực hiện sau.
    Ví dụ: Với i = 3 ; j = 15;
    a/ i = ++ j ; i = j kết qu i = 16, j = 16
    b/ i = j++ kết qu i = 15, j = 16
    c/ j = ++i + 5 kết qu i = 4, j = 9 
    d/ j = i++ +5 kết qu j = 8, i = 4
  2. Toán t gán:

* Phép gán đơn giản
Cú pháp : Tên_mt_biến = biu_thc; 
Ví dụ:
i = 3 ; /* I được gán giá trị là 3*/ /* i cộng với 4 được 7, gán 7 vào i*/ i = i + 4 ;
Điều này có nghĩa là giá trị của biểu thức bên phải dấu gán = sẽ được đặt vào ô nhớ của biến nằm bên trái dấu gán.
* Phép gán kép
Ví dụ 2.20:
/* Gán giá trị 5 cho ba biến a, b, c */
a= b = c = 5 ; /* Gán 5 cho c sau đó c cộng với b, và gán cho a */ a= b + ( c = 5) ;
* Các phép gán mở rộng
Trong ngôn ngữ lập trình C, phép gán mở rộng được quy định như sau :
x += y <=> x = x + y 
x -= y <=> x = x – y 
x *= y <=> x = x*y 
x /= y <=> x = x / y 
x %= y <=> x = x % y 
x >>=y <=> x = x >> y 
x <<=y <=> x = x << y 
x &= y <=> x = x & y 
x |= y <=> x = x | y 
x ^= y <=> x = x ^ y

  1. Toán t phy biu thc phy:
    Mỗi câu lệnh trong ngôn ngữ lập trình C được kết thúc bằng dấu chấm phẩy, tuy nhiên trong một biểu thức của ngôn ngữ lập trình C có thể gồm nhiều câu lệnh được cách nhau bởi dấu phẩy.
    Ví dụ:
    x = a*b, q = x + y, k = q / z;
  2. Phép toán biu thc điu kin:

Cú pháp : <Tên biến> = <Biu thc điu kin> ? <biu thc 1> : <biu thc 2>;
Trong ngôn ngữ lập trình C, toán tử điều kiện ( toán tử chấm hỏi “ ? ”) để so sánh giá trị đúng sai và cho phép có sự chọn lựa thích hợp.
Ví dụ:

#include <stdio.h>
#include <conio.h>
int main (){
	int a,b;
	printf ("nNhap a = ");scanf ("%d",&a);
	printf ("nNhap b = ");scanf ("%d",&b);
	int Max = a > b ? a : b;
	int Min = a < b ? a : b;
	printf ("nMax = %d",Max);
	printf ("nMin = %d",Min);
	getch ();
	return 0;
}

kết quả :Nhap a = 5 Nhap b = 9 Max = 9Min = 5

 

 

Share this:

Thích bài này:

Thích

Đang tải…