當前位置:首頁 » 編程語言 » c語言多重循環的應用
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言多重循環的應用

發布時間: 2023-05-15 10:48:33

c語言中.怎麼同時執行兩個不同的循環

這個要用到多線程了,給你個例子:

#include<stdio.h>
#include<conio.h>
#include<Windows.h>
#include<process.h>
charc=0;
VOIDB(PVOIDp)//線程B
{
while(1)
{
if(c=='b'||c=='B')
break;
printf("BBB");
Sleep(200);//延時
}
}
VOIDC(PVOIDp)//線程C
{
while(1)
{
if(c=='c'||c=='C')
break;

printf("CCC");
Sleep(300);
}
}
voidA()
{
_beginthread(B,0,0);//啟動B
_beginthread(C,0,0);//啟動C
}
intmain()
{
A();
printf("按B結束B,按C結束C,按Q退出 ");
while(1)
{
c=getch();
if(c=='q'||c=='Q')
break;
}
return0;
}

② 剛學習C語言,對於多重循環,就不知如何去執行,希望哪位大神指點一下謝謝!

就是for循環嗎?
比如for(int i=0;i<2;i++)
{
print(「me」);
}
for中第一個int i=0;就是判慧運整個for循環第一個入口,也只是執行一次;
接著掘梁執行判斷 i=0<8不,如果小於8,輸出me,i++.此時i=1;
接著判斷i=1<2成立不,成立輸出me,i++,此時i=2
接著判斷i=2<2成立不,不成立,碧滲跳出for循環。
就是這樣啦

③ C語言for的多重循環

舉例子有點難,要不直接講一下。
首先,定義循環,將i的起始值設為1,循環條件為i<10(也就是i的尾值為9),然後在內部定義嵌套循環,將j的起始值設為1,循環條件為j<=i(這是全循環里最難理解的,這個嵌套循環尾值是i當時的值,比如當時i的值為8,那麼j將會從1執行到8),所以執行順序可以這樣理解:1,確定i值;2,在裡面重復執行嵌套循環,確定j值,重復執行直到j大於i(一大於就不執行了);3.i值加1,繼續執行循環。
這個程序應該是用來列印乘法口訣表的,可以了解一下。

④ c語言中的多重循環是怎麼運行的

C語言的多層循環是從最內的那個循環開始,最內的循環完成循環一次,表示它的外一層循環只步進了一次,依次類推,直到最外的那一層循環步進完成,整個多層循環就結束了。你可以參考一個二層循環的代碼的實際運行來理解這個問題,用二層循環代碼來理解就簡單多了。

⑤ C語言 運用雙重循環語句編寫

左邊:

#include<stdio.h>
voidmain(){
inti,j;
for(i=5;i>0;i--)
{
for(j=0;j<i;j++)
printf("*");
printf(" ");
}
}

⑥ c語言中for得三重以上循環是怎麼循環的

