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

    一.思维导图

    二.对语法的认识

    1.if-else

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

    使用:若符合表达式1,则执行表达式2,否则执行表达式3。
    遇到的问题:忘记语句后的分号,在表达时候加分号,对else与哪个if一起搞混使得结果错误。
    解决方法:仔细看题目,注意错误。
    注意:else与它最接近的if配对。
    2.switch

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

    使用:在switch语句中,表达式和常量表达式的值一般是整型或字符型,所有的常量表达式的值都不能相等。每个语句段可以包括一条或多条语句,也可以为空语句。
    遇到的问题:常量表达式若为字符,忘记加单引号。
    解决方法:注意并记住错误。保证不会再范。
    注意:不一定要用break,及case后要用冒号;如果常量表达式为a,则需要加单引号。
    3.for

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

    使用: for后面没有分号,先计算表达式1,在判断表达式2,若值为真,则执行循环体语句,接着计算表达式3,然后继续循环;若值为假,则结束循环。for语句中表达式只执行1次。
    遇到的问题:表达式后分号错打成逗号,在中括号前加了分号。
    解决方法:通过vs找出错误并在下次使用时注意。
    注意:若循环体语句为复合语句,要加中括号。
    4.while

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

    使用:若表达式为真,则进行循环语句。
    遇到的问题:条件中将=与混淆,使得程序进入死循环。
    解决方法及注意:
    为等于,=为赋值。
    5.do-while

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

    使用:保证循环至少进行一次,之后若表达式为真,则继续循环。
    遇到的问题及解决方法:while后的分号忘记,注意并牢记形式。
    注意:该语句适用于先循环,后判断循环条件的情况。

    6.break以及continue
    使用: break语句强制循环结束;continue语句的作用是跳过循环体中continue后面的语句。
    注意: 二者区别在于break结束循环,而continue只是跳过语句继续循环。break除了可以终止循环,还可用于switch语句,而continue只能用于循环。

    三.pta分数截图

    2.3 2.4作业

    第三章作业

    4.1作业

    四.pta代码分析

    1.

    #include<stdio.h>   
    int main() {
    	int N, flag, i, denominator;
    	double sum;
    	flag = 1;
    	sum = 0;
    	denominator = 1;
    	for (i = 1;i <= N;i++) {
    		sum += flag * 1 / denominator;
    		flag = -flag;
    		denominator += 3;
    	}
    	printf("sum = %.3f", sum);
    	return 0;
    }
    

    代码思路:使用循环,根据题目要求,考虑到正负交替及分母为公差为三的等差数列,写出答案。
    错误原因:没有定义分母而用i代替,使得循环次数减少,答案错误。
    学会了什么:自定义标识符使得代码更清晰,规范代码,减少错误率。

    2.

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

    代码思路:根据N为整数,循环取余得到各位数之和,并每循环一次,位数加1,得到位数。
    错误:无。
    学会了什么:给出一个整数求位数及各位数字之和。

    3.

    #include<stdio.h>
    
    int main() {
    
    	int v1, v2;
    
    	scanf("%d %d", &v1, &v2);
    
    	double value = (v1 - v2) * 1.0 / v2 * 100;
    	int x = (int)(value + 0.5);
    
    	if (x<10) {
    
    		printf("OK");
    
    	}
    
    	else if (x < 50) {
    
    		printf("Exceed %d%%. Ticket 200", x);
    
    	}
    
    	else {
    
    		printf("Exceed %d%%. License Revoked", x);
    
    	}
    
    	return 0;
    
    }
    

    代码思路:根据题目要求,使车速分别与限速的等级比较,输出结果。
    错误原因:忽略浮点误差,使得答案部分错误。
    学会了:如何避免由于浮点误差而引起的错误,并规范书写代码。

  • 相关阅读:
    Delphi中常用字符串处理函数
    ListView的DrawSubItem时间添加边框,字体变粗问题
    解决d7在更高版本上运行乱码问题,或者是调用更高版本的dll
    使用Indy解决Could not load SSL Library错误
    局域网映射硬盘
    delphi http请求用到的编码方式
    delphi base64编码
    Java基础之抽象类
    ORA-12737: Instant Client Light: unsupported server character set CHS16GBK
    Android TagFlowLayout完全解析 一款针对Tag的布局
  • 原文地址:https://www.cnblogs.com/123123-/p/11673597.html
Copyright © 2011-2022 走看看