0.展示PTA总分

顺序结构
选择结构

1.本章学习总结

1.1 学习内容总结

第一章

  • printf(“···”)输出语句会把“”中的字符串原样输出,也可以加%进行四则运算,即%d或者%f是求值,求printf(“···”,···)中,后面的值。
  • \n是在输出内容后再空一行。
  • 自定义或者其他变量都有自己的数据类型,比如四种整数类型(byte、short、int、long)、两种浮点数类型(float、double)、一种字符类型(char)等。
  • c语言程序设计基本由数据表达和数据处理来构成,数据表达即定义数据以供使用,数据处理是程序主体,在流程控制中,我们已经见到了顺序、分支(if else等)和循环(for、while、do while)3种基本控制结构。
  • 标识符(标识符由字母、下划线、数字这三个方面组成,但开头必须是字母或下划线。
    另外,关键字不能是标识符,如main等)有:byte、short、int、long、float、double、char、boolean、n等。
  • 常量有数据类型,常量是指在程序运行中不能改变的数据,有整型常量、实型常量、字符常量等。
  • 运算符有:+、-、*、/、&&、>、<、||等,有优先等级之分。
  • 每条语句最后要加分号;来执行运算。
  • 用一对大括号{}将若干语句顺序组合在一起就形成了一个复合语句。
  • scanf输入语句的基本形式是scanf(“%d或者%f”,&输入内容),&非常重要。

