当你选择了一种语言,意味着你还选择了一组技术、一个社区。——Joshua Bloch

一条长语句需要换行写,可以在行的末尾加入反斜杠 表示;宏都是单行定义,如果多行定义,也是用反斜杠 表示。

例如:

#define LONG_MACRO

"...........很长的字符串哈........."

int i,j,k

x,y,z;


变量有全局变量、局部变量,全局变量系统默认初始化,局部变量不会自动初始化,建议所有变量使用前,手工初始化。

基本数值类型转换有两种,一种隐式,一种显式,建议在需要类型转换的情况下,一律使用强制转换运算符 (类型)变量名 显式转换,转换的原则是从取值范围较小的类型转到取值范围较大的类型,结果值不会损失,反之结果值则损失部分值。

数组分配的内存空间是连续的,从低地址到高地址,数组第1个元素的地址就是内存空间的首地址。

数组的下标是从0开始,长度为n的数组,最大下标是n-1,数组下标超出范围,越界访问是严重的错误。

数组可以作为参数(指针或数组形式)传递给函数,但是不能作为函数返回值,可以返回指向数组的指针。

例如:

sizeof(int)是求类型长度的运算符,不是函数。

函数声明中的参数名称可以省略,也可以和函数定义不一样。

例如:以下三种都是声明相同的函数func,第三种声明且定义了函数。

int func(int,int);

int func(int a, int b);

int func(int c, int d)

{

}

main函数可以不带参数,也可以带两个参数,带参数时,执行程序时可以实现命令行参数功能。

例如:

编译以后程序名称为 test.exe

函数类型是由函数返回值类型、函数名称、参数类型列表标识,只要三者相同则为同一个函数类型,参数名称不是。

C语言函数允许递归调用,在函数中调用自身,函数递归是将大问题化解相似的小问题去解决,函数必须设置递归调用的结束条件,一般是当化解成的小问题可以直接解决时,递归返回值。例如计算阶乘值,例如10的阶乘,化解成10*9的阶乘,9的阶乘可以进一步化解成9*8的阶乘,每次求阶乘的方式一样,只是问题大小不一样,当求最小问题1的阶乘时,就可以直接返回1。

例如:

C语言函数支持变长参数,参数个数可以不确定,通过<stdarg.h>标准库提供支持。

位段类型空间分配规则,当一个int型无法容纳全部位段信息,就会再次分配另一个int类型,空间只会以int的整数倍分配;当int型剩余的位数无法满足当前位段成员要求,则该成员的值会直接存储到下一个int型的空间,不会跨两个int型空间存储。

参数化宏实现函数功能时,更加强大和灵活,因为没有类型限制。

例如:

#define MAX(a,b) ((a) > (b) ? (a) : (b))

返回a,b中值比较大的,a,b只要能比较大小就可以,不限定类型。


如果你想要获取更多C语言、C++、Window以及QT的知识!笔者推荐一个C语言/C++编程零基础入门学习交流俱乐部(群)点击进入,有编程学习文件(源码,项目实战教学视频以及给小白的零基础教程),欢迎初学者和正在进阶中的小伙伴们!

