linuxfor跳過
『壹』 如何在c語言中跳出for循環
在C語言中可以使用break,和return語句結束循環
代碼示例 break
i>3的時候結束循環;
用return語句(一般用在函數體中,作為函數的返回值跳出該函數,也即跳出了函數體中的for循環)
intfun(inta){inti;for(i=0;i<a;i++){if(i>3)//如果i>3,則函數執行完畢,並返回變數i的值,也即跳出了for循環returni;}}拓展資料
C是一種通用的編程語言,廣泛用於系統軟體與應用軟體的開發。於1969年至1973年間,為了移植與開發UNIX操作系統,由丹尼斯·里奇與肯·湯普遜,以B語言為基礎,在貝爾實驗室設計、開發出來。
C語言具有高效、靈活、功能豐富、表達力強和較高的可移植性等特點,在程序設計中備受青睞,成為最近25年使用最為廣泛的編程語言[2]。目前,C語言編譯器普遍存在於各種不同的操作系統中,例如Microsoft Windows、macOS、linux、Unix等。C語言的設計影響了眾多後來的編程語言,例如C++、Objective-C、Java、C#等。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言訂定了一套完整的國際標准語法,稱為ANSI C,作為C語言的標准。二十世紀八十年代至今的有關程序開發工具,一般都支持匹配ANSI C的語法。
C語言之所以命名為C,是因為 C語言源自Ken Thompson發明的B語言,而 B語言則源自BCPL語言。
1967年,劍橋大學的Martin Richards對CPL語言進行了簡化,於是產生了BCPL(Basic Combined Programming Language)語言。
20世紀60年代,美國AT&T公司貝爾實驗室(AT&T Bell Laboratory)的研究員Ken Thompson閑來無事,手癢難耐,想玩一個他自己編的,模擬在太陽系航行的電子游戲——Space Travel。他背著老闆,找到了台空閑的機器——PDP-7。但這台機器沒有操作系統,而游戲必須使用操作系統的一些功能,於是他著手為PDP-7開發操作系統。後來,這個操作系統被命名為——UNIX。
『貳』 linux shell關於for循環的問題
你在for循環中已經做了b++的自增 然後又在倒數第3行又做了一遍b++
等於一次循環做了2次自增 所以你的結果才會這樣
將倒數第3行注釋掉 或者去掉就可以了
『叄』 Linux for 命令中看到 i=1;i<=10;i++ , i++是什麼意思啊
i=1;i<=10;i++
第一個賦值 i=1,
第二個循環條件i<=10。
第三個,每執行一輪i+1 ,直到不滿足循環條件i<=10
跳出循環
『肆』 如何直接安裝linux系統,不用cd 盤
如何在沒有光碟機、沒有軟碟機、不能usb啟動的情況下,進入dos硬碟安裝linux系統?(當然,前提是已經有一個windows系統)
最近又被派發做安裝系統的爛事。師兄竟然說之前安裝的linux太新(gcc太新),他的程序跑不過(昏,寫程序還挑編譯器的毛病),讓我裝個舊的。為了省事,我想直接在原來的redhat enterprise server 5上編譯一個gcc3.3,結果花了半天時間都搞不過,似乎網上也沒有成功的例子。最終還是決定再裝一個redhat 8了。
最讓人郁悶的是要裝系統的伺服器光碟機壞了。本來一開始是好的,後來裝到一般竟然掛了,不僅讀不出內容,甚至都不能彈出光碟。最後不得不用暴力的方法,用小刀強行扒開才取出光碟……真是郁悶的不得了。
裝系統最主要的裝備沒了,現在只能考慮軟碟機啟動或usb啟動了。但是伺服器比較老,估計還不支持usb啟動,軟盤現在更是找不到了。在這種狀況下怎麼裝系統呢??
我想尋求一種純硬碟安裝系統的方法。我知道很多系統可以硬碟安裝,但是都需要用光碟機或usb或軟碟機啟動進入dos,不過這些條件我都沒有。其實主要只是要進入dos環境,後面裝系統就是很容易的。
首先,如何在「三無」的情況下啟動進入dos? 想想一個小破dos嘛,應該有不用大費周章必須用光碟機軟碟機usb才能進入的吧。果然讓我找到了這樣的軟體:矮人XP2K純DOS模式 2.0.安裝之後啟動菜單會多出一個啟動進入dos的項。嗯,真是個好東東,這樣後面的問題就迎刃而解了。
後面就是硬碟安裝的問題了。因為光碟機不能用,有光碟也做不了鏡像,只能找網上去下,速度慢了還不行(急著要裝,我也沒閑工夫等)所以系統鏡像文件也是個問題。後來花了半天才找到一個現在速度比較快的ftp(1Mbps),下載了三個系統iso文件。
好,調研了半天,現在開始裝了。
1、在windows下安裝軟體「矮人XP2K純DOS模式 2.0」。
2、下載系統的iso文件,放在windows的任意一個分區里。最好放在fat32格式的分區中(因為dos本身是不支持ntfs分區的,不過矮人XP2K純DOS模式 2.0好像可以)且放在分區的根目錄下,如D:\xxxxxx1.iso等,這樣後面安裝起來就省去了很多麻煩。
3、將個iso鏡像中的dosutils目錄提取出來(用虛擬光碟機或winrar也可以),放到某個分區的根目錄下,如D:\dosutils.
4、分區
可以預先用pqmagic等工具為要裝的linux分好區(一個swap分區和一個ext3分區是必要的);也可以在系統安裝的過程中自己手動分區。我喜歡用後者,不過如果不了解linux分區的就最好不要使用後一種方法。
安裝前的准備知識:
linux硬碟分區的名稱:第一塊硬碟叫/dev/hda,第二塊叫/dev/hdb,以此類推。第一塊硬碟的第一個分區叫/dev/hda1,第二個分區叫/dev/hda2,以此類推。不過因為主分區個數最多可以為四個,因此windows中對應的D盤(第一個硬碟的第1個邏輯分區)在linux下並不叫/dev/hda2,而是/dev/hda5.(即/dev/hda1到/dev/hda4看作是主分區的)。
5、安裝
重啟系統進入「矮人XP2K純DOS」;
cd D:\dosutils
運行 autoboot.bat
之後就是一般的系統安裝,不同的就是硬碟安裝的過程不是圖形界面,這就無所謂了。
系統安裝好後,發現默認沒有安裝開發工具,比如make、gcc等,昏,只有再從鏡像文件里安裝了。linux下沒有虛擬光碟機一說,因為linux的mount本身就可以完成很多任務,包括將光碟製作成光碟鏡像文件,以及將鏡像文件載入到光碟機(即所謂的虛擬光碟機)。方法也很簡單:
a. 把光碟製作成 iso 文件:
cp /dev/cdrom /*/XXXXX.iso
b.將硬碟上的 iso 文件載入到光碟(即所謂的虛擬光碟機):
mount -t iso9660 -o loop /*/XXXXX.iso /mnt/iso
c.若添加刪除程序,系統會提示你插入光碟,但只有鏡像,怎麼辦?
對於 Redhat : redhat-install-packages ——isodir=iso 文件目錄
d.一般情況虛擬光碟機
rm -rf /dev/cdrom
ln /dev/loop7 /dev/cdrom
losetup /dev/loop7 /*/XXXXX.iso
mount /mnt/cdrom
取消這個光碟機:
losetup -d /dev/loop7
換盤:只需轉移iso關聯到/dev/loop
losetup /dev/loop7 /*/XXXXX.iso
註:/*為路徑
http://linux.chinaitlab.com/set/736062.html
方法2:
自從裝上Vmware3.0並發現它可以直接向物理硬碟寫數據之後,從網上download下來的iso發行版,如果不支持象redhat那樣不用解開iso,做一張啟動盤就可以從硬碟安裝的,我全都採用下面的方法安裝,很是方便,在Linux版本不斷升級的今天,採用此法既可以節約一大筆介質費,又可以對付那些沒有能力或故意不提供從硬碟安裝途徑的發行商,一石二鳥,很是痛快!
安裝方法:
硬體環境:CPU: PIII以上
memory: 128MB以上
我的機器(毒龍800,256MB)
軟體環境:Mandrake Linux8.1,
Suse Linux 7.3,
其他可以裝上Vmware3.0的發行版,
Windows NT/2K/XP;
Vmware3.0 for Linux,for Windows XX.
liceses 可到www.vmware.com上注冊一個試用的,
Vmware3.0 for Windows XX已有破解工具了,在網上搜索 一下就可找到。
1. 安裝Vmware3.0;
參考其它文章吧,很簡單的,一分鍾就可搞定!
2. 建Vmware虛擬機,使用iso文件設置虛擬光碟機;
運行vmware,建立一個Linux環境虛擬機,在選擇硬碟時選擇使用物理硬碟(真正的硬碟,不是虛擬硬碟),並允許可寫全部分區(不用擔心,只要你在虛擬機中不選擇刪除或格式化主操作系統所佔的分區和改變主系統分區序號(hdax)就不會把主系統弄死);
用配置向導工具建好虛擬機後,改變光碟機設置,默認是採用物理光碟機,改為採用iso文件虛擬光碟機,選中你要安裝的Linux發行版安裝啟動光碟iso文件,確認退出便可開虛擬機了;
開機後,按F2設置系統從光碟啟動,便可利用虛擬機在物理硬碟上安裝系統了;
當Linux系統安裝要求插入第二或更多光碟時,只需從Vmware菜單中選擇設備設置,將光碟機連接的iso文件改為對應的光碟iso文件,確認進入虛擬機便可繼續安裝;
剩下的就不用費話了,把你的系統安裝完成,然後關閉你的vmware虛擬機,再reboot你的主機,選擇或利用其它的引導工具(如:BootMagic)或軟盤引導進入系統(根據Linux安裝時選擇的引導方法而定),經過一番設置便大功告成!
3. 安裝過程中有以下幾點需要注意:
a. 硬碟分區
由於直接對運行主操作系統的硬碟操作,具有一定的風險性,所以我結合自己硬碟的分區方案把要注意的問題強調一下。
hda1---Win98,hda2---Solaris X86 boot,hda3---Solaris分區,
hda4---邏輯分區
hda5--- Linux Swap,hda6---Mandrake分區,hda7--Redhat分區,hda8--預留的Linux分區(暫存放Linux一般數據,要安裝其它系統時可刪除重建),hda9---Windows 2000(ntfs),hda10---數據存儲盤(fat32)
現在我以Mandrake8.1(hda6)為主操作系統啟動虛擬機開始安裝放在hda10的5個iso文件的Suse Linux 7.3,啟動進行到Linux分區步驟,刪除hda7,hda8,重建hda7為ext3,/boot,重建hda8為ext3,/,確認安裝至完成,順利安裝成功,這里要注意的是不要改動hda5,hda6,5,6序號都不能變,比如你不能在5,6之間新建一個分區,使之變為hda5,hda6,(hda6->)hda7,最好在後面追加,不改動前面的分區。
另如:從Window2000(hda9)啟動安裝TurboLinux7.0,刪除hda7,hda8,只重建hda7為ext3,/,安裝成功,這時hda9->hda8,hda10->hda9,對Windows2000的引導有影響,要更改C:\boot.ini,將引導分區數字減1,就不會有問題了。
b. 系統引導問題
在虛擬機安裝系統採用何種方式引導時,最好不要採用寫mbr方式,也不是不行,因為我沒試過,所以不敢亂說,推薦採用安裝到系統自己的boot分區的方式,並在安裝過程中製作系統引導軟盤,雙保險嘛!
c. X服務配置問題
由於虛擬機檢測不到你機器真正的顯卡,所以安裝系統時你可以跳過或配置為最低的VGA 640x480模式,並選擇不採用圖形登錄;重啟系統後在命令行下用系統相應的XF86工具進行配置(Redhat7X--setup,SuseLinux7.3--SaX2,Mandrake8.1--xf86config),不同的發行版提供的專用工具不一樣,自己找一下吧,找不到就用xf86config或直接改XF86config文件吧,只要進了圖形界面很容易就發現配置工具了,再調整也不遲。有的發行版本在安裝時可能沒有把你的顯示配置需要的驅動模塊完全載入,這時需要從iso文件中把其取出來單獨安裝,Mandrake8.1就有這種情況。
d. 硬體設置問題
由於虛擬機檢測到的音效卡,網卡等設備都是虛擬的,所以在你重啟機,進入你利用虛擬機安裝的Linux系統後,應使用系統提供的設置工具重新檢測設置。
e. 安裝速度問題
機器配置越高,劃給虛擬機的內存越大,安裝的時間越短;有的系統不能採用圖形安裝(turbolinx7,XteamLinux4),有的卻可以(Mandrake8.1,SuseLinux7.3),建議都採用文本模式安裝,這樣可以大大縮短安裝時間。
4. 這篇文章主要針對那些機器有較好的配置,又沒有刻錄機或根本就不想刻盤總想從硬碟安裝系統的朋友;由於這段時間比較忙,對Vmware的安裝使用及Linux具體的可能碰到的問題寫的不夠詳細,對沒有使用過Vmware
和不熟悉Linux系統安裝過程的朋友,建議先多看一些相關資料再安裝,以免把系統破壞或把硬碟的數據弄丟了。
祝各位好運,安裝一路順風!
http://linux.sheup.com/linux/linux7042.htm
『伍』 linux shell 跳過read命令,怎麼解決
read默認從標准輸入讀取數據,而這里的管道符會將前面ls命令的結果作為標准輸入傳遞給read命令。所以只要前面還有數據,read命令就不會等待用戶輸入。
其實,這里可以用 for ... in ... 結構來替代while循環。
forl1in`ls$d1`
do
read-p"1or0"y1
......
done
『陸』 linux的for循環的寫法
#可以使用正則表達式。
#寫個簡單腳本測試一下:
#!/bin/sh
centernumber=123
while [ $centernumber=[:digit:*] ]
do
echo "a"
sleep 1
done#執行結果如下:
希望可以幫助到你!
『柒』 linux c 如何實現eof或換行強制跳出循環
p傳過來的是 char** ,表示指向指針的指針,所以p=='\0'報錯, 可改成p[m][0]或*p[m]
『捌』 Linux:關於腳本for循環的執行順序
執行一次,for in 後邊的`` 或 $() 會產生一個list。然後依次讀取。
『玖』 linux for 循環問題!!!
兩種方法實現:
腳本:
#!/bin/bash
for i in $(seq 30);
do
if [ $i -lt 10 ] ;then
mkdir '0'$i
cp '0'$i* '0'$i/
else
mkdir $i
cp $i* $i/
fi
done
mkdir 00
cp 00* 00/
#end
C語言:
#include<stdio.h>
int main()
{ char cmd[64];
int i;
for(i=0;i<30;i++){
sprintf(cmd,"mkdir %02d\n",i);
system(cmd);
}
for(i=0;i<30;i++){
sprintf(cmd,"cp %02d* %02d/\n",i);
system(cmd);
}
return 0;
}
『拾』 Linux shell編程 ---- 循環結構
linux
shell編程
----
循環結構1
for循環
1
for循環是linux
Shell中常用的結構,for循環有三種結構;一種是列表for循環,第二種是不帶列表的for循環,第三種是類C風格的for循環。
2
列表for循環
for
variable
in
list
do
statement
done
3
不帶列表for循環
for
variable
do
statement
done
4
類C風格的for循環
for
((
expr1;
expr2;
expr3
))
do
statement
done2
while循環
1
while循環的結構
while
expression
do
statement
done
3
until循環
1
在執行while循環的時候只要expression的退出狀態為0,將一直執行循環體。until命令和while命令類似,但區別是until循環中的expression的退出狀態不為0的時候循環體將會一直執行。
2
until的結構
untile
expression
do
statement
done
4
循環控制符號
1
break語句可以應用在for,while和until循環語句中,用於強行循環,也就是忽略循環體中任何其它語句和循環條件的限制。
2
continue循環控制符應用在for,while和until語句中,用於讓腳本跳過後面的語句,執行下一次的循環。