C博客作业00--顺序分支结构

0. PTA总分


1.本章学习总结

1.1学习内容总结

  1. 分支结构
  • if语句
if (条件) 
{           
条件成立执行的语句;
}
if (条件) 
{           
 成立时执行代码;
} 
else 
{            
不成立时执行的代码;
}
if (条件) 
{           
成立时执行代码; 
} 
else if (条件n) 
{            
条件n成立时执行的代码;      
} 
else 
{            
不成立时执行的代码;       
}
* switch语句
switch(表达式)
{
      case 常量表达式1:语句段1;break;
      case 常量表达式2:语句段2;break;
      case 常量表达式3:语句段3;break;
      ··· ··· ···
      case 常量表达式n:语句段n;break;
      default:        语句段n+1;break;
}

注:switch语句若没有break会一直向下执行,关于这一特性在写代码时还有妙用,在编程技巧总结中具体说明。
2.常用函数

函数 功能 使用方法
pow 求幂函数 pow(x,y)
sqrt 求平方根 sqrt(x)
fabs 求绝对值 fabs(x)
exp 求e的幂函数 exp(x)

1.2 编程技巧总结

  • 取某一位数个位做法
    若是整型变量直接用%10取余10即可得到个位
    若是浮点型变量先用(int)强制整形再使用整型变量的方法即可
  • 判断整除做法
    若取余后==0,则整除
    若取余后!=0,则不整除
  • 用%e可以使用科学计数法
  • 变量值交换
#include <stdio.h>
int main()
{
    int x, y, z;
    int t;
    scanf("%d %d %d", &x, &y, &z);
    if (x > y) {
        t = x;
        x = y;
        y = t;
    }
    if (x > z) {
        t = x;
        x = z;
        z = t;}
        if (y > z) {
            t = y;
            y = z;
            z = t;
        }
        printf("x=%d,y=%d,z=%d
",x,y,z);
    return 0;
}

在这道由小到大输出三个数的题目中,巧妙引入一个变量t,通过三个变量首尾相连的方式实现了交换。

  • switch语句的妙用
#include <stdio.h>
int main()
{
    int y, m, d;
    int sum=0;
    scanf("%d/%d/%d", &y, &m, &d);
    if(1<=m&&m<=12)
        switch (m - 1)
        {
        case 11:sum += 30;
        case 10:sum += 31;
        case 9:sum += 30;
        case 8:sum += 31;
        case 7:sum += 31;
        case 6:sum += 30;
        case 5:sum += 31;
        case 4:sum += 30;
        case 3:sum += 31;
        case 2:
            if (y%4==0 && y % 100 != 0 || y % 400 == 0)
                sum += 29;
            else
                sum += 28;
        case 1: sum += 31;
            break;
        }
    sum += d;
    printf("%d", sum);
    return 0;
}

在这道计算天数的题目中,这种做法十分灵活巧妙地运用了switch语句的特性,省去了自己一个月一个月算的过程,十分牛逼。

1.3 本章学习体会

  • 学习感受
    由于暑假时间被其他事情所占用,开学的时候C语言几乎是零基础,所以最近加班加点,学得特别累。现在进度虽然跟得上,但看得多练得少,深感自己编程能力欠缺。
  • 这两周的代码量
    这两周基本都在线上线下学知识,除了PTA布置的题目外,基本上没啥代码量。

2.PTA实验作业

2.1 前天是哪天

这题我还没整出来。。但是刚刚听完智凯学长的讲解,我觉得再整半个小时肯定能整出来,等我交完博客后再去整整。

2.2 自选一题,内容要和字符型数据处理有关的题目

2.2.1 数据处理

int N, i;//整型变量
char s;//字符型变量

2.2.2 代码截图

2.2.3 PTA提交列表及说明


这道题之前听老师讲过,但是对两个scanf之间插入getchar()的操作还不是很理解,只能先把这个知识点记住。

2.3 自选一题,介绍单步调试如何检查错误

2.3.1 单步调试截图


不会上传GIF。。

2.3.2 代码截图

2.3.3 PTA提交列表及说明

原文地址:https://www.cnblogs.com/letmee/p/13946365.html