顺序结构程序设计总结
cout语句
cout << 项目1 << 项目2 << ...<< 项目n;
如果项目是表达式,则输出表达式的值;如果项目加引号,则输出引号内的内容;如果项目是endl,则表示换行。
数据类型
数据有数据类型、取值范围、运算类型
整数还有“无符号”类型,其取值只会是正数和0,范围扩大一倍。
常量与变量
1.常量
常量是在程序运行过程中,其值保持不变的量。
类型有整型常量,实型常量,字符型常量,符号常量
类型名 const 常量名
或
const 类型名 常量名
常量名通常用大写字母表示。
2.变量
变量是指在程序运行过程中,其值可以变化的量。
变量名
程序中的常量名,变量名,函数名都称之为“标识符”。
1 标识符不能和系统里的关键字同名。
2 标识符只能包括字母、数字和下划线“_”,并且开头只能是字母或下划线。
3 标识符必须先定义再使用。
4 在同一作用域内,标识符不能重复定义。
5 标识符是区分大小写的。
另:1 变量在定义的同时,可以给他指定一个初始值,称为变量的初始化。
2 可以通过“赋值”语句来修改变量的值。
赋值语句
变量名=值或者表达式
“=”为赋值号。赋值号右边如果是表达式,系统会先计算出表达式的值,再赋值给左边的变量。
字符与字符串
存放单个字符的变量,称为字符变量。存放一串有若干字符的变量,称为字符串变量。字符变量的值用单引号,字符串变量的值用双引号引起来,如果双引号内什么都没有,称为空字符串。
字符变量
定义字符变量的格式如下:
char 标识符1,标识符2,...,标识符n;
字符变量在内存中占用一个字节。
转义字符
字符前加“\”的特殊字符,称为转义字符。
字符输入函数:getchar(输入字符),表示从终端输入1个字符。
字符输出函数: putchar(输出字符),表示向终端输出1个字符。
字符串变量
在C++中,可以用字符数组char s[]存放字符
算数运算符
运算优先级为:括号>乘 除 模>加法 减法
同一级别的按照从左到右计算。
复合运算符
自加运算符“++”
有两种写法:i++和++i。自减运算符同理i--和--i
单独使用时,作用相同。赋值语句中,++i是在使用i前,先把i的值加1,i++是在使用i后,再把i的值加1
++和--只能用于变量,不能出现类似5++或(a+b)++的情况。
运算规则
部分运算符的优先级和结合性
格式控制
printf函数的格式为:
printf(格式控制字符串,输出列表)
1)输出整数形式可以用%d或%md, m为指定的输出字符的宽度,输出数据右对齐。例如,*rintf("a=%d,a=%4d" ,a,a);"若a=1,结果为“a=1,a= 1”。
2)输出长整型可以用%ld,-个int型数据可以用%d或%ld格式输出。3)输出字符串用%os, 如“printf("%s" ," hello' );”
4)“%ms",输出的字符串占m列,如字符串本身长度大于m,则突破m的限制将字符韦全郧输出;若串的长度小于m,则左补空格。
5)“% ms",若串长小于m,则在m列范围内,字符串向左靠,右补空格。
6)“%m.ns",输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
7)“%-m.ns”,m、n含义同上,n个字符输出在m列范围的左侧,右补空格,如果n>m,则m自动取n值,即保证n个字符正常输出。
8)“%m.nf"输出浮点数,占m列,其中有n位小数,如果数值长度小于m,则左补空格。9)“%- -m.nf",同上,只是使输出的数值向左端靠齐,右端补空格。
scanf函数
使用scanf函数时,需要注意以下几个问题:
(1)如果在格式控制字符串中有其它字符,则运行程序输入数据时,对应的位置也要输入这些相同的字符。
例如: scanf( “%d, %d”,&a,&b);
键盘输入应该是“3,4”,而不能是“34” 。
(2) scanf函数输入时可以过滤掉不想读入的字符。.例如: scanf(“%d+%d+%d”,&a,&b,&c);键盘输入: 1+2+3
则scanf可以无视“+”,使得a,b,c的值分别为1,2,3。再如: scanf( “%3d %*3d %2d”,&m,&n);键盘输入: 11311869
则m,n的值分别为113,69,因为“*”表示跳过相应数据。xin_ _45797975
cin
cin是输入流,cout 是输出流,重载了“>6*<<运算符,包含在头文件<iostream>中。
cin代表标准输入设备,使用提取运算符“>>”从键盘取得数据,送到输入流对象cin中,然后送到内存。cin 是自动判断变量类型,比如一一个char数据只能用默认的char方法取数据。
cout先把要输出的东西存入缓冲区,遇到“endl' 或者“return 0”再输出并刷新缓冲区,导致效率降低。
scanf是格式化输入, printf是格式化输出,包含在头文件<cstdio> 中因为scanf是用指针操作的,没有类型安全机制,比如对于一个char类型数据,你就可以用“%f”获得输入,而不会报错,但在运行时会出现异常。scanf0函数取数据时遇到回车、空格、TAB就会停止。printf输出效率比较高,但是编写代码相对而言麻烦一些。