第一次博客作业

 

一、思维导图

 

 

 

二、语法认识

 1.if-else

if (表达式)
{
    语句1;
}else
{
    语句2;
}

else匹配最近的if(没有相应的else匹配的),else后无需再编辑条件

 

2.switch

switch(表达式)
{
    case 常量表达式1:
        语句1;
        break;
        ......
    case 常量表达式n;
        语句n;
        break;
    default:
        语句n+1;
        break;
}

1.在case后的各常量表达式的值不能相同,否则会出现错误。

2.在case后,允许有多个语句,可以不用{}括起来。

3.各case和default子句的先后顺序可以变动,而不影响程序的执行结果‘

4.default子句可以省略不用

5.switch语句中的break语句并不是每个case语句后都必须有

3.for

for(表达式1;循环条件;表达式2)
{
    循环语句;
}

 

for括号中的两个分号注意不要用成逗号.

先执行表达式1,对循环变量赋值,再判断循环条件,若为“真”则执行循环语句,接着执行表达式2

4.while

while(循环条件)
{
    循环体语句
}

while语句中的表达式一般是关系表达式或逻辑表达式,只要表达式的值为真即可继续循环

5.do-while

do
{ 循环体语句 }
while(循环条件);

相比while循环先不判断循环条件循环一次

6.break和continue语句

break语句可以用于do-while、for、while循环语句中时可以终止循环而执行循环后面的语句

注意:1.break语句对if-else语句不起作用  2.在多层循环中,一个break语句只向外跳一层

 

continue语句

其作用是跳过循环本中剩余的语句而强行执行下一次循环.只用在for、while、do-while等循环体中,常与if条件语句一起使用,用来加速循环

 三. pta分数截图

 

 

 

 

 

 

 四. pta代码分析

 

#include <stdio.h>
int main() {
    int number, temp, i = 0, sum = 0;
    scanf("%d", &number);
    temp = number;
    while (temp) {
        sum += temp % 10;
        temp /= 10;
        i++;
    }
    printf("%d %d\n", i, sum);

    return 0;
}

代码思路:用while循环实现在temp为0时结束循环,通过取余和temp对10的整除得到各位数数字之和及位数。

#include<stdio.h>
int main(){
    int n,i,l,min;
    scanf("%d",&n);
    scanf("%d",&l);
    min=l;
    for(i=1;i<n;i++){
        scanf("%d",&l);
        if(min>l)
        min=l;
    }  
printf("min = %d",min);
return 0;
} 

 代码思路:先读取确定一个最小值,通过for循环读取剩余的数,每读取一个数便用if将较小值赋予min。

#include<stdio.h>
int main()
{  
    int a,b,i,m,l=0,sum=0,num=0;
     scanf("%d %d",&a,&b);
      for(i=a;i<=b;i++)
        {for(m=1;m<=i;m++)
          {
           if(i%m!=0) 
           l++;
          }
           if(l==i-2) 
          {
           sum=sum+i; num++;
          }
           l=0;
        }
    printf("%d %d",num,sum);
  return 0;
}

代码思路:通过for循环判断所有M.N间的数,用if判断该数不能被几个数整除,若l等于该数-2则证明其为素数

posted @ 2019-10-15 19:40  烟雨萧煜  阅读(158)  评论(0编辑  收藏  举报