主体为:循环控制判断表达式;循环体语句;循环控制变量
基本循环控制结构
while循环结构
while(表达式){循环体} 没有分号;
// while()循环控制结构和getchar()函数组合,实现统计各类字符算法操作;
while((c=getchar())!=’\n’){…}
//判断输入字符
//统计从键盘输入字符串中的数字个数,字母的个数和其他字符个数
#include "stdio.h"
void main(){
int num=0;
int cha=0;
int oth=0;
char c ;
char str[]="输入键盘控制符";
puts(str);
c=getchar();
while(c!='\n'){
if(c>='0' && c<='9'){
num++;
}
else if(c>='A' && c<='z'){
cha++;
}
else{
oth++;
}
c=getchar();
}
printf("the num is %d \n",num);
printf("the cha is %d \n",cha);
printf("the oth is %d \n",oth);
}
// 永久循环 :while(1)
do {} while(判断表达式)
掌握while结构就足够了,多了影响使用表达;
// 计算三角函数 多项式近似 计算;
for()循环结构
结构:for(int j=0;j<<length;j++){循环体}
// 控制每行输出
#include "stdio.h"
void main(){
for(int i=1;i<=length;i++){
printf("%-5d",i);
if(n%6==0){ // 控制每行输出字符
printf("\n");
}
}
}
循环控制结构嵌套
可以互相嵌套;基本用的最多的就是二层循环嵌套
// 典型例题:控制行列
#include <stdio.h>
#define N 5
void main(){
for(int i=0;i<N;i++){
for(int j=0;j<i;j++){
printf("*");
}
printf("\n");
}
}
两层嵌套循环-但有两个平行第二层循环
// 打印等腰三角形
#include"stdio.h"
void main(){
for(int i=1;i<=6;i++){ //外层循环控制行数
for(int k=1;k<=10-i;k++){ // 中层循环控制每行起始位置
printf(" ")
}
for(int j=1;j<=2*i-1;j++){ // 中层循环控制字符个数
printf("%c",48+i); // 打印数字-参照数字"1"的ASC码值为48
}
printf("\n");
}
}
基本上外层控制循环的变量与内层控制循环变量有关系
终止循环break语句;终止本次循环continue语句;
// 打印输出九九乘法表
// 知识点:循环控制结构
#include "stdio.h"
void main(){
int i=0,j=0;
for(i=1;i<10;i++){
for(j=1;j<=i;j++){
printf("%d*%d=%-5d ",i,j,j*j);
}
printf("\n");
}
}
// 输出1-100所有能被3和被7整除的数,并求其和;
#include "stdio.h"
// 能被3和7整除
#include"stdio.h"
void main(){
int i=0;
int sum=0;
for(i=1;i<101;i++){
if(i%3==0 && i%7 ==0){
printf("%-3d",i);
sum =sum+i;
continue;// 有没有都无所谓在本题来说
}
}
printf("\n");
printf("the sum is %d \n",sum);
}
小程序写得多了,思路才能跟得上来