第二篇基于过程的程序设计
一、程序设计初步
1.1字符的输入与输出
1.1.1 putchar的使用
putchar(m),如果m是数字,则会输出该数字对应的字符。如m=66,则输出‘B’ putchar(’/ddd’),三位数则是八进制所代表的字符,如‘/101’=‘A’
1.1.2getchar的使用
c = getchar(),输入一个字符 scanf,printf(格式控制,输出表列) (c = getchar())!=’\n’——一直输入字符,直到换行。
for(;(c = getchar())!='\n';) cout<<c;
while ((c = getchar())!='\n');
/*输入computer,则输出也是computer。
不是从终端输入一个字符马上输出,而是按enter键后送入内存缓冲区
然后每次从缓冲区拿出一个字符,在输出该字符
*/
二、函数实现功能
2.1函数模板
#include<isotream>
using namespace std;
template <typename T>
T max(T a,T b,T c )
{
if(a>b) a=b;
if(c>a) a=c;
return a;
}
2.2函数的参数与默认变量
函数定义在调用之前,则应在函数定义中给出默认参数。 函数声明中要给出默认参数,声明之后的定义可以不用。声明中的优先级较高 若全局变量与局部变量相同,则在局部变量作用范围内,全局变量被屏蔽。
2.3变量的存储
四种存储类别:自动,静态,寄存器,外部 自动:动态分配存储空间,函数结束就会释放,不赋值则值不确定。静态:静态局部变量在没有赋值时默认为0或空。
#include<isotream>
using namespace std;
int fac(int n)
{
static int f = 1;
f = f*n;
return f;
}
int main()
{
int i;
for(i=1;i<=5;i++)
{
cout<<fac(i)<<endl;
}
return 0;
}
寄存器:为了提高速度。外部:若全局变量定义在int main()之后,则需要用extern声明。extern:扩展全局变量 在一个文件中声明了static之后,就不能再次通过extern来调用该变量