大一时学c语言,总结的一些自己感觉很零碎且容易忘的知识点,不对之处请指正
1、字符串不管中间是否有数值0,结尾一定有数值0
2、浮点类型的变量存储并不精确
3、printf格式串自动右对齐,加负号左对齐
4、scanf格式串的空格可与输入的任意空格匹配,包括0个
5、负数i%j结果符号与i相同
6、i*=j+k等同与i=i*(j+k)
7、fmod函数可用于浮点数取余
8、自增自减可用于浮点数
9、else遵循就近原则
10、switch比if执行速度快
11、switch后只能跟整形表达式,不能是浮点数和字符串
12、case后只能是整数或字符
13、可以把多个case放置在同一行
14、标号前可以不加case
15、三元运算符遵循类型转换
16、for语句可声明多个变量,但类型必须是相同类型
17、break可用于switch和循环,continue只能用于循环
18、goto必须和标号后的语句处于同一个函数
19、goto的标号后必须有语句,如果没有,可用空语句解决
20、类型的说明符顺序没有影响
21、加0表示8进制,0x表示16,读写用o是八进制,x是十六进制
22、double类型,scanf用lf,printf可用lf,但l不起作用
23、可用signed或unsigned修饰char类型
24、ctype.h中的toupper可讲小写转换成大写
25、sizeof应用于表达式可不加括号,转换说明用lu
26、数组从0开始,出于不对称和运算速度考虑
27、数组元素可能被多次初始化
28、函数不能直接返回数组
29、函数可以有多条return语句,返回调用点
30、传递数组,不加方括号
31、二元数组只能省略第一维
32、(int[]){……}/(struct part){……}复合字面量
33、return后不跟表达式,可出现在void函数中
34、exit函数在stdlib库中
35、exit在哪个函数中都会终止程序,return只能在main函数会终止程序
36、函数定义不能嵌套,可以放另一个函数声明
37、指针可以和其他变量一块声明
38、相同类型指针可以赋值
39、向scanf误传入变量的值,会被当成地址
40、指针可用%p显示
41、int * const p保护p的对象,const int * p保护p,const int * const p同时
42、++优先级高于*,++运算符的副作用容易引起错误
43、指针可以进行取下标操作
44、可改变类型的声明必须在函数或函数原型中
45、sizeof(a)中,a为数组大小,不是指针大小
46、字符串字面量后面加\,可以在下一行延续
47、printf中多个字符串字面量可以合并成一个
48、字符串字面量可以取下标
49、strlen包括空格,不包括结尾字符0,第一个空字符前字符个数
50、sizeof计算字符串大小,即使字符串中间有字符0,也计算整个长度
51、字符数组可以改,字符指针不可以改
52、puts会自动添加换行符
53、scanf读取字符串会在开始前跳过空白字符,gets不会
54、gets直到换行符停止,忽略掉换行符,scanf在空白符停止
55、用strcpy为字符数组赋值
56、可以printf(字符串),只是如果字符串有%会作为转换说明的开始
57、编写开头:#ifdef+#define+……+#endif
58、预编译要想换行必须在末尾使用/
59、预编译指令中可以插任意空格或制表符,指令可以出现在任何地方
60、宏定义中的替换列表可以为空。带参数的宏参数可以为空,调用的参数也可以为空
61、带参数的宏的名字与参数列表错括号之间没有空格
62、#可以独占一行,作为空指令
63、头文件只放声明,不放定义,放结构、函数、宏定义
64、结构可以用=复制
65、可以返回指向static变量的指针
66、静态存储期限的变量默认是0,static、extern、外部变量
67、register变量不能用&
68、const对象不能用于常量表达式
69、静态存储期限的变量的初始化式必须是常量
70、不是static的复合数据结构初始化式可以是变量
71、测试赋值表达式的值就是测试赋值的值
72、格式串左对齐会就一个空给正负号
73、多维数组初始化可以省略最左边的下标

