C++语言学习——LRJ入门经典笔记
1.scanf的输入格式,空格、TAB和回车符都是无关紧要,所以按Enter键并不意味着输入结束。
告诉程序输入结束的方式:
在windows下,输入完毕后先按Enter键,再按Ctrl+Z键,最后再按Enter键。
在linux下,输入完毕后按Ctrl+D键
2.gcc 编译选项
-Wall指出警告
-ansi 判断是否和ANSI冲突
-pedantic 比ansi更加严格
-lm 链接数学库, C++编译器会自动链接
-DDEBUG 编译时定义符号DEBUG,可以换成其它,如-DLOCAL将定义符号LOCAL
3.两种使用文件输入输出的方法:重定向和fopen:
重定向示例:
freopen("data.in","r",stdin);
freopen("data.out","w",stdout);
fopen示例:
#include<stdio.h>
FILE *fin, *fout;
fin = fopen("data.in", "rb");
fout = fopen("data.out", "wb");
fscanf(fin, "%d", &x);
fprintf(fout, "%d", x);
fclose(fin);
fclose(fout);
4.使用printf和scanf输入输出long long在linux中gcc很统一的用%lld;在windows中,MinGW的gcc和VC6都需要用%I64d,但VS2008却是用%lld
5.可以使用#define A B程序中的A全部替换成B
6.比较大的数组应尽量声明在main函数外
7.使用fgetc(fin)可以从打开的文件fin中读取一个字符。一般情况下应当检查它不是EOF后再转换成char值。
从标准输入输出取一个字符用getchar,相当于fgetc(stdin);
8.fgets(buf, MAXN, fin)将读取完整的一行放在字符数组buf中,应当保证buf足够存放下文件的一行内容。除了在文件结束前没有遇到'\n'这种特殊情况外,buf总是以‘\n’结尾。当一个字符都没有读到时,fgets返回NULL。
fgets相比gets更安全,有MAXN限制。
getline: istream& getline(istream &is, string &str, char delim)
istream& getline(istream &is, string &str)这种情况delim为换行
getline会读取delim并丢弃。
例如getline(cin, name,'\n');
istream::getline :istream& getline(char *s, streamsize n) 这种情况delim为换行
istream& getline(char *s, streamsize n, char delim)
例如cin.getline(s,100,'\n');
9.头文件ctype.h中定义的isalpha,isdigit,isprint等工具可以用来判断字符的属性,而toupper、tolower等工具可以用来转换大小写。
10.string.c_str()返回的内容是只读的。
11.使用assert.h中的assert宏来限制非法函数调用
assert(x>);
当x≤0时代码将异常终止。
12.gdb用bt(backtrace)命令打印所有栈帧信息,up命令选择上一个栈帧。

C++语言学习——LRJ入门经典笔记的更多相关文章
- LRJ入门经典-0907万圣节的小L306
原题 LRJ入门经典-0907万圣节的小L306 难度级别:B: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:2000000B 试题描述 今天是万圣节,小L同学开始了 ...
- LRJ入门经典-0906最短公共父串305
原题 LRJ入门经典-0906最短公共父串305 难度级别:B: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:2000000B 试题描述 给定字符串A和字符串B,要求 ...
- LRJ入门经典-0905邮票和信封305
原题 LRJ入门经典-0905邮票和信封305 难度级别:B: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:2000000B 试题描述 假定一张信封最多贴5张邮票,如 ...
- LRJ入门经典-0903切蛋糕305
原题 LRJ入门经典-0903切蛋糕305 难度级别:B: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:2000000B 试题描述 如图所示有一个矩形蛋糕,上面划分成 ...
- C语言学习从入门到精通书籍,10万读者都认可
C语言程序设计从入门到精通 10万读者认可的编程图书精粹 零基础自学编程的入门图书 详解C语言编程思想和核心技术 很多初学者,对C语言.c++的概念都是模糊不清的,C语言.c++是什么,能做什么,学的 ...
- <C#入门经典>学习笔记1之初识C#
序言 选择< C#入门经典第五版>作为自学书籍,以此记录学习过程中的笔记与心得. C#简单介绍 1. C#是一种块结构的语言 2. C#区分大写和小写 C#变量 C#的变量定义与C语言相似 ...
- C语言学习书籍推荐《C语言入门经典(第4版)》
霍顿 (Ivor Horton) (作者), 杨浩 (译者) <C语言入门经典(第4版)>的目标是使你在C语言程序设计方面由一位初学者成为一位称职的程序员.读者基本不需要具备任何编程知识, ...
- C语言学习书籍推荐《C语言入门经典(第5版)》下载
霍尔顿 (Ivor Horton) (作者), 杨浩 (译者) 下载地址:点我 C语言是每一位程序员都应该掌握的基础语言.C语言是微软.NET编程中使用的C#语言的基础:C语言是iPhone.iPad ...
- 郝斌老师C语言学习笔记(一)
在给变量分配内存时,很可能这段内存存在以前其他程序使用留下的值.当使用VC编译器,若编译器发现没有给变量赋值而使用,就会返回一个以“85”开头的很大的数字(此时该段内存中为一个垃圾数,为了避免出现较常 ...
随机推荐
- js获取昨天日期
刚刚js做项目,遇到需要获取昨天日期的问题,网上找了下答案,感觉网上的答案都不太严谨,自己写了个,凑合能用吧,忘大神们抛砖指教. <script type="text/javascri ...
- 导出Eclipse环境配置
第一种方法: Eclipse的 File -> Export(导出), 在窗口中展开 General(常规) -> Perferences(首选项)-->Export all(全部导 ...
- XPath语法 在C#中使用XPath示例
XPath可以快速定位到Xml中的节点或者属性.XPath语法很简单,但是强大够用,它也是使用xslt的基础知识. 示例Xml: <?xml version="1.0" en ...
- Android系统五大布局详解Layout
我们知道Android系统应用程序一般是由多个Activity组成,而这些Activity以视图的形式展现在我们面前, 视图都是由一个一个的组件构成的.组件就是我们常见的Button.TextEdit ...
- VS C4819 编译错误解决方法
偶尔用别人的代码,出现: warning C4819: The file contains a character that cannot be represented ). Save the fil ...
- 注册宝第五期beta2插件模块下载及说明
原文:http://bbs.84zcb.com/showtopic-1882.aspx [软件名称]:注册宝插件模块 [软件版本]:V1.4 [软件大小]:6.36M [软件语言]:简体中文 [授权方 ...
- LogBoy运行截图
- Fiddler 域名过滤
原来一直没意识到Fiddler过滤,导致每次抓包都要自己判断.搜索好多东西,真是呵呵! 过滤设置很简单,看懂一张图就解决问题了. 箭头 那两处设置下,圆圈处保存再进行抓包即可
- 打造阅读Linux源代码利器
打造阅读Linux源代码利器 在Linux里阅读/编写代码一般用vi 但是碰到较大的项目时阅读源代码还是比较费力,一直用find 和 grep命令. 其实,我们自己可以打造一个阅读源代码的vim,这 ...
- MySQL query_cache_type 详解
MySQL设置查询缓存的用意: 把查询到的结果缓存起来,下次再执行相同查询时就可以直接从结果集中取:这样就比重新查一遍要快的多. 查询缓存的最终结果是事与愿违: 之所以查询缓存并没有能起到提升性能的做 ...