linux下c語言編程題,linux中c語言編程

本文目錄一覽:

linux編程題

1、先把$1,即要複製的制定目錄保存起來,然後用shift命令清除第一個參數,最後需要用到 for loop in $@循環把其餘的參數指定的文件複製到目錄。

在Linux系統上使用C語言編程 – Hello World

C語言和 Linux 系統密切相關,因此在Linux系統上用C編程是一件非常自然的事。大部分的Linux kernel是用C寫的,很多用戶程序也是用C寫的,比如GTK(Gnome和XFCE使用的圖形庫)。很多嵌入式系統和主機系統也是用C寫的。因此,學習C將使我們具備解決Linux系統問題的能力。

C語言有40多年的 歷史 ,由Brian Kernighan, Dennis Ritchie 和 Ken Thompson 在貝爾實驗室創建。最初的操作系統Unix是用彙編語言編寫的,因此有很多不便,當將Unix移植到PDP-11主機時,C語言被作為重新改寫Unix系統的程序語言。1978年,Kernighan 和 Ritchie 編寫了 “The C Programming Language”,推薦您閱讀它。

C語言的編譯過程如下:

在Linux上檢查編譯器的安裝:

gcc -v

ld -v

第一個C語言程序:0001.hello.world.c

———————————-

#include

int main()

{

printf(“Hello, world! “);

return 0;

}

————————————–

編譯:

gcc -o ./exes/0001.hello.world 0001.hello.world.c

運行

./exes/0001.hello.world

linux下c語言編程,關於fread的問題

while(fread(file_name,

sizeof(char),

5,

fp)0);

//此處分號看到沒?

一直讀

直到最後5位才跳出循環

