本文共 1882 字,大约阅读时间需要 6 分钟。
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,如需转载请自行联系原作者