c语言boolean作为全局变量_最容易忽略的C语言知识点细节,编程大牛进阶之路!...相关推荐

  1. c语言加减乘除运算代码_科协推文 || 走进C语言

    走进C语言 C语言66666!有了C语言还要女朋友干啥?没报错?C语言是世界上最好的语言!!C语言NB!!!我的头发呢?我C慈悲! 说起电脑,你可能对它有不同的印象.但是说起程序,你会想到什么? 帅气 ...

  2. 华为怎么把系统语言改成英语_怎么给华为手机更改语言?华为手机设置语言,涨知识了...

    目前很多人都开始使用华为手机,手机的语言也分为很多种,有时我们也需要对手机进行个性化的处理,那就需要更改到手机的语言,那么华为手机应该如何更改语言么?接下来,我便分享一些经验步骤给大家. 工具/材料 ...

  3. c语言取余规则_这是我的C语言入门笔记

    点击上方"C语言中文社区",选择"设为星标★" 技术干货第一时间送达! 来自:大鱼机器人 精彩回顾: [万字长文]C语言高效编程与代码优化,建议收藏![推荐] ...

  4. c语言tab什么意思_这是我的C语言入门笔记。

    c语言入门 C语言一经出现就以其功能丰富.表达能力强.灵活方便.应用面广等特点迅速在全世界普及和推广.C语言不但执行效率高而且可移植性好,可以用来开发应用软件.驱动.操作系统等.C语言也是其它众多高级 ...

  5. c语言位向量机伞_一文读懂C语言精华-指针变量和指向指针的指针

    1978年贝尔实验室正式发表C语言,受到众多IT从业者的热捧,即使41年过去了,C语言仍然牢牢占据最受欢迎编程语言前二的位置,许多人的程序开发之路也是从C语言开始的. 编程语言受欢迎排名 C语言简洁紧 ...

  6. 单片机学c语言还是python好_单片机开发用哪种语言最好?

    在过去的几十年中,单片机的规格变化不大,但是语言和支持软件的扩展为应用程序开发开辟了许多途径.多年来,对单片机进行编程涉及到两种语言的选择:C语言和汇编语言.但是随着现在可用于微处理器的新语言,用户在 ...

  7. c语言 去掉双引号_技术分享|浅谈C语言陷阱和缺陷

    良好的软件架构.清晰的代码结构.掌握硬件.深入理解C语言是防错的要点,人的思维和经验积累对软件可靠性有很大影响.C语言诡异且有种种陷阱和缺陷,需要程序员多年历练才能达到较为完善的地步.软件的质量是由程 ...

  8. 二级c语言考试系统安卓,无忧考吧二级c语言考试系统下载_无忧考吧二级c语言考试系统官方下载-太平洋下载中心...

    无忧考吧二级c语言考试系统是一款可以帮助用户朋友们对全国计算机二级C语言考试进行模拟测试学习的考试系统,如果您对这一门课程并没有什么把握需要练习,这款考试模拟系统一定是你的最佳帮手. 软件截图1 基本 ...

  9. python语言三大基本控制结构_【笔记】《python语言程序设计》——程序的控制结构...

    一.前言 学习就是一个不断的自下而上,自上而下的过程. 前段时间,学着用python实现网站的数据爬取,隐约get到python的一些语法和用法,感觉就是语法不难,关键在于解决问题的思维. 这是需求驱 ...

最新文章

  1. UVA10537 The Toll! Revisited (思维、最短路、输出字典序最小路径)
  2. 烦人的Null,你可以走开点了
  3. SQLite的Pragma语句
  4. linux怎么运行ing,Linux命令笔记ing
  5. K - Triangle 计蒜客 - 42405
  6. 搭建opencv环境
  7. Xml中SelectSingleNode方法中的xpath用法
  8. 一篇文章带初学者明白:什么是编译器,什么是集成开发环境(IDE)?
  9. MSDN Visual系列:利用关联来过滤MOSS中的BDC数据
  10. pyspark 冒烟
  11. ImageRanger 全萤幕检视操作说明
  12. 【华人学者风采】李进 广州大学
  13. 多智能体强化学习【Windows\Ubuntu 安装星际争霸Ⅱ】
  14. 【JavaSE】自定义异常
  15. 地磅称重软件与ERP系统的实现
  16. 计算机rom分类,一文看懂ROM的结构、特点及其分类-控制器/处理器-与非网
  17. GPS问题调试—MobileLog中有关GPS关键LOG的释义
  18. LaTex环境下在TexStudio中使用minted插入高亮代码
  19. AD9361使用概述
  20. PowerSyncKM 包尔星克 对拷线无法自动链接windows和统信系统

热门文章

  1. 换个姿势学设计模式:策略模式
  2. MySQL百万级数据分页查询及优化
  3. linux按进程分配物理内存,linux下内存管理学习心得(一)
  4. matlab绘制y3=e (-x),MATLAB图形绘制-二维配套实验
  5. torch.stack(), torch.cat()用法详解
  6. Py_Initialize fails - unable to load the file system codec
  7. Could not decode a text frame as UTF-8 的解决
  8. {TypeError}clamp(): argument 'min' must be Number, not Tensor
  9. from torch._C import * ImportError: DLL load failed 动态链接库(DLL)初始化例程失败
  10. 观点 | 商汤科技联合创始人林达华:深度学习遭遇瓶颈,未来之路需要新的思考