200704
基本知识
2.1 c++数据类型
3.1 基于过程的程序设计和算法
c语言基于过程,做什么怎么做具体设计出计算机执行的每一个步骤安排执行顺序
3.1.1 算法的概念
一个基于过程的程序应包括:
1)对数据的描述(数据结构)
2)对操作的描述(算法)
程序=数据结构+算法
数据结构:在程序中要指定数据的类型和数据的组织形式。
算法:处理问题的一系列步骤。算法必须具体地指出在执行时每一步应当怎样做。
3.1.2 算法的表示
1.自然语言
2.流程图
3.伪代码
4.计算机语言表示算法即计算机程序
3.2 c++的程序结构和c++语句
每一个程序单位由以下3个部分组成:
1)预处理指令。如#include
2)全局变量。
3)函数。
c++程序中最小的单位是语句,分为以下4种:
1)声明语句
2)执行语句
1.控制语句:如if else
2.函数和流对象调用语句
3.表达式语句:如 i=i+1;
3)空语句
4)复合语句:可以用{ }把一些语句括起来成为复合语句
3.3 赋值操作
1)c++中的赋值号“=”是一个运算符。如:a=b=c=d合法
2)赋值表达式可以包括在其他表达式中。如:if((a=b)>0)合法
c++的输入与输出
cin>>变量1>>变量2;
cout<<表达式1<<表达式2;
输入输出流控制符
dec–设置数值的基数为10
hex–设置数值的基数为16
oct–设置数值的基数为8
setfill©–设置填充字符c,c可以是字符常量,也可以是字符变量
setprecision(n)–设置浮点数的精度为n位,一般以十进制小数位输出,n代表有效数字,在以fixed(固定小数位数)和scientific(指数)形式输出时,n为小数位数
setw(n)–设置字段宽度为n位
setiosflags(ios:fixed)–设置浮点数为固定的小数位显示
setiosflags(ios:scientific)–设置浮点数以指数形式显示
setiosflags(ios:left)–设置数组左对齐
setiosflags(ios:right)–设置数据右对齐
setiosflags(ios:skipws)–忽略前导空格
setiosflags(ios:uppercase)–数据以十六进制输出时字母大写
setiosflags(ios:lowercase)–数据以十六进制输出时字母小写
setiosflags(ios:showpos)–输出正数时加“+”
getchar函数和putchar函数
c语言的scanf(格式控制,输出表列)和printf(格式控制,输出表列)
3.6 关系运算和逻辑运算
3.6.1 关系运算和关系表达式
运算优先级问题
1)>,>=,<,<=优先级大于==,!=
2)算数运算符>关系运算符>赋值运算符
3)关系表达式的值是一个逻辑值,真为1,假为0
3.6.2 逻辑常量和逻辑变量
c++增加了逻辑型数据。bool,它的值是true和false之一。
在储存布尔值时ture和false仍用1和0来储存。
3.6.3 逻辑运算和逻辑表达式
逻辑运算符:
1)&& 逻辑与
2)|| 逻辑或
3)! 逻辑非
优先级
1)逻辑运算符内 !>&&>||
2)!>算数运算符>关系运算符>&&和||>赋值运算符
例:
判断闰年:1.能被4整除,但不能被100整除 2.能被100整除,又能被400整除
(year%4 == 0 && year%100 !=0)|| year % 400 == 0
3.7 选择结构和if语句
3.7.1 if语句的形式
1)if(表达式)语句
if(x>y)
cout<<x<<endl;
2)if (表达式) 语句1 else 语句2
if(x>y)
cout<<x;
else
cout<<y;
if(表达式1) 语句1
else if(表达式2)语句2
else if(表达式3) 语句3
3.7.2 if语句的嵌套
if(x>y){
if(x>z){
max=x;
}else{
max=z
}
}else{
if(y>z){
max=y;
}else{
max=c;
}
}
3.7.3 条件运算符和条件表达式
表达式1?表达式2:表达式3
例如:max=(a>b)?a:b
条件运算符的执行顺序是:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值为整个条件表达式的值。若表达式1的值为0(假),则求解表达式3,表达式3的值为整个条件表达式的值
3.7.4 多分支选择结构和switch语句