问题及代码:
运行结果:
知识点总结:
学习小结:
/*
* Copyright (c) 2014, 烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称:定期存款利息计算器.cpp
* 作 者:何小乐
* 完成日期:2014年 11 月 6 日
* 版 本 号:v1.0
*
* 问题描述:利用函数输出指定星号图
* 输入描述:无输入
* 程序输出:指定星号图
*/
#include <iostream>
using namespace std;
void printchs (int,char); //声明函数printchs,为下面调用做铺垫
int main()
{
int n=7;
int i;
for(i=1; i<=n; ++i)
{
printchs(n-i,' '); //这一行代码和下一行都是在调用printchs函数,执行指定功能
printchs(2*i-1,64+i);
cout<<endl;
}
return 0;
}
void printchs (int a,char b) //定义printchs函数
{
int x;
for (x=1;x<=a;x++)
cout<<b;
}
运行结果:
知识点总结:
1,对形参与实参的使用有了一定了解
2,对函数值(函数的返回值)类型及使用规范有了一定了解
3,对局部变量、全局变量有所了解
4,extern有所了解
学习小结:
这个程序是在课堂上闲着的时候在脑海中构思的,在最开始我想改动的一处是printchs函数里面输出的内容部分,我的想法是只要输出64+i对应的asc码字符就可以了(同时把b赋值为64+i),但是在运行时显示"i"在程序中未被声明。
我想了半天:“程序不是从头开始执行的吗?i应该是作为静态变量储存的,在调用函数时应该也是可以用的啊。”继而我又尝试了下extern,也是无用。
最后才回想起课堂上看书时的局部变量定义,i的有效域只有在main函数里面,如果其他函数要用,得用全局变量的书写方式。
通过查书得知:extern的作用是使用函数之后定义的全局变量。
收获颇丰。