C语言注意点(1)

1switchcasebreakdefault相关注意点

当变量表达式的内容与某个case后的常量相等后,就执行该case下的语句,break表示该case以后的内容不会执行(立即跳出switch语句),

如果没有跟break,会继续执行当前case之后的case分支,直到与之匹配或都不匹配后执行default。

switch注意点

1.switch 后的 expression 必须是整型表达式      case 后的值,必须是整形常量表达式

2. case 和后边的数字之间必须有空格。

3. 每⼀个 case 语句中的代码执行完成后,需要加上 break ,才能跳出这个switch语句。

如果某⼀个 case 语句的后边没有 break 语句,代码会继续往下执行,有可能执行其他 case 语句中的代码,直到遇到 break 语句或者 switch 语句结束。

4.在 switch 语句中 case 语句和 default 语句是没有顺序要求的,只要你的顺序是满足实际需求的就可以。

举例说明

分数匹配例子:case 10:  case 9:printf("A");

2、main函数的位置

main函数的位置可以在任意位置,但是如果在主函数之中调用了哪些函数,必须在main函数前对其所调用函数进行声明或包含其被调用函数的头文件。

3、define不是关键字

define不是关键字,是编译器实现的,用来定义宏的预处理指令,不是C语言中的内容。

int、struct和continue都是C语言中包含的关键字。

4、字母ASCII码注意点

小写字母的ASCII码值-32就能得到对应的大写字母的ASCII码值

小写字母的ASCII码值比对应的大写字母的ASCII码值更大的。

5、编译、链接、可执行文件

C语言是一门编译型计算机语言,代码需要经过编译和链接生成可执行程序才能运行的,C语言代码经过编译生成目标文件,

目标文件和链接库通过链接生成可执行程序。

6、strlen()函数使用注意

strlen是用来获取字符串的有效长度的,结尾标记'\0'不包含在内。

strlen获取的规则非常简单:从前往后依次检测,直到遇到'\0'是就终止检测。

7、gitee本地文件修改显示红色感叹号

8""''的注意点

''中间只能是字符

""中间只能是字符串 例:"abc"  ""自动添加/0    内存空间:a b c /0

9、strlen计算转义字符时的个数

详看下图注释说明

10、c语言中0表示假,非零表示真

另外c语言后来又添加了布尔这种变量,如下图所示:

11、sizeof的计算类型为size_t,表示无符号的整数。

size_t的本质就是无符号整型,VS上要使用%zd来打印(否则会有警告),但有些不太严谨编译器占位符也可以是%d等其他类型。

由于32位机或64位机或编译器的不同,同一类型变量在编译器中的字节数不同(char都是一个字节),但在同一编译器中,

有sizeof(short)<=sizeof(int)<=sizeof(long)<=sizeof(long long)    sizeof(float)<=sizeof(double)<=sizeof(long double)

sizeof 变量/sizeof (变量)   sizeof(变量类型) 

小数后加一个f表示该小数类型为float类型,如:

当sizeof(表达式)时,sizeof的计算原则:

1.如果是sizeof(a=b+c)形式时,整体的大小取决于a在对应环境下占用字节数,如下图。

2.如果是sizeof(b+c),整体的大小取决于b和c的最大所占字节数。(当b和c的字节数均小于4时(如char和short时),整体结果是4)

计算机内部计算默认是以32位进行存储和计算的(char,short,int),但当中有高于4个字节的变量时计算时就要进行整型提升。

12、char类型有无符号与编译器有关

13、局部变量定义/创建时最好要初始化,因为局部变量不初始化,里面放的是随机值。

同一文件中全局变量与局部变量的名字相同,优先使用局部变量

14、ASCII码中的\0与空格的编码不同

NULL或\0的ASCII码与空格的ASCII码不同  空格也属于char型

15、/%操作符的注意点

8/2=4

7/2=3

7.0/2=3.5(除法中只要两边任意一个为小数,结果就是小数,打印小数应注意最后用%f/%lf)

%的两个操作数只能为整数,%只能用于整数且正负取决于第一个操作数

16、初始化与赋值的不同之处

17、单目运算符的注意点

单目运算赋+、-的注意点

+号可以省略

a=+-10/a=-+10都表示a=-10

18、%n.mf的用法

%nd(默认为右对齐)、%-nd(为左对齐):n表示最小宽度,当实际数(打印浮点型只有n位限制时,默认小数点后6位)大于n时,就按实际位数打印

打印小数时,n等于整数位数、小数点、小数位数之和。

19、需要复制VS提示信息时的操作

20、vs认为scanf不安全的原因

scanf()不会检测目标数组能不能放得下,就直接放

21、EOF的值是-1

22、如果占位符为空格%c表示跳过空格后读取

23、3个数升序排序()编程

 

#include<stdio.h>

int main()

{

    int a,b,c,temp;

    scanf("%d%d%d",&a,&b,&c);

    if(a<b)

    {

        temp=a;

        a=b;

        b=temp;

    }//a>b

    if(a<c)

    {

        temp=a;

        a=c;

        c=temp;

    }//a>c

     if(b<c)

    {

        temp=b;

        b=c;

        c=temp;

    }//b>c

    printf("%d %d %d",a,b,c);

    return 0;

}

 

  • 26
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值