• 第二次博客作业


    0.展示PTA总分

    1.本章学习总结

    1.1 学习内容总结

    • 学习字符型数据
      1、字符型常量:字符型常量指单个字符,用一对单引号及其所括起的字符表示。如:'a'、'9'、‘¥’。
      (1)每个字符都有唯一的次序值,即ASCII码。
      (2)数字字符'0','1',...,'9'的ASCII码按升序连续排列。
      (3)大写字母'A','B',...,'Z'的ASCII码按升序排列。
      (4)小写字母'a','b',...,'z'的ASCII码按升序排列。
      注意:(1)要区分数字和数字字符,如:1是整型数字,而'1'是字符。
      (2)大写字母与小写字母在ASCII码中不是连续的。

      2、字符型变量:字符型变量定义时用类型名char,例如:
      char op;
      定义了一个字符型变量op,它的值是字符型数据。op='+'是将字符型常量'+'赋给字符型变量op。
      3、字符型数据的输入输出
      (1)调用函数scanf()和printf()输入输出字符,在函数调用的格式控制字符串中相应的格式控制说明为%c。
      (2)字符输入函数getchar():调用该函数可以从键盘输入一个字符。一般调用格式为:
      ch = getchar();
      其功能是从键盘输入一个字符,并赋值给变量ch。
      (3)字符输出函数put char():调用该函数可以输出一个字符。一般调用格式为:
      putchar(输出参数);
      其功能是输出参数是字符型变量或者字符型常量。
      注意:(1)输入表达式时,在操作数和运算符之间不能出现空格(' ')。如果输入空格,因为%c表示要读入一个字符,而空格本身也是一个字符,因此空格会被作为输入字符。
      (2)getchar()只能读入一个字符,如果要输入多个字符,就需要多次调用。
      (3)函数getchar()和putchar()只能处理单个字符的输入输出,即调用一次函数,只能输入或输出一个字符。

      简单案例:
    int i;
    char c;
    for (i = 0;i < 10;i++)
    {
    c = getchars();
    putchar(c);
    putchat('!');
    }
    
    • 学习随机函数的使用
    stand(time(0));//初始化随机数
    rand()%100;//随机产生0~99的随机数
    

    1、每次召唤"rand()"就得到一个随机整数。

    #Include <stdio.h>
    #Include <stdlib.h>
    #Include <time.h>
    int main()
    {
    stand (time(0));
    int a = rand();
    printf ("%d
    ",a);
    return 0;
    }
    

    2、x%n的结果是[0,n-1]的一个整数。

    • 关系运算
      1、运算符有<,<=,>,>=,= =,!= 。
      2、用关系运算符将两个表达式连接起来的式子,称为关系表达式,若关系表达式成立则结果为1,否则为0。
      注意:==是关系运算符,用于比较两个操作数是否相等;而=是赋值运算符,表示对变量赋值。
      联想:
      if (表达式)
      其中“表达式”中结果为非0就会进入分支。
      如:
      if(1)或者if(231%10)都会进入分支。
    • 逻辑运算符
      1、逻辑运算符有!,&&,||。
      2、设A和B表示逻辑运算对象,逻辑运算符的功能描述如下:
      !A:如果A为真,结果是假;如果A为假,结果是真。
      A && B:当A和B都为真时,结果是真;否则结果是假。
      A || B:A和B都为假时,结果是假;否则结果是真。
      注意:(1)逻辑运算符的优先级低于关系运算符。
      (2)若a=12,则!a = 0,而!!a=1。

    1.2 编程技巧总结

    1、取出某一整型数字a的个位数:a = a%10;
    2、去除某一整型数字a的个位数:a = a/10;
    3、判断整除:a%b = = 0;若结果为1则a整除b,若结果为0则a不整除b。
    4、循环次数较多时运用printf()调试;
    5、写运算表达式时多使用空格和(),"{"、"}"均占一行。
    6、使用驼峰命名法代码和多注释增强代码可读性。

    1.3 本章学习体会

    • 学习感受:
      1、对一些较细节的知识点不是很理解,如不清楚编译预处理命令的作用。
      2、部分题目逻辑较难理清。
    • 不理解的地方:
      对随机数的使用及其知识点的细节不是很清楚。
    • 代码量:
      PTA中顺序结构、分支结构及实验作业。

    2.PTA实验作业

    2.1前天是哪天

    • 数据处理:
      用了整型变量年份year,月份month,日期day,字符型变量_。
    • 代码截图:












    • 提交列表:

      没有问题。

    2.2 12-24小时制

    • 数据处理:
      定义了整型变量12小时制的小时hour1,24小时制的小时hour2,分钟minute,字符型变量存储“:”的N,及用以12小时制的'A'or'P'。
    • 代码截图:

    • 提交列表:

      Q:在编译器写的scanf("%d%c%d",&hour24,&N,&minute);scanf("%d:%d",&hour24,&minute);
      A:后来发现“:”必须用一个字符型变量表示。

    单步调试:

    Q:我会用编译器VS上的单步调试,但是我的电脑是MacBook,我目前使用的编译器是XCode(翁凯老师推荐),Xcode编译器为全英文,我还不会用Xcode编译器上的单步调试。
    A:但我会使用printf调试。

    • 龟兔赛跑:
      数据处理:
      乌龟的爬行距离turtleDis,兔子爬行距离rabbitDis,时间time,总时间totalTime。
      代码截图:


      提交列表:

      Q:没有考虑到兔子休息不到30min的情况。
      A:使用printf调试发现。
  • 相关阅读:
    wsl手动启动特定的子系统
    winserver安装wsl
    wsl子系统下载地址-补充centos7地址
    wsl (1)-含wsl子系统各启动命令
    win10系统版本说明
    zenith 以及海康 rtsp流
    shinobi (4)
    ffmpeg
    CF993A Two Squares 几何 第二道 暴力或判断条件(*)
    CF994B Knights of a Polygonal Table 第一道 贪心 set/multiset的用法
  • 原文地址:https://www.cnblogs.com/05dgx/p/13944838.html
Copyright © 2020-2023  润新知