shell 語法與C語言對比

2021-06-28 07:41:10 字數 3003 閱讀 8329

要實現的功能 c

語言程式設計

linux shell

指令碼程式設計 程式

/指令碼的引數傳遞

intmain(int argc, char** argv)

printf

(「arg1:%s/n」,argv[1]);

printf

(「arg2:%s/n」,argv[2]);

printf

(「arg3:%s/n」,argv[3]);

return 0; }

#!/bin/sh

if [ $# -lt 3 ]; then

echo "usage: `basename $0` arg1 arg2 arg3" >&2

exit 1

fi echo "arg1: $1"

echo "arg2: $2"

echo "arg3: $3"

exit 0

intmain(int argc, char** argv)

return 0; }

#!/bin/sh

while [ $# -ne 0 ]

do echo "arg: $1"

shift

done 邏輯

/數值運算

if (d == 0)

if [ "$d" -eq "0" ] ; then

if (d != 0)

if [ "$d" -ne "0" ] ; then

if (d > 0)

if [ "$d" -gt "0" ] ; then

if (d < 0)

if [ "$d" -lt "0" ] ; then

if (d <= 0)

if [ "$d" -le "0" ] ; then

if (d >= 0)

if [ "$d" -ge "0" ] ; then

字串比較

if (strcmp(str,」abc」)==0)

if [ "$str" != "abc" ]; then

fi 輸入和輸出

scanf

(「%d」,&d);

read d

printf

( 「%d」, d);

echo –n $d

printf

( 「%d」,d);

echo $d

printf

(「press any to continue...」);

char ch=getchar();

printf

( 「/nyou pressed: %c/n」, ch );

#!/bin/sh

getchar()

echo

-n "press any key to continue..."

ch=`getchar`

echo ""

echo "you pressed: $ch"

read d <&3 程式

/指令碼的控制流程

if (isok) else if (isok2) else

if [ isok ]; then

#1 elif

[ isok2 ]; then

#2 else

#3 fi

switch (d) ;

case $d in

1) echo "you select 1"

;; 2|3) echo "you select 2 or 3"

;; *) echo "error"

;; esac

for (int loop=1; loop<=5;loop++)

for loop in 1 2 3 4 5

do echo $loop

done

do while( !isroot );

is_root=`who | grep root`

until [ "$is_root" ]

do sleep 5

done

counter=0;

while( counter < 5 )

counter=0

while [ $counter -lt 5 ]

do echo $counter

counter=`expr $counter + 1`

done

while (1)

while :

do done

break;

break

或break n,n

表示跳出

n級迴圈

continue;

continue

函式與過程的定義

void hello() …

//函式呼叫

hello();

hello() 或者

function hello() …

#函式呼叫

hello

函式的引數和返回值

intret = doit();

if (ret == 0)

doit

if[ 「$?

」 –eq 0 ] ; then

echo 「ok」

fi 或者

ret = doit

if [ 「$ret」 –eq 「0」 ] ; then

echo 「ok」

fi intsum(int a,int b)

ints = sum(1,2);

printf

(「the sum is: %d/n」, s);

sum()

s=`sum 1 2`

echo "the sum is: $s"

bool

isok()

if (isok) else

isok()

if isok ; then

echo "yes"

else

echo "no"

fi

Qt之QProcess 和 c語言對比

大多控制台程式都接受命令行引數,乙個例子 include int main int argc,char ar 編譯,呼叫程式時可指定命令列,結果 process a b c d ab c d 用qprocess呼叫外部程式時,可直接指定命令列引數 qprocess process process.e...

python語法與C語法對比

python屬於弱型別語言,變數直接使用,不需要定義,所以也沒有型別限制,因為一切python變數都是乙個相當於類的存在 但容易在呼叫變數時寫錯名字,且不易debug出來 有利有弊,c語言強型別,就連定義位置都必須安排的明明白白否則編譯不過哈 python為簡化語言的書寫,減少書寫錯誤概率,有很多語...

ARM彙編與C語言對照

開頭宣告 資料初始化 函式 入棧 操作 出棧 被初始化的資料的位址 文字池 注意 和 聯絡比較大,但為了讓 處在不會被執行的地方,所以將 放在 之後。下面的例子是乙個算術運算的彙編與c的對照,首先是c語言 檔名 test.c 說明 算術運算 int v1 1 static int v2 2 int ...