C/C++实践笔记 004
转义字符
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void main1()
{
char ch = getchar(); //获取一个字符
putchar(ch); //输出一个字符
system("pause");
}
C判断是0和非0,
java、php等只有0和1
\a响铃
0 48
A 65
a 97
进制要弄得非常清楚
内存如何存放数据和指令
同一个时间,内存空间里只能保存一份值
变量的内存机制
变量表管理所有的变量,不能引用未声明的变量
只能给变量赋值,变量在内存
a+1属于寄存器,不能赋值
_asm
{
}
插入汇编
变量的赋值都是通过cpu的寄存器完成
a=10 ,10存放在代码区(只读)的常量符号表
标识符:程序中用于表示常量、变量、函数的字符序列,只能由字母、数字、下划线组成
C语言大小写不同
遵循软件工程规范,一看就懂
VC函数名变量名支持中文,gcc只有字符串可以中文
C语言老版本的编译器,GCC如果没有开启C++11支持,vc2010之前的版本,变量必须在函数调用之前定义。
初始化,新老版本编译器,新编译器提示错误,老版本不提示垃圾数据
常量分析
const int a=100;
不能直接修改常量的数据
&取地址运算符
间接赋值修改常量
* (int*) (&a)=16; //不算真正意义的常量
// *根据地址取出内容, int*类型转化为非常量类型
#define a 99
//define不能加分号,加了就是一起替换
c语言能操作内存,不能操作寄存器
define算是真正意义的常量,不能直接修改,也不能间接修改
汇编语言既能操作内存,也可以操作寄存器
define意义明确,可以实现批量修改,不能取地址,因为它是存在寄存器里的
变量交换 时空分析
时空复杂度
int temp=a;
a=b;
b=temp;
评估时空复杂度,temp增加空间1,时间3次
int a=10;
int b=5;
a=a+b; //a=15,b=5
b=a-b; //b=10,a=15
a=a-b; //a=5,b=10
空间0,赋值三次,加三次,共6次
+,-,*,/会数据越界,最安全的做法是异或
异或
变量的数据类型
进制
0代表八进制
0x代表十六进制
printf("%d",num);
以十进制输出结果
查看内存时一般是十六进制
计算机存储数据
内存是存储数据的房间
1个字代表4个字节
数据的类型
面试中常见,理解不透彻会出现问题
%f实数打印
数据类型的差别
printf不会自动完成数据类型转换
float f1=10.9;
printf("%d",f1);
直接按照整数去读实数会出错
理解语法规则,逻辑严密
数据类型的差别:不同数据类型占据的空间不同,解析方式不同
sizeof
char 1字节
int 4字节
double 8字节
sizeof是关键字,不是函数
sizeof还可以求表达式
sizeof("123")占4个字节,因为字符串默认会有一个\0结束
sizeof('A') 占1个字节
符号的作用
有符号和无符号
整数的极限
#include<limits.h> //极限的头文件
void main()
{
int num_max=INT_MAX;
int num_min=INT_MIN;
printf("max=%d,min=%d",num_max,num_min);
getchar();
}
unsigned char chnum=0; 2^8=256 0~255
数据的计算必须在极限的范围内
第一位0代表正数,1代表负数
数据在内存的排列
电脑手机 低位在低字节,高位在高字节
unix 低位在高字节
%u无符号
补码
反码正数与原码一样
补码正数与原码一样
负数反码+1
计算机是以补码的方式存储的
C/C++实践笔记 004的更多相关文章
- hadoop2.5.2学习及实践笔记(二)—— 编译源代码及导入源码至eclipse
生产环境中hadoop一般会选择64位版本,官方下载的hadoop安装包中的native库是32位的,因此运行64位版本时,需要自己编译64位的native库,并替换掉自带native库. 源码包下的 ...
- Python编程从入门到实践笔记——异常和存储数据
Python编程从入门到实践笔记——异常和存储数据 #coding=gbk #Python编程从入门到实践笔记——异常和存储数据 #10.3异常 #Python使用被称为异常的特殊对象来管理程序执行期 ...
- Python编程从入门到实践笔记——文件
Python编程从入门到实践笔记——文件 #coding=gbk #Python编程从入门到实践笔记——文件 #10.1从文件中读取数据 #1.读取整个文件 file_name = 'pi_digit ...
- Python编程从入门到实践笔记——类
Python编程从入门到实践笔记——类 #coding=gbk #Python编程从入门到实践笔记——类 #9.1创建和使用类 #1.创建Dog类 class Dog():#类名首字母大写 " ...
- Python编程从入门到实践笔记——函数
Python编程从入门到实践笔记——函数 #coding=gbk #Python编程从入门到实践笔记——函数 #8.1定义函数 def 函数名(形参): # [缩进]注释+函数体 #1.向函数传递信息 ...
- Python编程从入门到实践笔记——用户输入和while循环
Python编程从入门到实践笔记——用户输入和while循环 #coding=utf-8 #函数input()让程序暂停运行,等待用户输入一些文本.得到用户的输入以后将其存储在一个变量中,方便后续使用 ...
- Python编程从入门到实践笔记——字典
Python编程从入门到实践笔记——字典 #coding=utf-8 #字典--放在{}中的键值对:跟json很像 #键和值之间用:分隔:键值对之间用,分隔 alien_0 = {'color':'g ...
- Python编程从入门到实践笔记——if语句
Python编程从入门到实践笔记——if语句 #coding=utf-8 cars=['bwm','audi','toyota','subaru','maserati'] bicycles = [&q ...
- Python编程从入门到实践笔记——操作列表
Python编程从入门到实践笔记——操作列表 #coding=utf-8 magicians = ['alice','david','carolina'] #遍历整个列表 for magician i ...
随机推荐
- iframe高度自适应
前两天在网上看到了一道面试题,问iframe高度自适应的问题.发现自己之前几乎没有关注过iframe的问题,所以在这里记录一下. 原题目是: 页面A的域名是:http://www.taobao.com ...
- JavaScript小细节点罗列
共勉! 属性访问表达式 众所周知,JavaScript为属性的访问定义了两种语法方式: 表达式.标识符 // 表达式(指定对象) 标识符(指定需要访问的属性的名称) 表达式[表达式] //表达式1(指 ...
- OC笔记一:Objective-C简介
1.OC简介 全称:Objective-C,是扩充C的面向对象编程语言,主要用于iOS和Mac OS开发. C语言的基础上,增加了一层最小的面向对象语法 完全兼容C语言 可以在OC代码中混入C语言代码 ...
- Android—自定义标题栏的实现及遇见的问题解决
开发者设计界面时候往往不会使用系统自带的标题栏,因为不美观,所以需要自己设置标题栏. 1.根据需求在xml文件中设置标题布局 <?xml version="1.0" enco ...
- eclipse配置tomcat 和JRE环境
配置JRE环境,通俗点讲就是添加一个不同版本的jdk window——preferences——java——installed jres 点击add添加 选择standard VM 选择一个本机正 ...
- Objective-C 快速入门--基础(四)
1.什么是Block? ① 块语法,本质上是匿名函数(没有名称的函数): ② Block是OC中的一种数据类型,在iOS开发中被广泛使用: ③ ^是Block的特有标记: ④ Block的实现代码包含 ...
- spring mvc生成注册验证码
通过Spring MVC为系统添加验证码 1:布局登陆页面,用户名,密码,填写验证码的文本框,及验证码的图片及点击换图 <%@ taglib prefix="c" uri=& ...
- angularjs结合d3js实现资源展示
转载请注明出处: 转载自Bin's Blog: angularjs & d3 实现资源展示( http://www.wenbin.cf/post/27/ ) angularjs结合d3js实 ...
- centos7安装vncserver
:# yum install tigervnc-server -y :cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vnc ...
- ORA-04063: view "SYS.DBA_REGISTRY" has errors
测试环境做了RMAN还原(从10.2.0.4.0 32bit 还原到 10.2.0.4.0 64bit)后,查询dba_registry系统视图时报如下错误 SQL> select comp_ ...