第一次博客作业

不打扰是莪最后的温柔 提交于 2019-12-01 10:30:54

一:思维导图

二.对语法的认识

1. if-else

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

如果条件满足表达式1,则执行表达1;不满足则执行表达式2。

使用时注意大括号,若只有分枝结构时,每一个else 要和一个if相匹配,且一定要使用大括号。但如果在循环中使用时要根据所需要的条件是否加大括号

2. switch-case

switch(表达式)

{

case 常量表达式1 :语句段1;break;

case 常量表达式2 :语句段2;break;

case  常量表达式n :语句段n;break;

default:         语句段n+1;break;

}

方法:当表达式满足那个表达式时就执行那个语句,直到遇见break为止。

注意常量表达式后面是不是 ”;“ 而是”:‘,还有所有的常量表达式不能相等,也要注意

break的使用;

3. for

for(表达式1;表达式2;表达式3)

{

       循环体语句;

}

方法:先执行表达式1,在判断表达2,若值成立,再执行循环体语句,然后执行表达式3

若值不成立,则跳出循环,不执行表达式3.

注意 括号里有2个分号而外面没有分号,是为了与循环体形成一条语句;在使for的嵌套循环时,注意变量的变化,一般该变量循环之后要对其进行赋值,不然会得出一些让人崩溃的结果

4. while

while(表达式)

{

   循环体语句;

}

方法:当表达式语句为真时,才执行循环体语句,不然不执行,循环终止时才执行下条语句。

注意:要注意表达式的取值,且循环体语句中要有可以改变循环让循环终止的量,不然会变成死循环。

5. do-while

do{

    循环体语句;

}while(表达式);

方法:不管如何,先执行循环体语句,在判断表达式是否成立,成立继续循环,不成立循环结束。
注意:同样循环体语句中也要有能是循环终止的变量,除此之外while()要有分号,一定不要忘了。

break用于switch case和循环语句中,在循环语句中,break是用来结束循环,而continue用来后面的语句继续循环,continue只能用于循环语句中

注意:break应该要和if语句搭配起用,continue也是。并且也不能乱用。

三.PTA分数截图

四.PTA代码分析

题目

代码

#include<stdio.h>
int main() {
    int a, b, i,c;
    int min;//min中放最小值
    scanf("%d", &a);
    scanf("%d", &b);
    min = b;//假设第一个是最小值
    for (i = 1; i < a; i++)
    {
        scanf("%d", &b);//读入下一个成绩
        if (b<min) //如果该成绩比最低分低
        {
            min = b;//在假设该成绩为最低分
        }
    }
    printf("min = %d\n", min);
    return 0;

}

思路都在代码上了
这题要明确思路,是要求最小值,且又明确循环的次数,所以要用到for循环
一定要先假设一个最小值,不能在循环中假设,否则的话求不出来

题目

代码

#include<stdio.h>
int main()
{
    int letter, blank, digit, other;
    int i;
    char ch;//定义求字符的变量
    letter = blank = digit = other = 0;//统计字符的变量为0
    for (i = 1; i <= 10; i++) //循环10次
    {
        scanf("%c", &ch);//输入字符
        if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
            letter++;
        }
        else if (ch >= '0' && ch <= '9') {
            blank++;
        }
        else if (ch == ' ' || ch == '\n') {
            digit++;
        }
        else { other++; }
    
     }
    printf("letter = %d, blank = %d, digit = %d, other = %d", letter, digit,blank,other);
    return 0;
}

题目

代码

#include<stdio.h>
int main()
{    
    int a,b,other,i;//变量other存放阶乘的值    
    double sum;
    sum=0;//定义变量累加的值为0
    scanf("%d",&a);  a
   for(b=1;b<=a;b++)//外层循环执行a次
   {
   other=1;//确保每次阶乘的值从1开始
   for(i=1;i<=b;i++)
   other=other*i;//求阶乘
   sum=sum+other;//存放累加和
   }
   printf("%0.f",sum);   
   return 0;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!