C++基本编程语句|第一部分_基础编程(2)|c++程序设计(第二版)钱能

第二章 基本编程语句

不完全整理,只用于作者自己的查漏补缺!

2.1 说明语句 Declarative Statements

1、变量:C++内部数据类型定义而产生

对象:先由程序员定义类,然后再据此创建(定义)实体而产生的

本质没有差别,都是占据空间的数据描述体。

2、说明语句分为定义语句和声明语句。

定义不但声明了名称,还给名称分配了存储空间,使之成为一个能存放数据的实体。

大多数情况下,代表数据的名称使用定义语句,只有在复杂的程序结构中为了说明一个名称可以在各处共享,而又要避免多处定义所造成的空间冲突,才使用声明。

2.1.2 函数声明和定义 Function Declaration & Definition

#include<iostream>
using namespace std;
//----------------------
void sphere();
//----------------------
int main(){
sphere();
}//----------------------
void sphere(){
  double radius;
  cout<<"please input radius: ";
  cin>>radius;
  if(radius<0) return;
  cout<<"the result is"<<radius*radius*3.14*4<<"n";
}

函数使用前要先声明。

2.2 条件语句 Conditional Statements

1、条件不能写成0<x<50,而要写成0<x&&x<50

2、switch括号中的表达式只能是整形、字符型或枚举型

switch (ch){
  case'-': b=-b;
  case'+': a=a+b; break;
  case'1':
  case'2':
  case'3':a=1; break;
  default: a=0;
}

3、

for(int i=1;i=1;++i){   cout<<char('A'+i-1); } //或者 for (char ch='A';ch<'A'+n;++ch){   cout<<ch; }

2.5.2 流状态Stream States

与<<连用的设置方式,要包含头文件iomanip

setw(int)

setfill(char)

setprecision(int)

//输出M的倒三角
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
  for(int n=1;n<=10;++n)
    cout<<setfill(' ')<<setw(n)<<" "<<setfill('M')<<setw(21-2*n)<<"M"<<endl;
}
//==============
//或者用string类型定义重复n次字符的字串
for (int n=1;n<=10;++n)
    cout<<string(n,' ')+string(21-2*n,'M')+"n";

2.5.3 文件流 File Streams

//复制文件
//============
#include<fstream>
using namespace std;
int main(){
  ifstream in("a.in");
  ofstream out("a.out");
  for(string str;getline(in,str); )
    out<<str<<endl;  
}

使用筛法判断素数

C++基本编程语句|第一部分_基础编程(2)|c++程序设计(第二版)钱能

2.7 再做循环设计

//级数逼近 Progressing Approximation
//======================
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main(){
  double sum=0,item=1;
  for(int i=1;abs(item)>1e-6;++n){
    item*=(-1.0)*(2*n-3)/(2*n-1);
    sum+=item;
  }
  cout<<"Pi = "<<setiosflags(ios::fixed)<<setprecision(6)<<sum*4<<endl;
}

2.9 练习

C++基本编程语句|第一部分_基础编程(2)|c++程序设计(第二版)钱能

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main(){
    int param=0;
    cin>>param;
    double sum=1+param,item=param;
    for (int n=2;abs(item)>1e-8;n++){
        item *= (-1.0) * param /n;
        sum+=item;
    }
    cout<<setiosflags(ios::fixed)<<setprecision(8)<<sum<<endl;
}

C++基本编程语句|第一部分_基础编程(2)|c++程序设计(第二版)钱能

#include <iostream>
using namespace std;
int main(){
    int param;        int sum=0,item=1;
    for (int i=1;i<=12;i++){
        item*=i;
        sum+=item;
    }
    cout<<sum;
}

3、编程求所有“水仙花数(narcissus number)”。所谓“水仙花数”是指一个三位数,其各个数字立方和等于该数本身。例如,153是水仙花数,因为153=1^3+5^3+3^3。

#include <iostream>
#include<cmath>
using namespace std;
int main(){
    int num,sum;
    for(int i=1;i<=9;i++){
        for (int j=0;j<=9;j++){
            for(int k=0;k<=9;k++){
                num=i*100+j*10+k;
                sum=pow(i,3)+pow(j,3)+pow(k,3);
                if(num==sum){
                    cout<<sum<<endl;
                }
            }
        }
    }
}

4、编程求1000之内的所有“完数”。所谓“完数”是指一个数恰好等于它的包括1在内的所有不同因子之和。例如,6是完数,因为6=1+2+3。

