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入门经典笔记的更多相关文章

  1. LRJ入门经典-0907万圣节的小L306

    原题 LRJ入门经典-0907万圣节的小L306 难度级别:B: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:2000000B 试题描述 今天是万圣节,小L同学开始了 ...

  2. LRJ入门经典-0906最短公共父串305

    原题 LRJ入门经典-0906最短公共父串305 难度级别:B: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:2000000B 试题描述 给定字符串A和字符串B,要求 ...

  3. LRJ入门经典-0905邮票和信封305

    原题 LRJ入门经典-0905邮票和信封305 难度级别:B: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:2000000B 试题描述 假定一张信封最多贴5张邮票,如 ...

  4. LRJ入门经典-0903切蛋糕305

    原题 LRJ入门经典-0903切蛋糕305 难度级别:B: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:2000000B 试题描述 如图所示有一个矩形蛋糕,上面划分成 ...

  5. C语言学习从入门到精通书籍,10万读者都认可

    C语言程序设计从入门到精通 10万读者认可的编程图书精粹 零基础自学编程的入门图书 详解C语言编程思想和核心技术 很多初学者,对C语言.c++的概念都是模糊不清的,C语言.c++是什么,能做什么,学的 ...

  6. &lt;C#入门经典&gt;学习笔记1之初识C#

    序言 选择< C#入门经典第五版>作为自学书籍,以此记录学习过程中的笔记与心得. C#简单介绍 1. C#是一种块结构的语言 2. C#区分大写和小写 C#变量 C#的变量定义与C语言相似 ...

  7. C语言学习书籍推荐《C语言入门经典(第4版)》

    霍顿 (Ivor Horton) (作者), 杨浩 (译者) <C语言入门经典(第4版)>的目标是使你在C语言程序设计方面由一位初学者成为一位称职的程序员.读者基本不需要具备任何编程知识, ...

  8. C语言学习书籍推荐《C语言入门经典(第5版)》下载

    霍尔顿 (Ivor Horton) (作者), 杨浩 (译者) 下载地址:点我 C语言是每一位程序员都应该掌握的基础语言.C语言是微软.NET编程中使用的C#语言的基础:C语言是iPhone.iPad ...

  9. 郝斌老师C语言学习笔记(一)

    在给变量分配内存时,很可能这段内存存在以前其他程序使用留下的值.当使用VC编译器,若编译器发现没有给变量赋值而使用,就会返回一个以“85”开头的很大的数字(此时该段内存中为一个垃圾数,为了避免出现较常 ...

随机推荐

  1. eclipse.ini内存设置

    这两天用eclipse,突然变得很卡,就上网找了些资料,对eclipse.ini启动参数配置,整理如下: 1.先了解下JVM内存管理机制,JVM内存分为堆内存和非堆内存 2.JVM内存限制 首先JVM ...

  2. Android多项目依赖在Eclipse中无法关联源代码的问题解决 Ctril 点不进去的解决方法

    1. 使用快捷键:Ctrl+shift+R,在弹出框中输入.classpath  找到被作为library引入的那个.classpath文件. 2.将kind="src" path ...

  3. UVA 1212 Duopoly

    题目: 两个公司进行投标,竞争一些channels,每个投标可以包含多个channels,且都有一定的收益,每一个channels只能为其中的一个公司利用,同时保证一个公司给出的投标中选中的chann ...

  4. Android使用webService

    在android中使用webservice,首先要导入Android webservice支持包 ksoap2-android-assembly-3.3.0-jar-with-dependencies ...

  5. C#.NET面向对象(语法点)

    一.继承 C#中继承的规则 1:继承是可传递的 A:B   B:C 2:派生类应当是对基类的扩展.派生类可以添加新的成员,但不能除去已经继承的成员的定义. 3:构造函数和析构函数不能被继承 4:如果派 ...

  6. .NET c# 串口通信

    这段时间做了一个和硬件设备通信的小项目,涉及到扫描头.输送线.称重机.贴标机等硬件.和各设备之间通信使用的是串口或网络(Socket)的方式.扫描头和贴标机使用的网络通信,输送线和称重机使用的是串口通 ...

  7. Android识别图片中脸部信息

    在Android开发中,大部分应用都是以用户为第一位,用户都有自己的个人中心,用来展示自己的信息,头像无疑是展示自己最直观的方式,随着各种政策的出台,实名认证,真人头像变得尤为重要,如果要求上传真人头 ...

  8. ORA-04092: COMMIT 不能在触发器中

    触发器无需commit也不能写commit触发器和触发它的DML是同一个事务DML提交了,触发器的操作也提交了,要不就一起回滚了 当然,如果你一定要在触发器里写COMMIT那就用自治事务相当于一个事务 ...

  9. iphone iOS7恢复到iOS6教程

    步骤一:首先根据您iOS设备型号,下载最新的iOS 6固件,您可以进入苹果官网下载,也可以以下网址下载. http://sj.zol.com.cn/ios613/

  10. PowerDesigner中NAME和COMMENT的互相转换,需要执行语句

    原文: http://www.cnblogs.com/xnxylf/p/3288718.html 由于PDM 的表中 Name 会默认=Code 所以很不方便, 所以需要将 StereoType 显示 ...