凉城有梦

导航

 

0.展示PTA总分
顺序结构

分支结构

1.本章学习总结

1.1学习内容总结

1.学会了注释要用注释符:/* */

   '''
    int celsius,fahr;/*定义两个整型变量,celsius表示摄氏度,fahr表示华氏度*/
    fahr=100;/*对变量fahr赋值*/
    celsius=5*(fahr-32)/9;/*温度转换计算*/
   '''

2.学习了几个c语言中常用的数据类型

    int(整型)、char(字符型)、float(单精度浮点型)、double(双精度浮点型)
    float和double区别:double型数据占用空间更大,精度更高,取值范围更大。
    浮点型数据:%f(保留6位小数)、%.2f(保留2位小数)

3.学习了几个运算符

    双目算术运算符:+(加)、-(减)、*(乘)、/(除)、%(求余)
    关系运算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、!=(不等于)
    逻辑运算符:!(非)、&&(与)、||(或)

4.学会使用if-else语句

```
   if (x >= 0)
{
	y = sqrt(x);
}
else
{
	y = pow(x + 1, 2) + 2 * x + 1.0 / x;
}
 ```

5.学会了格式化输入函数

    变量名前加&,如&x。
    格式控制说明:int型数据使用%d,float型数据使用%f,double型数据使用%lf.

6.学习了几个常用数学函数

    平方根函数sqrt(x)。如sqrt(4.0)的值为2.0。
    绝对值函数fabs(x)。如fabs(-3.56)的值为3.56。
    幂函数pow(x)。如pow(1.1,2)的值为1.21。
    指数函数exp(x)。如exp(2.3)的值为9.974182。
    以e为底的对数函数log(x)。如log(123.45)的值为4.815836。

7.学习了for语句

    for语句中的fahr++相当于fahr=fahr+1。
    for(表达式1;表达式2;表达式3)
          循环体语句
    例:
    ```
        for (i = 1; i <= n; i++)
{
	number = number * 10 + a;
	sum = sum + number;
}
    ```

8.学会了二分支结构和多分支结构

二分支结构一般形式:

        if (表达式)
            语句1;
        else
            语句2;
        例:
    ```
            if (x % 2 == 0)
    {
	printf("yes");
    }
        else
    {
	printf("no");
    }
    ```

多分支结构的一般形式:

        if (表达式1)
            语句1;
        else if (表达式2)
            语句2;
        ...
        else if (表达式n-1)
            语句n-1;
        else
            语句n;
        例:
    ```
            if (x >= 90
        {
	printf("A");
     }
        else if (x < 90 && x >= 80)
     {
	printf("B");
     }
        else if (x < 80 && x >= 70)
     {
	printf("C");
     }
        else if (x < 70 && x >= 60)
     {
	printf("D");
     }
        else if (x < 60)
     {
	printf("E");
     }
    ```

9.学习了字符型数据

    字符型常量表示如:'a'、'9'、'$'
    字符型变量:定义时用类型名char,例如:char  op;

10.学会了swith语句

1.每个语句段中都使用break语句,一般形式为:

        swith (表达式) {
                case  常量表达式1:语句段1; break;
                case  常量表达式2:语句段2; break;
                                ...
                case  常量表达式n:语句段n; break; 
                default:                     语句段n+1; break; 
        }
        例:
    ```
        switch (month)
	{
	case 01:
		days = day;
		break;
	case 02:
		days = 31 + day;
		break;
	case 03:
		days = 31 + 29 + day;
		break;
	case 04:
		days = 31 * 2 + 29 + day;
		break;
	case 05:
		days = 31 * 2 + 30 + 29 + day;
		
		break;
	case 06:
		days = 31 * 3 + 30 + 29 + day;
		
		break;
	case 07:
		days = 31 * 3 + 30 * 2 + 29 + day;
		
		break;
	case 8:
		days = 31 * 4 + 30 * 2 + 29 + day;
		
		break;
	case 9:
		days = 31 * 5 + 30 * 2 + 29 + day;
		
		break;
	case 10:
		days = 31 * 5 + 30 * 3 + 29 + day;
		
		break;
	case 11:
		days = 31 * 6 + 30 * 3 + 29 + day;
		
		break;
	case 12:
		days = 31 * 6 + 30 * 4 + 29 + day;
		
		break;
	}
        ```

2.不使用break语句,一般形式为:

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

11.学习了嵌套的if-else语句

        一般形式为:
        if (表达式1)
                if (表达式2) 语句1;
                else   语句2;
        else
                if (表达式3) 语句3;
                else   语句4;
        例:
        ```
          if (x>=85 && y>=55 && z>=55 && m>=85 && x+y+z+m>=305)
	if (x + y + z + m >= 370)
	{
		printf("A");
	}
	else
	{
		printf("B");
	}
     else
       {
	printf("C");
       }
        ```
        else和if的匹配原则:
            else与最靠近它的、没有与别的else匹配过的if相匹配。

1.2本章学习体会

通过这两三周的学习,让我初步了解了c语言,学会了一些简单的编程,不在像假期那样一无所知。随着知识的不断深入,我渐渐感觉到了有点吃力,开始问同学,希望在以后我能慢慢追赶上来!

pta上的题目让我改正了许多编程上的错误和不规范,同时也让我对vs的使用更加熟练。

我的代码量

        4,5周:535行

2.PTA实验作业

2.1 判断一个三位数是否为水仙花数

2.1.1数据处理

        1.定义整型数据个位g、十位s、百位b、输入数据N。
        2.输入一个整数N。
        3.利用表达式g = N % 10;s = N / 10 % 10;b = N / 100;算出个位、十位、百位。
        4.利用嵌套的if-else结构判断输入的数是否是水仙花数。先判断是否是三位数,若是,则继续判断是否是水仙花数;若是水仙花数,输出Yes,若不是,输出No;若不是三位数,输出Invalid Value!

2.1.2代码截图


2.1.3本题可扩展功能

            本题还可用swith语句替换嵌套的if-else语句。

2.1.4PTA提交列表及说明

            虽然一次就提交成功,但是是在同学的帮助下在VS上经过多次调试最终才搞定的!

2.2 输出三角形面积和周长

2.2.1数据处理

         1.定义整型变量边长a、b、c和浮点型变量area、s、perimeter。
         2.输入边长a、b、c。
         3.运用if-else结构判断是否是三角形。若是,则运用公式area=√​s(s−a)(s−b)(s−c)​​,其中s=(a+b+c)/2算出area和perimeter,保留两位小数输出area和perimeter;若不是三角形,输出These sides do not correspond to a valid triangle。

2.2.2代码截图

2.2.3本题可扩展功能

            本题可判断是否是直角三角形


2.2.4PTA提交列表及说明

        一开始公式写错,我通过观察,又添加监视之后找到错误。
        后来又是有一个小数位数不对,我通过调试之后发现错误。

2.3 判断偶数

2.3.1数据处理

         1.定义整型变量a、yes、no。
         2.输入一个整数a。
         3.运用if-else结构判断是否是偶数。若是,输出yes;若不是,输出no。

2.3.2代码截图

2.3.3本题可扩展功能

           本题可判断是否为奇数

2.3.4PTA提交列表及说明

        一开始编译错误,后来问了同学才改过来;
        然后又通过VS调试才改正确。

3.阅读代码


功能:把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?
优点:有注释;代码结构整齐紧凑;变量名规范;大括号换行规范。

posted on 2019-10-07 19:38  凉城有梦  阅读(305)  评论(3编辑  收藏  举报