編程循環語句
① Maple編程時常見循環語句有哪些
if語句(條件語句):
if語句的語法:
if 語句會執行哪一個語句的取決於對條件表達式的判斷,如果可能,if 語句認為條件表達式是一個布爾量(或真或假),它會嘗試把其他數據類型轉化為布爾量類型。條件表達式(條件表達式_1,條件表達式_2 ...)可以是任意的。用戶可以用下面的運算元構建布爾表達式:
關系運算元:<,<=,=,>=,>,<>
邏輯運算元:and,or,xor,implies,not
邏輯名:true,false,FAIL
條件表達式必須具有布爾值 true, false或者 FAIL,否則將會出現錯誤。程序語句(程序語句_1,程序語句_2,...,程序語句_N)可以是任意的 Maple命令語句,包括if 語句。
示例:
如果條件為真,將對第一個表達式求值,否者對第二個表達式求值。
elif和else從句:
在同時包含elif和else從句的if語句中,Maple 會依序對條件表達式求值,直到其中一個返回true。Maple執行對應的程序語句,然後退出if 語句。如果沒有條件表達式返回true,Maple會執行else從句中的程序語句。
循環語句(for語句)
使用循環語句,用戶可以重復執行程序語句序列。三種方式實現循環語句:
在一個計數器變數值超過極限值之前(for/from 循環)
對表達式中的每個運算對象(for/in 循環)
當一個布爾條件不成立時(while 循環)
for/from循環
for/from loop語句重復執行一個程序語句序列,直到計算器變數值超過極限值。
其中initial是counter的初始值,final是counter的終值。increment是步長。在for循環的結構中,可以省略下列任何一部分for conter,from initial,by increment,to final都可以省略。
for/from 循環的動作:
1.將 initial 初始值賦給變數名counter.。
2.將變數counter的值與final 終值對比,如果 counter的值超過final的值,Maple退出循環。
3.執行程序語句 statement_sequence。
4. counter的值增加 increment 步長值。
5.重復步驟2到4,直到Maple退出循環。
除了for部分必須放置於首位外,其餘的部分 for,by,和to可以按任意的順序放置。省略的部分有自己的預設值,見下表:
示例:下面的循環返回整數1到5的平方根。
當計算變數n的值嚴格大於5,Maple退出循環。
前面的循環語句與下面的for/from 語句等同。
② c語言編程循環語句
語句內容如下:
# include < stdio.h >
Voidmain()
{
Int[100].
Ints=0,I,num,Max,min,av;
Printf("enternumberofstudents:");
Thescanf("%d",num);
Printf("inputfraction\n");
(I = 0; The < num; + +)
{printf("%d:",I+1);
Scanf("%d",and[I]);}
(I = 0; The < num; + +)
Printf("%4d",[I]);
Printf("\n");
Max=[0];
Min=[0];
(I = 0; The < num; + +)
S=s+[I];
Av=s/10;
(I = 0; The < num; + +)
{if ([I]> Max) Max =[I];
If ([I]< min) minutes =[I];
}
Printf("Max=%d,min=%d,assertion=%d\n",Max,min,av);
}
goto語句的爭論
在20世紀60年代末和70年代初,關於 goto 語句的用法的爭論比較激烈。主張從高級程序語言中去掉 goto 語句的人認為,goto 語句是對程序結構影響最大的一種有害的語句,他們的主要理由是: goto 語句使程序的靜態結構和動態結構不一致,從而使程序難以理解,難以查錯。
去掉 goto 語句後,可直接從程序結構上反映程序運行的過程。這樣,不僅使程序結構清晰,便於理解,便於查錯,而且也有利於程序的正確性證明。
持反對意見的人認為, goto 語句使用起來比較靈活,而且有些情形能提高程序的效率。若完全刪去 goto 語句,有些情形反而會使程序過於復雜,增加一些不必要的計算量。
③ 解釋一下vb編程中的各種循環語句
1.While...Wend
語句
只要指定的條件為
True,則會重復執行一系列的語句。
語法
While
condition
[statements]
..
Wend
2.Do...Loop
2.1
第一種用法
用
Do
循環重復執行一語句塊,且重復次數不定。Do...Loop
語句有幾種演變形式,但每種都計算數值條件以決定是否繼續執行。如同
If...Then
condition
必須是一個數值或者值為
True(非零)或
False(零)的表達式。
在下面的
Do...Loop
循環中,只要
condition
為
True
就執行
statements。
Do
While
condition
statements
..
Loop
④ c語言編程題for循環語句
代碼如下:
# include < stdio.h >
Voidmain()
{
Int[100].
Ints=0,I,num,Max,min,av;
Printf("enternumberofstudents:");
Thescanf("%d",num);
Printf("inputfraction\n");
(I = 0; The < num; + +)
{printf("%d:",I+1);
Scanf("%d",and[I]);}
(I = 0; The < num; + +)
Printf("%4d",[I]);
Printf("\n");
Max=[0];
Min=[0];
(I = 0; The < num; + +)
S=s+[I];
Av=s/10;
(I = 0; The < num; + +)
{if ([I]> Max) Max =[I];
If ([I]< min) minutes =[I];
}
Printf("Max=%d,min=%d,assertion=%d\n",Max,min,av);
}
(4)編程循環語句擴展閱讀:
For循環是編程語言中的一種循環語句,循環語句由循環體和循環的判斷條件組成,其表達式為:For(單表達式;條件表達式;(循環體){中間循環體;}。
1.這句話最簡單的形式是:
(;,)
2.一般形式為:
(單一的表達式;條件表達式;結束循環體)
{
Mesocycle;
}
式中,表達式可以省略,但分號不能省略,因為「;」可以表示一個空的語句,省略後語句減少,即語句格式發生變化,編譯器無法識別和編譯。[1]
第一」;「前面的for循環括弧中是一個不參與循環的表達式,可以用作變數的初始賦值語句,將初始值賦給循環控制變數;您還可以計算其他獨立於for循環但在循環部分之前處理的表達式。
」;「符號之間的條件表達式是一個關系表達式,它是循環的正式開始,在建立條件表達式時執行中間循環的主體。
執行的中間循環體可以是一條語句,也可以是多條語句。當中間的循環體只有一條語句時,可以省略大括弧{}。在執行中間循環體之後,執行最終循環體。
在執行最後一個循環體之後,將再次執行條件判斷。如果條件仍然有效,則會重復上面的循環,如果條件無效,則會中斷當前的for循環。
⑤ for的for循環(計算機編程)
for( ; ; )裡面是3個語句,兩個分號。第一個語句是開始前執行,第二個語句是判斷真假,如果真,就執行後面(大括弧內)的代碼。第三個語句是每次執行完畢後執行的東西,通常第三個語句使用i++表示i=i+1的意思,用來遞增自變數i。
比如:
最常用的 for(inti=0;i<10;i++){//i-=3跟i=i-3效果相同printf(i=%d
,i);}遞減式for for(inti=10;i>0;i-=3){//i-=3跟i=i-3效果相同printf(i=%d
,i);}遞增式for for(inti=10;i>0;i+=3){//i+=3跟i=i+3效果相同printf(i=%d
,i);} 語法:
(1)for循環 for(inti=0;i<10;i++){statements;} 語法
for(initialize;test;increment){
statement
}
示例
例1:循環1到100的值 <scripttype=text/javascript>varValue=0;for(vara=1;a<=100;a++){Value=Value+a;Value+=<br>;}document.write(Value);</script>例2:js輸出九九乘法表 <scripttype=text/javascript>varbdqnyhb=for(vari=1;i<=9;i++){for(varj=1;j<=i;j++){bdqnyhb+=i+×+j+=+i*j+;}bdqnyhb+=<br>;}document.write(bdqnyhb);</script>JS另有for..in..語句。 Java的for語句形式有兩種:一種是和C語言中的for語句形式一樣,另一種形式用於在集合和數組之中進行迭代。有時候把這種形式稱為增強型的for(enhanced for)語句,它可以使循環更加緊湊和容易閱讀。
示例
為了演示,參考下面的數組,它保存數字1到10:
int[] numbers = {1,2,3,4,5,6,7,8,9,10};
下面的程序EnhancedForDemo使用增強for循環遍歷這個數組: publicclassEnhancedForDemo{publicstaticvoidmain(String[]args){int[]numbers={1,2,3,4,5,6,7,8,9,10};for(intitem:numbers){System.out.println(Countis:+item);}}}在這個例子中,變數item保存從數字數組獲得的當前值。
Count is :1
Count is :2
Count is :3
Count is :4
Count is :5
Count is :6
Count is :7
Count is :8
Count is :9
Count is :10
建議在情況允許的條件下,使用for語句的這種形式,而不使用其一般形式。 for 循環變數:
=初始值 to 終止值 do 語句內容
或者
for 循環變數:=初始值 downto 終止值 do 語句內容
其他內容與C的相同,此處省略。
循環語句的含義在於從「控制變數」等於「初值」開始,循環到「終值」,當「控制變數」的值:
(1) to:大於終值時,終止循環。這里相當於BASIC中STEP(步長)=1的情況。
(2) downto:小於終值時,終止循環。這里相當於BASIC中STEP(步長)=-1的情況。
示例一(to)
按順序輸出1~100: fori:=1tondowrite(i,'');輸出值為:1 2 3 4 5 6 …… 98 99 100
示例二(downto)
按倒序輸出1~100 forI:=100downto1dowrite(i,'');輸出值為:100 99 98 97 …… 3 2 1
注意:單個語句可直接用for循環變數:=初始值 to 終止值 do 語句內容,但有多個語句時要加
「begin「和」end「。
格式為:
for 循環變數:=初始值 to/downto 終止值 do
語句內容1;
語句內容2;
……
語句內容n;
end; FOR 循環變數=初始值 TO 終止值 STEP步長
語句內容
NEXT循環變數
其他內容與C的相同,此處亦省略。
C語言語法
只要指定條件為 true 都執行語句塊。
for(initialization; test; increment)
statements
參數
initialization
必選項。一個表達式。該表達式只在執行循環前被執行一次。
test
必選項。一個 Boolean表達式。如果 test 是 true,則 statement 被執行。如果 test 是 false,則循環結束。
increment
可選項。一個表達式。在每次經過循環的最後執行該遞增(減)表達式。
statements
可選項。test 是 true 時,要執行的一個或多個語句。可以是復合語句。
說明
循環要執行確定的次數,通常使用for循環。
示例
下面的例子示範了一個for循環。
/* 在開始時 i 被設為 0,並在每次重復的最後被增加 1。
在循環重復前,
如果 i 不小於 10,則循環結束。*/
var myarray = new Array();
for(i = 0; i < 10; i++) {
myarray= i;
在c語言的解釋是:
for:循環語句。
作用
循環
它的一般形式為:
for(<初始化>;<條件表達式>;<增量>)
語句
初始化總是一個賦值語句,它用來給循環控制變數賦初值;條件表達式是一個關系表達式,它決定什麼時候退出循環;增量定義循環控制變數每循環一次後按什麼方式變化。這三個部分之間用;分開。
例如:
for(i=1;i<=10;i++)
語句;
上例中先給i賦初值1,判斷i是否小於等於10,若是則執行語句,之後值增加1。再重新判斷,直到條件為假,即i>10時,結束循環。
注意:
(1).for循環中語句可以為語句體,但要用{和}將參加循環的語句括起來。
(2).for循環中的初始化、條件表達式和增量都是選擇項,即可以預設,但;不能預設。省略了初始化,表示不對循環控制變數賦初值。省略了條件表達式,則不做其它處理時便成為死循環。省略了增量,則不對循環控制變數進行操作,這時可在語句體中加入修改循環控制變數的語句。
(3).for循環可以有多層嵌套。
例如:
for(;;) 語句;
for(i=1;;i+=2) 語句;
for(j=5;;) 語句;
這些for循環語句都是正確的。
FOR
field of regard 的縮寫LOGO中的FOR
visal basic 示例:
Private Sub Command1_Click()Dim s(1 To 1000) As Singles(1) = 0s(2) = 1For i = 3 To 1000s(i) = 1For j = 2 To i - 1If i Mod j = 0 Then s(i) = 0Next jIf s(i) = 1 Then Print iNext iEnd Sub
(版本不同可能輸入方式不同) 控制結構的條件表達式結果可以是任何值,Lua認為false和nil為假,其它值為真。
for語句有兩大類:
數值for循環
格式:
for var=exp1,exp2,exp3 do
loop-part
end
for將用exp3作為step從exp1(初始值)到exp2(終止值),執行loop-part。其中exp3可以省略,默認step=1
有幾點需要注意:
1. 三個表達式只會被計算一次,並且是在循環開始前。
for i=1,f(x) do
print(i)
end
for i=10,1,-1 do
print(i)
end
第一個例子f(x)只會在循環前被調用一次。
2. 控制變數var是局部變數自動被聲明,並且只在循環內有效.
for i=1,10 do
print(i)
end
max = i -- probably wrong! 'i' here is global
如果需要保留控制變數的值,需要在循環中將其保存
-- find a value in a list
local found = nil
fori=1,a.n do
if a[i] == value then
found = i -- save value of 'i'
break
end
end
print(found)
3. 循環過程中不要改變控制變數的值,那樣做的結果是不可預知的。如果要退出循環,使用break語句。
范型for循環
-- print all values of array 'a'
格式:for i,v in ipairs(a) do print(v) end
范型for遍歷迭代子函數返回的每一個值。
再看一個遍歷表key的例子:
-- print all keys of table 't'
for k in pairs(t) do print(k) end
范型for和數值for有兩點相同:
1. 控制變數是局部變數
2. 不要修改控制變數的值
再看一個例子,假定有一個表:
days = {Sunday, Monday, Tuesday, Wednesday,
Thursday, Friday, Saturday}
想把對應的名字轉換成星期幾,一個有效地解決問題的方式是構造一個反向表:
revDays = {[Sunday] = 1, [Monday] = 2,
[Tuesday] = 3, [Wednesday] = 4,
[Thursday] = 5, [Friday] = 6,
[Saturday] = 7}
下面就可以很容易獲取問題的答案了:
x = Tuesday
print(revDays[x]) --> 3
我們不需要手工,可以自動構造反向表
revDays = {}
for i,v in ipairs(days) do
revDays[v] = i
end
格式
(FOR 循環變數啟動數據終止數據[循環體]步長)
若步長為1,則步長可省略,圓括弧可去掉。
當循環結束時,循環變數的值為最後一次符合啟動數據至終止數據之間的數值。不是第一次不符合值。
例:FOR X 1 5 [PR 'A] PR :X
顯示: A
A
A
A
A
5
並不是5個A和一個6 而是5個A和一個5
這種現象被稱為:BAG現象 介紹
對一組文件中的每一個文件執行某個特定命令。
FOR %variable IN (set) DO command [command-parameters]
%variable 指定一個單一字母可替換的參數。
(set) 指定一個或一組文件。可以使用通配符。
command 指定對每個文件執行的命令。
command-parameters
為特定命令指定參數或命令行開關。
在批處理文件中使用 FOR 命令時,指定變數請使用 %%variable而不要用 %variable。變數名稱是區分大小寫的,所以 %i 不同於 %I.如果命令擴展名被啟用,下列額外的 FOR 命令格式會受到支持:
FOR /D %variable IN (set) DO command [command-parameters]
如果集中包含通配符,則指定與目錄名匹配,而不與文件名匹配。
FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
檢查以 [drive:]path 為根的目錄樹,指向每個目錄中的
FOR 語句。如果在 /R 後沒有指定目錄,則使用當前
目錄。如果集僅為一個單點(.)字元,則枚舉該目錄樹。
FOR /L %variable IN (start,step,end) DO command [command-parameters]
該集表示以增量形式從開始到結束的一個數字序列。
因此,(1,1,5) 將產生序列 1 2 3 4 5,(5,-1,1) 將產生
序列 (5 4 3 2 1)。
FOR /F [options] %variable IN (file-set) DO command [command-parameters]
FOR /F [options] %variable IN (string) DO command [command-parameters]
FOR /F [options] %variable IN ('command') DO command [command-parameters]
或者,如果有 usebackq 選項:
FOR /F [options] %variable IN (file-set) DO command [command-parameters]
FOR /F [options] %variable IN (string) DO command [command-parameters]
FOR /F [options] %variable IN ('command') DO command [command-parameters]
filenameset 為一個或多個文件名。繼續到 filenameset 中的下一個文件之前,每份文件都已被打開、讀取並經過處理。處理包括讀取文件,將其分成一行行的文字,然後將每行解析成零或更多的符號。然後用已找到的符號字元串變數值調用 For 循環。以默認方式,/F 通過每個文件的每一行中分開的第一個空白符號。跳過空白行。您可通過指定可選 options參數替代默認解析操作。這個帶引號的字元串包括一個或多個指定不同解析選項的關鍵字。這些關鍵字為:
eol=c - 指一個行注釋字元的結尾(就一個)
skip=n - 指在文件開始時忽略的行數。
delims=xxx - 指分隔符集。這個替換了空格和跳格鍵的默認分隔符集。
tokens=x,y,m-n - 指每行的哪一個符號被傳遞到每個迭代的for本身。這會導致額外變數名稱的分配。m-n格式為一個范圍。通過 nth 符號指定 mth。如果符號字元串中的最後一個字元星號,那麼額外的變數將在最後一個符號解析之後分配並接受行的保留文本。
usebackq - 指定新語法已在下類情況中使用:在作為命令執行一個後引號的字元串並且一個單引號字元為文字字元串命令並允許在 filenameset中使用雙引號擴起文件名稱。
範例
某些範例可能有助:
FOR /F eol=; tokens=2,3* delims=, %i in (myfile.txt) do @echo %i %j %k會分析 myfile.txt 中的每一行,忽略以分號打頭的那些行,將每行中的第二個和第三個符號傳遞給for程序體;用逗號和/或空格定界符號。請注意,這個for程序體的語句引用 %i 來取得第二個符號,引用 %j 來取得第三個符號,引用 %k來取得第三個符號後的所有剩餘符號。對於帶有空格的文件名,您需要用雙引號將文件名括起來。為了用這種方式來使用雙引號,您還需要使用 usebackq 選項,否則,雙引號會被理解成是用作定義某個要分析的字元串的。%i 專門在for語句中得到說明,%j 和 %k 是通過tokens= 選項專門得到說明的。您可以通過 tokens= 一行指定最多 26 個符號,只要不試圖說明一個高於字母 'z' 或'Z' 的變數。請記住,FOR變數是單一字母、分大小寫和全局的;而且,同時不能有 52 個以上都在使用中。您還可以在相鄰字元串上使用 FOR /F 分析邏輯;方法是,用單引號將括弧之間的 filenameset 括起來。這樣,該字元串會被當做一個文件中的一個單一輸入行。最後,您可以用 FOR /F 命令來分析命令的輸出。方法是,將括弧之間的 filenameset 變成一個反括字元串。該字元串會被當做命令行,傳遞到一個子 CMD.EXE,其輸出會被抓進內存,並被當作文件分析。
因此,以下例子:
FOR /F usebackq delims== %i IN (`set`) DO @echo %i會枚舉當前環境中的環境變數名稱。另外,FOR變數參照的替換已被增強。您可以使用下列選項語法:
~I - 刪除任何引號(),擴充 %I
%~fI - 將 %I 擴充到一個完全合格的路徑名
%~dI - 僅將 %I 擴充到一個驅動器號
%~pI - 僅將 %I 擴充到一個路徑
%~nI - 僅將 %I 擴充到一個文件名
%~xI - 僅將 %I 擴充到一個文件擴展名
%~sI - 擴充的路徑只含有短名
%~aI - 將 %I 擴充到文件的文件屬性
%~tI - 將 %I 擴充到文件的日期/時間
%~zI - 將 %I 擴充到文件的大小
%~$PATH:I - 查找列在路徑環境變數的目錄,並將 %I 擴充
到找到的第一個完全合格的名稱。如果環境變數名
未被定義,或者沒有找到文件,此組合鍵會擴充到
空字元串
可以組合修飾符來得到多重結果:
%~dpI - 僅將 %I 擴充到一個驅動器號和路徑
%~nxI - 僅將 %I 擴充到一個文件名和擴展名
%~fsI - 僅將 %I 擴充到一個帶有短名的完整路徑名
%~dp$PATH:i - 查找列在路徑環境變數的目錄,並將 %I 擴充
到找到的第一個驅動器號和路徑。
%~ftzaI - 將 %I 擴充到類似輸出線路的 DIR
在以上例子中,%I 和 PATH 可用其他有效數值代替。%~ 語法
用一個有效的 FOR變數名終止。選取類似 %I 的大寫變數名
比較易讀,而且避免與不分大小寫的組合鍵混淆。
使用For輸出目錄名而忽略文件:
@echo off
for/d %%i in (window?) do @echo %%i
pause for counter = start to end step = 步進
執行語句
next
這個語句的具體解釋是指定,執行命令的次數。
具體例子如下
set wshshell=wscript.createobject(wscript.shell) '定義vbs對象
dim num,wen 』創建變數
wen = inputbox(請輸入要轟炸的內容必須是英文要不然會報錯哦(^o^)/~,發送消息的按鍵必須是回車鍵)
num = cint(inputbox(請輸入要轟炸的次數必須是數字!!)) '將字元串轉化為數字
msgbox 歡迎使用qq炸彈你有10秒的時間定位要轟炸qq的對話框
wscript.sleep 10000
const i=1
for k= i to num 『步進為1默認,開始次數1,循環次數num變數等等待用戶輸入
wshshell.sendkeys wen 』發送用戶輸入的消息
wshshell.sendkeys {ENTER}
wscript.sleep 100
next
⑥ Java用for循環語句編程
import java.util.Scanner;
public class Test
{
public static void main (String[] args)
{
Scanner sc=new Scanner(System.in);
float t,sum=0;
do
{
t=sc.nextFloat();
if(t>0)
sum+=t;
}while(t>0);
sc.close();
System.out.println("所有正數的和是:"+sum);
}
}
⑦ 編程中有那幾種常用的循環語句
主要有for,while,do while等循環。不同的語言有不同的格式。可以參考下對應語言的書籍。
⑧ 運用循環語句編程計算1+2+3+4+5+6....+100
運用循環語句編程計算1+2+3+4+5+6....+100方法如下:
int sum=0;
for(int i=0;i<=100;i++)
{
sum=sum+i;
}
System.out.println(sum);
(8)編程循環語句擴展閱讀:
循環過程
調用格式: 〈無返回值〉 計次循環首 (整數型 循環次數,[整數型變數 已循環次數記錄變數]) - 系統核心支持庫->流程式控制制
英文名稱:counter
執行本命令將把循環體內的命令重復執行指定的次數。提供的整數參數值決定將重復執行的次數。本命令為初級命令。
參數<1>的名稱為「循環次數」,類型為「整數型(int)」。本數值指定執行計次循環體內所有命令的次數,必須大於等於零。
參數<2>的名稱為「已循環次數記錄變數」,類型為「整數型(int)」,可以被省略,提供參數數據時只能提供變數。本數值型變數用作記錄當前循環首已經被進入過的次數(從 1 開始),程序可以直接取用此變數中的值。