1. Trang chủ
  2. » Giáo án - Bài giảng

Ngôn ngữ lập trình c

168 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ngôn Ngữ Lập Trình C
Trường học Hutech University
Chuyên ngành Ngôn Ngữ Lập Trình
Thể loại tài liệu
Năm xuất bản 2020
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 168
Dung lượng 6,41 MB

Nội dung

Trang 15 ng máy tính 1.3.2.2 Kh i h th ng máy tính Computer System Unit các thành ph ính c Mainboard, CPU, RAM, các thành phình, cp in storage.. Khi ta úng n bo mà h khác trong máy tính

Trang 1

Biên

www.hutech.edu.vn

Trang 2

*1.2020.CMP1016*

tailieuhoctap@hutech.edu.vn

Trang 3

M C L C

M C L C I

NG D N IV

BÀI 1: KI N TH N V MÁY TÍNH 1

1

1.1.1 Máy tính là gì? 1

1.1.2 2

1.1.3 2

1.1.4 3

3

1.2.1 3

1.2.2 5

1.3 5

1.3.1 y thông minh 5

1.3.2 6

1.3.3 15

1.3.4 19

1.3.5 21

CÂU H I ÔN T P 25

N L P TRÌNH MÁY TÍNH 27

27

28

2.2.1 t 28

2.2.2 29

2.2.3 30

2.2.4 31

37

2.4 anguage) 38

2.4.1 38

2.4.2 39

2.4.3 43

CÂU H I ÔN T P 45

BÀI 3: GI I THI U V NGÔN NG L P TRÌNH C 49

49

3.1.1 49

3.1.2 50

3.1.3 50

-C 52

Trang 4

3.3 53

CÂU H I ÔN T P 56

BÀI T P NÂNG CAO 59

BÀI 4: KI U D LI U VÀ BI U TH C TRONG C 60

60

4.1.1 60

4.1.2 61

4.1.3 62

4.1.4 62

4.1.5 65

67

4.2.1 67

4.2.2 68

4 69

4.3.1 69

4.3.2 69

4.3.3 Phép gán (l 70

4.3.4 72

4.3.5 74

4.3.6 75

4.3.7 76

4.3.8 Các phép toán thao tác trên bit 77

4.3.9 78

4.3.10 79

80

4.4.1 80

4.4.2 82

85

4.5.1 85

4.5.2 86

4.5.3 87

4.5.4 C 88

4.5.5 89

4.5.6 90

CÂU H I ÔN T P 91

BÀI 5: CÁC TOÁN T U KHI N 96

96

5.1.1 96

5.1.2 96

5.2 98

5.2.1 98

Trang 5

5.2.2 102

5.3 C 104

5.3.1 104

5.3.2 107

5.3.3 Vòng 109

5.3.4 110

111

5.4.1 111

5.4.2 112

CÂU H I ÔN T P 113

114

114

115

116

6.3.1 116

6.3.2 117

6.3.3 118

6.4 hàm 119

124

6.5.1 124

6.5.2 124

CÂU H I ÔN T P 125

BÀI 7: M NG- CHU I KÝ T 126

7 126

127

7.2.1 Khai báo 127

7.2.2 128

7.2.3 129

7.2.4 130

7.2.5 130

132

7.3.1 132

7.3.2 133

7.3.3 134

CÂU H I ÔN T P 142

BÀI 8: KI U D LI U CÓ C U TRÚC 147

147

148

150

150

8.4.1 150

Trang 6

8.4.2 151

151

CÂU H I ÔN T P 154

TÀI LI U THAM KH O 160

NG D N

MÔ T MÔN H C

-

-

-

-

-

-

N I DUNG MÔN H C

Trang 7

C

h c t t môn này, i h c c n ôn t p các bài h c, tr l i các câu h i và

h c

m 2 ph n

Trang 9

c ngày nay, máy

Trang 12

4 BÀI 1: ÍNH

1.2.1.1 H m th p phân

1.2.1.2 H m nh phân

i 2 BInary digiT

Trang 13

b

6(10) =110(2)

1.3 H TH NG MÁY TÍNH

1.3.1 Máy vi tính và thi t b c m tay thông minh

), siêu máy tính (supercomputers), và máy tính nhúng (embedded computers)

Trang 15

ng máy tính

1.3.2.2 Kh i h th ng máy tính (Computer System Unit)

Hình 1.5: Computer case và Mainboard

CPU ( Central Processing Unit)

i

CU (Control Unit) ALU

(Arithmetic Logic Unit) Các thanh ghi (Registers)

