/*auto readmore*/ /*auto readmore*/ /* an hien script*/ // an hien password /*an hien ma chuong trinh cong tru */ /*Scrollbox thanh cuon*/ /***Nhung CODE***/ /* dòng xanh dòng trắng */ /* https://cdnjs.com/libraries/prism lay thu vien, can vao ten file ma goi 1. copy link vao vi du:prism-python.min.js 2. ten ngon nua la python */ /*=== New posts ===*/ /*header slider*/ /*=== bai viet lien quan===*/ /*===tabcode===*/

[Tự Học Lập Trình C - Qua Các Bài Tập] COM108_Nhập Môn Lập Trình - Bài 2 - Input

MỤC TIÊU:
  • Biết cách đọc dữ liệu nhập vào từ bàn phím
  • Biết cách tạo biến để lưu trữ dữ liệu
  • Biết cách sử dụng các toán tử

LÝ THUYẾT:

Các kiểu dữ liệu nguyên thủy/cơ sở trong C:

Kiểu Dữ Liệu Từ Khóa
Số nguyên int
Số thực float
Số thực dạng Double double
Ký tự char
boolean bool


Một số kiểu cơ bản có thể được sửa đổi bởi sử dụng một hoặc nhiều modifier:
  • signed (kiểu có dấu)
  • unsigned (kiểu không có dấu)
  • short
  • long

Kiểu dữ liệu Kích thước (byte) Phạm vi giá trị
short int 2 -32768 tới 32767
int 4 -2147483648 tới 2147483647
long int 4 -2,147,483,647 tới 2,147,483,647

Kiểu dữ liệu Kích thước Phạm vi giá trị Độ chính xác
float 4 1.2E-38 to 3.4E+38 6 chữ số thập phân
double 8 2.3E-308 to 1.7E+308 15 chữ số thập phân
long double 10 3.4E-4932 to 1.1E+4932 19 chữ số thập phân


Kiểu dữ liệu Kích thước Phạm vi giá trị
char or signed char 1 -128 to 127
unsigned char 1 0 to 255
Kiểu char: Miền giá trị: 256 ký tự trong bảng mã ASCII bao gồm:
  • Ký tự số: 0 1 2 3 4 5 6 7 8 9 0
  • Ký tự chữ cái: a b c ... z A B C .... Z
  • Ký tự đặc biệt: @ $ # % ! & * ....

Các định dạng nhập xuất thường dùng trong C

Định dạng Kiểu dữ liệu Ví Dụ Kết quả Giải thích
%c char printf("%c");
%s char chuoi[] = "Hello World!"; printf("%s",chuoi); Hello World!
%s char * (chuỗi) printf("%.8s","Van Cong Khanh"); Van Cong Vì chỉ hiển thị 8 ký tự
%s char * (chuỗi) printf("[%20s]","Van Cong Khanh"); [ Van Cong Khanh] vì độ rộng là 20 nhưng chuỗi không đủ nên chương trình phải thêm các ký tự trắng vào phía trước
%d int, short printf("[%05d]", 1); [00001] Nếu số cần in ra không đủ 5 ký tự, chương trình tự động thêm các số 0 vào cho đủ chiều dài là 5
%f float printf("[%08.3f]", 123.45678); [0123.456] Chỉ lấy 3 số thập phân, nếu tổng chiều dài chưa đủ 8 ký tự thì thêm số 0 vào trước phần số nguyên
%lf double "%8.3lf"
%ld long "%-10ld"

Ví dụ: 
#include<stdio.h>
/*
Xuất chuỗi, độ rộng mỗi chuỗi là 20 ký tự, 
nếu không đủ 20 thì để trống phần phía trước chuỗi (tạm hiểu căn lề phải trong trường hợp này)
*/
int main() {
  	char chuoi[] = "Hello World!";
  	char chuoi1[] = "Hello!";
  	printf("\n%20s%20s", chuoi, chuoi1); 
	printf("\n%20s%20s", chuoi1, chuoi);
}

Toán tử toán học
Toán Tử Giải Thích Ví Dụ
+ Phép cộng a + b
- Phép trừ a - b
* Phép nhân a * b
/ Phép chia lấy nguyên a / b
% Phép chia lấy dư 5 % 2 = 1; vì 5 chia 2 bằng 2 DƯ 1
++ Tăng giá trị ... lên 1 đơn vị ++a
-- Giảm giá trị ... xuống 1 đơn vị --a

Toán tử gán
Toán Tử Ví Dụ Giá Trị Tương Đương
= a = 5 a = 5
+= a += 5 a = a + 5
-= a -= 5 a = a - 5
-= a -= 5 a = a - 5
*= a *= 5 a = a * 5
/= a /= 5 a = a / 5
%= a %= 5 a = a % 5

Toán tử so sánh:
Toán Tử Giải Thích Ví Dụ
== Bằng a == b
!= Không bằng hay khác a != b
> Lớn hơn a > b
< Nhở hơn a < b
>= Lớn hơn bằng a >=b
<= Nhở hơn hoặc bằng a <= b

