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. 介绍ArcGIS中各种数据的打开方法——mdb(个人数据库)

    3.打开存储在Access GeoDatabase的要素类 使用工作空间打开一个Access库中的一个要素类. private void OpenWorkspaceFromFileAccess(str ...

  2. java基础 构造方法

    /** * 继承关系中,父子类构造方法的访问特点 * * 1.子类构造方法中有一个默认隐含的"super()"调用,所以一定是先调用父类构造,后执行的子类构造 * 2.子类构造可以 ...

  3. 反射之关于MethodInfo的使用

    1.MethodInfo类是在System.Reflection命名空间底下,既然是在Reflection空间底下.故名思议关于反射相关的操作,其中比较重要的方法是Invoke()方法,它是加载相同程 ...

  4. Python进阶----异常处理

    Python进阶----异常处理 一丶错误和异常   错误:       语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) #语法错误示范一 if #语法错误示范二 ...

  5. Linux下which、whereis、locate、find命令作用

    1 which 查看可执行文件的位置,也可以找到命令别名 2 whereis 查看文件的位置 3 locate 系统数据库查找文件位置,数据库大约每天更新一次 4 find 根据查找条件,搜寻硬盘查询 ...

  6. 1+X证书学习日志——javascript基础

    js javascript js的组成: ECMAscript DOM BOM js放置的位置 <script></script> <script src="路 ...

  7. koa2--nodemailer实现邮箱验证

    依赖包安装: /** * koa-bodyparser用于把formData数据解析到ctx.request.body * 通过ctx.request.body访问请求的参数 * koa-redis用 ...

  8. 使用vue-router在页面之间传值及接收值

    第一页 点击去第二页的时候进行传值直接贴代码看: <template> <div id="app"> <div><router-link ...

  9. Installation of SAP on RAC with Oracle ASM(转)

    https://blogs.sap.com/2016/03/17/installation-of-sap-on-rac-with-oracle-asm-part-3distributed-enviro ...

  10. Java 数组实例——实现棋盘落子

    五子棋.连连看.俄罗斯方块.扫雷等常见小游戏,都可以通过二维数组实现. 棋盘落子效果图: 源码: package my_package; import java.io.BufferedReader; ...