国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

iOS階段學習第四天筆記(循環)

2019-11-14 18:49:18
字體:
來源:轉載
供稿:網友

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<v) 8                printf("%d*",i); 9             else10                printf("%d",i);11            v/=i;12         }13     }14     return 0;15   }

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<i; m++) {18                printf("%c", nsh++);19            }20         printf("/n");21     }22     return 0;23  }

 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<month; i++) { 7      switch (i) { 8              case 1: 9              case 3:10              case 5:11              case 7:12              case 8:13              case 10:14              case 12:15               total+=31;16             break;17          case 4:18          case 6:19          case 9:20          case 11:21              total+=30;22              break;23          case 2:24              if ((!(year%4)&&year%100)||!(year%400)) 25                  total+=29;26              else27                 total+=28;28             break;29         }30     }31     total+=day;32     printf("%d年的第%d天",year,total);33     return 0;34 }

 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; }

 

 

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贺兰县| 房山区| 全椒县| 青铜峡市| 潜江市| 新宾| 靖江市| 彰武县| 江阴市| 育儿| 绍兴县| 通海县| 德庆县| 南郑县| 湟中县| 乌拉特中旗| 成都市| 南溪县| 武宁县| 胶南市| 台前县| 南昌县| 阿坝县| 双牌县| 连云港市| 天津市| 广宁县| 刚察县| 邯郸市| 虞城县| 芒康县| 巨鹿县| 焉耆| 岫岩| 龙口市| 惠来县| 临西县| 柳州市| 平定县| 鹤峰县| 祥云县|