① 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");
}
}