zoukankan      html  css  js  c++  java
  • 第一次博客园作业

    一.思维导图

     二.自己对语法的认识

    1.if-else

      

    if(表达式){
        语句a;
    }
    else{
        语句b;
    }

    用法:先判断表达式,成立执行语句a,不成立执行语句b,多重表达式可用if(表达式1),else if(表达式2),else表达

    注意问题:else不跟表达式 ,注意else与if的匹配,注意{}的位置。

     2.switch

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

    用法:switch-case语句适用于分支条件多的情况,先判断表达式,之后与相应的常量表达式对应,执行语句段,需要用break跳出循环

    问题:case表达常亮错误 

    解决问题:编译器检查,修改

    注意问题:break的使用,以及default的使用。注意case(常量表达式)后使用符号为:语句段与break后使用符号为;

    3.for

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

    用法:先执行表达式1 ,判断表达式2,若成立,执行循环语句,再执行表达式3,判断表达式2,执行循环语句,直到表达式2不成立

    问题:表达式3与表达式2不对应

    解决问题:修改表达式2和3,使之对应

    注意问题:判断清楚表达式2是否符合题目要求,判断好什么时候结束,以及表达式123之间用;隔开,不随意添加;

    4.while

     

    while(表达式){
        循环语句;
    }

     用法:先判断表达式,若成立,执行循环语句,再判断表达式执行循环语句,直到表达式不成立;

    5.do while

    do{
    循环语句;
    }while(表达式);

    用法:直接进入循环,判断表达式,表达式为真则继续循环,直到表达式为假跳出循环

    注意问题:直接进入循环语句,再判断表达式,注意while(表达式)后面使用;结束

    6.break和continue

    do
    {
        循环体语句
        break;
    }while(表达式);
    
    for(表达式1;表达式2;表达式3;){
        语句1;
         continue
         语句2;
    }

    注意问题:break语句使循环强制结束,continue语句跳过循环体语句中continue后面的语句,继续循环。break还可用于switch语句。 

    三.PTA分数截图

    2.3 ,2.4作业


    第三章

     

    4.1作业

    四. pta代码分析

    2.3,2.4作业

    #include <stdio.h>
    
    int main()
    {
        int N,i,flag,d;//定义一个正整数N,i用于for循环,flag用于项的正负
        double item,sum;定义双精度浮点数
        sum=0;
        flag=+1;//另flag初始值为+1为项的正负做准备
        d=1;
        scanf("%d",&N);//输入正整数N
        
        for(i=1;i<=N;i++){
            item=1.0/d*flag;//item用于存放每一项的值
            sum=sum+item;//sum用于求和
            d=d+3;
            flag=-flag;//使flag值为-1使偶数项为负数 
            
        }
    
        printf("sum = %.3lf",sum);//输出sumde值,精确到小数点后三位
    
        return 0;
    }

    注:解题思路在注释中表明。

    错误点:偶数项忘记考虑正负号,结果忘记精确到小数点后三位

    收获:如何使用for循环求N项求和,item用于存储各项的值,各项正负号的使用

    第三章作业

    #include<stdio.h>
    int main()
    {
        int i,a,b;
        int A,B,C,D,E;
        A=B=C=D=E=0;//ABCDE用于计算各个等级的数量
        scanf("%d",&a);//输入统计成绩学生的个数
        for(i=1;i<=a;i++){  //循环a次
            scanf("%d",&b);
            //以下用if-else语句来统计各个等级的数量
            if(b>=90)
            A++;
            else if(b>=80)
            B++;
            else if(b>=70)
            C++;
            else if(b>=60)
            D++;
            else 
            E++;
        }
        printf("%d %d %d %d %d",A,B,C,D,E);//输出各个等级的数量
    
    
        return 0;
    }

    注:解题思路在注释中表明。

    错误点:ABCDE忘记定义为0,导致程序无法运行

    收获:学会了用for循环中嵌套使用if-else从句,学会了scanf写入循环语句中输入多个值的方法

     4.1作业

     

    #include<stdio.h>
    int main()
    {
        int n,count=0,s=0,c=0;//定义正确的整型变量
        scanf("%d",&n);//输入正整数n
        do{
            c=n%10;//c用来得到整数n的最后一位数字
            s=s+c;//s用来计算n每位数字c的和
            n=n/10;//使n去除最后一位数字
            
            count++;//count用来计算n的位数
        }while(n!=0);//结束循环,n是几位数就循环几次
        printf("%d %d",count,s);//输出n的位数和各个数字之和
    
        return 0;
    }

     注:解题思路在注释中表明

    错误点:while后面忘记加;用来结束循环,忘记定义count初始值为0用来统计次数

    收获:更加清楚明白%与/的区别,更清楚do-while语句的使用

  • 相关阅读:
    Java利用QRCode.jar包实现二维码编码与解码
    javax.servlet不存在问题的解决
    订单号生成规则
    Koa处理url
    网站追踪技术:前端持久化evercookie
    网站追踪技术:“帆布指纹识别”canvas fingerprinting
    Typescript类、命名空间、模块
    TypeScript 基础类型、变量声明、函数、联合类型、接口
    webpack中的hash、chunkhash、contenthash区别
    不刷新网页修改url链接:history.pushState()和history.replaceState()新增、修改历史记录用法介绍
  • 原文地址:https://www.cnblogs.com/ssp1781554770/p/11679524.html
Copyright © 2011-2022 走看看