总述

大一新生开始学习c语言,记录一下学习过程,本人看的是谭浩强老师的C程序设计,在写这个博客之前已经学习了前三章,这一篇就给前三章做一个总结和记录学习。
注:本博客所有知识点均出自C程序设计(第五版)

第一章:程序设计和C语言

这一章主要是对于c语言的了解,我在高中时就对编程语言很感兴趣,所以也大致了解过,这一章很快略读过去。
也在开头给自己定了一个规矩:搞懂每一行代码是为什么,写的代码写清楚注释
以下为一些作业程序

  • Hallo world
#include<stdio.h>                  //编译预处理指令
int main()                         //定义主函数
{                                  //函数开始printf("hallo world.\n");      //输出指定信息return 0;                      //函数执行完毕时返回函数值0
}                                  //函数值结束标志`
  • 输出练习
#include<stdio.h>           //编译预处理指令
int main()                  //定义主函数
{                           //函数开始printf("*****\n");      //输出指定一行printf(" *****\n");     //输出指定一行printf("  *****\n");    //输出指定一行printf("   *****\n");   //输出指定一行return 0;               //函数执行完毕后返回函数值0
}                           //函数结束
  • 比大小
#include<stdio.h>                        //编译预处理指令
int main()                               //定义主函数
{                                        //函数开始int max(int x,int y,int z);          //对被调用函数max的声名int a,b,c,d;                         //定义变量a,b,c,dscanf("%d,%d,%d",&a,&b,&c);          //输入变量a,b,c的值d=max(a,b,c);                        //调用max函数,将得到的值赋给dprintf("max=%d\n",d);                //输出d的值return 0;                            //返回函数值为0
}                                        //函数结束
//下面是max函数
int max(int x,int y,int z)               //定义max函数,函数值为整数,形式参数x,y,z为整型
{                                        //函数开始int m,n;                             //max函数中的声明部分,定义本函数中用到的变量m,n为整数if(x>y)m=x;                          //若x>y成立,将x的值赋给变量melse m=y;                            //否则,将y的值赋给变量mif(z>m)n=z;                          //若z>m成立,将z的值赋给变量nelse n=m;                            //否则,将m的值赋给变量nreturn(n);                           //将m的值作为max函数值,返回到调用max函数的位置
}                                        //函数结束

第二章:算法——程序的灵魂

这一章对算法和算法的表示进行了介绍,我还是看了很久,但有些表示方法也要经常回来翻书才能理解,但是写程序之前一定要有算法流程图

算法+数据结构=程序

有效算法的特点
  • 有穷性
  • 确定性
  • 有零个或多个输入
  • 有一个或多个输出
  • 有效性
