0
点赞
收藏
分享

微信扫一扫

177-C语言刷题17

_鱼与渔_ 2022-01-28 阅读 40

1.C语言本身是没有输入输出语句的

2.函数是构成C语言的基本单位

3.运算符优先级和结合性

单目运算符(第二行)和条件运算符(?:)和赋值运算符(= /= *= %=)的结合性是从右向左,其他都是从左向右
在这里插入图片描述在这里插入图片描述
4.定义一个输出文件流对象,并打开d盘du文件夹下的 abc.dat 文件的代码为ofstream fout; fout.open(“d:\du\abc.dat”);两个\是因为转义字符

5.C++线程安全
1.局部变量局部使用是安全的,为什么?
因为每个线程(thread)都有自己的运行堆栈,而局部变量是生存在堆栈中,大家不干扰
2.全局变量多线程读写是不安全的 , 全局变量是在全局(静态)区中
3.函数静态变量多线程读写也是不安全的
4.易变(volatile)能保证全局整形变量是多线程安全的么?
不能。 易变(volatile)仅仅是告诫编译器(compiler)不要对这个变量作优化,每次都要从内存(memory)取数值,而不是从寄存器(register)
5.InterlockedIncrement保证整型变量自增的原子性
写好多线程安全的法宝就是封装,使数据有保护的被访问到
安全性:局部变量 > 成员变量 > 全局变量

6.printf("%3.0f\n", 9.00);输出的结果为9,因为要求输出的宽度为3,精度为0

7.pipe通过返回两个文件描述符比如fout、fin实现进程通信,一次通信共涉及四次拷贝
1、写入进程用户空间–写入进程内核空间;
2、写入进程内核空间–pipe内核空间
3、pipe内核空间–读入进程内核空间
4、读入进程内核空间–读入进程用户空间

举报

相关推荐

C语言刷题3

每日C语言刷题

LeetCode c语言刷题000

C语言-每日刷题练习

C语言刷题笔记3

C-语言每日刷题

0 条评论