C/C++实践笔记 010位运算与宽字符

位运算
开灯关灯

^异或遇0不变,遇到1反转

异或可以不借助中间变量实现数据交换

加密解密

位取反~

<<左移,等价于乘上2,越界保留左边
>>右移,等价于除以2,整除

printf scanf返回值

printf纯字符串返回字符的个数
scanf的返回值是成功抓到多少个数据

scanf正则表达式
scanf("%[^,]",str); 逗号作为结束符,取反意味着遇到,就结束

scanf("%[1]",str); 遇到第一个不是1的字符结束,只接受1
scanf("%[0-9]",str); 遇到不是0-9的就结束

内存实体以及运算符优先级

const int b=10;

宽字符

MessageBox
与设置有关,默认unicode需要宽字符(加上L) L"你好天朝"
窄字符设置多字节字符集

宽字符的2个字节,表示范围大
窄字符表示范围小,节约内存
可以用TEXT自动调节

MessageBoxA A代表窄字符
MessageBoxW代表宽字符
设置属性对它们没有影响

L,l代表宽字符处理
宽字符用wprintf,wscanf,putwchar

#include<locale.h> //本地化头文件
setlocale(LC_ALL,"ZH-CN");//代表中文
wchar_t wstr[10]=L"你好";

auto关键字,自动分配自动释放

函数里定义的变量默认是auto

C99 _Bool
占1个字节,有两个值,true和false

整数的操作意义

赌博概率
赌博机实现

随机数依赖种子

#include<time.h>
time_t ts;
unsighed int num=time(&ts); //获取时间种子
srand(num);
int data=rand()%100;


逻辑问题

打印可见字符 32-126属于可见字符

posted @   千年风雅丶  阅读(210)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示