第二章

  • 可以用来注释文本的符号有:/```/和//。
  • return 0;的作用是结束主函数的运行,并向系统返回0,作为程序的结束状态。
  • float和double的区别在于double型数据占用空间和精确度都更大。
  • C语言中变量的含义和数学中变量的含义不同。C语言中的变展在数学上是错误的,在C语言中却表示把变量x的值加1,然后再保存到x中。例如,x=x+1。
  • C语言区分大小写字母, 它认为fahtr 和Fahr是不一样的。
  • 赋值表达式:变量=表达式; 赋值运算符的左边必须是一个变量。=是赋值运算符。
  • printf(“%d %f”,a,b)中%d、f和a、b是一一对应的。
  • ==是关系运算符,用于比较两个操作数是否相等;而=是赋值运算。
  • if else语句的一般形式为:
    if (表达式)
    语句1;
    else
    语句2;
  • for循环语句基本形式:
    for(表达式1;表达式2;表达式3)(注意这里没有分号)
    循环体语句
    表达式3在循环语句后执行。还要有变量的初始值。
  • %求余运算在整数间进行。
  • 平方根函数sqrt (x),绝对值函数fabs (x),幂函数pow(x,n),指数函数exp (x),以e为底的对数函数log (x): 计算Inx。

第三章

  • if else语句适用于二分支结构,而else-if语句适用于多分支结构;else-if的一般形式为:
    if (表达式1)
    语句1;
    else if (表达式2)
    语句2;
    ···
    else if (表达式n-1)
    语句n-1;
    ···
    else
    语句n;
  • 要区分数字和数字字符, 例如,1是整型数字,而1是字符。2字符型变量
    字符型变量在定义时用类型名char,例如:
    char op;
    定义了一个字符型变量op,它的值是字符型数据。op='+'将字符型常量'+"赋给字符型变量op。
  • 字符输人函数getchar ()
    调用字符输人函数getchar ()可以从键盘输人一个字符。设c是是字符型变量,函数getchar ( )的一般调用格式为:ch=getchar ();
    其功能是从键盘输人一个字符,并赋值给变量ch。
    由于函数gelchar ()只能读人一个字符,如果要输人多个字符,就需要多次调用该函数,-般采用循环调用的方式。例如以下程序段:
    char ch;
    for (i=0; i< 10; i++)
    ch=getchar ( );
    语句ch=getchar ()被循环调用了10次,共读入10个字符。
  • 字符输出函数putchar()
    调用字符输出函数putchar ()可以输出一个字符。函数putchar ()的般调用格式 为:
    putchar (输出参数);
    其功能是输出参数是字符型变量或字符型常量。
  • switch语句:
    在swich语句的每个语句段中都使用break语句这是switch语句的主要使用方法,一般形式为:
    switch (表达式){
    case常量表达式1:语句段1; break;
    case常量表达式2:语句段2; break;
    ···
    case: 常量表达式n:语句段n; break;
    default: 语句段n+1; break;
    }
    如果不使用break,不但执行对应语句,还执行后面的语句。

第四章

  • while语句和do-while语句:
    while语句是先判断条件,条件满足后才执行循环体; do while语句是先执行循环体,后判断循环条件,
    do while语句至少执行一次,但while语句可能1次都不执行。
    *contimue语句和break语句:
    contimue语句和break语句的区别在于,break结束循环,而continue 只是跳过后物语句继续循环。break 除了可以中止循环外,还用手switch语句,而continue只能用于
    循环。

1.2 本章学习体会

可能是对文字理解能力的下降,感觉c语言的学习有些吃力,但是努力在跟,感觉还是很容易遗漏一些很重要哦的知识点,比如scanf语句中常常遗漏&导致出错,感觉可能此专业是真的需要每天都要投入大量时间来练习代码,然后熟练度达到一定水平之后可能就比较容易游刃有余,对此专业真的有点爱恨交织,会更加严格的要求自己。

2.PTA实验作业

2.1 7-7 计算银行存款的本息

  • 本题目要求计算银行存款的本息,计算公式为sum=money×(1+rate)
    ​year
    ​​ ,其中sum为存款到期时的本息合计(税前),money是存款金额,year是存期,rate是年利率。

2.1.1 数据处理

  • 数据表达:
    1.int money,存储输入的存款金额数;
    2.int year;存储输入的存期;
    3.double rate,存储输入的年利率;
    4.double sum,为本息合计做存储准备;
  • 数据处理:
    一个输入语句,一个赋值表达式,一个输出出口;

2.1.2 代码截图

2.1.3 pta提交列表及说明

Q1.第一次提交时忘记了&符号,
A.改正后进行第二次提交,
Q2.发现没有带空格,
A.改正后答案正确。

2.1.4本题可扩展功能

可以根据所知的数据来计算所得的利润:

2.2 7-6 出租车计价

本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:

起步里程为3公里,起步费10元;
超起步里程后10公里内,每公里2元;
超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)

2.2.1 数据处理

  • 数据表达:
    1.double distance;存储里程数;
    2.int time;存储时间;
    3.double money1;存储情况一的可能结果;
    4.double money2;存储情况二的可能结果;
    5.double money3;存储情况三的可能结果;
  • 数据处理:
    一个输入语句,两个else-if结构,一个输出出口;

2.2.2 代码截图

2.2.3 pta提交列表及说明


Q1.time的条件搞错;
A.把time改成如图的两种情况;
Q2.第三个语段用的else;
A.改成了else if;

2.2.4 本题可扩展功能

可以用来计算t>10时每5分钟3元的情况:

2.3 7-12 判断一个三位数是否为水仙花数

本题要求编写程序,判断一个给定的三位数是否为水仙花数。三位水仙花数,即其个位、十位、百位数字的立方和等于该数本身。

2.3.1 数据处理

  • 数据表达
    1.int N;定义输入的整数;
    2.int bit;储存个位数;
    3.int hundred;存储百位数;
    4.int ten;存储十位数;
  • 数据处理
    一个输入语句,两个if else结构,3条输出语句。

2.3.2 代码截图

2.3.3 pta提交列表及说明


Q1.最后的输出语句没有加!
A.加上了感叹号以后提交。
Q2.if()中的条件没有用&&连接,
A.添加&&后答案正确。

2.3.4 本题可扩展功能

可以利用这个原理计算更多整数的定义也可以换平方的定义:

3.阅读代码

题目:

题解:

  • 代码功能:
    对于给定的采用”yyyy/mm/dd”加24小时制(用短横线”-”连接)来表示日期和时间的字符串,将其转换成”mm/dd/yyyy”加12小时制格式的字符串。
  • 优点:用了getchar语法,比其他语法要相对简单一点,
    每个变量对应的语法都是唯一的,简单易懂。