C++ Primer 学习札记
1:函数
组成:
返回类型、函数名、形参列表和函数体;
特殊函数:
main函数是唯一操作系统显式调用的函数;
mian函数返回的值对应为系统状态标识符;
2:开发
源码:
c++源代码由ACSII组成,以文件扩展名加以区分;
目前支持的文件扩展名有:.cc、.cxx、.cpp、.cp、.c等;
预处理
预处理器(cpp)根据以字符#开头的命令修改原始的C程序;
如:#include <stdio.h> 该指令告诉预处理器将stdio.h中的内容插入至程序文件中,
从而形成新的 程序文件,通常是以.i作为文件扩展名; 编译: 编译器(ccl)负责
将文本.i文件翻译成文本.s文件,将.i中的高级命令转换 为汇编中的低级机器语言指
令,此处将高级语言指令转换为汇编指令;
汇编:
汇编器(as)将.s翻译成机器语言指令,并将结果保存于.o结尾的二进制文件中, 其字节
编码是机器语言指令;
链接:
如在hello程序中调用了printf函数,printf是标准的库函数,其存在于prinft.o 的单独
的预编译目标文件中,而printf必须并入到hello.o程序中,链接器(ld) 就负责处理这
样的并入操作,并入完成则生成可执行文件;
3:编码
第一、二章代码:
#include "header/MainTes.h"
#include <iostream>
void ioTest(){
//定义命名空间
using namespace std;
std::cout << "Enter two numbers:" << std::endl;
int num1 = 0;
int num2 = 0;
std::cin >> num1>>num2;
std::cout << "The sum of " << num1 << " and " << num2 << " is :: " << num1+num2 <<std::endl;
}
void commonTest(){
//dingyi
/**
* test dingyi
*/
std::cout << "/*" << "*/" << std::endl;
//注视不可输出
// std::cout << /* "/*" "*/" */ << std::endl;
}
void doWhile(){
using namespace std;
int i = 1;
//9*9口诀
while( i<10){
int j = 1;
while( j <= i){
string space = i*j >= 10?" ":" ";
std::cout << j << "*" << i << "=" << i*j << space;
j++;
}
std::cout<<std::endl;
i++;
}
}
void doFor(){
using namespace std;
int i=1;
int j=1;
for(; j<=i && i<10 ; j++){
string space = i*j >= 10 ? " ":" ";
std::cout << j <<" * "<<i<<" = " << i*j << space;
if( i == j){
std::cout << std::endl;
i++;
j = 0;
}
}
}
int main(){
doFor();
return 0;
}