大一时学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. kali linux 2.0安装sublime text 2

    第一种方法:Download the Sublime Text 2 & Extract it:32位:$ wget http://c758482.r82.cf2.rackcdn.com/Sub ...

  2. Ubuntu下忘记MySQL密码重设方法

    今天在做Python的实验,要用到MySQL数据库,但是密码是啥捏~~~果断重新设置密码啦啦啦 http://www.cnblogs.com/yuxc/archive/2012/07/25/26075 ...

  3. MYSQL select查询练习题

    10. 查询Score表中的最高分的学生学号和课程号.(子查询或者排序) select sno,cno from score where degree=(select max(degree) from ...

  4. MySQL下全文索引

    一种特殊的索引,它会把某个数据表的某个数据列出现过的所有单词生成一份清单. alter table tablename add fulltext(column1,column2) 只能在MyISAM数 ...

  5. 如果将CTE 用在属于批处理的一部分的语句中

    declare @s nvarchar(3) set @s = 'C%' ; -- 必须加分号with t_tree as ( select CountryRegionCode from person ...

  6. 药企信息sop

    中国药品生产企业 http://db.yaozh.com/shengchanqiye 全球药品生产企业 http://db.yaozh.com/quanqiuqiye

  7. Java数据结构的特点

  8. 欧几里德算法 GCD

    递归: int gcd(int a,int b) { ?a:gcd(b,a%b); } 非递归: int gcd(int m,int n) { int r; ) { m=n; n=r; } retur ...

  9. C++中dynamic_cas操作符的工作原理

    http://stackoverflow.com/questions/13783312/how-does-dynamic-cast-work http://publib.boulder.ibm.com ...

  10. 部署openssh服务器

    1.安装服务器端软件包 先查看是否已经安装openSSH服务器软件包 # rpm -qa|grep openssh openssh-askpass-.3p1-.el6_6..x86_64 openss ...