笔记——C语言

avatar
作者
猴君
阅读量:0

C语言是一种结构化的程序设计语言

空格的ASCII码值是32,空格是属于可打印字符

\0是字符串结束的标志,字符串的末尾隐藏了一个\0

printf()在打印字符串或者strlen在计算字符串长度的时候,遇到\0的时候就自动停止。

strlen返回的值是size_t类型的,应该使用%zd进行打印

C语言中支持一种东西,叫三字母词,以前的编译器会支持三字母词,但现在的编译器基本上都不支持了

三字母词是以??开始加一个其它的符号,比如说??)–>], ??(–>[

举例说明:

int main() {     printf("(are you ok??)");//这个输出的结果是(are you ok]          return 0; } //如果想让这里的'?'不再是三字母词里的问号,就可以用转义字符'\?',例如这里写为printf("(are you ok\?\?)"); 

有两种非常奇葩的转移字符,下面两种转义字符可以理解为:字符的八进制或者十六进制表示形式

  • \ddd: d d d 表示1~3个八进制数字。 如:\130表示字符x

  • \xdd: d d表示两个十六进制数字。 如:\x30表示字符0

    \0 :null 字符,代表没有内容, \0 就是 \ddd 这类转义字符的⼀种,⽤于字符串的结束标志,其

ASCII码值是0.

\b这个转义字符,光标回退一个字符,到底会不会删除字符????????

编译时,注释会被替换成⼀个空格,所以 min/* 这⾥是注释*/Value 会变成 min Value ,⽽不

minValue ,也就相当于删掉了。

编程是为了解决生活中的问题,计算机语言来写代码——得有能力描述生活中的问题,那么生活中有那么多数据,因此C语言中有许多的数据类型。

1个二进制位的存储需要一个bit位的空间

1KB = 1024Byte 1024=2的10次方

C语言标准规定:

sizeof(long) >= sizeof(int),所以说sizeof(long)可能是4也可能是8,看不同的编译器。

并且sizeof(long double) >= sizeof(double)这个也是这样。

数据类型就相当于模具,sizeof的单位是字节

sizeof 的计算结果是 size_t 类型的。

📌 sizeof 运算符的返回值,C 语⾔只规定是⽆符号整数,并没有规定具体的类型,⽽是留给

系统⾃⼰去决定, sizeof 到底返回什么类型。不同的系统中,返回值的类型有可能是

unsigned int ,也有可能是 unsigned long ,甚⾄是 unsigned long long

对应的 printf() 占位符分别是 %u%lu %llu 。这样不利于程序的可移植性。

C 语⾔提供了⼀个解决⽅法,创造了⼀个类型别名 size_t ,⽤来统⼀表⽰ sizeof 的返

回值类型。对应当前系统的 sizeof 的返回值类型,可能是 unsigned int ,也可能是

unsigned long long

sizeof中如果放的是表达式,表达式不会真实计算!

  • char ---- char 到底是有符号还是无符号呢? 这个不确定,是取决于编译的实现,大部分编译器上char就等价于signed char

    signed char

    unsigned char

  • int 是有符号还是无符号呢?

    int 就是等价于signed int, short也是等价于signed short, long也是等价于signed long, long long也是等价于signed long long

    signed int

    unsigned int

创建变量的同时给它一个值,这叫初始化。而已经有了变量以后给它值,这个叫赋值,这是两码事。

在C语言中,直接给一个小数,例如:3.14这个会默认为double类型,而像3.14f这样写,就认为是一个float类型了。

当全局变量和局部变量名字相同的时候,局部变量优先。

c = b = a+3;像这种连续赋值,是从右向左依次赋值的

C语⾔虽然⽀持这种连续赋值,但是写出的代码不容易理解,建议还是拆开来写,这样⽅便观察代码的

执⾏细节。

int main() { 	int a = (int)3.14; 	printf("%d\n", a);  	return 0; } 

这个强制类型转换就是把整数留下来,把小数部分直接就丢了。

函数不写返回类型,编译器会默认函数返回类型为一个int整型。

如果函数要求返回值,但函数中没有使用return返回值,那具体返回什么就不确定。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!