栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c语言的一些注意事项

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c语言的一些注意事项

操作符是可以不使用加括号的,sizeof后可以加括号也可以不加括号
~对一个数的二进制按位取反操作符
整数(正数):原码,反码,补码一致
整数(负数):如-1
原码:1000000000000000000001
反码:1111111111111111111110//第一位符号位不变,其他位改变
补码:1111111111111111111111//在反码的基础上加1

define(宏)用于使用一个标识符来表示一个字符串
一般格式为:
#define 标识符 字符串
要注意的是边缘效应,用define来定义宏时最好定义的是数值而不是一个公式

#define x 5+4
#include
int main()
{
    int a=3;
    int b;
    b=x*a;
    printf("%d",b);
    return 0;
}


期望值应该是27
而结果得出的却是17
这就是由于边缘效应导致的括号没了变成了3*5+4而不是希望的3*(5+4)

static关键字

可以将变量变为静态变量
局部变量
修饰局部变量时可以将运算后变量的值保存,不会因为下一次的运算而初始化
全局变量
修饰全局变量时让变量仅对当前文件生效,其他的文件无法用extern调用,其他的文件也可以再一次定义相同名称的变量,不会受到static修饰的变量名称的影响

条件操作符
格式exp1 ? exp2:exp3
a>b?a:b
等效代码
if(a>b)
{
    max=a
}
else
{
    max=b
}

逗号表达式
exp1,exp2.。。。expN
顺序是递进的
int d=(exp1,exp2,...,expN)
最后d的值为最后一个expN的值


=是赋值
==是表示比较

char[]定义的是一个字符数组
char*定义的是一个字符串指针

sizeof和strlen

sizeof是一个关键字,也可以看作一个运算符(计算字符在电脑中所占大小
计算数组的时候

strlen是一个函数(只针对于计算字符长度

关键字

break://循环程序中,跳出循环关键字
case//选择语句关键词
continue//循环关键词
(switch
case//选择语句关键字
default)
extern//外部变量、函数声明符号。从外部文件夹中引用函数
do—while//该关键字为先执行do的内容,在判断while内的条件
goto//跳转语句

变量类型
char,int,float,double,long,short
signed//有符号类型  -10,+20
unsigned//无符号类型
const//常变量关键字
enum//枚举关键字
extern//引用外部文件函数


register//寄存器变量关键字
只能修饰局部变量

a++和++a
结果打印出来不一样

 

#include
int main()
{
    int a=1;
    int b=2;
    printf("%dn",a++);//此处打印的数值为a,而不是a++。因为先执行的打印,打印后才是++
    printf("%dn",a);
    printf("%dn",++b);//此处先执行++再打印
return 0;
}

结果为

1

2

3

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/346633.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号