博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 阶段学习第四天笔记(循环)
阅读量:5271 次
发布时间:2019-06-14

本文共 5371 字,大约阅读时间需要 17 分钟。

iOS学习(C语言)知识点整理笔记

 一、分支结构

1、分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ }  两种

2、单分支 if表达式成立则执行{ }里的语句;双分支 if表达式不成立 则执行else{ }里面的语句

3、字符串的输出系统会从数组地址一直打印到字符 ‘\0’为止,如果没有正确初始化,可能会打印出数组外的信息

4、如果分支结构里面只有一条执行语句可省略外面的大括号{} .

二、开关语句

 1、语句结构 :switch (参数) case 常量:  执行语句;break;default: 执行语句;break; case 后面必须是常量且不能重复

 2、无特殊情况每个case后面必须加上break 不然会造成 case穿透 执行

 3、default 一般建议保留 用于处理所有case不满足的条件

三、循环结构

 1、循环:即在满足表达式条件的时候反复执行语句组 ;循环必须有退出条件否则就是死循环。

 2、循环类型:for( 初始化语句1; 条件判断语句2; 语句3){ 执行语句} ;while(条件语句){执行语句};do{ 执行语句}while(条件语句);

 3、循环体中 continue 表示跳过当前条件内容执行下次循环  break表示结束整个循环

 4、do while 第一次循环的时候,先执行语句后做判断,至少执行一次。

 5、while 与 do while 在循环之前必须先初始化 ,for 循环自身已经包含初始化语句。

四、goto  跳转语句

 1、goto 表示无条件跳转到一个标签,尽量避免使用 ,缺点:使代码目录不清晰,破坏层次感

 2、goto  实例代码:

//使用goto语句 实现1~100求和  1  int main(){ 3     int sum = 0; 5     int i = 1;7     ADD:9     sum +=i;11     i++;13     if(i<=100){15      goto ADD;//跳到标签号所在行,往下执行17     }19     printf("sum=%d\n",sum);21     return 0;23   }

五、循环练习题

  1、计算当前输入字符中数字、大/小字母、其他字符 个数

    实现代码:

1 int main(){ 3     int sz=0,xz=0,dz=0,qt=0; 5     char ch; 7     while ((ch=getchar())!='\n') { 9     if(ch>='0'&&ch<='9')11       sz++;13     else if(ch>='a'&&ch<='z')15         xz++;17     else if (ch>='A'&&ch<='Z')19         dz++;21     else23         qt++;25     }27     printf("共输入了%d个数字字符\n",sz);29     printf("共输入了%d个小写字母字符\n",xz);31     printf("共输入了%d个大写字母字符\n",dz);33     printf("共输入了%d个其他字符\n",dz);35     return 0;37   }

 2、输出九九乘法表

1x1=1,

 2x1=2,2x2=4

 3x1=3,3x2=6,3x3=9

 4x .....

 实现代码:

1  int main(){ 3    for (int i=1; i<=9; i++) { 5       for (int j=1; j<=i; j++) {7         printf("%dx%d=%d\t\t",i,j,i*j);          }11        printf("\n");13     }15      return 0;   17   }

3、输出1~100的所有质数 (质数:即除1以外只能被1和它本身整除的数)

 实现代码:

