1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Hệ điều hành linux: Chương 8 - Ngô Văn Công

33 68 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

Định dạng
Số trang 33
Dung lượng 449,14 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Hệ điều hành linux: Chương 8 Lập Trình C trong Linux do Ngô Văn Công biên soạn cung cấp các kiến thức cơ bản như: Hello world program, ngôn ngữ C, trình biên dịch make,...

Trang 1

Lập Trình C trong Linux

Trang 3

Giới thiệu

 Ngôn ngữ lập trình C là lựa chọn tốt cho những người mới học lập trình

 Linux là môi trường thích hợp để viết các chương trình

 Không cần mất chi phí mua các phầm mềm hỗ

Trang 4

Biên dịch với gcc

“human-readable source code” sang readable object code”

Java

 [CODE]% gcc [ tùy chọn | tên file ]

 Giả sử bạn có 1 file myfile.c khi bạn đánh :

% gcc myfile.c

đó là file output mặc định của gcc Lúc này bạn đã có thể run chương trình bằng :

% /a.out

Trang 5

trên thì file a.out của bạn sẽ bị ghi đè bằng file thứ 2

để đặt tên file out put

% gcc -o myout myfile.c

errors nhỏ nhưng gcc sẽ thay bạn sửa chửa những lỗi này (trừ khi đó là lỗi lớn) Nhưng trên thực tế' mình phải tự sửa các lỗi này để chương trình sau khi compile là bug-free Bạn sẽ thêm 1 tùy chọn là -Wall (viết tắt của Warning All -

Thông báo tất cả lỗi)

 % gcc -Wall -o myout myfile.c

Trang 6

Int main(): Int chỉ giá trị trả về của hàm main(), main là tên của điểm bắt đầu của chương trình

{}: nhóm các lệnh lại

printf("Hello World\n"): hiển thị văn bản lên màn hình

return 0: trả về 0 cho hàm main

(hello.c)

#include <stdio.h>

int main() {

printf("Hello, world!\n");

return 0;

}

Trang 7

   Writes the words "Hello World" on the screen */

 

#include<stdio.h>

  int main() {

    printf("Hello World\n"); //prints "Hello World"

    return 0;

}

Trang 8

Biến và hằng

 Biến: biến trong C là vị trí bộ nhớ được đặt tên

 Giá trị số: nguyên hay thực

 Hằng: không thể thay đổi giá trị

Trang 9

Biến và hằng

 Khai báo biến hằng

 Biến dạng Signed và unsigned

int main() {

   int a,b,c;    return 0; }

int main() {

    const float pi = 3.14;

   return 0;

}

int main() {

    unsigned int a;

    signed int b;

    return 0;

}

Trang 10

Đọc và hiển thị biến

 scanf: đọc giá trị nhập từ bàn phím

#include<stdio.h>

  int main() {

Trang 11

Câu lệnh điều kiện

 Câu lệnh if

#include<stdio.h>

  int main() {

   int mark;

   char pass;

   scanf("%d",&mark);

   if (mark > 40)       pass = 'y';

   return 0;

}

#include<stdio.h>

  int main() {

   int mark;

   char pass;

   scanf("%d",&mark);

   if (mark > 40)    {

      pass = 'y';

      printf("You passed");    }

   else    {       pass = 'n';

      printf("You failed");    }

   return 0;

}

Trang 12

Toán tử ?

expression1 ? expression2: expression3 <=>

if expression1 then expression2 else

expression3

 z = (a>b) ? a : b; <=> if (a>b) z = a; else z=b;

Trang 15

Vòng lặp while

while (expression) statement

int x=3;  

main() {

while (x>0) {

printf("x=%d \n",x); x ;

} }

Trang 16

Vòng lặp

#include<stdio.h>

  int main() {

   int i,times;

   scanf("%d",&times);

   i = 0;

    do    {       i++;

      printf("%d\n",i);    }

   while (i <= times);

   return 0;

}

Trang 17

Con trỏ

 Do đó được gọi là con trỏ, trỏ tới giá trị nằm tại vùng nhớ đó

 Khai báo con trỏ: đặt * phía trước tên của nó

int main() {

Trang 19

Chú ý

 int *ip;   *ip = 100;

 Báo lỗi (program crash!!)

 int *ip; int x;  ip = &x; *ip = 100;

Trang 21

   return a + b;

}   int main() {

Trang 22

Câu lệnh make

 Dịch lại chương trình lớn thì lâu hơn rất nhiều

so với khi dịch các chương trình nhỏ

mà vẫn theo vết các thay đổi so với lần biên dịch trước đó

Trang 23

Quá trình biên dịch đơn giản

Trang 24

Biên dịch với nhiều tệp

Trang 25

Biên dịch với nhiều tệp

Compile green.o: gcc -c green.c Compile blue.o: gcc -c blue.c

Link the parts together: gcc green.o blue.o

Trang 26

Chú ý khi chia chương trình C thành

nhiều tệp

nào cùng định nghĩa một biến

 Khai báo biến toàn cục trong một tệp:extern int globalvar;

 Khi dùng hàm định nghĩa trong tệp khác, tạo tệp h với prototype của hàm và dùng từ khóa

#include để thêm tệp h vào trong tệp c của bạn

 Khi bạn định nghĩa một biến:int globalvar;

 Khi bạn khai báo một biến:extern int globalvar;

Trang 27

Biểu đồ phụ thuộc(Dependency graphs)

Trang 28

Cách hoạt động make

Trang 29

target : source file(s)

command (must be preceded by a tab)

Trang 30

Sử dụng makefile với make

 gcc add.o main.o –o main

Int add(int a, int b);

printf(“%d”,add(2,3)); }

Trang 32

program1: add.o main.o

gcc add.o main.o –o vidu1 add.o: add.c head.h

gcc –c add.c main.c: head.h main.c

gcc –c main.c

Ngày đăng: 30/01/2020, 01:59

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm