zoukankan      html  css  js  c++  java
  • 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
    ",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三个变量没有初始化 导致编译错误。

  • 相关阅读:
    面向对象基本原则
    策略模式
    简单工厂模式
    高内聚、低耦合
    UML在代码中的展现
    使用commons-csv简单读写CSV文件
    java反射机制
    SrpingDruid数据源加密数据库密码
    markdown学习经验
    Vue.js学习笔记
  • 原文地址:https://www.cnblogs.com/chtdeboke/p/13928408.html
Copyright © 2011-2022 走看看