VAA. TVTHK
Tin H c
Lab
iC
ng
Lab01
bi n h ng bi u th c tóan t
N i Dung Chính
1. M c tiêu .............................................................................................................................. 2
2. Yêu c u tr
c khi vào bu i th c hành này......................................................................... 2
3. L u ý quan tr ng ................................................................................................................ 2
4. Bài tóan .............................................................................................................................. 2
Bài 01: Ch
ng trình hi n th thông đi p "hello world!"....................................................... 2
Bài 02: Hi n th nhi u thông đi p trên các dòng khác nhau ................................................ 3
Bài 03: Nh p 2 s nguyên và hi n th t ng, hi u c a chúng ............................................... 4
Bài 04: Nh p 2 s b t k , tính t ng, hi u c a chúng ........................................................... 5
Bài 05: Làm quen hàm getchar và putchar ......................................................................... 6
Bài 06: Vi t di n tích hình tròn ............................................................................................ 6
Bài 7: Bi u th c .................................................................................................................. 7
Bài 8: So sánh ..................................................................................................................... 7
Bài 9: Chuy n đ i ki u ........................................................................................................ 8
Bài 10: T ng h p ................................................................................................................ 8
Bài 11: Vi t ch
ng trình chuy n đ i t đ C(Celsius) sang đ F(Fahrenheit) .................. 9
Bài 12: Vi t ch
ng trình chuy n đ i t đ F(Fahrenheit) sang đ C(Celsius) .................. 9
Bài 13: Tính đi m trung bình c a Sinh viên. ....................................................................... 9
Bài 14: Vi t ch
Bài 15: Ch
ng trình nh p vào n m sinh, in ra tu i ................................................... 10
ng trình b ng mã ASCII (không dùng hàm chuy n đ i): ............................. 10
Bài 16: Hi n th ký t đ c bi t ........................................................................................... 10
5. Ph l c 1: Hàn scanf và printf........................................................................................... 10
5.1 Hàm nh p: scanf(“Chu i đ nh d ng”, đ a ch c a các bi n); ........................................ 10
5.2 Hàm xu t: printf(“Chu i đ nh d ng ”, Các bi u th c); .................................................. 11
Lab
Bi u th c, tóan t trong C++
Trang
VAA. TVTHK
Tin H c
iC
ng
Lab01
1. M c tiêu
•
•
•
•
H c cách biên d ch và ch y ch ng trình C đ n gi n
Làm quen v i ki u d li u, tóan t trong C
S d ng bi n, ki u d li u, tóan t , bi u th c trong C
nh d ng hàm xu t nh p: printf và scanf
2. Yêu c u tr
•
•
c khi vào bu i th c hành này
c tài li u h ng d n s d ng DEV-CPP (Lab00)
Ki m tra đã có ph n m m DEVCPP (D:\DEV-C++) trên máy tính c a phòng lab ch a?
o Ch a có: liên h gi ng viên h ng d n phòng lab đ copy & cài đ t
o
ã có: Ch y ch ng trình Devcpp.exe trong th m c DEV-CPP
Ôn l i ki n th c v h ng, bi n, ki u d li u, bi u th c, tóan t trong C
T o th m c đ l u mã ngu n trong d a D nh sau: D:\Ma_Lop\THDC\Ho_ten\Labxx:
o Ma_Lop: Ký hi u c a l p và khóa: VD: DV1K2: L p TVT1, khóa 2
o Ho_ten: S d ng câu trúc: ho_dem_ten, ti ng vi t không d u.
o Labxx: Thay th xx b ng 01, 02, …..
o VD: Nguy n v n An, l p DV2, khóa 3, làm bài lab s 2 s l u trong th m c nh
sau: d:\DV2K3\THC\nguyen_van_an\Lab02
L u tên c a file theo c u trúc Labxxbyy.c trong đó xx, yy =01,02,… t ng ng v i lab
và bài. VD: Bài 01 trong Lab01 s có tên file là lab01b01.c
•
•
•
3. L u ý quan tr ng
Các đ an mã ngu n trong các bài sau có th có l i khi biên d ch. Hãy s a l i và
thêm các file header phù h p n u c n.
Không s d ng các file header mà ANSI C 1999 không cung c p
•
•
4. Ch
ng trình
Bài 01: Ch
ng trình hi n th thông đi p "hello world!"
/**********************************************************************
* Lab 01, Bai 01
* Tac gia: Nguyen X , MSSV: 123456789
* Lop: DV2, Khoa 3.
* Lab01b01: Hien thi thong diep "hello world!"
* Created date: 10/09/2009 ; Modified date:
**********************************************************************/
#include <stdio.h>
int main()
{
printf("hello world!");
return 0;
}
H
Lab
ng d n biên d ch và ch y xem k t qu Bài t p 01:
Bi u th c, tóan t trong C++
Trang
VAA. TVTHK
Tin H c
iC
ng
Lab01
•
•
•
Nh p và l u mã ngu n vào th m c t ng ng , có tên là lab01b01.c
Vào menu compile å compile (Ctrl-F9), đ biên d ch ra file lab01b01.exe
Vào menu Runå Run (Ctrl-F10) ch y ch ng trình đ xem k t qu . N u không có màn
hình k t qu xu t hi n th c hi n theo b c sau:
o Trong Windows XP, Vào menu start å Run, trong h p th ai open gõ dòng l nh
cmd xong nh n Enter. Màn hình Dos xu t hi n.
o S d ng l nh CD, chuy n sang th m c ch a file exe m i t o xong gõ l nh
lab01b01, nh n Enter đ xem k t qu .
a. S a l i đ an code trên nh sau. Th c hi n l i b c 2 & 3 trên và so sánh k t qu
th c hi n
#include <stdio.h>
int main()
{
printf("hello world!");
getchar();
return 0;
}
b. Thay th dòng l nh printf("hello world!"); b ng 2 dòng l nh sau. Cho bi t k t qu th c
hi n? Gi i thích.
printf("Hello ");
printf("world!\n");
c. S a l i ch n trình trên đ in ra màn hình 2 dòng ch nh sau:
• Dòng 1: Hello DV. K3
• Dòng 2: First program in C language
Bài 02: Hi n th nhi u thông đi p trên các dòng khác nhau
Vi t ch
ng trình nh p vào h và tên sau đó in ra l i chào. N i dung màn hình nh sau:
Nhap ho va ten: Nguyen Van An
Hello Nguyen Van An
G i ý: S d ng hàm gets(variable_name) đ đ c vào 1 chu i ký t
L u mã ngu n v i tên file là lab01b02.c ; n i dung b t đ u bài 02 nh sau:
/**********************************************************************
* Lab 01, Bai 02.c
* Tac gia: Nguyen Van An, MSSV: 123456789
* Lop: DV2, Khoa 3,
* Nhap Ho va ten va in ra loi chao
* Created date: 10/09/2009 ; Modified date:
**********************************************************************/
Lab
Bi u th c, tóan t trong C++
Trang
VAA. TVTHK
Tin H c
iC
ng
Lab01
#include <stdio.h>
int main()
{
char str[50];
printf (“ Nhap ho va Ten:”
scanf ( “%s”, str);
printf (“\nHello %s \n” , str);
getchar;
return 0;
}
a. Nh p h và tên có kh ang tr ng cho bi t k t qu
b. Thay th dòng l nh scanf ( “%s”, str); b ng hàm gets(str); ch y l i ch
bi t k t qu ?
ng trình và cho
Bài 03: Nh p 2 s nguyên và hi n th t ng, hi u c a chúng
/**********************************************************************
* Lab 01, Bai 03.c
* Tac gia: Nguyen Van An, MSSV: 123456789
* Lop: DV2, Khoa 3,
* Nhap 2 so nguyên, tinh tong, hieu cua chung
* Created date
**********************************************************************/
#include <stdio.h>
int main()
{
int iNum1, iNum2, iTong, iHieu;
printf("\Nhap so thu nhat : ");
scanf("%d", &iNum1);
printf("Nhap so thu hai : ");
scanf("%d", &iNum2);
iTong = iNum1 + iNum2;
iHieu = iNum1 – iNum2 ;
printf("Tong cua 2 so la %d", iTong);
printf("\nHieu cua 2 so la %d", iHieu, “\n”);
getchar();
return 0;
}
a) Biên d ch ch ng trình trên, th c hi n nhi u l n nh p 2 s nh trong b ng sau, so sánh
k t qu ch ng trình th c hi n và k t qu th c t . N u k t qu khác nhau hãy gi i
thích và đ a ra gi i pháp trong tr ng h p t ng quát?
Lab
Bi u th c, tóan t trong C++
Trang
VAA. TVTHK
Tin H c
a
b
100
200
10000
5000
20000
20000
25000
25000
T ng (Lý thuy t/Ch
iC
ng
ng trình)
300
Lab01
Hi u (Lý thuy t/Ch
ng trình)
-100
b. Thay th dòng l nh printf("Tong cua 2 so la %d", iTong); b ng dòng l nh:
printf("%d + %d = %d", iNum1, iNum2, iTong); cho bi t k t qu
c. S a ch
ng trình đ k t qu in ra nh hình sau:
Enter first value:
200
Enter second value:
100
Result:
200
+
100
= ---300
200
100
= ---100
Bài 04: Nh p 2 s b t k , tính t ng, hi u c a chúng
/**********************************************************************
* Lab 01, Bai 04.c
* Tac gia: Nguyen Van An, MSSV: 123456789
* Lop: DV2, Khoa 3,
* Nhap 2 so b t k , tinh tong, hieu cua chung
* Created date
**********************************************************************/
#include <stdio.h>
int main()
{
/* Mã ngu n ch ng trình t i đây */
}
Chú ý:
a. T ng hi u c a 2 s b t k
b. Xem đ an code sau: Chú ý hàm scanf nh p 1 l n 2 s . Th nh p 4 7 8, k t qu ?
Lab
Bi u th c, tóan t trong C++
Trang
VAA. TVTHK
Tin H c
iC
ng
Lab01
float a , b , c;
printf("Nhap 2 so: \n");
scanf("%f%f" , &a , &b);
c = a*b;
printf("%f * %f = %f\n" , a , b , c);
Bài 05: Làm quen hàm getchar và putchar
/**********************************************************************
* Lab 01, Bai 05.c
* Tac gia: Nguyen Van An, MSSV: 123456789
* Lop: DV2, Khoa 3,
* Su dung Ham getchar va putchar
* Created date
**********************************************************************/
#include <stdio.h>
int main()
{
int n ;
char ch;
printf ( "Nhap 1 so bat ky: \n");
scanf ( “%2d” , &n) ;
printf("So vua nhap la %d”: \n", n);
printf("Nhap ky tu bat ky: \n");
ch = getchar();
putchar(ch+1);
putchar(ch-1);
getchar();
return 0;
}
a. Nh n xét k t qu khi ch y ch ng trình trên?
b. Ch y l i ch ng trình, nh p s 12345 cho bi t k t qu ? Gi i thích?
c. Thêm dòng l nh fflush(stdin); sau dòng putchar(ch-1), cho bi t k t qu ?
Bài 06: Vi t di n tích hình tròn
#include<stdio.h>
int main()
{
const float PI = 3.14;
float fBanKinh, fDienTich;
scanf (“Nhap bán kính : %d\n”, &fBanKinh);
fDienTichtich = PI * fBanKinh * fBanKinh;
printf (“Dien tich vong tron : %8:2f\n”, fDienTich);
getchar();
return 0;
}
Lab
Bi u th c, tóan t trong C++
Trang
VAA. TVTHK
Tin H c
iC
ng
Lab01
a. Ch y ch ng trình trên nh p s li u và cho bi t k t qu ?
b. Th thay th s 8 và s 2 trong dòng l nh s 8 b ng các s khác nhau, nh n xét?
c. S a ch ng trên đ in ra chu vi và di n tích vòng tròn.
Bài 7: Bi u th c
#include <stdio.h>
int main()
{
int a, b, c, d ;
a = 3;
b = 4;
c = 5;
d = a * b + c/2;
printf(“\n The value after a*b+c/2 is: %d”, d);
d = a % b;
printf(“\n The value after a mod b is: %d”, d);
d = a * b - c;
printf(“\n The value after a*b-c is: %d”, d);
d = a / b + c;
printf(“\n The value after a/b+c is: %d”, d);
d = a + b * c;
printf(“\n The value after a+b*c is: %d”, d);
d = (a + b) *c;
printf(“\n The value after (a+b)*c is: %d”, d);
d = a * ( b + c + (a - c) * b);
printf(“\n The value after a*(b+c+(a-c)*b) is: %d”, d);
return 0 ;
}
a. Ch y th ch ng trình trên, cho bi t k t qu
b. S a l i ch ng trình đ nh p a, b, c t bàn phím và in ra k t qu
Bài 8: So sánh
#include <stdio.h>
int main()
{
int a = 5, b = 6, c = 7;
printf ("int a = 5, b = 6, c = 7;\n");
printf("\nThe value of a > b is \t%i", a > b);
printf("\nThe value of b < c is \t%i", b < c);
printf("\nThe value of a + b >= c is \t%i", a + b >= c);
printf("\nThe value of a - b <= b - c is \t%i", a-b <= b-c);
printf("\nThe value of b-a == b - c is \t%i", b - a == b - c);
printf("\nThe value of a*b != c * c is \t%i", a * b < c * c);
printf(“\nResult of a>10 && b<5 = %d“, a>10 && b<5);
printf(“\nResult of a > 100 || b < 50 = %d”, a>100 || b<50);
return 0;
Lab
Bi u th c, tóan t trong C++
Trang
VAA. TVTHK
Tin H c
iC
ng
Lab01
}
a. Ch y th ch ng trình trên, s a l i n u có.
b. Thay đ i giá tr c a a, b, c, th l i k t qu
Bài 9: Chuy n đ i ki u
#include <stdio.h>
int main()
{
printf(“40/17*13/3 = %d”, 40/17*13/3);
printf(“\n\n40/17*13/3.0 = %lf”, 40/17*13/3.0);
printf(“\n\n40/17*13.0/3 = %lf”, 40/17*13.0/3);
printf(“\n\n40/17.0*13/3 = %lf”, 40/17.0*13/3);
return 0 ;
}
a. Ch y ch ng trình trên, cho bi t k t qu ?
b. S d ng ép ki u d ng (float) a/b; th l i v i các l nh trên, cho bi t k t qu ?
c. Tính các bi u th c sau. Vi t ch ng trình ki m tra l i k t qu ?
(int) 17.487;
(double) (5 * 4 / 8);
(float) (4 + 7);
Bài 10: T ng h p
Xác đ nh giá tr c a các bi u th c sau. Vi t ch
ng trình ki m tra l i k t qu
(4-2*9/6<=3 && (10*2/4-3 > 3 || (1 < 5 && 8>10))));
10 * 3 ^ 6 * 6 + 5 – 2 && (2 * 2 + 6 /3 > 1 || 2 >8) ;
Tính x, (int x;)
x = (2 + 3) * 6;
x = (12 + 6) / 2 * 3;
y = x = (2 + 3) / 4;
y = 3 + 2 * (x = 7 / 2);
x = (int) 3.8 + 3.3;
x = (2 + 3) * 10.5;
x = 3 / 5 * 22.0;
x = 22.0 * 3 / 5;
Tính giá tr c a s (int s;)
a = 10, b = 8, c = 6, d = 5, e = 2;
s = a - b - c - d;
s = a - b + c - d;
s = a + b / c / d;
s = a + b / c * d;
s = a / b * c * d;
s = a % b / c * d;
s = a % b % c % d;
s = a - (b - c) - d;
Lab
Bi u th c, tóan t trong C++
Trang
VAA. TVTHK
Tin H c
iC
ng
Lab01
s = (a - (b - c)) - d;
s = a - ((b - c) - d);
s = a % (b % c) * d * e;
s = a + (b - c) * d - e;
s = (a + b) * c + d * e;
s = (a + b) * (c / d) % e;
G i ý: Vi t đ an ch
Bài 11: Vi t ch
ng trình, s d ng hàm printf in ra k t qu đ ki m tra tính tóan
ng trình chuy n đ i t
đ C(Celsius) sang đ F(Fahrenheit)
/**********************************************************************
* Lab 01, Bai 11.c
* Tac gia: Nguyen Van An, MSSV: 123456789
* Lop: DV2, Khoa 3,
* Chuong trinh chuyen doi tu do C sang do F: F = (9/5)*C + 32
* Created date:
**********************************************************************/
#include <stdio.h>
int main()
{
/* Mã ngu n ch ng trình t i đây */
}
Bài 12: Vi t ch
ng trình chuy n đ i t
đ F(Fahrenheit) sang đ C(Celsius)
/**********************************************************************
* Lab 01, Bai 12.c
* Tac gia: Nguyen Van An, MSSV: 123456789
* Lop: DV2, Khoa 3,
* Chuong trinh chuyen doi tu do F sang do C: C = 5*(F-32)/9
* Created date:
**********************************************************************/
#include <stdio.h>
# include <conio.h>
int main()
{
/* Mã ngu n ch ng trình t i đây */
}
Bài 13: Tính đi m trung bình c a Sinh viên.
Vi t ch ng trình nh p vào đi m c a sinh viên các môn Toán, Lý, Hóa. Hi n th ra ra đi m
trung bình c a sinh viên theo nh hình bên.
Toan:
9.3
Ly:
7.5
Hoa:
8.2
------------------------------Trung Binh:
xx.x
Lab
Bi u th c, tóan t trong C++
Trang
VAA. TVTHK
Tin H c
iC
ng
Lab01
/**********************************************************************
* Lab 01, Bai 13.c
* Tac gia: Nguyen Van An, MSSV: 123456789
* Lop: DV2, Khoa 3,
* Chuong trinh Nhap va Tinh Diem Trung Binh Toan, Ly, Hoa Cua SV
* Created date:
**********************************************************************/
#include <stdio.h>
int main()
{
/* Mã ngu n ch ng trình t i đây */
}
Bài 14: Vi t ch
(ví d
Bài 15: Ch
•
•
ng trình nh p vào n m sinh, in ra tu i
nh p 1991 in ra: Ban sinh n m 1991, vay ban 19 tuoi)
ng trình b ng mã ASCII (không dùng hàm chuy n đ i):
Nh p vào m t ký t và in ra mã ASCII t ng ng v i ký t đó.
Nh p vào m t s nguyên (1 å 255) và in ra ký t có mã ASCII t
Bài 16: Hi n th ký t
đ c bi t
Tham kh o hàm scanf và printf cùng v i b ng ký t đi u khi n, vi t ch
•
•
•
•
•
ng ng.
ng trình th c hi n:
Hi n th ký t “ ; ký t ‘ ; ký t ? ; ký t tab, ký t \, ký t %
Nh p s nguyên ch có 3 ch s
Xu t ra s th c 4 ch s nguyên và 3 ch s th p phân
In b ng c u ch ng 1 x 2 = 2 trên màn hình
c 1 ký t , in ra ký t đ ng tr c và đ ng sau nó trong b ng mã ASCII
5. Ph l c 1: Hàn scanf và printf
5.1 Hàm nh p: scanf(“Chu i đ nh d ng”, đ a ch c a các bi n);
Lab
Bi u th c, tóan t trong C++
Trang
VAA. TVTHK
Tin H c
iC
ng
Lab01
5.2 Hàm xu t: printf(“Chu i đ nh d ng ”, Các bi u th c);
Lab
Bi u th c, tóan t trong C++
Trang