https://zh.cppreference.com/w/%E9%A6%96%E9%A1%B5

C语言学习网

const int

~  取反符号 如 a=~b   (按二进制位取反)

三目运算符  a=(b<c?b:c)

局部变量都属于自动变量 所以在定义时 如
int 应为 auto int 但auto省略

enum  枚举

register寄存器   
register int  把变量定义成寄存器变量

typedef 类型定义   使用:
typedef unsigned int u-int
此时 unsigned int和 u-int 等效

define宏定义 
预处理指令: #define func(x) x*x
 int b , A=10;
b=func(A);
func()直接替换为后面的表达式 需要注意运算顺序  如
b=100/func(A)      此时b的值为100

指针所占的内存由系统决定。32位为4个字节,64位为8个字节。

Else 和距离它最近的未成对的if匹配   故输出结果为空

即只判断一个if(a==1)

Switch语句中  default和case 的顺序可以改变

二分查找

Goto简单用法

Memset

记录函数调用次数,注意:++的优先级要高于*

Printf的返回值为其打印的数字个数

Stack Overflow - Where Developers Learn, Share, & Build Careers  程序员的知乎网站

简单地递归

Strlen和sizeof   对同一个字符数组时,sizeof比strlen大1.

不使用第三个变量:交换a和b的值

1.a=a+b,b=a-b,a=a-b;  但是有一定的局限性,可能会存在数值溢出的情况。

2.a=a^b,b=a^b,a=a^b;  ^是异或运算。但是执行效率较低。

3.异或的规律:0^a=a,   a^a=0,   a^b^b=a(利用此规律寻找单个数字),

移位操作符:>>n左移n位(二进制)  右边补0

<<n右移n位(二进制)  左边补符号位

>>>无符号运算符  左边补0

&按位与 |按位或

统计num的补码中的数字1的个数

将num的补码通过不断地右移位并且与1的方法计算

Sizeof中的表达式不参与运算,因此s的值依然为0.

输出结果为 1 2 3 4

分析:a为0,a为0时,后面的逻辑与之后的式子不在计算。

下面的结果为2 2 3 4

a已经为真,后面的逻辑或也不再运算

逗号表达式:结果为最后一个式子的值

指针:允许指向数组元素的指针t与指问数组最后一个元素后面的那个内存位置的指针比较,但是不允许与指向第一个元素之前的那个内存位置的指针进行比较。

关于数组arr:arr是数组首元素的地址  &arr[0]也是数组首元素的地址  &arr是整个数组的地址。

二级指针:

指针数组:数组中的元素都是指针

输出结果为11223300

输出结果为  >

I为-1,sizeof的返回值类型为无符号型,因此需要把-1转变为无符号型,即-1的补码比sizeof大得多。

计算一个整数的二进制数字中的1的个数:

结果为(11111111111111111111111110000000)10

结果为255,数字为-1~-128,127~0   0为字符0,即结束标志

指针数组:

用数组指针打印二维数组:

函数指针:

函数指针数组:

使用函数指针数组,减少代码的量

Strlen的返回值为无符号的int型,strlen(a)-strlen(b)>=0

交换两个字符串

Strcat函数:

将后一个字符串加到前一个字符串的末尾,前一个字符串的空间必须足够。

Strstr函数:

Strstr(p1,p2)在p1中寻找p2,返回p1中p2的位置,否则返回空指针。

Strtok函数:切割字符串

Memcpy,可以拷贝数组,字符串等。

Memmove:处理有重叠的拷贝的情况

Memset函数:初始化数组或字符串

Memset(arr,初始化的内容,要初始化的大小)

位(二进制位)段:冒号(:)后面的数字所占的字节数。Int型每次开辟4个字节(32位),同时可以把abc放入。不足时再次开辟四个字节将d放入

Char类型每次只开辟一个字节

Calloc函数同时可以初始化数组为0.malloc效率较高

Free时需要指针指向开辟内存的首地址,下面的示例是错误示例。

Free后,指针不会被置为NULL。

柔性数组:使用malloc调整数组大小。

