s0815

第十组 chap3学习总结

一,学习内容梳理

1,C语言分支结构

     1,switch case语句

      switch的一般形式如下:

switch (表达式)
{
    case 常量表达式1:    语句1
    case 常量表达式2:    语句2
       ┇
    case 常量表达式n:    语句n
    default:        语句n+1
}

      PS:1) switch 后面括号内的“表达式”必须是整数类型。

               2) switch 下的 case 和 default 必须用一对大括号{}括起来。

               3)default 后面可以什么都不写,但是后面的冒号和分号千万不能省略,省略了就是语法错误。

     2,if else语句

      a,if的一般形式如下:

if(表达式)
    执行语句
或

if(表达式){
    执行语句1
    执行语句2
    ...
    执行语句n
}

if:判断表达式内容,如果为true(真),就执行语句。

      b,else if的一般形式如下:

if(表达式)
    执行语句
else if(表达式1)
    执行语句1
......(很多的else if)
else if(表达式n)
    执行语句n

else if:如果if的判断没有通过,则进行下面的else if,如果当前的else if判断通过,则执行当前else if的语句。

              如果没通过,则一直执行下面的else if判断。

      c,else的一般形式如下:

if(表达式)
    执行语句
else if(表达式)
    执行语句
else 
    执行语句

else:else为最后的分支,如果在else之前的if、else if判断都没有通过就会执行else。

PS:在一条if条件判断中,可以有无数条else if,但是只能有一个else。

2,C语言循环结构

     1,while语句

        while语句的一般形式如下:

while(表达式)

{

循环语句1;

循环语句2;

…

循环语句N;

}

PS:while语句先判断再执行语句,do while语句则先执行一次语句再判断。

     2,do while语句

        do while语句的一般形式如下:

do {
循环语句1;

循环语句2;

…

循环语句N;

}
while(条件语句);

PS:“while(条件语句)”后面的';'千万不能漏掉噢。

     3,for语句

      for的一般形式如下:

for(循环变量赋初值;循环条件判断;循环变量值变化)
{
    语句1;
    语句2;
    语句3;
    …………;
} 

二,PTA做题时出现的问题及解决过程

1,出现的问题

     1,格式错误

例:计算表达式 1 + 2 + 3 + ... + 100 的值

#include <stdio.h>
int main()
{
    int a;
    int s = 0;
    正确写法:for(a=1;a<=100;a++)
    错误写法:for(a=1,a<=100,a++)
   {
        s += a;
    }
    printf("sum = %d",s);
    return 0;
}

         解决过程:根据编译器提供的信息,找到错误并修改。

         PS:循环变量赋初值,循环条件判断,循环变量值变化之间要用  ;隔开!!!

     2,多个循环错误嵌套

例:计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和

方法之一:
#include <stdio.h> int main() { double a,N; double S = 0; scanf("%lf",&N); 错误写法:for(a=1;a<=N*3;a+=6) { S += pow(a,-1); for(a=4;a<=N*3;a+=6) { S -= pow (a,-1); } } 正确写法: for(a=1;a<=N*3;a+=6) { S += pow(a,-1); } for(a=4;a<=N*3;a+=6) { S -= pow (a,-1); } printf("sum = %.3f",S); return 0 ; }

   思路:先将所有正项加起来,再将所有负项加起来。

   错误解决过程:首先取N为一较小的数,人工计算S的值,再通过调试,发现S值的异常,找到问题所在,发现循环错误嵌套,最后将两个循环分离从而解决问题。

2,未解决的问题

     1,多重嵌套循环难以理解,无法合理设置内外循环

       例:用嵌套循环寻找水仙花数。

三,结语

       学习C语言不要心急,要循序渐进,须知欲速则不达的道理。千万不要盲目的写大量的代码,这样做只会堆出大量的低档次代码,同时使你形成不好的代码习惯。

可以多看看翁恺老师等的教学视频,多向他人请教从而不断进步。

        最后,祝我们都有一个美好的未来!

posted on 2022-10-09 17:36  luckyps  阅读(90)  评论(2编辑  收藏  举报

导航