+ RAM) (Input)

(Output)

Trang 16

8 BÀI 1:

tâm phép tính CPU có 3 b

Trang 17

Input/ Output System) T

RAM (Random Access Memory) là

ình trong quá trình thao tác và tính toán RAM có

d

có các lo

Trang 18

10 BÀI 1:

Trang 19

Hình 1.7: Mô hình bàn phím

n trên màn

Trang 21

trên máy tính xách tay

Speaker port

port

Trang 23

húng

Trang 24

ft Windows, 3.0, Windows 95, Windows 98, Windows ME và Windows Vista, Windows 7, Windows 8, Windows 10

, vì Tron

Mac OS X Tiger, MacOS Sierra

Trang 27

1.3.4.1 T c a b x lý trung tâm (CPU):

T

Trang 30

22 BÀI 1:

- Các máy khách (client) là các má

e-mak

(wide area network - WAN)

Trang 31

(Wide Area Network ng (WAN) là

Hình 1Internet

n

Trang 33

Câu 1: Hãy cho bi t t i sao em ch n ngành CNTT ?

Câu 4:

Trang 36

28 BÀI 2:

trong môn C u Trúc D Li u và gi i thu t

2.2 GI I THU T

2.2.1 Khái ni m gi i thu t

Trang 37

p x

bài toán cùng lo i

Trang 38

30 BÀI 2:

-

Trang 39

3 Ngôn ng - flow chart)

vi c mô t d li u nh p (input), d li u xu t (output) và lu ng x lý thông qua các

Trang 41

C u trúc 1: N u u ki c hi n <công vi c>.

Sai

Sai

Trang 43

C u trúc 3: ng h p <i> th c hi n <công vi c i>

Trang 45

2.3 KI U D LI U

type là m h phân u cho trình

Trang 47

- p trình Khai báo (Declarative) - -

Trang 48

40 BÀI 2:

XML YAML ZetaLisp

Trang 50

2.4.2.5 Phát tri n Driver máy tính

Trang 52

44 BÀI 2:

JavaScript, Java, Python, PHP, C++, C#, TypeScript, Shell, C và Ruby

Trang 53

CÂU H I ÔN T P

bài toán sau:

ng d n:

So sánh a v i s 0 N u a>0 thì a d n u a<0 thì a là s âm

Trang 57

BÀI 3: GI I THI U V NGÔN NG

Ngôn ng máy (machine language): Là các ch th i d ng nh phân, can thi p

nh ng con s 0 và 1

H p ng (assembly language): Bao g m tên các câu l nh và quy t c vi t các câu

Ví d :

A PRINT a; Hi n th giá tr c a a ra màn hình INPUT b

ADD b; C ng giá tr c a thanh ghi t ng A v i giá tr b

Assembler

Trang 58

50 BÀI 3:

Ngôn ng c p cao (High level language) i và phát tri n nh m ph n ánh cách

toán h c Cùng v i s phát tri n c a các th h máy tính,

Ch ng h n ngôn ng LISP s d ng trình thông d ch

i th c hi n Các ngôn ng s d ng trình biên d

Gi a thông d ch và biên d ch có khác nhau ch : Do thông d ch là v a d ch v a

Trang 59

Vào nh i th p k u th p k 70 c a th k XX, Dennish Ritchie

máy DEC PDP-11

Ngôn ng l p trình C là m t ngôn ng l p trình h th ng r t m nh và r m

quy t các bài toán k thu t có nhi u công th c ph c t

Trang 60

5 Biên d ch (compile): C cho phép biên d ch nhi u t

Trang 61

Dev-Dòng trên cùng g i là thanh menu (menu bar) M i m c trên thanh menu l i có

th có nhi u m c con n m trong m t menu kéo xu ng

màn hình s xu t hi n m t vùng tr cho ta so n th o n i dung c a ch

Tên c a t p tin g m 2 ph n: Ph n tên và ph n m r ng

M C-free/Dev-C, vào File/New/Source file

v i ph n m r ng là cpp (Ví d : Cau1.cpp)

int main()

{

printf(" Xin chao ban !");

printf(" Xin chao ban!\n");

printf(" Chao ban !\n Toi ten la Hoa ");

printf(" Chao ban !\t Toi ten la Hoa !\n ");

return 0;

}

Trang 63

//câu d

int x, y, z;

printf("Moi nhap hai so nguyen de cong: ");

scanf("%d%d", &x, &y);

z = x + y;

printf("Tong hai so la %d\n", z);

//ho c printf("Tong hai so la %d\n", x+y);