c语言小知识点的更多相关文章

  1. C语言小知识点汇集

    1. 三元表达式“?:”冒号两边的两个操作数类型必须一致. 2. 枚举变量的sizeof值同int型一样为4. 3. 为了消除不必要的计算 &&两侧的表达式,当左侧即第1个表达式不成立 ...

  2. [C语言]小知识点 持续更新

    2019-11-24 1.如果输入: printf(,)); 会得到0: 这和我们的日常判断不相符! 然而,改成: printf(,)); 就可以成功输出“2”: 因此,注意pow函数返回的是浮点数, ...

  3. go语言小知识点

    fmt包相关 fmt包主要是实现了格式化的I/O函数 fmt.Println()   行打印 fmt.Printf() 格式化输出 %d int %s str %t type,类型 %p 内存地址 % ...

  4. 小知识点--crontab

    前言 这两周学了很多东西,还把golang语言基本掌握了,收获还是挺多的.在做安全的过程中,有很多需要定时执行的任务,比如抓取主机数量,端口数据等,这都逃不开linux中的crontab命令,今天分享 ...

  5. Python之——遇到的小知识点总结

    学习过程中,难免会遇到一些冷门的小知识点,熟悉这些小知识可以在工作中达到事半功倍的效果,尽力消除自己的知识盲区.总之当时的自己花了不少功夫去解决这些问题,因此觉得有必要单独记录下来,以后也许会再遇到, ...

  6. C/C++中一些不太注意到的小知识点--[锦集]

    C/C++中一些不太注意到的小知识点--[锦集] C/C++小知识点--[锦集] "="和"<=" 的优先级 1.( (file_got_len = re ...

  7. web小知识点

    写在前面: 该篇是个人平时对web前端小知识点的总结,会不定时更新...... 如有错误,敬请批评指正. 正文: 1.WWW是World Wide Web的缩写. 2.HTML(Hyper Text ...

  8. 刚接触Linux,菜鸟必备的小知识点(一)

    身为一个将要大四的学生,而且还是学计算机的没有接触过linux简直是羞愧难当.这个假期做了一个软件测试员,必须要熟悉linux的操作,所以对于我这个菜鸟我也就说几点比较重要的小知识点吧. 第一.cd指 ...

  9. Java学习过程中的总结的小知识点(长期更新)

    Java学习过程中的总结的小知识点 (主要是自己不会的知识和容易搞错的东西) 计算某个程序运行的时间 long stime=System.currentTimeMillis(); copy3(file ...

随机推荐

  1. HTML中<meta>标签如何正确使用

    HTML中<meta>标签如何正确使用 如果我们在浏览器中按下F12或者Ctrl+shift+J,便可以打开开发者工具,在element中即可看到<head>元素中有不少< ...

  2. 【原】CSS3 Media在常用设备的设置值

    摘要:今天的一个小小的项目中,在各种手机上样式都显示正常,唯独iphone4s的有些许问题.产品经理又说iphone4s用户还挺多的,无奈,只能查一查iphone4s的media值,顺便做个小小总结; ...

  3. mysql 数据库怎样快速的复制表以及表中的数据

    1.copy表结构 SHOW CREATE TABLE runoob_tbl:(选择你要复制的表),copy 它的创建语句,执行即可创建表结构相同的表了,记得改名称哦. 2.copy表数据 选择你要插 ...

  4. PHP 基本语法,字符串处理,正则

    <?php //注释语法 /*多行注释*/  输出语法 Echo "hello","worle";         //可以输出多个字符串 Print   ...

  5. 日志分析 第六章 安装elasticsearch

    在这里,以两台es集群为例. es集群健康状况有三种状态,这里我们搭建的es集群,只要两台不同时挂掉,数据不会丢失. green 所有主要分片和复制分片都可用 yellow 所有主要分片可用,但不是所 ...

  6. c# 操作datatable

    1.创建 datatable DataTable dt=new Datable();// 可以给表创建一个名字,tb 2.给表加个列名: dt.Columns.Add("id", ...

  7. jquery控制滚动条改变上面固定(fixed)导航条或者搜索框的属性

    <script type="text/javascript"> $(document).ready(function(){ $(window).scroll( func ...

  8. JavaWeb学习笔记——DAO设计模式

  9. IM即时通讯

    即时通讯,由于项目需求和不可抗力因素用的融云 当然我更倾向于用环信亲加等 使用融云遇到的那些坑: 1.集成时的坑: ,编译环境要求太高    项目中有很多旧的东西  达不到其标准 直接用最新版,出错, ...

  10. cmake 编译 c++ dll 的一个例子(更新2:增加 python 调用方法)

    CMakeLists.txt project(xxx) add_library(xxx SHARED xxx.cpp) add_executable(yyy yyy.cpp) target_link_ ...