1 int main(){ 3    for (int i=1; i<=100; i++) { 5       for (int j=1; j<=i; j++) { 7          if(j==1)9            continue;11          if(i%j==0)13          {15             if(i!=j)17              {19                //printf("%d不是质数\n",i);21                  break;23              }25              else27              {29                printf("%d是质数\n",i);31                break;33              }35             }37         }39      }41     return 0;43 }

4、一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10 次落地时,共经过多少米

 实现代码:

1   int  main(){ 3       float hight=100,num=10,sumh=0; 5         for (int i=1; i<=num; i++) { 7           sumh+=hight; 9           hight/=2;11           printf("第%d次回落(%.1f)米\n",i,hight);13        }15       printf("总共经过(%.1f)米",sumh);19       return 0;21    }

5、使用辗转相除求两个数的最大公约数

  实现代码:

1   int main(){ 3    //(28,35)=(35,28)=(28,7)=0 5     int m,n,temp,rst; 7     printf("请输入两个数字:\n"); 9     scanf("%d %d",&m,&n);11     while(m%n!=0){13         if(m%n==m)15         {17            temp=m;19             m=n;21             n=temp;23             rst=m%n;25             printf("m=%d,n=%d\n",m,n);27         }else {29             rst=m%n;31             m=n;33             n=rst;35             printf("m=%d,n=%d\n",m,n);37         }39     }40     printf("%d",n);41     return 0;42  }

6、将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5

 实现代码:

1 int main(){ 2     int v; 3     scanf("%d",&v); 4     printf("%d=",v); 5     for (int i=2; i<=v; i++) { 6         while (v%i==0) { 7             if(i

7、流程控制(for求阶乘的和 )输入n(int类型),打印1!+2!+3!+4!+5!+....+n!的值

 实现代码:

1  int main(){  2     //例如 5的阶乘和=1*1 +2*2 +3*3*3+ 4*4*4*4 +5*5*5*5*5 3     int n,temp=0,sum=0; 4     scanf(“%d”,&n); 5     for (int i=1; i<=n; i++) { 6         temp=1; 7         for (int j=1; j<=i; j++) { 8                temp*=i; 9         }10         sum+=temp;11     }12     printf("sum=%d",sum);   13     return 0;  14 }

8、整数逆序输出, 例如输入一个整数12345,输出54321

 实现代码:

1 int main(){ 2   int a; 3     scanf("%d",&a); 4     while(a/10!=0){ 5         printf("%d ",a%10); 6         a/=10; 7     } 8    printf("%d ",a%10); 9    return 0;10 }

 

9、流程控制(for循环)输出字母三角形 输入一个大写字母,如F输出:

          A

        ABA

      ABCBA

    ABCDCBA

  ABCDEDCBA

ABCDEFEDCBA

 实现代码 :

1 int main(){ 2     char ch='A'; 3     for (int i=0; i<='F'-ch; i++) { 4         for (int n='F'-ch-i; n>0; n--) { 5              printf(" "); 6         } 7      for (int j=0; j<=i; j++) { 8            printf("%c",ch+j); 9         }10      for (int m=i;m>0 ;m-- ) {11             printf("%c",ch+m-1);12        }13       printf("\n");14     }15     return 0;16  }

10、流程控制(for循环),输出字母序列比如输入:F

 输出:

 FEDCBA

   EDCBAB

     DCBABC

        CBABCD

           BABCDE

              ABCDEF

  实现代码:

1 int main(){ 2     char sh,nsh,bsh; 3     printf("请输入一个字符:"); 4     scanf("%c",&sh); 5     bsh=sh; 6      int len=sh-'A'; 7        for (int i=0; i<=len; i++) { 8            sh=bsh-i; 9            //nsh=bsh-len+1;10            for (int j=1; j<=i; j++) {11                printf(" ");12            }13             for (int n=i; n<=len; n++) {14                printf("%c", sh--);15            }16            nsh=sh+2;17            for (int m=0; m

 11、 输入一个日期年月日, 计算这一天是一年中的第几天(考虑闰年)     

 实现代码:

1 int main(){ 2  int year,month,day,total=0; 3    scanf("%d%d%d",&year,&month,&day); 4     if (year<=0) 5         printf("请输入正确年份。"); 6     for (int i=1; i

 12、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

实现代码:

int main(){       //分析: 第十天 1  第九天:4  第八天:10   第七天:22    int sum=1,i,index=10;    for(i=1;i<=9;i++)    {        printf("第%d天有桃%d个\n",index,sum);        sum=(sum+1)*2;        index--;    }    printf("猴子共摘了%d个桃子。\n",sum);    return 0; }

 

 

 

转载于:https://www.cnblogs.com/ChinaKingKong/p/4592186.html

你可能感兴趣的文章
Python数据分析之Pandas读写外部数据文件
查看>>
Python数据分析之numpy数组全解析
查看>>
机器学习回顾篇(5):朴素贝叶斯算法
查看>>
TensorFlow2.0(1):基本数据结构——张量
查看>>
TensorFlow2.0(二):数学运算
查看>>
2019-2020-1 1823《程序设计与数据结构》问题汇总(正在更新)
查看>>
2019-2020-1 1823《程序设计与数据结构》预备作业总结
查看>>
2019-2020-1 1823《程序设计与数据结构》每周成绩
查看>>
2019-2020-1 1823《程序设计与数据结构》第一周作业总结
查看>>
2019-2020-1 1823《程序设计与数据结构》第二、三周作业总结
查看>>
git命令学习4
查看>>
MYSQL数据库学习
查看>>
MySQL常用命令
查看>>
mysql数据处理函数和分组函数
查看>>
centos MySQL服务启动及开机启动
查看>>
centos 安装anaconda
查看>>
CentOS5安装Git
查看>>
git命令学习1
查看>>
git命令学习2
查看>>
git命令学习3
查看>>