v i phép hi u, tích, th u d li u k t qu c a phép chia */

Trang 64

56 BÀI 3:

CÂU H I ÔN T P

M C-free/Dev-C, vào File/New/Source file

Trang 65

Phím t t biên d ch và ch y c (Compile and Run):

Than moi ban:

Toi du le sinh nhat cua minh

Vao luc 19h ngay 20/10/2016

Tai: 05/42 Vinh Vien TP HCM

Rat mong duoc don tiep!

Trang 66

a Nh p vào hai s nguyên Xu t ra màn hình giá tr l n nh t

b Nh p vào ba s nguyên Xu t ra màn hình giá tr l n nh t

Trang 67

BÀI T P NÂNG CAO

Trang 68

T p ký t trong ngôn ng C bao g m nh ng ký t , ký hi u sau: (phân bi t ch in

ng):

Trang 71

Cú pháp: #define <ten hang> <gia tri hang>

Ví d :

Trang 73

4.1.5 Bi n

Cú pháp: <kieu du lieu> <ten bien>;

Ví d : int a; /* khai báo bi n a có ki u d li u là int */

float x; /* khai báo bi n x có ki u d li u là float */

double y, z; /* khai báo 2 bi n y, z có ki u d li u là double */

long m, n, i; /* khai báo 3 bi n m, n, i có ki u d li u là long */

V trí khai báo bi n trong C

Trang 74

printf ("\n Gia tri cua i la: %d ", i);

printf ("\n Gia tri cua bienngoai la %d ", bienngoai);

printf("\n Gia tri cua i la %d",i);

printf("\n Gia tri cua j la %d",j);

if(j>i)

Trang 75

{

u s c a j tr }

Trang 76

d nh và d u ch nh sau này Ph n n i dung ghi chú này ph i

Trang 77

Bi u th c tính n a chu vi c a m t tam giác: p=(a+b+c)/2;

Bi u th c tính di n tích c a m t tam giác: s=sqrt(p*(p-a)*(p-b)*(p-c));

Trang 78

} Nguyên t c khi dùng l nh gán thì ki u c a bi n và ki u c a bi u th c ph i gi ng

Trang 79

}

<Tên ki u> <Tên bi n> = <Bi u th c>;

Ví d : int x = 10, y=x;

Gi s ta có câu l nh gán sau: <bien> = <bien> + <bieu thuc>;

Ta có th vi t g n l i: <bien> += <bieu thuc>;

Trang 80

72 BÀI 4:

4.3.4 Các phép toán quan h và lý lu n

Trang 81

d Các phép toán quan h i các phép toán s h c

0)

Phép và: (toán t 2 ngôi) toán t &&

Phép ho c: (toán t 2 ngôi) toán t ||

Trang 82

<(type)> <bieu thuc>

Ý ki u giá tr c a bi u th i thành ki u giá tr type

Khi 2 toán h ng trong m t phép toán có ki u giá tr khác nhau thì ki u giá tr th p

qu c a phép toán là m t giá tr có ki u giá tr cao nh t

Trang 84

khi th c hi n câu l nh thì n=2 và i=1 */

Trang 85

4.3.8 Các phép toán thao tác trên bit

thao tác trên t ng bit c a m t s nguyên ta có th dùng các phép toán sau: PHÉP TOÁN

<< Phép d ch trái theo bit

1^1=0 1^0=1 0^1=1 0^0=0

a >> n /*d ch ph i giá tr

Trang 86

4.3.9 Toán t con tr & và *

M t con tr a ch trong b nh c a m t bi n M t bi n con tr là m t bi n

Ví d : m = &count

Trang 87

Ch ng h n, bi n count v trí b nh 2000, gi s count có giá tr là 100 Sau câu

Trang 88

80 BÀI 4:

Ví d 3:

/*Doc gia tri cho bien1 co kieu nguyen*/

/*Doc gia tri cho bien2 co kieu th c*/

Trang 89

/*Doc gia tri cho bien1 co kieu nguyen, bien2 co kieu thuc*/

Trang 91

\n Sau khi lam tron=

\nViet binh thuong =%f \n Viet kieu khoa

K t qu in ra màn hình:

hi n th chúng

Trang 92

xóa ký t bên trái (backspace)

printf("\n Tieng Beep \a");

printf("\n Doi con tro sang trai 1 ky tu\b"); printf("\n Dau Tab \tva dau backslash \\"); printf("\n Dau nhay don \' va dau nhay kep \""); printf("\n Dau cham hoi \?");

