C语言学习1——第一、二、三章学习记录
总述
大一新生开始学习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流程图)
- 伪代码
- 计算机语言
第三章:最简单的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——第一、二、三章学习记录相关推荐
- 【数分书单】业务学习《从零开始做运营入门篇》第一/二/三章小结
<从零开始做运营入门篇>by 张亮 第一章 关于运营的一些实话实说 1 苦逼的运营产品两兄弟 运营需要积累,实力的积累,经验的积累,对用户了解程度的积累,对数据敏感程度的积累:长期磨练出 ...
- 多维随机变量及其分布——《概率论及其数理统计》第三章学习笔记
多维随机变量及其分布--<概率论及其数理统计>第三章学习笔记 文章目录 多维随机变量及其分布--<概率论及其数理统计>第三章学习笔记 前言 MindMap 二维随机变量 定义与 ...
- R语言七天入门教程三:学习基本结构
R语言七天入门教程三:学习基本结构 一.编程的语言的基本结构 1.三种基本结构 绝大多数编程语言,都有三种最基本的程序结构:顺序结构.分支结构.循环结构.这三种结构的流程图如下所示(从左至右依次为:顺 ...
- 计算机网络学习笔记:第三章
文章目录 计算机网络学习笔记:第三章 前言 3.1.概述和运输层服务 3.1.1 运输层和网络层的关系 3.1.2 因特网运输层概述 3.2.多路复用与多路分解 前言 运输层位于应用层和网络层之间,是 ...
- 数据结构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( ...
- 《数字图像处理》第三章学习总结感悟2:直方图处理
☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython ░ 一.引言 在2021年6月22日发布<<数字图像处理>第三章学习总结 ...
- 工程伦理第三章学习笔记2020最新
工程伦理第三章学习笔记2020最新 因为之前自己在网上找答案总是觉得费劲,一道一道的找,很慢,突然找到了前两章的答案,感觉有一种前人种树后人乘凉的感觉,于是自己在艰难找完第三章习题并全对的情况下,将题 ...
- 郑莉java课后答案,Java语言程序设计(郑莉)第三章课后习题答案
<Java语言程序设计(郑莉)第三章课后习题答案>由会员分享,可在线阅读,更多相关<Java语言程序设计(郑莉)第三章课后习题答案(10页珍藏版)>请在人人文库网上搜索. 1. ...
- 程序员编程艺术第一~二十七章集锦与总结(教你如何编程),及PDF免分下载
程序员编程艺术第一~二十七章集锦与总结(教你如何编程) 作者:July.编程艺术室 出处:结构之法算法之道blog 一.引言 自从去年7月份朋友花明月黯帮我制作了十三个经典算法研究的PDF文档(最新的 ...
- c语言循环程序设计教案,10 《C语言程序设计》教案 第三章 程序的控制结构(6)—循环结构 while和do while.doc...
10 <C语言程序设计>教案 第三章 程序的控制结构(6)-循环结构 while和do while.doc C 语言程序设计课程教案表 授课题目 第三章 程序的控制结构 (6) 循环结构 ...
最新文章
- (转)NGUI研究院之三种方式监听NGUI的事件方法
- ZT:成熟是一种明亮而不刺眼的光辉
- aix pax_通过Pax考试对JBoss Fuse 6.x进行集成测试,第一部分
- call,apply,bind的区别
- 功率曲线k值_特性曲线在参数计算中的应用
- vijos-1003等价表达式
- linux svn服务器同步,Linux服务器实现SVN与WEB同步解决方案
- 网上邻居找不到服务器怎么办,Win7网上邻居消失了怎么办?Win7网上邻居不能使用的原因及解决方法...
- TKG 1.5.1 的 BYOH 集群部署
- 所有大学都教Java,培训班也输出了大量Java程序员,为什么社会上的Java程序员还没有饱和?
- 二项分布算法(伯努利实验)
- 骑士cms火车头发布模块-骑士cms火车头采集规则免费
- javascript音乐播放器
- Goldfish 介绍
- java基本数据类型长度
- 普通话测试软件哪个不要钱,普通话测试软件哪个好_普通话测试软件靠谱吗_不要钱的普通话测试软件...
- 22-07-04 西安 尚好房(01)项目经验总结
- Android Fragment 真正的完全解析(上)
- vba autofilter 筛选
- MODIS卫星遥感数据下载处理
热门文章
- 台式计算机液晶显示屏尺寸,怎么看台式机显示器尺寸
- 2023第十三届“中兴捧月”全球精英挑战赛今日正式启动
- 快慢指针(java)
- LCS(longest common sequence)算法的实现(十分详细)
- 计算机读取数据的接囗教程,八爪鱼采集怎样获取数据API链接 八爪鱼采集获取数据API链接的方法...
- 区块链概念正宗龙头股
- sprintf 函数的详解
- 基于单片机波形发生器PCB原理图报告设计资料-基于单片机比赛计时计分电路仿真设计-基于单片机报警器与旋转灯设计-基于单片机八路数据电压采集报警控制系统-基于单片机病房呼叫系统控制系统设计【毕设课设资】
- B. Integers Have Friends(cf)二分 + st表
- ST-GAN: Spatial Transformer Generative Adversarial Networks for Image Compositing 原文翻译