从“零”开始的C语言相关推荐

  1. 如何零基础学习python语言_零基础如何入门Python语言?有哪些学习建议?

    众所周知,Python目前是最受欢迎的编程语言之一,尤其是对于零基础的初学者来说,Python语言更是十分的友好.因此,不少初学者常常会有这样一个共同的疑惑,零基础如何入门Python语言?本文就来给 ...

  2. 零基础学python语言_零基础如何入门Python语言?有哪些学习建议?

    众所周知,Python目前是最受欢迎的编程语言之一,尤其是对于零基础的初学者来说,Python语言更是十分的友好.因此,不少初学者常常会有这样一个共同的疑惑,零基础如何入门Python语言?本文就来给 ...

  3. r语言pls分析_零基础学习R语言分析GEO

    关于零基础用R语言分析GEO的视频已更新完,发布在B站,有兴趣的小伙伴可以移驾到B站,我的B站号:I_am_Becky 之前录制过一系列关于零代码分析GEO数据的,但是这样画出来的图太low了,所以学 ...

  4. 零基础学习C语言如何入门(内附工具书推荐+视频教程)

    C语言同C++.Python等都是通用性的编程语言,它们不针对某一个特定的方向,能做的事情很多.C语言主要用于底层开发,Windows.Linux.Unix 等操作系统的内核90%以上都使用C语言开发 ...

  5. C语言基础专业书,零基础学C语言(第3版) (康莉/李宽 等著) 中文pdf完整版[29MB]

    零基础学C语言(第3版)站在零基础学习的角度讲授C语言,使初学者能尽快掌握C语言程序设计的精髓,避免走弯路.在讲解知识点时,笔者采用由浅人深.逐级递进的学习方式进行内容设置安排.<零基础学C语言 ...

  6. 编程c语言零基础知识,零基础学习C语言都需要掌握哪些基础知识

    随着互联网的不断发展,越来越多的人都在学习互联网软件编程开发语言,而今天我们就一起来了解一下,零基础学习C语言都需要掌握哪些基础知识. 无论学习哪门语言先应该了解一下自己所学语言的背景,也可以说它的发 ...

  7. 零基础学c语言 第2版 pdf下载,《零基础学C语言(第2版)》.(康莉,李宽).[PDF].@ckook.pdf...

    零基础学C语言(第2版)(康莉,李宽)高清PDF扫描版105M,本书站在零基础学习的角度,使初学者能尽快掌... 更多资源请访问稀酷客() 更多资源请访问稀酷客() 更多资源请访问稀酷客() 更多资源 ...

  8. 零基础学习C语言,怎么入门?

    C语言同C++.Python等都是通用性的编程语言,它们不针对某一个特定的方向,能做的事情很多. C语言主要用于底层开发,Windows.Linux.Unix 等操作系统的内核90%以上都使用C语言开 ...

  9. c语言printf显示变量,零基础学C语言 笔记一 变量 printf

    今天写写一些零基础的C语言入门,不难,主要是细节比较多,花点心思就好. 1.注释:多行注释里面可以嵌套单行注释,但是不能嵌套多行注释. 2.快捷键:command+b:只检查代码有没有错误,能不能编译 ...

  10. 西安c语言培训班培训,零基础学c语言难吗 西安C语言培训班传授学习技巧

    C语言在大家心目中,有一种很难学的印象,零基础学C语言难吗?许多人觉得C语言作为入门语言觉得太难了,为什么这么多人觉得C语言难?理清思路,下定决心,一切都会变的不凡,零基础学C语言会有一定的难度,可以 ...

最新文章

  1. 地图下面的标尺是什么意思_房屋产权70年产权吧,下面的使用年限是什么意思?...
  2. 学习笔记:模式学习-生成器模式
  3. vscode配置c/c++手把手教你配置
  4. DICOM医学图像处理:浅析SWF、MWL、SPS、MPPS
  5. Knockout.js入门级
  6. vue particles.js 登录背景实现粒子动效
  7. java jbutton 禁用_Java 如何禁用JButton在禁用时变灰?
  8. 关于NMDS的一知半解
  9. getlasterror 126
  10. 【数据结构】(二叉树)计算二叉树的高度递归与非递归 三种方法 C语言
  11. 如何在CentOS上配置虚拟IP地址 (VIP)
  12. 翟山鹰“生态宇宙”重磅首发 缔造超级共赢生态
  13. 微信小程序使用canvas绘制分享海报
  14. 在线问答系统html模板,问答系统网站模板
  15. 行人重识别(Person re-identification)概述
  16. 论微服务架构设计与应用
  17. c语言左值中有运算符,C语言左值,运算符的优先级以及结合性探讨
  18. 比尔·盖茨的分布式爱情
  19. C语言矩阵输出acm1523
  20. 深度学习-TextCNN网络(简单了解TextCNN网络构建过程)

热门文章

  1. springboot 分组校验和顺序校验
  2. 特征缩放feature scaling(吴恩达版详解)
  3. java写入文件几种方法
  4. HTTP中的常用方法
  5. java tolist_java – Collectors.toList()返回什么类型的List?
  6. 仓库管理(库存系统模块)
  7. OpenCV中GPU版MOG2的使用
  8. o7_dictionary_accessibility 参数
  9. HTML5 布局标签
  10. 用python打印出一个人的照片_python爬取图片实例 - 一个人看日出,一个人看夕阳,一个人走路,一个人欢笑 - OSCHINA - 中文开源技术交流社区...