1、逗号运算符扩展了for循环的灵活性,因为它可以使您在一个循环中使用多个初始化或更新表达式。
实例程序:
1
2
3
4
5
6
7
8
9
10
11
|
#include<stdio.h>
int
main()
{
const
int
A=37;
const
int
B=23;
int
c,d;
printf
(
" c d\n"
);
for
(c=1,d=A;c<=16;c++,d+=B)
printf
(
"%5d $%4.2f\n"
,c,d/100.0);
return
0;
}
|
运行结果:
2、while循环和for循环都是入口条件循环,在每次执行循环条件之前先检查判断条件,这样循环中的语句有可能一次也不执行。c也有退出条件循环,判断条件在执行循环之后进行检查,这样就可以保证循环中的语句至少被执行一次,这被称为do while 循环。
实例程序:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#include<stdio.h>
int
main()
{
const
int
secret_code=18;
int
code_entered;
do
{
printf
(
"to enter a triskaidekaphobia therepy club,\n"
);
printf
(
"please enter the secret code number:"
);
scanf
(
"%d"
,&code_entered);
}
while
(secret_code!=code_entered);
printf
(
"congraduations!\n"
);
return
0;
}
|
运行结果:
所以,由结果可以看出,在我输入18之前系统会反复的获取读入值。
do while 循环至少被执行一次,因为在循环执行完毕之后才进行判断条件。
2、嵌套循环(nested loop)
通常用它来按行按列显示数据。
实例程序:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#include<stdio.h>
#define ROWS 6
#define CHARS 10
int
main(
void
)
{
int
row;
char
ch;
for
(row=0;row<ROWS;row++)
//外部循环
{
for
(ch=
'A'
;ch<(
'A'
+CHARS);ch++)
//内部循环
printf
(
"%c"
,ch);
printf
(
"\n"
);
}
return
0;
}
|
运行结果:
程序详解:
如程序中注解,外部循环开始时row的值为0,当row达到6时结束,因此外部循环要执行6次,row的值从0变到5,每次循环中的第一个语句都是内部的for循环。这个循环执行10次,在同一行上打印A到J的10个字符,外部循环的第二句是printf("\n"),这个语句开始新的一行。这样内部循环下次执行的时候就会打印在新的一行上。注意在嵌套循环中,内部循环在外部循环的每次单独循环中都完全执行它的所有循环。
以下对本程序稍微改进:(嵌套变化)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#include<stdio.h>
#define ROWS 6//或者定义在main()里: const int ROWS=6; const int CHARS=6;
#define CHARS 6
int
main(
void
)
{
int
row;
char
ch;
for
(row=0;row<ROWS;row++)
{
for
(ch=
'A'
+row;ch<(
'A'
+CHARS);ch++)
printf
(
"%c"
,ch);
printf
(
"\n"
);
}
return
0;
}
|
运行结果:
3、数组简介:
一个数组就是线性存储的一系列相同类型的值。话不多说,举个栗子:float debts[20],声明debts是一个含有20个元素的数组,其中每个元素都是一个类型为float的值,这个数组的第一个元素称为debts[0],第二个元素称为debts[1],一直到debts[19],每个元素都可以被赋予一个float类型的值。
本文转自 lillian_trip 51CTO博客,原文链接:xxxxhttp://blog.51cto.com/xiaoqiaoya/1952634xxx,如需转载请自行联系原作者