1.展示PTA总分

2.本章学习总结

①C语言数据类型

② if-else语句

if (条件)
{
语句A;
}
else
{
语句B;
}
  • 在if (条件)后不加“;”
  • 要用“{ }”将语句括起,使程序整洁且不易出错。
  • else是对最近的if的否定。

③输入输出函数

  • 函数scanf( )和printf( )可处理整型数据、浮点型数据、和字符型数据的输入与输出。
  • 表达式包括两个操作数和一个运算符时,在输入数值时不能在数与运算符之间出现空格,因为空格也算一个字符。
  • 字符输入函数getchar( )
    • 一般调用格式为ch=getchar( )即输入一个字符,赋予变量ch。
    • 只能读入一个字符,若需输入多个字符,需要多次调用,一般采用循环结构。,例如:

      char ch;

      for (i=0;i<0;i++)

      char=getchar( );
  • 字符输出函数putchar( )可输出一个字符,输出结果中字符两侧没有单引号。

④逻辑运算符

  • 逻辑表达式的值是1或0即真或假。
  • 逻辑运算符&&和||的优先级低于关系运算级,即(ch>='a')&&(ch<='z')等价于ch>='a'&&h<='z'。

⑤switch语句

switch (表达式)
{
case 常量表达式A:语句段A;break;
case 常量表达式B:语句段B;break;
........
default:语句N;break;
}
  • 所有的常量表达式都不相等。
  • 表达式和常量表达式的值一般是整型或字符型。
  • 语句段可包括多条语句,也可为空。
  • 若无default,则什么都不执行。
  • case后只能等值判断,不能加条件。
  • 若无break,则程序会顺下去走一遍。

⑥宽度限定词

  • 整型数据:%md,m即输出宽度(包括符号位)
  • 实型数据:%m.nf,指定了输出浮点型数据时保留n位小数,且宽度为m。
  • 若数据小于m,左端补空格;若数据大于m,按实际位数输出。

⑦for语句

for (表达式A;表达式B;表达式C)
{
循环体语句;
}
  • for后无“;”。
  • 表达式A:赋初值。
  • 表达式B:条件。
  • 表达式C:变值。
  • 仅由一个“;”组成的语句称为空语句,什么也不做。

⑧常见数学函数

  • 平方根函数sqrt(x),如sqrt(4.0)的值为2.0。
  • 绝对值函数fabs(x),如fabs(-3.56)的值为3.56。
  • 幂函数pow(x,n),如pow(1.1,2)的值为1.21。

    -指数函数exp(x),如exp(2.3)的值为9.974182。
  • 以e为底的对数函数log(x),如log(123.45)的值为4.815836。
  • 调用数学函数要在加#include <math.h>

3.学习体会

我是被一路虐过来的,把书上的内容灵活地应用到实际操作中是真的魔鬼,PTA中的题目我能一遍就编对的不超过七道,但还好,比起刚开始我至少对C语言这玩意儿不会感到陌生了。总归还是得练,天天练,脑子才能慢慢适应C语言的思维方式。

4.PTA作业

①判断一个数是否为水仙花数

  • 数据处理:

    • N表示输入的三位数。
    • bit表示该数的个位数。
    • tan表示该数的十位数。
    • hundred表示该数的百位数。
    • 依题意,都是int整数型。
  • 代码截图:

  • 本题可拓展内容:

    可进一步改进成输出所有符合水仙数规则的三位数。

    做法:加一个for循环节。
  • PTA提交列表及说明

  • 第一次编译错误是忘了加scanf ("%d",&N);的“&”。
  • 第二次答案错误是我对“该数不是三位数时”的判断条件错误。

**②考研录取情况 **

  • 代码截图:

  • 数据处理:

    • mathematics表示数学成绩。
    • english表示英语成绩。
    • politics表示政治成绩。
    • specializedCourse表示专业课成绩。
    • totalScore表示总成绩。
    • 依题意,均定义为int型。
  • 本题可拓展内容:

    可在输出A、B、C等级的同时输出该考生的各科成绩及总分,若有某科不达线,可重点标出。
  • PTA提交列表及说明

  • 本题的部分错误源于我在判断B情况时只用了if而不是else if,导致判断C情况时只实现了对B情况的否定而没有否定A情况,因此会出现A、C同时出现的错误输出。

③特殊a串数列求和

  • 代码截图:

  • 数据处理:

    • 依题意,将a、n定义为int型。
    • 定义i为int型,达到循环目的。
    • 定义t为int型,实现a到aa再到a⋯a(n个a)的变化,并依次赋值予t。
    • 定义s为int型,将每一次t的值相加,完成题目要求。
    • 本题可拓展内容:
      • 本题先设一个t将所有加数的值都暂时存储起来,再由s将其相加的思路,个人觉得很妙。

  • PTA提交列表及说明:

