基础知识+输入输出
1.符号常量:用符号和数字组成的符号来代表某个常量,这样的常量就叫符号常量。
#define 常量名 常量值
2.转义字符:所谓转义,就是指'\'后面的字符被转成别的含义
3.%f用于输出double或float类型的值;double用%lf输入
4.用scanf输入字符时不会跳过空格(空格也会被当做字符读入),输入其他类型数据时会跳过空格
cin输入字符时会跳过空格。
5.用cin读入所有输入的字符,包括空格,回车
int c;
while(c=cin.get()!=EOF){
cout<<(char)c;
}
6.条件分支结构-if语句
根据某些条件选择执行某些语句的功能,并非所有的都要被执行。
if语句的嵌套,在某一分支里再判断,解集合范围的划分
7.程序流程图。
8.循环结构---条件+重复的组合体
8.1for循环
一般用于将某段代码(语句组)重复执行若干次
ps:语句组重复执行是流程角度,赋予内涵看:重复执行时也是进行了某些操作,有所改变,每次都是新的开始。
循环控制变量定义在表达式1中,则其只在for循环内部起作用,可以不用担心循环控制变量重名
/for循环
for(若干表达式1;表达式2;表达式3){
//语句组
}
/*
1.计算表达式1;
2.计算表达式2,若其值为true,则执行{}中的语句组;
若为false,for语句结束,转到5
3.计算表达式3;
4.转到2;
5.从for语句后面继续往下执行程序
*/
8.2while循环
并非到达指定次数,而是满足某条件时即停止循环,则适合用while语句来实现循环
ps:满足条件时执行,满足条件时跳出,相对地看;条件可以是任何表达式
8.3do-while循环
如果希望循环至少执行一次,就可以使用do-while语句。
ps:所有的循环都可以改成for循环,但改不改只是一种选择,看哪一种逻辑上更顺畅。
输入输出有关:
1.scanf(...)表达式的返回值为int,表示成功读入的变量个数
scanf(...)的值为EOF(符号常量,即-1)则说明输入数据已经结束。
2.windows系统下 输入ctrl+z然后回车,结束程序。
3.cin>>m>>n...表达式的值,在成功读入所有变量时为true,否则为false
4.用freopen重定向输入
freopen("c:\\tmp\\test.txt","r",stdin);
5.每次读取一行字符串输入(char数组):
cin面向行的类成员函数getline(),读取一行输入,直到到达换行符,丢弃换行符。
而cin.get(参数...)将换行符保留在输入队列中。
使用不带任何参数的cin.get()调用可以读取下一个字符(即使是换行符),因此可以用它来处理换行符。
6.将一行输入读取到string对象中的代码
getline(cin,str);//没有使用句点表示法,表明这个getline()不是一个类方法。
c++相关:
1.方法是一个函数,只能通过其所属类的对象进行调用。
ref:郭神数算一的ppt,c++ primer plus
summary:
1.伪代码的重要性:自然语言易于理解记忆
广义来看学习就是将各种其他学科的语言表示转化成人类能理解的自然语言去理解,像数学语言与自然语言的互化(李永乐老师也有提到过,自己悟确实没老师告诉进步的快)
年轻人需要的正是快速地成长!!(主动出击,积极面对)
数学中经常用的表达思想也很amazing