分享

快来看C语言的冷知识,带你一起涨姿势~

 新用户0118F7lQ 2022-09-30 发布于山东

C语言有很多有趣的冷知识,通过这篇文章来一起了解下吧。

空格:有用?没用?

在我的C语言第一堂课上,我会告诉同学们在C语言中,是可以存在无意义的空格和空行的,但是不能“任性”地使用空格和空行。

看下面的代码:

    int a;       //一个空格

    int   b;     //三个空格

将两行代码放到Dev C++中,可以发现,这两条定义整型数据的语句都是正确的。

接下来再来看赋值语句:

    a = 10;     //赋值运算符左右各有一个空格

    b=1;        //赋值运算符左右没有空格

可以看出,赋值运算符左右不管有没有空格都不影响使用。

但是对于+=符中是不可以有空格的。

    a + = 10;        //× 错误

那下面总结一下,在C语言中,哪些地方不能出现多余的空格。

1C语言中关键字的字符间不能出现空格,例如:

         int不能写出“i nt”,switch不能写成“swi tch

2)标识符的字符间不能有空格,例如:

         int  iAge;不能写成int i Age;

3C语言定义的多字符组成的运算符之间不能有空格,例如:

        iAge+=100; +=之间就不能有空格,这个现象仅限于两字符或者三字符的运算符。

4)双引号里不能出现回车,例如

    printf('Hello World

    ');

反斜杠 ' \ '

当我们一行写不下一条C语言语句时,可以使用续行符 '\' 来续行。

    printf('Hello World\

    ! ');

输出的结果为“Hello World!”。

但是在一行的代码中使用它。如:

   printf('Hello World\! ');

这里会输出什么呢? 一般情况下printf里面的第一个字符串参数原样输出,也就是会输出: Hello Word\!

但是实际输出却不是上面描述的,而是:              

图片

输出结果中并没有“\”。

C语言编译器里面, 当使用单独的一个 '\' 时他就是一个续行符, 哪怕这个续行是在一行也是一样。

最开始的函数定义

绝大部分人可能都不知道,C语言最开始是这样定义函数:

    int add(a, b)

    int a, b;

    {

      return a + b;

    }

换成现在的风格是:

int add(int a, int b)

{

  return a + b;

}

数组的引用

C语言中是数组元素的引用的一般形式是:

数组名[下标

比如Array[3]

也可以写成:

 下标[数组名

例如下面的代码。

#include <stdio.h>

int main(){

   int arr[10];

   arr[5] = 1;

   printf('%d',5[arr]);

}

执行结果如图所示。

图片

[]{}符号的替换

可以使用 <: :> 来代替 [ ]

使用 <% %> 来代替 { }

例如改写上面的代码。

#include <stdio.h>

int main()<%

   int arr<:10:>;

   arr<:5:> = 1;

   printf('%d',5<:arr:>);

%>

执行结果如图所示。

图片

字符串拼接

C语言中,将两个由' '包围的字符串放在一起,它们会自动拼接成一个字符串。

#include <stdio.h>

int main(){

    puts('''喜欢''C语言');

}

执行结果如图所示。

图片

如果你还知道其他C语言的冷知识,欢迎在留言区留言哦~大家一直涨姿势!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多