c++ primer概念整理 --第一章 开始写程序

    xiaoxiao2021-03-25  195

    在此声明,只整理盲点,所以不一定适合你

    c++程序

    .内置类型 .语言自身定义的类型.

    .编译方法 linux: g++ - o prog prog.cc VS: cl /EHsc prog.cpp

    输入输出

    .cin cout标准输入输出 .cerr 输出警告和错误信息,也叫标准错误. .clog 输出程序运行时的一般信息 .endl 技术当前行并将与设备关联的缓冲区中的内容刷到设备中.

    注释

    .单行注释 .界定符注释(注释界定符不能嵌套)

    控制流

    .while语句 .for语句

    读取不定量的数据

    example:

    #include<iostream> int main() { int sum =0 , value =0 ; while(std::cin>> value) sum+=value; std::cout <<"Sum is "<<sum<<std::endl; return 0; }

    .循环结束的条件是遇到文件结束符(end-of-file)键盘读入数据时,Windows输入结束符的方式是Ctrl+z然后回车,Unix中是Ctrl+D.

    概念

    .参数:向函数传递的值 .赋值:抹去一个对象的当前值,用一个新值取代. .缓冲区:一耳光存储区域,用于保存数据,IO设施通常将输入或输出数据保存在一个缓冲区中,我们可以显示的刷新缓冲区,强制将缓冲区数据写入设备.默认情况下cin会刷新cout;程序非正常终止也会刷新cout. .类:一种用于用于定义自己的数据结构及其相关操作性的机制.类是c++中最近本的特性之一. .类类型:类定义的类型. .数据结构:数据及其所允许操作的一种逻辑的组合. .表达式:最小的计算单元 .函数:具名的计算单元 .初始化:在一个对象创建的时候给予它一个值 .成员函数或方法:类定义的操作. .命名空间:将库的名字单独放在单一位置的机制. .变量:具名对象

    程序

    程序1:简单输入与统计当前重复程序

    #include <iostream> int main() { // currVal is the number we're counting; we'll read new values into val int currVal = 0, val = 0; // read first number and ensure that we have data to process if (std::cin >> currVal) { int cnt = 1; // store the count for the current value we're processing while (std::cin >> val) { // read the remaining numbers if (val == currVal) // if the values are the same ++cnt; // add 1 to cnt else { // otherwise, print the count for the previous value std::cout << currVal << " occurs " << cnt << " times" << std::endl; currVal = val; // remember the new value cnt = 1; // reset the counter } } // while loop ends here // remember to print the count for the last value in the file std::cout << currVal << " occurs " << cnt << " times" << std::endl; } // outermost if statement ends here return 0; }

    .

    程序2: sales_item类定义的行为及其运用

    int main() { Sales_item total; // variable to hold data for the next transaction // read the first transaction and ensure that there are data to process if (std::cin >> total) { Sales_item trans; // variable to hold the running sum // read and process the remaining transactions while (std::cin >> trans) { // if we're still processing the same book if (total.isbn() == trans.isbn()) total += trans; // update the running total else { // print results for the previous book std::cout << total << std::endl; total = trans; // total now refers to the next book } } std::cout << total << std::endl; // print the last transaction } else { // no input! warn the user std::cerr << "No data?!" << std::endl; return -1; // indicate failure } return 0; }

    .书店程序定义了很多的操作: .提取isbn的书号 .重载输入输出的操作符 .重载赋值运算符 .重载加法运算符 .重载复合赋值运算符

    .这些都是后续章节的重点展开内容,此处提及.

    程序3 简单累加和

    #include <iostream> int main() { int sum = 0, val = 1; // keep executing the while as long as val is less than or equal to 10 while (val <= 10) { sum += val; // assigns sum + val to sum ++val; // add 1 to val } std::cout << "Sum of 1 to 10 inclusive is " << sum << std::endl; return 0; }

    程序4:for循环用例

    #include <iostream> int main() { int sum = 0; for (int i = -100; i <= 100; ++i) sum += i; std::cout << sum << std::endl; return 0; }

    .练习题精选: for循环与while循环各有什么优缺点. .知道循环次数的话for循环更简洁,否则用while循环,循环体中的操作也可能导致判定条件的变化.

    .掌握此章基础和规范

    转载请注明原文地址: https://ju.6miu.com/read-1930.html

    最新回复(0)