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. java之 代理设计模式

    1. 设计一个案例来实现租房功能.分析:在租房的过程中涉及到了3个对象,房东,中介,房客. 中介和房客具有相同的功能--租房. 可以设计如下: 2.上图的设计实际上就是一个代理设计模式---静态代理设 ...

  2. 在Centos7中创建.net core 项目,并用Apache做代理服务器部署.net core项目

    这一篇实例记录一次用Centos7创建并部署.net core项目的过程,希望能帮到用到的小伙伴. Kestrel 是 ASP.NET Core 项目模板中包括的默认 Web 服务器,Kestrel可 ...

  3. mysql存储过程简单例子

    1.之前经常在oracle数据库中使用存储过程,换到mysql后用的不多,但是有时候也用,大致记录一下,基本和oracle的一样. CREATE DEFINER = `root`@`%` PROCED ...

  4. Java自学-数组 二维数组

    Java 如何使用二维数组 这是一个一维数组, 里面的每一个元素,都是一个基本类型int int a[] =new int[]{1,2,3,4,5}; 这是一个二维数组,里面的每一个元素,都是一个一维 ...

  5. kubernetes第十二章--监控

  6. 【开发笔记】- 发送邮件(通过JavaMail发送)

    前段时间在工作中用到了邮件发送监控的报警信息,今天在这个记录一下JavaMail的邮件工具类. 下边为用到的JavaMail的jar包的pom依赖.这里用的是JavaMail的1.4.6的版本. &l ...

  7. ORACLE SQL 笔记

    根据数据权限查询 SELECT * FROM ( SELECT ROWNUM AS ROWNO, AA.* FROM ( SELECT DISTINCT A.OBJECTID InstanceID , ...

  8. 修改Nodejs内置的npm默认配置路径方法

    Nodejs 内置的npm默认会把模块安装在c盘的用户AppData目录下(吐槽一下:不明白为啥现在的软件都喜欢把资源装在这里) C盘这么小,肯定是不行的,下面一步步修改到D盘 1.打开cmd命令行, ...

  9. Oracle 数据类型比较规则

    数值 较大的值被认为大于较小的值.所有负数都小于零,所有正数都小于零.因此,-1小于100:-100小于-1. 浮点值NaN(not a number))大于任何其他数值,且等于自身. 日期时间值 较 ...

  10. HTTPS安全通信过程

         前言:本文是的第三篇文章.第一篇文章<常见加密算法特点及适用场景>,介绍了常见加密算法及其适用的场景,对加密算法做一个总体的概述.第二篇文章<非对称加密算法-RSA算法&g ...