C语言速通笔记(全)(600粉回馈)

C语言速通课笔记

  1. 一个C语言程序有且只有一个main函数,是程序运行的起点。
  2. 每个C语言程序写完后,都是先编译 .c后链接.obj最后运行..exe
  3. .c和.obj文件是无法运行的,只有.exe文件才可以运行
  4. 标识符由字母,数字,下划线组成并且第一个必须为字母或下划线
  5. 标识符分为关键字,预定义标识符,用户标识符
  6. 严格区分大小写
  7. 尽量采用能说明程序对象意义的标识符
  8. 十进制转化成二进制除以二倒序取余,小数部分是乘以二正序取整
  9. C语言只有八,十,十六进制,没有二进制;但在运行的时候所有的进制都要转化成二进制来进行处理
  10. 八进制是以0开头的,没有8,逢8进1
  11. 十六进制是以0x开头
  12. 小数的合法写法:C语言小数点两边有一个是零的话,可以不用写,如:0.3可以写.3
  13. 实型数据的合法形式:e前e后必有数,e后必为整数
  14. 整数和浮点型型一般是4个字节,字符型是1个字节,双精度型一般是8个字节
  15. /两边都是整形的话,结果就是一个整形,如果有一边是小数,那么结果就是小数,小数默认的是双精度形式,一共有八位
  16. 如果参加运算的两个数中有一个数为实数,则结果是实数
  17. %只能对整数进行操作
  18. 在定义时不可以连续赋值如:int x=y=10是错误的
  19. 等号的左边一定是一个变量,不可以是常量
  20. int x=7.7(那么x的值是7)
  21. float y=7(那么y就是7.0)
  22. ++在前先加后用,++在后,先用后加(一般在for循环用)
  23. 逗号表达式:优先级别最低。表达式的数值是逗号最右边的那个表达式的数值
  24. z=(2,3,4)这个时候z的值为4,整个是赋值表达式
  25. z=2,3,4这个时候z的值为2,这个是逗号表达式
  26. x=(a=3,6×a)        a=3  x=18
  27. x=(a=3×5,a×4)      表达式的值30,x=60
  28. 空语句不可以随意执行,会导致逻辑错误
  29. 要注意(int)(a+b)和(int)a+b的区别
  30. 三种取整丢小数的情况 1.int a等于1.6,2. b=(int)a 3. 1/2
  31. 字符数据的合法形式:'1'是字符,占一个字节,"1"是字符串占两个字节(其中含有一个结束符号)
  32. '0'是ASCLL数值表示48,'a'的ASCLL的数值是97,'A'的ASCLL数值是65
  33. 单个字符一定要用单引号
  34. ,俩个字符及以上一定要用双引号如:'65',"1"是错误的形式
  35. 字符是可以进行算数运算的,记住'0'-0=48
  36. 大写字母和小写字母的转化方式'A'+32='a',相互之间一般是相差32
  37. 转义字符分为一般转义字符,八进制转义字符,十六进制转义字符(和ASCLL码相关)
  38. 一般转义字符:背诵\t(指的是电脑上的tab键,水平制表键,空四格)\n换行,\'代表\,\"代表",\\代表\\
  39. 八进制转义字符:'\141'是合法的,前面的0不能写
  40. 十六进制转义字符:'\x6d'才是合法的,前面的0不能写,而且x是小写
  41. 字符型和整型是近亲:两个具有很大的相似之处,所有的字符都有一个它对应的整形数据的ASCLL的数值。如 char a =65  %c之后输出为A,%d输出为65
  42. 使用printf和scanf函数的时候,要在最前面加上#include〈stdio.h〉
  43. printf可以只有一个参数,也可以有两个参数
  44. %d输出的十进制数
  45. %o输出的是八进制,但是不好辨认输出的是八进制还是十进制一般用%#o(带前导的八进制)
  46. %x表示的十六进制,但是不好辨认,所以我们一般用%#x
  47. 数据转化 %md,如果数据的位数小于m,则左端补空,若数据位大于m,则按实际长度输出
  48. 数据转化 %m.nf 如果数据的位数小于m,则左端补空(0);如果数据位数大于m,则按实际长度输出。小数位数被截断时按四舍五入输出
  49. 在scanf中加&是取地址,加*是取数值,所以不能在里面输指针
  50. scanf可以指定输入长度如:终端输入1234567 scanf("%2d%4d%d",&x,&y,&z);x为12,y为3456,z为7(如果输入空格的话,空格也占一位)
  51. 在scanf中超过规定的长度,按原长度输出如:终端输入12,scanf("%d",&x),x为12
  52. 输入时候字符和整数的区别  scanf("%d",&x);这时候输入1,特别注意表示的是整数1       scanf("%c",&x);这时候输入1,特别注意表示的是字符'1'ASCLL为整数49(如果你想让它以整形数据来表示的话)
  53. putchar 和 getchar函数的考察(因为都有一个char,所以它操作的只有一个字符型的数据)
  54. char a =getchar()是没有参数的,从键盘得到你输入的一个字符给变量a
  55. putchar('y')把字符y输出到屏幕上
  56. getchar一次只能输入一个字符,如果你想输入多个字符的话,就要用到gets
  57. 一定记住=是赋值,==才是等号
  58. !运算,如果0取非是真的,任何非0数字取非它的结果都为假(任何非零数字取非之后都为1
  59. switch只可以和break一起用,不可以和continue用
  60. switch(x)  x:是整形常量(1,2,3......),字符型常量(a,b...),枚举型数据(Monday ...)
  61. for只管后面的一个语句
  62. while(真条件),程序才会往while里运行
  63. 指针变量的本质是用来放地址的,而一般的变量是用来放数值的
  64. *p在用过之后,后面可以直接用p
  65. *p是去取数值,p=&x则是取地址
  66. *p可以当做变量来用,*的作用是取后面地址p里面的数值
  67. *p++是地址变化
  68. (*p)++是数值发生变化a(因为++的优先级高于*)
  69. *p:一级指针:存放变量的地址
  70. **q:二级指针:存放一级指针的地址(不可以放变量的地址,只能放一级指针的地址)
  71. **q=&x的写法是错的,因为二级指针只能放一级指针的地址,不能放变量的地址
  72. 数组名是不可以自加的
  73. 在一维数组中,a是一维数组名,所以它是列指针,也就是说a+1是跳一列(往左跳)
  74. 在二维数组中,a是二维数组名,所以它是行指针,也就是说a+1跳一行
  75. 记住以下形式:a(2)变成*(a+2)
  76. a[2][3]变成*(a+2)[3],再可以变成*(*(a+2)+3)
  77. 字符串:strlen()字符串测长度其中str是字符串,len是长度
  78.         strcat()字符串连接函数
  79.         strcmp()字符串比较函数
  80.         strcpy()字符串拷贝函数
  81. sizeof查看是内存的形式,比如一个int四个字节,而strlen只是看字符串有多长的操作
  82. 函数指针的用法:add(int x,int y)  f=add赋完值之后,合法的调用形式为add(2,3)或f(2,3)或(*f)(2,3)
  83. scanf不能接受空格
  84. gets你输入啥它就接受啥
  85. 在预处理中〈〉是C语言里面有的一个库,如果你想自己写一个文件的话用""
  86. 一个文件必须要有main函数是错的,因为每一个c程序必须要有,而你直接写的一个函数可以没有
  87. 头文件一定是以.h结尾吗,不是,.h结尾的是系统给你的,你自己写的话一般用.c

  • 34
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码一探索者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值