{

…..

·1.已知Linux下的一個C語言程序代碼寫 在兩個源文件a.c和b.c中,請編寫一個 Makef

CC      = gcc

OBJS    = a.o b.o

CFLAGS  = -c -g -DDEBUG_MODE -m64 -O2 -Wall -Wno-unused-result

LDFLAGS = -ldl -m64

all: aa

aa: $(OBJS) 

$(CC) $^ -o $@ $(LDFLAGS)

%.o: %.c

$(CC) $(CFLAGS) $ -o $@

.PHONY: clean

clean: 

$(RM) a.o b.o

linux環境c語言編程!問題棘手!高手進!

【第一個問題】

argv[i]越界了,不能保證都是null,改成這樣

for(i=1;iargc;i++)

demo[i-1]=atoi(argv[i]);

for(–i;i3;++i)

demo[i]=10;

【第二個問題】

我的理解是第一個子進程wakeup的瞬間,其他的子進程還是sleep,因此第一個子進程執行了printf

優先級再高的進程sleep了也搶不過優先級低的活動進程

因此最好保持3個子進程同時活動

else//子進程執行代碼

{

sleep(1);//為了父進程順利啟動3個子進程,sleep還是留着吧

for(i=1;i;i++);//保持活動一段時間

//報告進程號和優先級

printf(“child %d priority=%d\n”,getpid(),getpriority(PRIO_PROCESS,0));

exit(EXIT_SUCCESS);

//return EXIT_SUCCESS;

}

linux下c語言編程

實在點,給你些命令操作操作,不過好象有點多,哈哈

Linux/Unix常用命令

1、目錄操作

和DOS相似,UNIX採用樹型目錄管理結構,由根目錄(/)開始一層層將子目錄建下去,各子目錄以 / 隔開。用戶login後,工作目錄的位置稱為 home directory,由系統管理員設定。‘~’符號代表自己的home directory,例如 ~/myfile 是指自己home目錄下myfile這個文件。

(1)顯示目錄文件 ls

執行格式: ls [-atFlgR] [name] (name可為文件或目錄名稱)

例: ls 顯示出當前目錄下的文件

ls -a 顯示出包含隱藏文件的所有文件

ls -t 按照文件最後修改時間顯示文件

ls -F 顯示出當前目錄下的文件及其類型

ls -l 顯示目錄下所有文件的許可權、擁有者、文件大小、修改時間及名稱

ls -lg 同上

ls -R 顯示出該目錄及其子目錄下的文件

注:ls與其它命令搭配使用可以生出很多技巧(最簡單的如”ls -l | more”),更多用法請輸入ls –help查看,其它命令的更多用法請輸入 命令名 –help 查看.

(2)建新目錄 mkdir

執行格式: mkdir directory-name

例: mkdir dir1 (新建一名為dir1的目錄)

(3)刪除目錄 rmdir

執行格式: rmdir directory-name 或 rm directory-name

例:rmdir dir1 刪除目錄dir1,但它必須是空目錄,否則無法刪除

rm -r dir1 刪除目錄dir1及其下所有文件及子目錄

rm -rf dir1 不管是否空目錄,統統刪除,而且不給出提示,使用時要小心

(4) 改變工作目錄位置 cd

執行格式: cd [name]

例: cd 改變目錄位置至用戶login時的working directory

cd dir1 改變目錄位置,至dir1目錄

cd ~user 改變目錄位置,至用戶的working directory

cd .. 改變目錄位置,至當前目錄的上層目錄

cd ../user 改變目錄位置,至上一級目錄下的user目錄

cd /dir-name1/dir-name2 改變目錄位置,至絕對路徑(Full path)

cd – 回到進入當前目錄前的上一個目錄

(5)顯示當前所在目錄pwd

執行格式: pwd

(6)查看目錄大小du

執行格式: du [-s] directory

例: du dir1 顯示目錄dir1及其子目錄容量(以kb為單位)

du -s dir1 顯示目錄dir1的總容量

(7)顯示環境變量

echo $HOME 顯示家目錄

echo $PATH 顯示可執行文件搜索路徑

env 顯示所有環境變量(可能很多,最好用”env | more”,”env | grep PATH”等)

(8)修改環境變量,在bash下用export,如:

export PATH=$PATH:/usr/local/bin

想知道export的具體用法,可以用shell的help命令:help export

2、文件操作

(1)查看文件(可以是二進制的)內容 cat

執行格式:cat filename或more filename 或cat filename|more

例: cat file1 以連續顯示方式,查看文件file1的內容

more file1

或 cat file1|more 以分頁方式查看文件的內容

(2)刪除文件 rm

執行格式: rm filename

例: rm file?

rm f*

(3)複製文件 cp

執行格式: cp [-r] source destination

例: cp file1 file2 將file1複製成file2

cp file1 dir1 將file1複製到目錄dir1

cp /tmp/file1 將file1複製到當前目錄

cp /tmp/file1 file2 將file1 複製到當前目錄名為file2

cp -r dir1 dir2 (recursive copy)複製整個目錄。

(4)移動或更改文件、目錄名稱mv

執行格式: mv source destination

例: mv file1 file2 將文件file1,更名為file2

mv file1 dir1 將文件file1,移到目錄dir1下

mv dir1 dir2

(5)比較文件(可以是二進制的)或目錄的內容 diff

執行格式: diff [-r] name1 name2 (name1、name2同為文件或目錄)

例: diff file1 file2 比較file1與file2的不同處

diff -r dir1 dir2 比較dir1與dir2的不同處

(6)文件中字符串的查找 grep

執行格式: grep string file

例: grep abc file1 查找並列出串abc所在的整行文字

(7)文件或命令的路徑尋找

執行格式一:whereis command 顯示命令的路徑

執行格式二:which command 顯示路徑及使用者所定義的別名

執行格式三:whatis command 顯示命令的功能摘要

(8)建立文件或目錄的鏈接 ln

例: ln source target1 建立source文件(已存在)的硬鏈接,命名為target1

ln -s source target2 建立source文件的符號鏈接,命名為target2

文件編輯器vi

vi是在UNIX 上被廣泛使用的中英文編輯軟件。vi是visual editor的縮寫,是UNIX提供給用戶的一個窗口化編輯環境。

進入vi,直接執行vi編輯程序即可。

例:$vi test.c

顯示器出現vi的編輯窗口,同時vi會將文件複製一份至緩衝區(buffer)。vi先對緩衝區的文件進行編輯,保留在磁盤中的文件則不變。編輯完成後,使用者可決定是否要取代原來舊有的文件。

1、vi的工作模式

vi提供二種工作模式:輸入模式(insert mode)和命令模式(command mode)。使用者進入vi後,即處在命令模式下,此刻鍵入的任何字符皆被視為命令,可進行刪除、修改、存盤等操作。要輸入信息,應轉換到輸入模式。

(1)命令模式

在輸入模式下,按ESC可切換到命令模式。命令模式下,可選用下列指令離開vi:

:q! 離開vi,並放棄剛在緩衝區內編輯的內容

:wq 將緩衝區內的資料寫入磁盤中,並離開vi

:ZZ 同wq

:x 同wq

:w 將緩衝區內的資料寫入磁盤中,但並不離開vi

:q 離開vi,若文件被修改過,則要被要求確認是否放棄修改的內容,此指令可與:w配合使用

(2)命令模式下光標的移動

H 左移一個字符

J 下移一個字符

K 上移一個字符

L 右移一個字符

0 移至該行的首

$ 移至該行的末

^ 移至該行的第一個字符處

H 移至窗口的第一列

M 移至窗口中間那一列

L 移至窗口的最後一列

G 移至該文件的最後一列

W, W 下一個單詞 (W 忽略標點)

B, B 上一個單詞 (B 忽略標點)

+ 移至下一列的第一個字符處

– 移至上一列的第一個字符處

( 移至該句首

) 移至該句末

{ 移至該段首

} 移至該段末

NG 移至該文件的第n列

N+ 移至光標所在位置之後第n列

n- 移至光標所在位置之前第n列

(3)輸入模式

輸入以下命令即可進入vi輸入模式:

a(append) 在光標之後加入資料

A 在該行之末加入資料

i(insert) 在光標之前加入資料

I 在該行之首加入資料

o(open) 新增一行於該行之下,供輸入資料用

O 新增一行於該行之上,供輸入資料用

dd 刪除當前光標所在行

X 刪除當前光標字符

x 刪除當前光標之前字符

U 撤消

• 重做

F 查找

ESC鍵 離開輸入模式

GNU C編譯器

LINUX上可用的C編譯器是GNU C編譯器,它建立在自由軟件基金會編程許可證的基礎上,因此可以自由發布。

LINUX 上的GNU C編譯器(GCC)是一個全功能的ANCI C兼容編譯器。下面介紹GCC和一些GCC編譯器最常用的選項。

1、使用GCC

通常後跟一些選項和文件名來使用GCC編譯器。GCC命令的基本用法如下:

gcc [options] [filenames]

命令行選項指定的編譯過程中的具體操作

2、GCC常用選項

GCC有超過100個的編譯選項可用,這些選項中的許多可能永遠都不會用到,但一些主要的選項將會頻繁使用。很多的GCC選項包括一個以上的字符,因此必須為每個選項指定各自的連字符,並且就像大多數LINUX 命令一樣不能在一個單獨的連字符後跟一組選項。例如:

gcc test.c

編譯成功後,當前目錄下就產生了一個可執行文件a.out。

也可用-o選項來為即將產生的可執行文件指定一個文件名來代替a.out。例如:

gcc -o count count.c

此時得到的可執行文件就不再是a.out,而是count。

3、執行文件

格式: ./可執行文件名

例:./a.out

./count

原創文章,作者:VSFZ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/144220.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
VSFZ的頭像VSFZ
上一篇 2024-10-24 15:28
下一篇 2024-10-24 15:28

相關推薦

  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論