当前位置: 首页 > news >正文

网站上传权限行业关键词词库

网站上传权限,行业关键词词库,苹果电脑能建设网站吗,做商城网站买多大的空间《C程序设计基础教程》——刘厚泉,李政伟,二零一三年九月版,学习笔记 文章目录 1、选择结构1.1、if 语句1.2、嵌套的 if 语句1.3、条件运算符 ?:1.4、switch 语句 2、循环结构2.1、while 语句2.2、do-while 语句2.3、 for 循环2.4、循环嵌套…

在这里插入图片描述

《C++程序设计基础教程》——刘厚泉,李政伟,二零一三年九月版,学习笔记


文章目录

  • 1、选择结构
    • 1.1、if 语句
    • 1.2、嵌套的 if 语句
    • 1.3、条件运算符 ?:
    • 1.4、switch 语句
  • 2、循环结构
    • 2.1、while 语句
    • 2.2、do-while 语句
    • 2.3、 for 循环
    • 2.4、循环嵌套
  • 3、跳转结构
    • 3.1、break 语句
    • 3.2、continue 语句
    • 3.3、goto 语句
    • 3.4、return 语句
  • 4、应用实例

1、选择结构

ifswitch?:

1.1、if 语句

if 语句是最基本的选择结构,它用于在条件为真时执行特定的代码块。

#include <iostream>
using namespace std;int main()
{int n = 10;if (n > 0){cout << "Number is positive." << endl;}return 0;
}

output

Number is positive.

if-else 语句用于在条件为真时执行一个代码块,否则执行另一个代码块。

在这里插入图片描述

#include <iostream>
using namespace std;int main() 
{int num = -5;if (num > 0) {cout << "Number is positive." << endl;} else {cout << "Number is not positive." << endl;}return 0;
}

output

Number is not positive.

1.2、嵌套的 if 语句

当需要判断的条件不止一个,可以使用嵌套 if 语句来实现。

所谓嵌套 if 语句,指的是其中一个 if 语句作为另一个 if 语句或者 else 语句的内嵌语句。

C++ 规定,else 语句总是与在同一块离它最近且无 else 语句配对的 if 语句相结合。

#include <iostream>
using namespace std;int main() 
{int num = 59;if (num > 0) cout << "Number is positive." << endl;if (num >= 60)cout<< "passed." << endl;else cout << "not passed." << endl;return 0;
}

output

Number is positive.
not passed.

编译器不关心程序的缩进形式

当你对嵌套 if 语句混淆不清时,可以通过添加 {} 来解决

eg

#include <iostream>
using namespace std;int main() 
{int score;cin >> score;if (score < 0)cout << "error score!" << endl;else if (score < 60)cout << "Get D!" << endl;else if (score < 70)cout << "Get C!" << endl;else if (score < 80)cout << "Get B!" << endl;elsecout << "Get A!" << endl;return 0;
}

output

75
Get B!

1.3、条件运算符 ?:

表达式1?表达式2:表达式3

条件运算符是 C++ 中唯一的 3 目运算符

如果表达式 1 为 true,执行表达式 2,否则执行表达式 3

#include <iostream>
using namespace std;int main() 
{float a = 60.1;bool result = a<60?false:true;cout << result << endl;return 0;
}

output

1

1.4、switch 语句

switch 语句可以一次将测试值与多个值进行判定,而不是只测试一个判定条件

switch(表达式)
{case 整型常量表达式1:语句组1case 整型常量表达式2:语句组2...case 整型常量表达式n:语句组ndefault:语句组 n+1
}

每个 case 语句后必须是与表达式类型兼容的一个常量(必须为常量,不能为变量,且要求为整型或者能够转化为整型),eg 整型、字符型或枚举型表达式

default 语句并非必须

需要注意的是,每个case块的末尾通常有一个break语句,以防止程序继续执行下一个case块的代码(这称为“贯穿”)。

eg:贯穿

#include <iostream>
using namespace std;int main() {char grade;cout<<"请输入成绩:";cin>>grade;switch(grade){case 'A':cout<<"80~100\n";case 'B':cout<<"60~80\n";case 'C':cout<<"0~60\n";default:cout<<"error\n";}return 0;
}

output

请输入成绩:A
80~100
60~80
0~60
error

引入 break 以后

