C语言基础知识点2

1、字符串+字符
结束标志为\0
字符串, 打印用%s
字符–打印用%c
char arr1[] ={“abc”}有4个字符,长度为3, 用strlen求长度的时候不算结尾默认的\0
-char arr2[]={‘a’,‘b’,‘c’};//没有默认的\0,长度为 随机值,不同平台打印不一样
2、转义字符
\101(\后面有三个数字,但是8进制里没有8,不能为\328)
\x30 30表示的是16进制数字
在这里插入图片描述

#include <stdio.h>
int main()
{
	printf("%d\n", strlen("c:\test\328\test.c"));
	return 0;
}

在这里插入图片描述
在这里插入图片描述

  • \32被解析成一个转义字符而不上\328因为三位数字意味着为八进制,而八进制里面不能有8

3、操作符

  • 左移<< 每移动一位相当于乘以2
  • 右移>> 每移动一位相当于除以2
  • 位操作符 按位与& 按位或| 按位异或 ^
    float a=9/2 结果为4
    float a=9/2.0 结果才为4.5
  • 取余 :%
  • !逻辑取反
    if(!a)
    {
    //a为假的时候,执行
    }

在这里插入图片描述
**~按位取反 **
原码变为反码:除了符号位,其他位取反
反码变为补码:反码加1

在这里插入图片描述在这里插入图片描述

整数在内存中是补码(即0的32位按位取反以后,都变为32位1的时候就是补码,然后在通过转换为原码才在屏幕上输出值) ,但是在屏幕上输出的是原码-1 。
选择操作符

  • exp1 ? exp2 : exp3 ;条件1成立则输出条件2,条件1不成立则输出条件3
    max=a>b?a:b;
    常见关键字
    extends 声明外部符号
    register //大量使用的数据放在寄存器
    signed有符号的
    unsigned无符号的
    union联合体(共用体)
    void 无–空

  • 预处理指令(不是关键字) define
    在这里插入图片描述

  • 在define中如果x+y不加括号将会出现问题在下面运算中

在这里插入图片描述

  • typedef
    在这里插入图片描述
  • static
  • static修饰局部变量 :延长生命周期
    static修饰全局变量: 在整个工程中都可以使用 在这里插入图片描述在这里插入图片描述
    外部调用static没有用
    1、在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2、在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值