第二次博客作业

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\n",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调试发现。
posted @ 2020-11-08 16:45  巫云☁️  阅读(202)  评论(0编辑  收藏  举报