第一次博客作业

一. 制作思维导图

 

二. 写出自己对以下语法的认识

1.if-else语句:

If(条件){

语句1;

} else {

语句2;

}

用法:判断条件,如成立则运行语句1,如不成立则运行语句2。

常见问题:对于else从属于哪个if不明确,导致代码书写错误等。解决方案:先在编译器上运行发现错误后改正。

2.switch语句:

switch(表达式) {
case 常量表达式1:语句段1;break;

​ …

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

default: 语句段n+1; break;

}

 

用法:根据表达式来在常量表达式中寻找相同,然后执行相应case后的语句段,最后在break跳出。

常见问题:忽略break的用法而导致代码运行异常。解决方案:书写完代码后检查break的书写,查看是否有异。

3.for语句:

 

for(语句1;条件;语句2) {

循环体语句


}

 

用法:语句1通常赋值一个初始量,利用初始量进行条件的判断,如成立则运行循环体语句,跳出循环后再次进行条件判断,接着进行语句2,然后再一次进去循环体语句直到条件不成立。

常见问题:语句1与条件设立不正确,导致循环次数不够达不到题目要求等。解决方案:可以自行进行演算。

4.while语句:

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

用法:进行条件的判断,如成立则进行循环体语句,直到条件不成立则退出循环。

常见问题:对循环次数的不理解导致代码错误。解决方案:认真审题,思考特殊情况时的条件。

5.do-while语句:

do{
循环体语句

}while(条件)

 

用法:与while类似,但是要先执行一次循环体语句,在进行判断。

常见为题:与while类似但不相同,容易混淆。解决方案:多运行while与do-while语句,发现不同。

6.break与continue语句:

 

switch(整形表达式)
{ 
    case 常量表达式1:  语句1;break;
    … 
    case 常量表达式n:  语句n;break;
    default:  语句n+1;

}

for(语句1; 语句2; 语句3)
{
    语句1;
     continue;
    语句2;
        
}

 

用法:break用来跳出最近的一整个循环,而continue则是跳过其后续的循环语句。

常见问题:不能灵活运用break和continue,混淆它们的用法。解决方案:在本地编译器自行运行,发现规律。

 

三. pta分数截图

 

 

 2.3,2.4作业

 

 第三章

 

4.1作业

 

 

四. pta代码分析

1.

 

 

#include<stdio.h>
int main()
{
int n,m;
double sum=0,i=1;
scanf("%d",&n);//输入一个正整数n。
for(m=1;m<=n;m++,i=i+2){//进行一个for循环来计算奇数分之一的和。
    sum=sum+1/i;
}
printf("sum = %.6lf",sum);//最后输出sum,保存6位小数。
    return 0;
}
思路在代码注释中。

感悟:灵活运用for循环可以轻松完成很多代码的书写。

2.

 

 

#include<stdio.h>
int main()
{
    int letter=0,digit=0,blank=0,other=0;//赋值所有的字符数量为0。
    int i;
    char ch;

    for(i=0;i<=9;i++){//用一个for循环来输入10个字符。
        scanf("%c",&ch);//输入一个字符。
        if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) //判断输入的字符,假如大于'a'小于'z'则是英文字母。
               letter++;//英文字母数量加一。
        else if(ch>='0'&&ch<='9') //判断输入的字符,假如大于'0'小于'9'则是数字字符。
               digit++;//数字字符数量加一。
        else if(ch==' '||ch=='\n') //判断输入的字符是否为空格和回车。
               blank++;//空格回车数量加一。
        else 
               other++;//其他字符数量加一。
    }
      scanf("%c",&ch);//再次输入一个字符进入for循环。
     printf("letter = %d, blank = %d, digit = %d, other = %d",letter,blank,digit,other);//输出各个字符数量。

     return 0;
 } 
思路在代码注释中。
感悟:可以使用字符的范围来确定字符属于哪类。

3.

 

 

#include <stdio.h>
int main(void) {
    int temp, sum = 0;
    scanf("%d", &temp);//输入一个整数。
    while (temp > 0) {//判断输入的整数是否大于0,如果大于则进行循环,小于则输入结束。
        if (temp % 2 == 1) {//判断输入的数是否为奇数。
            sum += temp;//如果输入的是为奇数,则进行相加。
        }
        scanf("%d", &temp);//再次输入一个数进行循环。
    }
    printf("%d\n", sum);//最后输出计算的奇数和。
   return 0;
}

 思路在代码注释中。

感悟:while里运用if判断语句可以实现很多题目要求。

 

 

 

 

 

 

posted @ 2019-10-13 11:42  hhs(黄鸿森)  阅读(148)  评论(0编辑  收藏  举报