欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言阶段——需要注意的小细节

程序员文章站 2024-02-28 13:16:40
...

 

持续更新。。。。。。。

 

 

 

 

 

1.       int  a;

      定义全局变量                 如果不给初值    系统自动给a赋0

   但定义局部变量时             如果不给初值    就是一个随机值

 

 

2.scanf()函数 里  别放多余的东西   就放一个标准输入格式符就好

                    试一试:
                                scanf("%f\n", &temp1);
                                scanf("%lf\n", &temp2);
     
                     就知道了

 

 

 

3.逗号表达式作为一个整体,从左到右逐个计算;它的值为最后一个表达式的值

    逗号表达式的优先级在所有运算符中最低

 

 

 

 

 

4.赋值表达式  =    *=    -=    /=      运算顺序是从右往左运算

 

                    例如  int temp = 2;  if( x= 2 * temp = 3 ) ……   首先算2 * temp 得常数 4,   4 = 3  语法错误  x仍然没有赋值

优先级:!    算术符     关系符         &&        ||          赋值             逗号   

5.  C语言阶段——需要注意的小细节   假设a 的初值为2   运算完  a 的值为多少?     a 为 2 原因: 第一个if   没有加 {}   没有标明作用域

 

 

 

 

 

6.   Ubuntu启动出错  启动不了  可以试一下 删除下面两个文件夹

  C语言阶段——需要注意的小细节C语言阶段——需要注意的小细节

     至于为什么  我不知道。。   大家也可以评论告诉我。。。

 

 

 

 

 

7.  C语言中         0 == '\0' == NULL       !=          '0' == 48

 

 

 

 

 

8.   '\n' sizeof('\n') 的结果为4  ==> 为什么?    '\n'  字符型占用一个字节没错   

      但是'\n'的值是整型的ASCAII值 10  所以  sizeof(10)  结果为 4

 

 

      sizeof()           虽然长得像函数     但其实            是运算符

 

      typeof( '1' )    同理  他代表的类型并不是char     而是 int  原因就是函数

      处理的时候把    '1'  转换成整型数字 49  处理了

 

 

 

9.前置++      后置++

C语言阶段——需要注意的小细节

 

 

 

10.等价的表达式

C语言阶段——需要注意的小细节

 

 

 

 

11.数据在内存中的储存形式    整型 :   数据的补码存储            浮点型:    数据的补码存储

 

 

                                              字符型:  按字符的ASCII码存储      有疑问看第8点

                                              有符号:按数据的补码存储

 

                                              无符号型:按数据的源码存储

    有符号数据的表示                最小值在内存中的存储 符号位为 1 其他位为0
                                               最大值在内存中的存储 符号位为 0 其他位为1

 

12.      "\\\065a,\n"

          字符串长度为?       5

分析下:"\\\065a,\n"第一个字符\\,第一个\表示转义,
第二个\代表该字符第二个字符\065,八进制表达(有点凑巧啊)
第三个字符a
第四个字符,
第五个字符\n
所以答案是5

 

13.C语言阶段——需要注意的小细节
%s打印字符串  后接地址     %c打印字符  接值         

            char ch[] = "123456";   //系统给常量ch指向的变量数组  分配内存空间存 字符串"123456" 
            char *str = "abcdef";    //系统给变量str 分配内存空间存 常量字符串"123456"的地址

            注意:变量的值可以变   但是常量的值不可改变
                  也就是说 变量数组 的值"123456"可以变                      

                           变量str的值(存放的地址)可以变成另外的地址

                  但是常量指针ch的指向不可更改    常量字符串"abcdef"不可更改

 

14.

 

15.

 

16.

 

17.

 

18.

 

19.

 

20.

 

相关标签: C语言 细节