初学C语言02(记录我个人的理解)
(欢迎各位在评论区指正不足)
1.字符串+转义字符:
有双引号引起来的一串字符称为字符串,例如:
int main()
{
"hello world";
"abcdefg";
return 0;
}
字符串中结束的标志是\0,为计算字符串长度的结束标志,但是其本身不算做是字符串内容,可以通过定义两个字符数组来理解:
#include<stdio.h>
int main()
{
char arr1[] = "abc";//双引号引起来的叫一串字符
char arr2[] = {
'a','b','c'};//大括号里面单引号引起来的叫单个字符
printf("%s\n",arr1);
printf("%s\n",arr2);//我们将上述两个字符数组进行打印,看看有什么区别
return 0;
} //当然我们也可以打开监视窗口按下f10进行监视
如上图,arr1打印符合预期,但是arr2打印完abc之后出现一排乱码,其原因就在于:它是单个字符放入,最后漏放了一个’\0’,这就导致电脑往后面继续打印直到在后面的一个内存空间之中碰到了一个随机的’\0’方才停止。
如上图监视窗口可知道:每个数组都是从0开始的,第一个数组有第三项’\0’
但是第二个数组没有第三项,由此可见,这再一次证明了,’\0’确实是字符串结束的标志
转义字符,顾名思义,就是转变意思
例,当我们想要在屏幕上打印一个文件的目录时:
#include <stdio.h>
int main()
{
printf("c:\code\test.c\n");
return 0;
}
出现的结果却是这样 的:
此处出现的歧义就是因为转义字符
如果想要打印内容符合预期:
printf("c:\\test\\test.c");\\方法就是在原来的斜杠之前再加上一个斜杠,把原来的意思转变掉,同样地,下面还有
printf("%s\n,"\"");\\此处我想单独打印一个",但是又不想被电脑解读成前面两个双引号在一起,于是就加一个\把它给转义掉
printf("%s\n,"\'")\\此处想单独打印一个',方法同上
特别注意,问你测量字符串长度的结果时,最后一个\ddd,如果三个数字中没有8,则算作一个
如果有8,那么挨个算
2.选择语句:(目前只学习了if语句,后续更新补上)
3.循环语句:(目前只学了while循环,后续补上)
4.函数:
例子:
函数的传递方式如上图所示
注意事项:
- 函数上面最前面(add)也要定义变量的类型
- 最后接受函数的值的变量也要定义其类型(即sum前面)
5.操作符:
注意:这里要想算出来的数是小数,那就要用小数的形式来写
#include <stdio.h>
int main()
{
float a = 9.0/2;
printf("%f",a);
}//被除数和除数中必须要有一个是以小数形式写的,并且前面必须用float来存放
//这样最后才能保证a是4.5
上面两个分别为左移操作符和右移操作符
他们移动的是二进制位,例如:
#include <stdio.h>
int main()
{
int a = 2;
int b = a << 1;//此处表示a的二进制位向左移一位
return 0;
}
因为a的值为2且存放在整型之中,一个int的空间为4个字节,每个字节下面有分8个比特位,所以可得移位的解:
左移一位后空出来的一个比特位默认补上0,因此上面代码块中,b的值为 :4
-
赋值操作符:
-
单目操作符:(从此处向下还未学完,有待更新)
-
关系操作符:
-
逻辑操作符:
-
条件操作符:
-
逗号表达式:
-
赋值操作符:
-
单目操作符:
-
关系操作符:
-
逻辑操作符:
-
条件操作符:
-
逗号表达式:
-
下标引用、函数调用和结构成员:
转载:https://blog.csdn.net/qq_54693675/article/details/115444603
查看评论