Toán tử logic:
Toán Tử Tên Giải Thích Ví Dụ Kết quả
&& Nếu tất cả các giá trị đúng thì trả về giá trị True x < 5 && x < 10 True
|| Hoặc Trả về giá trị True nếu trong các giá trị là true x < 5 || x < 4 True
! Phủ định, đảo ngược kết quả, trả về false nếu kết quả trả về là True !(x < 5 && x < 10) ??

Chú ý:  Trong toán tử logic:
    Toán tử &(và): nếu một trong các biểu thức là sai (false) -> false
    Toán tử || (hoặc): tất cả các biểu thức đều sai (false) ->  false
    
    0 = false 
    1 = true



YÊU CẦU: Xây dựng chương trình:

Bài 1:
 
Input: nhập vào 2 số
Output: 
- Xuất ra/Hiển thị tổng, hiệu của 2 số vừa nhập
- Xuất ra/Hiển thị số lớn nhất

Bài 2: Tính chu vi diện tích hình chữ nhật
Input: Nhập vào từ bàn phím chiều dài và chiều rộng
Output: Hiển thị ra màn hình chu vi và diện tích của hình chữ nhật


Bài 3: Tính chu vi diện tích hình tròn
Input: Nhập vào bán kính của đường tròn
Output: Hiển thị ra màn hình chu vi và diện tích của hình tròn


Bài 4: Tính điểm trung bình biết hệ số của môn toán: x3, lý: x2, hóa: x1
Input: Nhập vào từ bàn phím điểm môn Toán, Lý, Hóa
Output: Hiển thị ra màn hình điểm trung bình


Bài 5:
Input: nhập vào 3 số
Output:  Xuất ra/Hiển thị số lớn nhất

THỰC HIỆN:

Bài 1: 
Input: nhập vào 2 số
Output: 
  • Xuất ra/Hiển thị tổng, hiệu của 2 số vừa nhập

Code:
#include<stdio.h>
int main()
{
	int a, b;
	printf("Nhap a: ");
	scanf("%d", &a); 
	
	printf("Nhap b: ");
	scanf("%d", &b);	
	//Output
	printf("Tong 2 so: %d",a + b);
	printf("\n"); // in ra dong trang
	
	printf("Tong 2 so: %d",a - b);	
}

  • Xuất ra/Hiển thị số lớn nhất
Code:
#include<stdio.h>

// ham tim so lon nhat
int timSoLonNhat(int a, int b){
	return (a >= b) ? a : b;
}

int main()
{
	int a, b;
	printf("Nhap a: ");
	scanf("%d", &a); 
	
	printf("Nhap b: ");
	scanf("%d", &b);
		 
	int maxNumber = timSoLonNhat(a, b); 
	printf("So lon nhat la: %d", maxNumber);
}



Bài 2: Tính chu vi diện tích hình chữ nhật
Input: Nhập vào từ bàn phím chiều dài và chiều rộng
Output: Hiển thị ra màn hình chu vi và diện tích của hình chữ nhật


Code:
#include<stdio.h>

int main()
{
	int a, b;
	printf("Nhap chieu dai: ");
	scanf("%d", &a); 
	
	printf("Nhap chieu rong: ");
	scanf("%d", &b);	
	
	printf("\n====================\n");
	printf("Chu vi Hinh chu nhat: %d", (a + b) * 2);
	printf("\n");
	printf("Dien tich Hinh chu nhat: %d", a * b);
}


Bài 3: Tính chu vi diện tích hình tròn
Input: Nhập vào bán kính của đường tròn
Output: Hiển thị ra màn hình chu vi và diện tích của hình tròn


Code:
#include<stdio.h>

int main()
{
	int r, pi;
	printf("Nhap ban kinh hinh tron: ");
	scanf("%d", &r); 
	
	pi = 3.14;
	
	printf("\n====================\n");
	printf("Chu vi Hinh chu nhat: %d", (r * 2) * pi);
	printf("\n");
	printf("Dien tich Hinh chu nhat: %d", r * r * pi);
}


Bài 4: Tính điểm trung bình biết hệ số của môn toán: x3, lý: x2, hóa: x1
Input: Nhập vào từ bàn phím điểm môn Toán, Lý, Hóa
Output: Hiển thị ra màn hình điểm trung bình


Code:
#include<stdio.h>

int main()
{
	float toan, ly, hoa;
	printf("Nhap diem mon Toan: ");
	scanf("%f", &toan); 
	printf("Nhap diem mon Ly: ");
	scanf("%f", &ly); 
	printf("Nhap diem mon Hoa: ");
	scanf("%f", &hoa); 
	
	
	printf("\n====================\n");
	printf("Diem trung binh 3 mon la: %.1f", (toan*3 + ly*2 + hoa*1)/6);
	
	printf("\n=========HOAC===========\n");
	float diemTB = (toan*3 + ly*2 + hoa*1)/6;
	printf("Diem trung binh 3 mon la (Dung bien trung gian): %.1f", diemTB);

}


Bài 5:
Input: nhập vào 3 số
Output:  Xuất ra/Hiển thị số lớn nhất

Gợi ý: tương tự như bài 1, chúng ta tìm số lớn nhất theo từng cặp
Code:
int maxTemp = timSoLonNhat(a, b); 
int maxNumber = timSoLonNhat(c, maxTemp); 
printf("So lon nhat la: %d", maxNumber);



Xong!

No comments:

Post a Comment

/*header slide*/