printf("\n Ky tu co ma bat phan 101 la \101");

printf("\n Ky tu co ma thap luc phan 41 la \x041");

printf("\n Dong hien tai, xin go enter");

getch();

printf("\rVe dau dong");

return 0;

Trang 94

c n có (header file), không th thi u trong vi c s d ng m t cách t t nh t các hàm

d li

Trang 95

Ví d : typedef int SoNguyen; // Ki u SoNguyen là ki u int

hàm

Khai báo các bi n ngoài (các bi n toàn c c) ph n này không b t bu c: ph n này

n này b t bu c ph i có

<Ki u d li u tr v > main()

{

Các khai báo c c b trong hàm main: Các khai báo này ch t n t i trong hàm

mà thôi, có th là khai báo bi n hay khai báo ki u

Trang 96

88 BÀI 4:

các hàm in d li u (printf()), nh p giá tr cho bi n (scanf()), nh n ký t t bàn phím (getc()), in ký t ra màn hình (putc()), nh n m t dãy ký t t bàm phím

G m các hàm clrscr(), , getche(), getpass(), cgets(), cputs(), putch()

log10(), sin(), cos(), tan(), ac

hàm calloc(),

read(), _read(), close(), _close(), creat(), _creat(), creatnew(), eof(), filelength(),

N u ta dùng #include<Tên t p tin> thì Borland C s tìm t

Trang 98

90 BÀI 4:

int main()

{

Khai báo bi n n u có (ch t n t i trong hàm);

Trang 99

Câu 4: Gi s m=5, n=2 Hãy cho bi t giá tr c a m và n sau khi th c thi m i câu

Trang 103

Câu 8: Hoàn thi n các bài t p các bà c

x>0, a>0, a != 1 (dùng logax=lnx/lna)

Trang 104

96 BÀI 5:

Trang 105

kh i l nh khác nhau hay các kh i l nh l ng nhau có th khai báo các bi n cùng tên

Trang 106

98 BÀI 5:

N u m t bi n c khai báo bên ngoài kh i l nh và không trùng tên v i bi n

không th s d ng các bi n bên trong kh i l nh con

<Công vi c>

}

cú pháp:

Sai

Trang 108

d u

Trang 109

#include< stdio.h> // n ph i khai báo

trình theo các qui t c sau:

ph i

Các câu l nh, kh i l nh cùng c p thì vi t trên cùng m t c t

Trang 111

int songuyen, phandu;

printf("\n Nhap vao so nguyen "); scanf("%d",&songuyen);

Trang 114

printf("\n Day so tu 1 den 10:");

for (i=1; i<=10; i++)

Trang 115

for (int i=1; i<=n; i++)

{

s= s+i;

}

ng là s= %ldreturn 0;

Trang 116

- N u giá tr c a <bieu thuc> là sai (b ng 0) thì máy s thoát kh i vòng l p và th c

trong <khoi lenh> Khi g p d u ngo c i <khoi lenh> ho c g p l nh

Trang 118

110 BÀI 5:

c 1: Th c hi n các câu l nh trong <khoi lenh công vi c>

Trang 119

thoát kh i vòng l p Khi g p câu l nh này trong vòng l

Trang 123

Ví d 2 nh p vào 2 s nguyên a,b

hàm printf(), scanf(), getc(), putc(), gets(), puts(), fflush(), fopen(), fclose(), fread(),

hàm clrscr(), , getche(), getpass(), cgets(), cputs(), putch(),

Trang 124

116 BÀI 6:

calloc(), realloc(), malloc(), free(), farmalloc(), farc

read(), _read(), close(), _close(), creat(), _creat(), creatnew(), eof(),

Trang 125

return; //không tr v giá tr , ch thoát kh i hàm return

return <tên bi n>; //Tr v giá tr c a bi n và thoát

return <bi u th c>; //Tr v giá tr c a bi u th c và thoát

Cú pháp g i hàm: <Tên hàm>([Danh sách các tham s ])

Trang 127

printf("Truoc khi goi phuong thuc x = %d \n", x);

change(x); // truyen tham tri vao phuong thuc

printf("Sau khi goi phuong thuc x = %d \n", x);

return 0;

}

Trang 128

120 BÀI 6:

K t qu

Truoc khi goi phuong thuc x = 100

Sau khi goi phuong thuc x = 100

printf("Truoc khi goi phuong thuc x = %d \n", x);

change(&x); // truyen tham chieu vao phuong thuc

printf("Sau khi goi phuong thuc x = %d \n", x);

return 0;

}

:

Truoc khi goi phuong thuc x = 100