#include <iostream>
#include<cmath>
using namespace std;
int main(){
    cout<<1<<endl;
    int sum;
    for(int num=4;num<1000;num++){
        sum=1;
        if(float(int(sqrt(num)))==sqrt(num)){
            sum+=int(sqrt(num));
        }
        for (int i=2;i<sqrt(num);i++){
            if(num%i==0){
                sum+=i;
                sum+=(num/i);
            }
        }
        if(sum==num){
            cout<<num<<endl;
        }
    }
}

C++基本编程语句|第一部分_基础编程(2)|c++程序设计(第二版)钱能

#include <iostream>
#include<cmath>
using namespace std;
int main(){
    int num,flag;
    for(int i=1;i<=9;i++){
        for(int j=0;j<=9;j++){
            flag=1;
            num=i*100+j*10+i;
            for(int k=2;k<=int(sqrt(num));k++){
                if(num%k==0){
                    flag=0;
                }
            }
            if(flag) cout<<num<<endl;
        }
    }
}

C++基本编程语句|第一部分_基础编程(2)|c++程序设计(第二版)钱能

#include <iostream>
#include<cmath>
using namespace std;
int main(){
    int peaches=1;
    for (int i=0;i<9;i++){
        peaches+=1;
        peaches*=2;
    }
    cout<<peaches;
}

C++基本编程语句|第一部分_基础编程(2)|c++程序设计(第二版)钱能

#include <iostream>
using namespace std;
int main(){
    int num_star=0;
    int num_space=0;
    for (int i=1;i<=19;i++){
        if(i*2-1>19){
            num_star=(19-i)*2+1;
            num_space=i-9;
        }else{
            num_star=i*2-1;
            num_space=11-i;
        }
        for (int j=0;j<num_space;j++){
            cout<<" ";
        }
        for (int j=0;j<num_star;j++){
                cout<<"%";
            }
        for (int j=0;j<num_space;j++){
            cout<<" ";
        }
        cout<<"n";
    }  
}

C++基本编程语句|第一部分_基础编程(2)|c++程序设计(第二版)钱能

#include <iostream>
#include<iomanip>
using namespace std;
int main(){
    for(int i=1;i<=10;i++){
        cout<<setfill(' ')<<setw(11-i)<<" "
        <<setfill('#')<<setw(i)<<"#"<<setfill(' ')<<setw(4)<<" "
        <<setfill('$')<<setw(i)<<"$"<<endl;
    }
}

原文链接: https://www.cnblogs.com/Amanda-zxy/p/15783372.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/184773

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
adminadmin
0 0
C++new/delete与malloc/free的区别
上一篇 2023年2月12日 上午10:48
C++内联函数
下一篇 2023年2月12日 上午10:48

相关推荐

  • 有效的括号 2023年3月2日
  • C++:编译器合成默认构造函数和复制控制成员的条件 2023年2月13日
  • 4 ODB Querying the Database ODB数据库查询 2023年2月12日
  • C/C++语言的学习策略 2023年3月1日
  • traits classes for information about types(Effective C++) 2023年2月8日
  • C++ 多态及C和C++的区别 2023年3月1日
  • 15.3K

    我是职场上失宠的妃子

  • C++性能真的不如C吗?

    7.6K
  • 大话数据结构 高清PDF

    7.1K
  • string底层实现之SSO

    6.7K
  • 千百撸

    5.4K
  • GDB调试-从入门实践到原理

    4.2K
  • 什么是COM

    4.0K
  • std::string底层实现之COW(Copy-On-Write)

    3.9K
  • 智能指针-使用、避坑和实现

    3.9K
  • 彻底搞通TCP send和recv原理

    3.8K

天下网标王网站优化可以从哪些方面攀枝花网站优化方案辛集网站关键词优化服务淄博网站关键词优化建设公司手机网站seo优化排网站pc优化图片大小比列二级网站可以做优化吗莱芜营销型网站优化公司网站优化中服务器重要吗咸宁网站优化关键词排名路桥网站优化费用东营网站优化哪家便宜网站系统优化兴田德润安庆外贸网站优化会泽网站优化哪家好六枝特区网站关键词优化网站做优化只信vs火18星贵阳seo网站排名优化张家港网站关键词优化企业网站 文库优化网站搜索引擎优化是什么企业网站关键词优化流程网站内优化有哪些唐山效果好的网站优化哪家专业大型网站的优化罗源网站seo优化增城区网站seo优化排名保定百度快照网站优化要多少钱网站是一边做一边优化汕头企业网站关键词优化技巧香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化