- 本题错误在于我错误地理解了题意,将a⋯a(n个a)误认为n个a相乘,导致答案错误。问过度娘后才知道真相······
![](https://img2018.cnblogs.com/blog/1777822/201910/1777822-20191007103055934-229390510.jpg)

5.代码阅读

代码功能:计算出M个同样的苹果放在N个同样的盘子里(允许有空盘子)有多少种不同的分法。

优点:该程序的前提条件判断巧妙而灵活,符合实际生活,值得我们学习!

C博客作业01--分支顺序结构的更多相关文章

  1. C博客作业01——分支,顺序结构

    C博客作业01--分支,顺序结构 0.展示PTA总分 1本章学习内容 1.1学习内容总结 1)格式化输出函数printf(),scanf(). 它是什么? 对于初学者而言,一开始了解接触它们,只是被硬 ...

  2. C博客作业01——分支、顺序结构

    1.本章学习总结 1.1思维导图 本章学习体会及代码量学习体会 1.2.1学习体会 在暑假的时候就有加入新生学习群,对C语言有一定的基础,所以这周的学习相对轻松,但一些细节方面的知识并不是很了解.在这 ...

  3. c语言博客作业01—分支、顺序结构

    1.本章学习总结  1.1 思维导图  1.2本章学习体会及代码量学习体会  1.2.1学习体会 这周 对c语言的学习 明显与其他同学相比较有些滞后,觉得很大原因是暑假没有看教学视频,课前没有预习课本 ...

  4. C博客作业01--分支,顺序结构

    本章学习总结(2分) 1.1思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 本周初次接触C语言,一开始难度较大,很多代码都看不懂,书里面的章节要看很多遍.开始编写代码时也遇到很多困难 ...

  5. C语言I博客作业01

    C语言I博客作业01 作业1 这个作业属于哪个课程? C语言程序设计I 这个作业要求在哪里? https://edu.cnblogs.com/campus/zswxy/CST2019-2/homewo ...

  6. C语言l博客作业01

    2.1 你对软件工程专业或者计算机科学与技术专业了解是怎样?(2分) 计算机科学与技术是国家一级学科,下设信息安全,软件工程,计算机软件与理论等专业,主要培养符合教育部门实际需要的计算机教学及应用管理 ...

  7. C语言II博客作业01

    这个作业属于那个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-4 这个作业要求在哪里 https://edu.cnblogs.com/campus/zs ...

  8. c博客作业01——顺序 分支结构

    本章学习总结 1.1 学习内容总结 ·学习switch分支的使用,switch后加括号(),括号内填一个变量或字符 如 switch (a) { case 2: case 3: default: } ...

  9. DS博客作业01—日期抽象数据类型设计与实现

    1.本章学习总结 1.1 思维导图 1.2学习体会 开学就来了个大作业,还要求用的是c++语法,作为一个只听过没学过的未知语法,靠着CSDN和寝室大佬的帮助下渐渐地了解了一些c++的使用,现在也可以使 ...

随机推荐

  1. python3 语法 数据类型

     python3中 有6种标准数据类型 数字,字符串,列表,元祖,集合,字典

  2. java实现顺序表、链表、栈 (x)->{持续更新}

    1.java实现节点 /** * 节点 * @luminous-xin * @param <T> */ public class Node<T> { T data; Node& ...

  3. Django:内置组件Content-Type

    12.Django组件之Content_Type 1.帮助我们生成了一张表,里面有所有表名.这样不再自建表在表中填表名,用Foreignkey获取 2.为了让我们快速进入插入数据,填写一个字段Gene ...

  4. 2.熟悉LINUX的基本操作

    cd命令:切换目录 (1)切换到目录 /usr/local cd /usr/local (2)去到目前的上层目录 cd .. (3)回到自己的主文件夹 cd ~ ls命令:查看文件与目录 (4)查看目 ...

  5. 美国LangeEylandt长岛

    LangeEylandt n.长岛(美国) 纽约长岛 纽约长岛 (LongIsland)是北美洲在大西洋内的一个岛,最早追溯到十七世纪的1650年被命名为Lange Eylandt [1] ,位于北美 ...

  6. static 关键字有什么作用

    static关键字的含义及使用场景 static是Java50个关键字之一.static关键字可以用来修饰代码块表示静态代码块,修饰成员变量表示全局静态成员变量,修饰方法表示静态方法.(注意:不能修饰 ...

  7. 如何选择优秀的APS系统供应商?问自己这几个问题!

    高级的计划和排程和生产排程软件的好处是巨大的.然而,生产排程软件不是商品,尚不能保证您选择的任何高级的计划和排程软件能满足您的所有需求. 那么,我们来谈谈如何选择适合你的公司最好的生产排程软件.这需要 ...

  8. 如何在SAP gateway系统配置路由到后台系统的OData服务路径

    看这张架构图,SAP Gateway系统也叫frontend系统,通过RFC远程调用SAP后台系统的OData服务实现. 以SAP CRM Fiori应用My Opportunity为例,使用事务码/ ...

  9. MySQL优化——MySQL 生产环境下 my.cnf 优化配置

    MySQL 5.6/5.7 参数文件优化配置[client]port = 3306socket = /data/mysql/tmp/mysql.sockdefault-character-set = ...

  10. Gitlab创建一个项目(二)创建新用户以及分配项目

    Gitlab创建一个项目(一) 1.进入gitlab控制台 2.点击“新建用户” 3.点击“Edit”,创建初始密码 4.分配项目,首页进入项目 5.进入Members菜单 6.选择用户 7.赋予权限 ...