0
点赞
收藏
分享

微信扫一扫

C语言学习第四天:转义字符、注释、选择语句、循环语句、函数、数组、操作符

一、转义字符

转义字符:转变了原来的意思
我们可以做个实验:当我们打印一个路径时“C:\taa\tss\ta”会打印出什么呢?

int main() {
       char arr1[] = "C:\taa\tss\ta";
       printf("%s\n",arr1);
       return 0;
}

也许你会以为结果是"C:\taa\tss\ta"吧?但其实是这个哦!Image.png
为什么是这个结果呢?我们可以尝试仔细看一下\t \t \t 是不是刚好对应三个空?是的我们找到了规律,而这个\t就是转义字符,将t的原有意思转化为tab制表符(可以理解为很多个空格)。也许你会问,那这样我们是不是没法打印路径了吗?不,我们当然会有相应的转义字符。

int main() {
    char arr1[] = "C:\\taa\\tss\\ta"; \\使用\\将\的意思转化为单纯的字符
    printf("%s\n",arr1);
    return 0;
}

结果:Image.png
而这就是转义字符的意义。

\a 响铃
\b 退格
\f 换页
\n 换行*
\r 回车
\t 水平制表
\v 垂直制表
\\ 代表一个反斜杠字符*
\' 代表一个单引号字符*
\" 代表一个双引号字符*
\0 空字符
\ddd 1-3位的任意8进制*
\xhh 代表1-2位的任意16进制*

二、注释

C++中的注释是:\ (也是我们最常用的一种)
而C中的注释是:/ /(这个注释的缺点是无法嵌套注释) 如下
Image.png
所以我们常常使用//

三、初识选择语句

今天我们就学习一个选择语句吧!

int main() {
       int i = 1;
       if (i == 0) {
              printf("%s\n", "假");
       }
       else {
              printf("%s\n", "真");
       }
       return 0;
}

事实上仅凭借以上代码就能够熟知if语句格式,那我们也就不多赘述了,我们需要了解的是再C语言中\==和=的意思并不一样。=是赋值符将后面的内容赋到前面,而==是比较符,比较前者与后者的内容,并给出真假。其中0为假,非0为真。

四、初识循环语句

我们今天也学习一个循环语句吧!

int main() {
       int i = 0;
       while (i < 100) {
              printf("计数: %d\n",i);//输出: 计数:i
              i++;
       }
       if (i == 100) {
              printf("%d\n", i); // 结果:100
       }
       return 0;
}

我们也大致能了解到while的结构,但其中i++我想有人并不理解,我们先在这里小小的一下,i++就是i = i + 1的简便写法,后面会深入讲解。

五、初识函数

这个函数可不是系统自带的函数,我们现在需要认识的,是 自己创建的一个函数。让我们看代码吧!

add(int x, int y) { //创建加法函数
       int z;
       z = x + y;
       return z;
}
int main() {
       int num1 = 12;
       int num2 = 13;
       int sum = add(num1, num2); //使用自创建的add函数
       printf("%d\n", sum);
       return 0;
}

也许你看到这里会觉得自建函数有点没用,因为完全省不了多少个行嘛,甚至还多了几行。哈哈,这只是最简单的运用场景,往后,当我们碰到更复杂的应用场景的时候,你会感谢自创函数的。

六 、数组

数组十分简单,甚至没有什么需要讲的,那我们就提个一嘴吧,数组的下标是从0开始(不要忘了),忘了告诉你们了,数组中的每一个位数的大小都是其类型的大小,如果是int arr[10] = {0};的话,那么,sizeof(arr1[])出来将会是40。

int main() {
       char arr1[10] = { 0 }; // 是的,这样我们就定义了一个数组,且这个数组的所有个数为0
       return 0;
}

七、操作符

1.算数操作符

也就是+、-、*、/、%
我们唯一需要了解的就是%,%的意思是,取余数,因为9 / 4 = 2...1 那么 9 % 4 = 1。

2.移位操作符

共有:>>(右移位符)、 <<(左移位符)
二者如果遇到数字,意思就是将数字转化为2进制并且整个向左/向右移动一位并且空缺由0补充

3.位操作符

组成:&(按位与)、|(按位或)、^(按位异或)、~(按位取反)
&:将&两旁的数字按二进制展开(因为运算是使用补码,我们计算时也应当展开为补码)后按位比较大小,相同取1,不同则取0,最后计算总值。

int main() {
       int a = 3;
       int b = -5;
       printf("%d\n", a & b);//结果为3
       return 0;
}

|:将|两旁的数字按二进制展开(因为运算是使用补码,我们计算时也应当展开为补码)后按位比较大小,任意一方有1则为1,都无1则为0,最后计算总值。(计算与上图相差无几)
^:将^两旁的数字按二进制展开(因为运算是使用补码,我们计算时也应当展开为补码)后按位比较大小,相同取0,不同取1,最后计算总值(计算与上图相差无几)
~:将\~旁的数字按二进制展开,并且全部取反。

4.赋值操作符

组成:+=、-=、/=、*=、%=、=、<<=、>>=、&=、^=、|=
这些复合操作符基本意思相差不大,如果a+=2 那么就是a = a+2,其余可以推测出。

5.单目操作符

意思是只对应一个变量的运算符(只有一边有元素),不同于=等运算符(两边都有元素)

int a = 1; // = 是双目 有a 和1两个元素
printf("%d\n",!a); // !是单目只有a一个元素
//结果是0 因为0是假,非0是真,!的意思是取反
取反(not)
++ i++意为先使用,后运算(+1)
++i 意为先运算,再使用(+1)
sizeof 计算类型或者变量的大小
~ 按位取反
-- i--意为先使用,后运算(-1),--i意为先运算,再使用(-1)
(type) 强制类型转换。如果int a = 3.14;则会报错,但是如果是int a = (int)3.14;,则不会报错

6.逻辑操作符

&&(与):将两旁的表达式进行比较,如两方相同则输出真
||(或):将两旁的表达式进行比较,只要有一方为真就会输出真

7.条件操作符

?: :由?:组成 可理解为exp1?exp2:exp3
exp1的表达式成立时,执行exp2语句并输出值
如果exp1的表达式不成立,则执行exp3语句并输出值

8.函数调用操作符

[]()、()、.、->
[](下标引用操作符):就是数组arr[]中的[]表示其中的数字是下标。
()(函数调用操作符):是printf()中的()表示传参数可以有多个。

举报

相关推荐

c语言学习打卡第四天

0 条评论