Sau khi goi phuong thuc x = 101

Trang 129

printf("Truoc khi goi ham change: x = %d \n", x);

printf("Sau khi goi ham change: x = %d \n", x);

return 0;

}

M c nhiên, vi c truy n tham s cho hàm trong C là truy n theo giá tr

hình th c

này có tên là InKT

Trang 131

printf("\n Truoc khi goi ham hoan vi a=%d ,b=%d",a,b); hoanvi(a,b);

printf("\n Sau khi goi ham hoan vi a=%d ,b=%d",a,b); return 0;

}

K t qu th c hi

Trang 133

CÂU H I ÔN T P

qu lên màn hình

3 s a, b, c ph i ki m tra l i xem a, b, c có t o thành m t tam giác không? N u có thì tính chu vi và di n tích N u không thì in ra câu " Không t o thành tam giác"

Trang 134

ta g i là m ng c a m ng hay m ng nhi u chi u)

Ta có th chia m ng làm 2 lo i: m ng m t chi u và m ng nhi u chi u

qu n lý m t danh sách h và tên c a kho ng 100 sinh viên trong m t l p Nh n th y

khai báo 100 bi n ki u chu i N

các thao tác trên các h tên s r t dài dòng và r c r i Vì th , ki u d li u m ng giúp

ng h p này; ch c n khai báo 1 bi n, bi n này có th

khi khai báo m ng

c a m ng m t chi u có giá tr không ph i là m t m ng

Trang 136

128 BÀI 7: -

N u v a khai báo v a gán giá tr thì m c nhiên C s hi u s ph n t c a m ng là

s giá tr mà chúng ta gán cho m ng trong c p d u {}

Ví d : float x[] = {12.1, 7.23, 5.0, 27.6, 87.9, 9.31};

S ph n t =sizeof(tên m ng)/ sizeof(ki u)

ta không c n ch nh s ph n t c a m ng là bao nhiêu

Ví d : void nhapmang (int a[ ], int n)

7.2.2 Truy c p vào các ph n t c a m ng

s n m trong c p d u ngo c vuông []

Ch s c a ph n t m ng là m t bi u th c mà giá tr là ki u s nguyên

bi n có ki u d li u là ki u c ch ra trong khai báo bi n m ng

Trang 137

printf("\nGia tri: %f ", a[1]);

Trang 138

7.2.5 M t vài thu t toán trên m ng m t chi u

Bài toán 1: Tính t ng các ph n t trong m ng m t chi u các s nguyên

Trang 141

Ví d : char chu i [ ] thu t l p

Trang 142

134 BÀI 7: -

Ví d : scanf

i v i hàm scanf khi g p phím space, tab, new line, Enter thì d ng, cho nên ch

printf (xu t chu i xong không xu ng dòng)

gets: fflush (stdin) hay flushall ()

7.3.3 M t s hàm x lý chu i (trong <string.h>)

Cú pháp: int kbhit (void)

Hàm tr v giá tr khác không n u b m bàn phím khác r ng, tr v giá tr

Cú pháp: char * strcat(char* s1, char* s2)

ch a trong s1

Ví d :

#include "stdio.h"

Trang 143

#include "string.h"

void main()

{

char s1[50], s2[50];

printf("\nNhap chuoi 1: "); gets(s1);

printf("Nhap chuoi 2: "); gets(s2);

strcat(s1,s2);

printf("Xuat chuoi 1: %s",s1);

printf("\nXuat chuoi 2: %s",s2);

}

Cú pháp: char* strchr (char* ch, int kt)

if (p != NULL) printf("\nchi so cua ky tu: %d",(int)(p-s));

else printf("\nKhong tim thay!");

}

Ngày đăng: 06/02/2024, 07:27

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Máy tính - Ngôn ngữ lập trình c
Hình 1.1 Máy tính (Trang 9)
Hình 1.3: C h (microcomputers) - Ngôn ngữ lập trình c
Hình 1.3 C h (microcomputers) (Trang 14)
Hình 1.5: Computer case và Mainboard - Ngôn ngữ lập trình c
Hình 1.5 Computer case và Mainboard (Trang 15)
Hình 1.14: C à  FireWire - Ngôn ngữ lập trình c
Hình 1.14 C à FireWire (Trang 23)
Hình 1.16: M  Server - Ngôn ngữ lập trình c
Hình 1.16 M Server (Trang 30)
Hình  nh m ng m t chi u các phân s - Ngôn ngữ lập trình c
nh nh m ng m t chi u các phân s (Trang 159)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w