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

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

0.PTA总分


1.0本章学习总结

1.1学习内容总结

  • 随机函数的调用
#include<stdlib.h>
#include<time.h>
   srand(time(0))//
   rand()//产生随机数 
   例:rand()%100 //产生[0,99]的随机数
       rand()%100+1//产生[1,100]的随机数
  • 数据类型

  • 输入输出

1.格式化输出函数printf( );:该函数在系统文件stdio.h中声明,一般调用格式为“printf(格式控制字符串,输出参数1…输出参数2);”格式控制字符串用双引号括起来,表示输出的格式,输出参数是一些要输出的数据,可以是常量、变量或表达式。在输出格式控制说明中,可以加宽度限制词,制定数据的输出宽度,以达成一些题目的格式要求,或使输出内容变得整齐、清晰。
2.格式化输入函数scanf( );:该函数同样在系统文件stdio.h中声明,一般调用格式“scanf(格式控制字符串,输入参数1…输入参数2);”格式控制字符串用双引号括起来,表示输入的格式,输入参数必须和格式控制字符串中的格式控制说明相对应,并且类型、个数和位置要一一对应。在需要输入的变量前一定要加上“&”进行取地址运算,否则会出现变量无法读入的情况。
3.字符输入函数getchar( ):设ch是字符型变量,该函数一般调用格式为“ch = getchar( );”功能是从键盘输入一个字符,并赋值给变量ch,但是该函数只能读入一个字符。
4.字符输出函数putchar( ):设ch是字符型变量,该函数一般调用格式为“getchar(输出参数);”功能是输出输出参数的字符型变量或常量,该函数只能输出一个字符。

  • 常用的数学函数
  1. 函数名:abs

    功能:返回整型数的绝对值.

    用法:abs(number)

参数可以是任意有效的数值表达式。如果 number 包含 Null,则返回 Null;如果是未初始化变量,则返回 0.
number

举例:

运行结果:

  1. 函数名:fabs

    功能:求浮点数x的绝对值.

    用法:fabs(double x);

代码举例:

运行结果:

  1. 函数名:sqrt

    功能:返回指定数字的平方根.

    用法:sqrt (double x);
    代码举例:

运行结果:

  1. 函数名:pow

    功能:返回指定数字的指定次幂.

    用法:pow (double x, double y);(将返回x的y次幂)

    返回值:x不能为负数且y为小数,或者x为0且y小于等于0,返回幂指数的结果:

    返回类型: double型,int,float会给与警告!

代码举例:

运行结果:

例:

分支结构

1.二分支语句

(1)省略的if语句

if(表达式)
{
        语句1;
   if(表达式)
{            
        语句2;

}
      return 0;

执行流程:先求解表达式,如果表达式的值为“真”,就执行语句1;否则,则跳到第二个if语句或两个if语句都不执行。

(2)if-else语句

 if(表达式)
{
        语句1;
  else
{            
        语句2;

}
      return 0;

先求解表达式,如果表达式的值为“真”,就执行语句1;否则,就执行语句2。语句1和语句2总要执行一个,但是不会都执行

例:

2.多分支结构

(1)

-  if(表达式1)
{ 
        语句1;
  else if(表达式2)
{            
        语句2;

}
  ......
   else
{
         语句n;
}    
      return 0;

首先求解表达式1,如果表达式1的值为“真”,则进行语句1,并结束整个if语句的执行,否则,求解表达式2......最后的else处理给出条件都不满足的情况,即表达式1,表达式2......表达式n-1的值都为“假”时,执行语句n/font>

(2)swtich语句

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

首先求解表达式,如果表达式的值与某个常量表达式的值相等,则执行该常量表达式后的相应语句段,如果表达式的值与任何一个常量表达式的值都不相等,则执行default后的语句段,最后执行break语句,跳出switch语句.

1.2编程技巧总结

  • 实现两个数交换:
    三个数按一定顺序输出、输出中间数
    引入temple

    例1:
#include<stdio.h>
int main()
{
    int x;
    int y;
    int z;
    int temp;
    
    scanf("%d %d %d",&x,&y,&z);
    if(x>y)
    {
        temp=x;
           x=y;
         y=temp;
    }
    if(x>z)
    {
        temp=z;
        z=x;
        x=temp;
    }
    if(y>z)
    {
        temp=z;
        z=y;
        y=temp;
    }
    printf("x=%d,y=%d,z=%d",x,y,z);
    return 0;
}

例2:

#include<stdio.h>
int main(void)
{
    int num1;
    int num2;
    int num3;
    int temp;
    scanf("%d %d %d",&num1,&num2,&num3);
      if(num1>num2)
  {
       temp=num1;
       num1=num2;
       num2=temp;
  }
     
     if(num1>num3)
  {
      temp=num1;
      num1=num3;
      num3=temp;
     }
     
     if(num2>num3)
  {
          temp=num2;
          num2=num3;
          num3=temp;
  }
     printf("%d\n",num2);
    return 0;
}
  • 造printf语句进行调试

  • if-else语句
    else和if的匹配准则:else与最靠近它的、没有与别的else匹配过的if相匹配。
    if下有两条及以上语句时用大括号括起来

  • switch语句
    case后只能跟常量,结束一条case时要有break
    例:计算天数

  • 分离各位数的方法(五位数的情况)
    万位=n/10000
    千位=n%10000/1000
    百位=n%10000/1000%1000%100
    十位=n%10000/1000%1000%100/10
    个位=n%10000/1000%1000%100/10%10
    例:

  • 判断整除做法
    判断M被N整除:M%N==0
    例:

1.3本章学习体会

本章的学习让我初步认识了编程,内容是很丰富的,也感受到了C语言一定的难度,希望后面有更多课余时间练习pta题目。
实验课题目好难啊啊啊啊。

2.PTA实验作业

2.2计算油费(字符型数据处理)

2.2.1数据处理

  • 字符型常量:服务类型serviceType
  • 整型变量:油量oil、汽油品种oilType
  • 双精度实型变量:所付总金额money

2.2.2代码截图

2.2.3PTA提交列表及说明



没有理解清楚题意,计算公式出现错误,导致部分答案错误。

2.3单步调试

2.3.1单步调试截图

2.3.2代码截图



2.3.3PTA提交列表及说明


totaltime,rabbitDis,turtleDis三个变量没有初始化 导致编译错误。

posted @ 2020-11-07 23:39  SmileCHT  阅读(121)  评论(0编辑  收藏  举报