运算符,常量和变量,强制类型转换

本文详细介绍了C语言的基础概念,包括运算符、常量与变量的区别、sizeof函数的用途、字符常量的不同形式以及格式化输出的选项。同时,还探讨了switch与if语句的效率对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,运算符

一定注意=是赋值,==才是等于!!太容易搞混了。

表达式1?表达式2:表达式3

意思是1若为真,则执行2,否则执行3

二,常量和变量

常量:程序运行过程中,值不能改变的量

符号常量:#define

变量:程序运行过程中,值能改变的量

const和define的区分:

1.从定义常量说的话: const 定义的常数是变量 ,带类型, #define 定义的只是个常数 不带类型。
2.const定义的只读变量在程序运行过程中只有一份拷贝(因为它是全局的只读变量,存放在静态区),而#define定义的宏常量在内存中有若干个拷贝。
#define宏是在预编译阶段进行替换,而const修饰的只读变量是在编译的时候确定其值。#define宏没有类型,而const修饰的只读变量具有特定的类型
3.const int *p; //p可变,p指向的对象不可变
int const*p; //p可变,p指向的对象不可变
int *const p; //p不可变,p指向的对象可变
const int *const p; //指针p和p指向的对象都不可变


三,

n=sizeof(a++);

printf("%d,%d",a,n);

sizeof()函数的意思是输出括号内的变量所占的内存空间。这里就是a的内存空间,如果定义int a;输出就是2.与a=多少无关。

四,'\0','0'

'\0':ASCII为0的字符,意义为:字符串结束符

’0‘:代表字符’0‘,即ASCII码值为48对应的字符

五,%e,%u,%o

%e:以指数形式输出实数

%u:无符号整数

%o:八进制


六,case中不能用float,double

c语言中,字符常量是整型,swith(表达式)中该表达式只能为整型,而非浮点型。浮点型无法精确定位到哪个case,所以对case不精确而不能使用。

七,if和swith谁的效率更好

swith效率更高。

if:需要遍历条件分支直到命中条件

swith:只需访问对应索引号的表项就能定位分支

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值