算法的表示
  • 自然语言
  • 流程图 (N-S流程图
Created with Raphaël 2.2.0开始我的操作确认?结束yesno
  1. 伪代码
  2. 计算机语言

第三章:最简单的c程序设计——顺序程序设计

前面大致了解了一些专业术语,这一章终于可以开始着手敲代码啦,当然这一章的页数是我看到现在最多的,折的角也是最多的,很多表格数值表示,语句在写作业时都要翻书回来看,也是需要静下心来读的部分,下面只是一些概括总结。

1.常量与变量

常量
  • 整型常量
  • 实型常量
  • 字符常量
  • 字符串常量
  • 符号常量
变量

变量必须先定义,后使用
PS:注意区分变量名变量值两个概念

常变量
标识符

2.数据类型

  • 基本类型

  • 整形类型
    * 基本整形(int)
    * 短整型(short int)
    * 长整型(long int)
    * 双长整型(long long int)
    * 字符型(char)
    * 布尔型(bool)

  • 浮点类型
    * 单精度浮点型(float)
    * 双精度浮点型(double)
    * 复数浮点型(float_complex,double_complex,long long complex)

  • 枚举类型(enum)

  • 空类型(void)

  • 派生类型

    • 指针类型(*)
    • 数组类型([])
    • 结构体类型(struct)
    • 共用体类型(union)
    • 函数类型

3.运算符和表达式

用算术运算符和括号将运算对象(也称操作数)连接起来的、符合c语法规则的式子成为C算术表达式
算术运算符是自左向右(左结合性),赋值运算符是自右向左(右结合性)

4.c语句

控制语句

  • if()…else… (条件语句)
  • for()… (循环语句)
  • while()…(循环语句)
  • do…while()(循环语句)
  • continue(结束本次循环语句)
  • break(中止执行switch或循环语句)
  • switch(多分支选择语句)
  • return(从函数返回语句)
  • goto(转向语句,在结构化程序中基本不用goto语句)

函数调用语句

表达式语句

空语句

复合语句

5.总结

第三章后面便是输入输出的语句介绍以及字符选择,这些需要看书记忆,我也不打出来了。
以下为一些作业程序

  • 字母转换
#include<stdio.h>          //编译预处理指令
int main()                 //定义主函数
{                          //函数开始char c1,c2;               //定义字符型变量c1,c2c1='A';                   //将字符'A'的ASCII代码放到c1变量中c2=c1+32;                 //得到字符'a'的ASCII代码,放到c2变量中printf("%c\n",c2);        //输出c2的值,是一个字符return 0;                 //函数值返回0
}                          //函数结束
  • 第四小题
#include<stdio.h>                        //编译预处理指令
int main()                               //定义主函数
{                                        //函数开始char c1,c2;                           //字符定义c1,c2c1=97;                                //将97赋予c1c2=98;                                //将98赋予c2printf("c1=%c,c2=%c\n",c1,c2);        //字符输出c1,c2printf("c1=%d,c2=%d\n",c1,c2);        //整数输出c1,c2return 0;                             //函数值返回0
}                                        //函数结束
  • 第五小题
#include<stdio.h>           //编译预处理指令
int main()                  //定义主函数
{                           //函数开始int a,b;                 //整数定义a,bfloat x,y;               //单精度浮点定义x,ychar c1,c2;              //字符定义c1,c2scanf("a=%db=%d",&a,&b); //输入a,b整数值,放入a,b地址中scanf("%f%e",&x,&y);     //输入双精度x,指数y值,放入x,y地址scanf("%c%c",&c1,&c2);   //输入字符c1,c2,放入c1,c2地址return 0;                //函数值返回0
}                           //函数结束
  • 第六小题
#include<stdio.h>                                   //编译预处理指令
int main()                                          //定义主函数
{                                                   //函数开始char c1,c2,c3,c4,c5;                             //定义字符c1,c2,c3,c4,c5c1='C',c2='h',c3='i',c4='a',c5='n';              //将china分别赋予c1,c2,c3,c4,c5c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;                                           //将c1,c2,c3,c4,c5的值都加4putchar(c1);putchar(c2);putchar(c3);putchar(c4);putchar(c5);                                     //字符输出c1,c2,c3,c4,c5printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);           //字符输出c1,c2,c3,c4,c5return 0;                                        //函数值返回0
}                                                   //函数结束

此小题一开始是没有运行成功的,原因在于putchar()一次只能输出一个字符,不能连续输出多个,不能写成putchar(c1,c2)

  • 第七小题
#include<stdio.h>                               //编译预处理指令
#include<math.h>                                //调用数学函数库
int main()                                      //定义主函数
{                                               //函数开始float r,h;                                    //定义单精度浮点数r,hfloat a,b,c,d,e;                              //定义单精度浮点数a,b,c,d,efloat pi=3.1415926;                           //定义单精度浮点数pi=3.1415926scanf("r=%f,h=%f",&r,&h);                     //输入实数值,将其赋给r,h的地址a=2*pi*r;                                     //计算圆的周长,将数值赋给ab=pi*r*r;                                     //计算圆的面积,将数值赋给bc=4*pi*r*r;                                   //计算圆球表面积,将数值赋给cd=3*pi*r*r/4;                                 //计算圆球体积,将数值赋给de=pi*r*r*h;                                   //计算圆柱体积,将数值赋给eprintf("圆的周长为%6.2f\n",a);                //输出圆的周长为a的值printf("圆的面积为%6.2f\n",b);                //输出圆的面积为b的值printf("圆球表面积%6.2f\n",c);                //输出圆球表面积为c的值printf("圆球体积为%6.2f\n",d);                //输出圆球体积为d的值printf("圆柱体积为%6.2f\n",e);                //输出圆柱体积为e的值return 0;                                     //函数值返回0
}                                               //函数结束

此题其实开头不用调用math函数库,但我一开始打了就没删了,以及做的时候还出现了一个很脑残的错误,忘记打分号,所以每一个句子后面一定要打分号这样才是语句

后记

这便是这几周来的学习总结,以后我也会更新博客总结一下我的学习,也是给自己一个记录,打了也蛮久,谢谢大家看到这里。

聿辞
2020年11月19日

C语言学习1——第一、二、三章学习记录相关推荐

  1. 【数分书单】业务学习《从零开始做运营入门篇》第一/二/三章小结

    <从零开始做运营入门篇>by 张亮 第一章 关于运营的一些实话实说  1 苦逼的运营产品两兄弟 运营需要积累,实力的积累,经验的积累,对用户了解程度的积累,对数据敏感程度的积累:长期磨练出 ...

  2. 多维随机变量及其分布——《概率论及其数理统计》第三章学习笔记

    多维随机变量及其分布--<概率论及其数理统计>第三章学习笔记 文章目录 多维随机变量及其分布--<概率论及其数理统计>第三章学习笔记 前言 MindMap 二维随机变量 定义与 ...

  3. R语言七天入门教程三:学习基本结构

    R语言七天入门教程三:学习基本结构 一.编程的语言的基本结构 1.三种基本结构 绝大多数编程语言,都有三种最基本的程序结构:顺序结构.分支结构.循环结构.这三种结构的流程图如下所示(从左至右依次为:顺 ...

  4. 计算机网络学习笔记:第三章

    文章目录 计算机网络学习笔记:第三章 前言 3.1.概述和运输层服务 3.1.1 运输层和网络层的关系 3.1.2 因特网运输层概述 3.2.多路复用与多路分解 前言 运输层位于应用层和网络层之间,是 ...

  5. 数据结构c语言版第二版第三章课后答案,数据结构(C语言版)习题集答案第三章.doc...

    数据结构(C语言版)习题集答案第三章.doc 习题三3.1 3.10 3.13 3.5 3.6 3.15 3.17 3.19 3.24 3.29 3.31 3.51 给定操作序列P1P2P3PiPn( ...

  6. 《数字图像处理》第三章学习总结感悟2:直方图处理

    ☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython ░ 一.引言 在2021年6月22日发布<<数字图像处理>第三章学习总结 ...

  7. 工程伦理第三章学习笔记2020最新

    工程伦理第三章学习笔记2020最新 因为之前自己在网上找答案总是觉得费劲,一道一道的找,很慢,突然找到了前两章的答案,感觉有一种前人种树后人乘凉的感觉,于是自己在艰难找完第三章习题并全对的情况下,将题 ...

  8. 郑莉java课后答案,Java语言程序设计(郑莉)第三章课后习题答案

    <Java语言程序设计(郑莉)第三章课后习题答案>由会员分享,可在线阅读,更多相关<Java语言程序设计(郑莉)第三章课后习题答案(10页珍藏版)>请在人人文库网上搜索. 1. ...

  9. 程序员编程艺术第一~二十七章集锦与总结(教你如何编程),及PDF免分下载

    程序员编程艺术第一~二十七章集锦与总结(教你如何编程) 作者:July.编程艺术室 出处:结构之法算法之道blog 一.引言 自从去年7月份朋友花明月黯帮我制作了十三个经典算法研究的PDF文档(最新的 ...

  10. c语言循环程序设计教案,10 《C语言程序设计》教案 第三章 程序的控制结构(6)—循环结构 while和do while.doc...

    10 <C语言程序设计>教案 第三章 程序的控制结构(6)-循环结构 while和do while.doc C 语言程序设计课程教案表 授课题目 第三章 程序的控制结构 (6) 循环结构 ...

最新文章

  1. (转)NGUI研究院之三种方式监听NGUI的事件方法
  2. ZT:成熟是一种明亮而不刺眼的光辉
  3. aix pax_通过Pax考试对JBoss Fuse 6.x进行集成测试,第一部分
  4. call,apply,bind的区别
  5. 功率曲线k值_特性曲线在参数计算中的应用
  6. vijos-1003等价表达式
  7. linux svn服务器同步,Linux服务器实现SVN与WEB同步解决方案
  8. 网上邻居找不到服务器怎么办,Win7网上邻居消失了怎么办?Win7网上邻居不能使用的原因及解决方法...
  9. TKG 1.5.1 的 BYOH 集群部署
  10. 所有大学都教Java,培训班也输出了大量Java程序员,为什么社会上的Java程序员还没有饱和?
  11. 二项分布算法(伯努利实验)
  12. 骑士cms火车头发布模块-骑士cms火车头采集规则免费
  13. javascript音乐播放器
  14. Goldfish 介绍
  15. java基本数据类型长度
  16. 普通话测试软件哪个不要钱,普通话测试软件哪个好_普通话测试软件靠谱吗_不要钱的普通话测试软件...
  17. 22-07-04 西安 尚好房(01)项目经验总结
  18. Android Fragment 真正的完全解析(上)
  19. vba autofilter 筛选
  20. MODIS卫星遥感数据下载处理

热门文章

  1. 台式计算机液晶显示屏尺寸,怎么看台式机显示器尺寸
  2. 2023第十三届“中兴捧月”全球精英挑战赛今日正式启动
  3. 快慢指针(java)
  4. LCS(longest common sequence)算法的实现(十分详细)
  5. 计算机读取数据的接囗教程,八爪鱼采集怎样获取数据API链接 八爪鱼采集获取数据API链接的方法...
  6. 区块链概念正宗龙头股
  7. sprintf 函数的详解
  8. 基于单片机波形发生器PCB原理图报告设计资料-基于单片机比赛计时计分电路仿真设计-基于单片机报警器与旋转灯设计-基于单片机八路数据电压采集报警控制系统-基于单片机病房呼叫系统控制系统设计【毕设课设资】
  9. B. Integers Have Friends(cf)二分 + st表
  10. ST-GAN: Spatial Transformer Generative Adversarial Networks for Image Compositing 原文翻译