代码改变世界

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

2020-11-08 16:56  米奈希尔。  阅读(131)  评论(0编辑  收藏  举报

| 这个作业属于哪个班级 | C语言--网络2011/2012 |
| ---- | ---- | ---- |
| 这个作业的地址 | C博客作业00--顺序分支结构 |
| 这个作业的目标 | 初步认识C语法,掌握数据表达、printf、scanf语法及分支结构内容。 |

0.展示pta总分

顺序

1.本章学习总结。

1.1本章学习内容总结。

  • scanf//从键盘读取输入的数据赋值给后面的自定义符号,需要取地址符&来实现赋值。
    语法:scanf(“相应类型的格式)”&自定义变量);
    例如:scanf("%d",&num);
  • printf//输出需要输出的东西
    语法:printf(“需要输出的东西(可以加格式符)”);
    例子:printf(“输出需要的东西 %d”,num);
#include <stdio.h>
int main()
{
    int num;
    scanf("%d",&num);
    printf("输出需要的东西%d",num);
    return 0;
}

  • if,else,else if//条件语句
    语法:
1.单分支的时候。
if(条件)
{
      语句;
}
else//和if配套使用
{
      语句;
}
2.多分支的时候。
if(条件)
{
      语句;
}
else if(条件)
{
      语句;
}
.....
else//最后一个不需要条件
{
      语句;
}
例子.
#include <stdio.h>
int main()
{
	float x, r;
	scanf("%f", &x);

	if (x <= 50 && x >= 0)
	{
		printf("cost = %.2f", 0.53*x);
	}
	else if (x < 0)
	{
		printf("Invalid Value!");
	}
	else {
		r = 0.53 * 50 + (x - 50)*0.58;
		printf("cost = %.2f", r);
	}
	return 0;
}
  • 3.switch语句。
    语法:
switch()//(一般配合break使用)
      case (语句(相当于条件,一般为数字或子母,不能写范围)):
      语句;
      break;
      default(排除以上条件的情况):
      语句;
      break;
例子.
        switch(n)
        {
            case 1:price=3.00;
                break;
            case 2:price=2.50;
                break;
            case 3:price=4.10;
                break;
            case 4:price=10.20;
                break;
            default:price=0.00;
                break; 
        }

1.2编程技巧总结。

1.取一个数的个位。

num1=num2/10;//num2的个位赋值给num1

2.判断整数。
float num=(任意数)
if(num==(int)num)//int会自动把小数去掉
printf("是整数");
else
printf("不是整数");
3.判断素数.
 for(i=2;i<=n/2;i++)//除到一半就可以了
    {
        if(n%i==0)//这个数除以2到这个数一半都不能整除,这个数就是素数。
        {
        i=0;
        break;
        }
    }
    if(i==0)printf("%d不是素数",n);
    else printf("%d是素数",n);

1.3本章学习感受。

学习效果还行,觉得原来看起来跟天书一样的代码也看的懂了。
代码量200行左右。

2.PTA实验作业。

2.1 前天是哪天

2.11数据处理
  • 1.数据表达:
    • 用了year,mouth,day,Day。根据实际而来,都是int型。
  • 2.数据处理:
    • 就是想各种情况,然后用if-else来实现。
2.1.2 代码截图

2.1.3 PTA提交列表及说明

  • 看到这题目,我就觉得这是一个要用各种条件来实现的题。然后就是想各种情况,再就是配合vs来就行运行来试错。因为一开始想的比较简单,但提交后发现测试点很多,然后就根据测试点来一个一个实现。接着就是不断试错的过程。这道题虽然比较麻烦,但也是属于比较简单的题,只要条件限制对了,就可以了。

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

2.2.1 数据处理
  • 数据表达
    用了letter,blank,dight,other,是int型,还有ch,是字符型。
    • 数据处理
    • 就是把条件都列好,不要缺漏,然后用if-else来实现。
2.3.2 代码截图

2.3.3 PTA提交列表及说明

  • 这个题目总体没有什么问题,前面就是回车符号没搞清楚然后blank和dight搞反了所以提交了很多遍,最后又非常认真地检查了代码一遍才看出来。

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

2.3.1 单步调试截图


先写了个大概的代码,运行之后发现错误,百度了一下,知道函数里的变量改变不影响外面需要改成下面这样子才行。

然后就是输入数据进行调试,调试过程中可以设置断点来帮助完成,还可以通过观察窗来了解输入的变量的变化情况。然后就是根据错误来进行一个一个的改错。

2.3.2 代码截图

2.3.3 PTA提交列表及说明

  • 错误原因都是条件限制的不够充分,添加适当的条件就可以得到正确的答案。