#include <iostream>
using namespace std;int main() {char grade;cout<<"请输入成绩:";cin>>grade;switch(grade){case 'A':cout<<"80~100\n";break;case 'B':cout<<"60~80\n";break;case 'C':cout<<"0~60\n";break;default:cout<<"error\n";break;}return 0;
}

output

请输入成绩:A
80~100

output

请输入成绩:a
error

再来个例子

#include <iostream>
using namespace std;int main() {int day;cout << "请输入星期几 (1-7): ";cin >> day;switch (day){case 1:cout << "星期一" << endl;break;case 2:cout << "星期二" << endl;break;case 3:cout << "星期三" << endl;break;case 4:cout << "星期四" << endl;break;case 5:cout << "星期五" << endl;break;case 6:cout << "星期六" << endl;break;case 7:cout << "星期日" << endl;break;default:cout << "输入无效" << endl;}return 0;
}

output

请输入星期几 (1-7): 7
星期日

2、循环结构

2.1、while 语句

while 循环在循环条件为真时一直执行。

while (循环条件) {// 循环体
}

在这里插入图片描述

eg:计算 1 到 100 的和

#include <iostream>
using namespace std;int main() 
{int i = 0, sum = 0;while (i<101){sum += i;i++;}cout << sum << endl;return 0;
}

output

5050

2.2、do-while 语句

do-while 循环与 while 循环类似,但不同之处在于它至少执行一次循环体,即使在第一次迭代时循环条件为假。

do {// 循环体
} while (循环条件);

在这里插入图片描述

计算 1到100 的和

#include <iostream>
using namespace std;int main() 
{int i = 0, sum = 0;do{sum += i;i++;}while(i<101);cout << sum << endl;return 0;
}

output

5050

2.3、 for 循环

for 循环通常用于已知执行次数的循环

for (初始化表达式; 循环条件; 步进表达式) {// 循环体
}

eg,计算 1-100 的和

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

output

5050

注意,初始化表达式、循环条件、步进表达式都可以省略,循环体不能省略

#include<iostream>
using namespace std;int main(){int sum = 0, i = 0;for (;;){if (i <= 100)sum += i++;elsebreak;}cout << sum << endl;return 0;
}

output

5050

允许两个或者两个以上的变量控制循环

#include<iostream>
using namespace std;int main(){int i1 = 1, i2 = 10;for (i1, i2; i1<i2; i1++, i2--)cout << i1 << " " << i2 << endl;return 0;
}

output

1 10
2 9
3 8
4 7
5 6

2.4、循环嵌套

循环结构可以嵌套使用,即一个循环内部包含另一个循环。

#include<iostream>
using namespace std;int main()
{for (int i = 1; i <= 10; i++){for (int j = i; j <= 10; j++)cout << "*";cout << endl;}return 0;
}

output

**********
*********
********
*******
******
*****
****
***
**
*

再来个例子

#include<iostream>
using namespace std;int main()
{for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {cout << "i = " << i << ", j = " << j << endl;}}return 0;
}

output

i = 0, j = 0
i = 0, j = 1
i = 0, j = 2
i = 1, j = 0
i = 1, j = 1
i = 1, j = 2
i = 2, j = 0
i = 2, j = 1
i = 2, j = 2

while、do-while、for 循环均可以相互嵌套

3、跳转结构

break、continue、goto、return 4 种

3.1、break 语句

用于立即退出循环或switch语句。

一个 break 只能跳出所在的最内层循环

#include<iostream>
using namespace std;int main()
{int num;for (int i = 0; i < 2; i++){num = 1;while (1){cout << num << endl;num++;if (num > 4)break;}}return 0;
}

output

1
2
3
4
1
2
3
4

3.2、continue 语句

用于跳过循环中剩余的代码,并立即开始下一次迭代。

不能用在 switch 中

#include<iostream>
using namespace std;int main()
{int sum = 0;for (int i = 0; i <= 100; i++){if (i % 10 != 0)continue;sum += i;}cout << sum << endl;return 0;
}

output

550

3.3、goto 语句

用于无条件跳转到同一函数内的标签位置。

适用于从多层循环中直接跳出,如果用 break 的话,需要多个

