算法——紫皮书4/7

输入&输出

int t,p;
	scanf("%d",&t);
	printf("%d",t);
	//格式化输出
	//printf("%.1f",t);   输出:0.0
	printf("%.1f",(float)t);

stdlib.h和stdio.h的区别

stdlib 头文件即standard library标准库头文件
stdlib 头文件里包含了C、C++语言的最常用的系统函数
该文件包含了的C语言标准库函数的定义
stdlib.h里面定义了五种类型、一些宏和通用工具函数。 类型例如size_t、wchar_t、div_t、ldiv_t和lldiv_t;

stdio 就是指 “standard buffered input&output" 意思就是说带缓冲的标准输入输出!

stdlib里的是常用系统函数,跟系统调用相关的,比如内存申请malloc和释放free
stdio是标准io函数,比如printf和scanf函数

iostream是指iostream库。iostream的意思是输入输出流,直接点说就是in(输入) out(输出) stream(流),取in、out的首字母与stream合成。

4 个 IO 对象。
处理输入时使用命名为 cin 的 istream 类型对象。这个对象也称为标准输入。
处理输出时使用命名为 cout 的 ostream 类型对象,这个对象也称为标准输出。
另外两个 ostream 对象,分别命名为 cerr 和 clog(分别读作“see-err”和“see-log”)。
cerr 对象又叫作标准错误,通常用来输出警告和错误信息给程序的使用者。
而 clog 对象用于产生程序执行的一般信息 [1] 。

namespace:namespace是指标识符的各种可见范围。命名空间用关键字namespace 来定义。命名空间是C++的一种机制,用来把单个标识符下的大量有逻辑联系的程序实体组合到一起。此标识符作为此组群的名字。

dev c++

轻量级c/c++开发的IDE
遵守GPL许可协议分发源代码(General Public License)
集合了MinGW中的GCC编译器、GDB调试器和 AStyle格式整理器等众多自由软件

GPL :General Public License GUN通用公共许可证
GNU 操作系统: GNU计划的一部分,内容以GPL形式发布
GNU : 革奴计划,1983,实现UNIX接口标准,使用和开发大量软件
MinGW:Minimalist GNUfor Windows 可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合
GNU编译器套件(GNU Compiler Collection)包括C、C++、Objective-C、Fortran、Java、Ada和Go语言的前端,也包括了这些语言的库(如libstdc++、libgcj等等)。

stdio常用函数

int getchar()//从标准输入设备读入一个字符
int putchar()//向标准输出设备写出一个字符
int scanf(charformat[,argument…])//从标准输入设备读入格式化后的数据
int printf(char
format[,argument…])//向标准输出设备输出格式化字符串
char* gets(charstring)//从标准输入设备读入一个字符串
int puts(char
string)//向标准输出设备输出一个字符串
int sprintf(charstring,charformat[,…])//把格式化的数据写入某个字符串缓冲区

文件访问
fopen
freopen
fflush
fclose
二进制输入/输出
fread
fwrite
非格式化输入/输出
fgetc/getc
fputc/putc
ungetc
fgets
fputs
格式化输入/输出
scanf/fscanf/sscanf
printf/fprintf/sprintf
perror
文件定位
ftell
fseek
fgetpos
fsetpos
rewind
错误处理
feof
ferror
文件操作
remove
rename
tmpfile

各数据类型范围

int 4字节 32位 第一位0正1负 绝对值大小 2^31-1 即-2147483648 ~ 2147483647(10位)

char 1 Byte -128 ~ +127

short 2 Bytes -32768 ~ + 32767 (5位)
unsigned short 2 Bytes 0 ~ 65536 (5位)

int 4 Bytes -2147483648 ~ +2147483647 (10位)
unsigned int 4 Bytes 0 ~ 4294967295(10位)

long == int
long long 8 Bytes -9223372036854775808 ~ +9223372036854775807
unsigned long long的最大值:18446744073709551615

float 4字节 ( 6~7) (输出%.f)
double 8 Bytes 1.7 * 10^308 (15-16) (输出%.lf)
long double 16字节

__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615

ASCII表

0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),
如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;
通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;
ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。
它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。

32~126(共95个)是字符(32是空格)
48~57为0到9十个阿拉伯数字。
65~90为26个大写英文字母
97~122号为26个小写英文字母
其余为一些标点符号、运算符号等。

同时还要注意,在标准ASCII中,其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。
奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;
偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。

后128个称为扩展ASCII码。许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号

关于char
1.char类型的本质其实就是开辟了一个字节的空间存储数字,当使用%d时输出数字,使用%c时输出ASCII对应的字符。

2.char默认为signed char类型,最大位为符号位,范围是-128到127.用补码的方式存储,-128存储为1000 0000(相当于将 -0设置为-128,多存一个数)。

3.将int型强转为char型时,直接截取低八位;char型强转int型时,保留char的值,然后高位补全(注意,如果char存负数,因为是补码,补0补1的问题)。

4.程序里面的字符常量是按int处理的,sizeof(‘A’)与sizeof(65)等效;编译器, 对纯数字预设以int处理. 所以, 你直接印出’A’, 'a’的大小, 会是int大小. 因为已经被转换成数字才真的编译。而sizeof(‘字符变量’) 为1。

第一章习题感悟

//int 型,如果输入是字符/自动转为1?
//输入double类型必须用lf
//先乘浮点数转变成小数/再进行后续运算
//整数必须强制转换为浮点数/才能格式化输出
//注意赋值和判断相等的区别
//else总是与最近的if匹配

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值