main()
{
int i,j,k;
for(i=0,i<1,i++)
{for(j=0,j<n,j++)
{ }

for(k=0,k<m,k++)
{
}
}
這就是 一個是第一個for語句先循環完n遍再循環第二個for一遍第三個for m遍

三重以上循環以上的循環由里到外依次來循環,每一層循環都是由本身和外層決定的!

⑦ C程序for多重循環

不是,順序是這樣的
先執行第一個For的第一遍循環,遇到到二個For時,進行循環,等第二個For循環全部祥答執行完後,再進行謹猜慧第一個For循環的第二遍,遇到到二個For時,再進行循環,等第二個For循環全部執行完後再運行第一個For循環的第三遍。兆卜。。。一直到第一個For循環全部執行完畢。

⑧ 求C語言中循環的具體用法

while語句的一般格式:
while(表達式)
{若干語句
}
while語句由關鍵字while、括弧中的一個求值為boolean型數據的表達式和一個復合語句組成,其中的復合語句稱作循環體,循環體只有一條語句時,大括弧「{}」可以省略,但最好不要省略,以便增加程序的可讀性。表達式稱作循環條件。while語句的執行規則是:
(1)計算表達式的值,如果該值是true時,就進行(2),否則進行(3)。
(2)執行循環體,再進行(1)
(3)結束while語句的執行
do-while循環
一般格式:
do
{若干語句
}
while(表達式);
do-while循環和while循環的區別是:do-while的循環體至少被執行一次,
for循環.for語句的一般格式:
for (表達式1;表達式2;表達式3)
{若干語句
}
for語句由關鍵字for、括弧中用分號分割的3個表達式,以及一個復合語句組成,其中的「表達式2」必須是一個求值為boolean型數據的表達式,而復合語句稱作循環體。
for語句的執行規則是:
(1)計算「表達式1」,完成必要的初始化工作
(2)判斷「表達式2」的值,若「表達式2」的值為true,則進行(3),否則進行(4)。
(3)執行循環體,然後計算「表達式3」,以便改變循環條件,進行(2)。
(4)結束for語句的執行.

⑨ C語言for多重循環語句

作為示例,以求解下面數學式為例:

SUM = 1 - 3 + 5 - 7 + ...-99 + 101;

首先,需要分析數學規律,就數學式中每一項的絕對值而言,可以看成 a(n) = 2 * n - 1 其中,n = {1,2,3...51},而就每一項的符號而言,可以發現,當 n 為偶數時,耐純對應的項為負號;當 n 為奇數時,對應項符號為正號。

編寫如下代碼:

#include <stdio.h>

int main()

{

int sum,s;

int i;

sum = 0;

for(i=1;i<52;i++)

{

if(i%2==0)

{

s = -1;

}

else

{

s = 1;

}

sum += (2*i-1)*s;

}

printf("sum of (1-3+5-7+...-99+101) is: %d ",sum);

return 0;

}

其中,世畝知s 就是符號控制,其中for循環累加每一項。

解釋說明:合理運用for循環可以簡化代碼設計,增強代碼可讀性,縮減代碼篇幅,利用循環可以處理重復並且有規律性的問題,搜消比如規則圖形的列印,數組遍歷、對象賦值等,合理運用for循環需要先理解for循環的語法:

for(表達式1;表達式2;表達式3)

{

循環體

}

⑩ C語言 for的多重循環是怎麼一回事啊 能給小弟詳細講解以下嗎

for(表達式1;表達式2;表達3)

語句:

表達式1 通常用來給循環變數賦初值,一般是賦值表達式。也允許在for語句外給循環變數賦初值,此時可以省略該表達式。

表達式2 通常是循環條件,一般為關系表達式或邏輯表達式。

表達式3 通常可用來修改循環變數的值,一般是賦值語句。

這三個表達式都可以是逗號表達式, 即每個表達式都可由多個表達式組成。三個表達式都是任選項,都可以省略。

一般形式中的「語句」即為循環體語句。for語句的語義是:

1.首先計算表達式1的值。

2.再計算表達式2的值,若值為真(非0)則執行循環體一次, 否則跳出循環。

3.然後再計算表達式3的值,轉回第2步重復執行。在整個for循環過程中,表達式1隻計算一次,表達式2和表達式,3則可能計算多次。循環體可能多次執行,也可能一次都不執行。for 語句的執行過程如圖所示。

void main(){
int n,s=0;
for(n=1;n<=100;n++)
s=s+n;
printf("s=%d\n",s);
}

用for語句計算s=1+2+3+...+99+100

int n,s=0;
for(n=1;n<=100;n++)
s=s+n;
printf("s=%d\n",s);

本例for語句中的表達式3為n++,實際上也是一種賦值語句,相當於n=n+1,以改變循環變數的值。

void main(){
int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
for(;n>0;a++,n--)
printf("%d ",a*2);
}

用for語句修改例題。從0開始,輸出n個連續的偶數。

int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
for(;n>0;a++,n--)
printf("%d ",a*2);

本例的for語句中,表達式1已省去,循環變數的初值在for語句之前由scanf語句取得,表達式3是一個逗號表達式,由a++,n-- 兩個表達式組成。每循環一次a自增1,n自減1。a的變化使輸出的偶數遞增,n的變化控制循次數。

在使用for語句中要注意以下幾點

1.for語句中的各表達式都可省略,但分號間隔符不能少。如:for(;表達式;表達式)省去了表達式1。for(表達式;;表達式)省去了表達式2。

for(表達式;表達式;)省去了表達式3。for(;;)省去了全部表達式。

2.在循環變數已賦初值時,可省去表達式1,如例3.27即屬於這種情形。如省去表達式2或表達式3則將造成無限循環, 這時應在循環體內設法結束循環。例題即屬於此情況。

void main(){
int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
for(;n>0;)
{ a++;n--;
printf("%d ",a*2);
}
} int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
for(;n>0;)
{ a++;n--;
printf("%d ",a*2);
}

本例中省略了表達式1和表達式3,由循環體內的n--語句進行循環變數n的遞減,以控制循環次數。

void main(){
int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
for(;;){
a++;n--;
printf("%d ",a*2);
if(n==0)break;
}
}
int a=0,n;
printf("\n input n: ");
scanf("%d",&n);
for(;;){
a++;n--;
printf("%d ",a*2);
if(n==0)break;
}

本例中for語句的表達式全部省去。由循環體中的語句實現循環變數的遞減和循環條件的判斷。當n值為0時,由break語句中止循環,轉去執行for以後的程序。在此情況下,for語句已等效於while( 1)語句。如在循環體中沒有相應的控制手段,則造成死循環。

3.循環體可以是空語句。

#include"stdio.h"
void main(){
int n=0;
printf("input a string:\n");
for(;getchar()!='\n';n++);
printf("%d",n);
}

本例中,省去了for語句的表達式1,表達式3也不是用來修改循環變數,而是用作輸入字元的計數。這樣, 就把本應在循環體中完成的計數放在表達式中完成了。因此循環體是空語句。應注意的是,空語句後的分號不可少,如缺少此分號,則把後面的printf 語句當成循環體來執行。反過來說,如循環體不為空語句時, 決不能在表達式的括弧後加分號, 這樣又會認為循環體是空語句而不能反復執行。這些都是編程中常見的錯誤,要十分注意。

4.for語句也可與while,do-while語句相互嵌套,構成多重循環。以下形成都合法的嵌套。

(1)for(){…
while()
{…}

}
(2)do{

for()
{…}

}while();
(3)while(){

for()
{…}

}
(4)for(){

for(){

}
}
void main(){
int i,j,k;
for(i=1;i<=3;i++)
{
for(j=1;j<=3-i+5;j++)
printf(" ");
for(k=1;k<=2*i-1+5;k++)
{
if(k<=5) printf(" ");
else printf("*");
}
printf("\n");
}
}