#include<iostream>
using namespace std;int main()
{int num = 10;if (num > 0) {goto positive;  // 跳转到标签 positive}cout << "Number is negative or zero.\n";goto end;  // 跳转到标签 endpositive:cout << "Number is positive.\n";
end:return 0;
}

output

Number is positive.

3.4、return 语句

用于从函数返回一个值(如果函数有返回值类型)或无条件退出函数。

4、应用实例

eg 3-10 判断正整数是否为素数

#include <iostream>
#include<math.h>
using namespace std;int main() 
{int x,i,b;int num = 5;while(num){cin >> x;b = sqrt(x);num--;if (x <= 1){cout << "False\n";continue;}for (i=2; i<=b; i++){if (x % i == 0)break;} if (i>=b+1)cout << "True\n";elsecout << "False\n";}return 0;
}

output

0
False
1
False
2
True
3
True
9
False

设置了可以输入 5 次,for 循环的判断边界为 sqrt(x)可以提高计算效率,最后判断是否为素数的条件 i>=b+1 也很巧妙,注意算法的边界测试,if (x <= 1) 就是来弥补边界漏洞的


eg 3-11 使用循环语句求解 300 -400 范围内的所有素数

#include <iostream>
#include<math.h>
using namespace std;int main() 
{int i,b;for (int x=301; x<401; x+=2){b = sqrt(x);for (i=2; i<=b; i++){if (x % i == 0)break;} if (i>=b+1)cout << x << " ";}return 0;
}

output

307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397 

可以看到 for 循环中的自增项采用的是 x+=2,进一步优化了计算速度,因为偶数肯定可以除以2余0,不是素数,我们遍历所有奇数即可


eg 3-12 用公式 π 4 = 1 − 1 3 + 1 5 − 1 7 + . . . \frac{\pi}{4} = 1-\frac{1}{3}+\frac{1}{5}-\frac{1}{7}+... 4π=131+5171+... 求圆周率 π 的近似值,直到最后一项的绝对值小于 1 0 − 8 10^{-8} 108 为止

注意审题,最后一项的绝对值,而不是整个式子的绝对值

#include <iostream>
#include<math.h>
#include<iomanip>
using namespace std;int main() 
{double i = 3.0;double x=1.0, result=1.0;int sign = 1;while(fabs(x)>=1e-8){sign *= -1;x = sign / i;i+=2;result += x;cout << x <<endl;}//cout << result * 4;cout << setiosflags(ios::fixed) << setprecision(8) << result * 4; // 输出小数点后八位return 0;
}

output

3.14159267

程序会运行很久

abs 函数通常用于整数类型(如 int、long 等)。

fabs 函数专门用于浮点数类型(如 float、double 等)。

这里正负符号的转变很巧妙 sign *= -1;

http://www.yidumall.com/news/21980.html

相关文章:

  • 自己做的网站给人攻击了怎么办竞价推广和seo的区别
  • 市场监督管理局查询系统重庆seo公司
  • 企业建设企业网站的好处南宁哪里有seo推广厂家
  • 国内专门做情侣的网站商城一句话宣传自己的产品
  • 展览网站制作百度免费推广方法
  • 无锡做设计公司网站排名优化网站建设
  • 有什么网站可以免费注册上海专业做网站
  • 安徽疫情最新情况今日新增seo是指搜索引擎营销
  • 网站301在哪做山东seo推广公司
  • 手机网页开发福州百度seo排名软件
  • 做网站时如何上传图片百度官网认证免费
  • 品牌宣传网站网页制作软件dreamweaver
  • 做能收款的网站多少钱郑州网站优化seo
  • 好乐买的网站推广方式百度快速排名系统查询
  • 电子商务网站总体框架设计关键字查找
  • 儋州个人建站哪家好百度搜索关键词技巧
  • 河南郑州网站关键词排名助手个人网站免费域名注册
  • 网站安全管理制度建设百度推广培训班
  • 自建站有哪些推广平台的方法
  • 开封网站制作哪家好今天的国内新闻
  • 做外贸网站卖什么好处seo网站查询
  • 珠海企业网站建设公司seo网络营销外包
  • wordpress4.2下载廊坊百度关键词优化
  • 网页设计案例教程杨松答案北京seo相关
  • 云服务器怎么做网站武汉搜索引擎营销
  • 360网站托管广告联盟论坛
  • cad图做网站链接百度关键词怎么设置
  • 信阳做网站 汉狮网络如何做网络销售平台
  • 做网站java步骤外贸网站推广方法之一
  • 网站换行代码网络推广的方法和技巧