《C++》第1章

您所在的位置:网站首页 oneappapk111111 《C++》第1章

《C++》第1章

#《C++》第1章| 来源: 网络整理| 查看: 265

1、Windows开发环境的准备 1)下载Visual Studio 2022安装文件 从微软官方网站下载,网址:https://visualstudio.microsoft.com/zh-hans/

选中Community 2022,它是Visual Studio 2022官方免费社区版,无需注册,不需要破解和盗版。(请不要从国内的其它网站下载安装文件,有病毒和插件) 下载后的文件名是VisualStudioSetup.exe。 2)安装Visual Studio 2022 双击安装文件VisualStudioSetup.exe。

2、Linux开发环境 本课程适用于各种Linux发行版,建议采用CentOS7.0至CentOS7.9之间的版本,它是目前企业在实际项目开发中最广泛采用的Linux版本。 Linux基础知识的学习,请见https://space.bilibili.com/627875426/channel/seriesdetail?sid=720603 用root登录,执行以下命令,将安装gcc和g++编译器以及gdb调试器。 yum -y install gcc gcc-c++ gdb 几十秒即可安装完成。 3、第一个C++程序 VS2022太方便了,它可以帮我们生成一个最简单的C++程序。 1)用VS生成最简单的C++程序 鼠标双击Visual Studio 2002,运行它。

点击“创建新项目”。

选择“控制台应用”,再点“下一步”。

点击“创建”后将生成一个最简单的C++程序。

2)运行C++程序 选择“调试->开始执行“菜单,或快捷键Ctrl+F5运行程序。 3)示例 // 包含头文件。 #include

// main函数,程序从这里开始执行,每个程序只能有一个main函数。 int main() { // 在控制台输出一首诗。 std::cout // 在控制台输出一首诗。 cout const int days = 7; // 一个星期中的天数。

cout int a = 10; int c = 20;

// c += a; // c=c+a; // c -= a; // c=c-a; // c *= a; // c = c * a; // c /= a; // c = c / a; //c %= a; // c = c % a; // cout int a = 7; int b = 7; bool result;

result = a // 超女必须满足四个条件:年龄25岁以下,身高165以上、体重50公重以下,颜值要漂亮。 int age = 23; int height = 168; double weight = 48.8; bool yz = true;

cout int a, b, c;

c = 10; // 赋值表达式的值为赋值符号右边的值。 cout // 表达式为真时执行的语句。 } else { // 表达式为假时执行的语句。 } 注意:  if (表达式)之间的空格可以不写。  表达式必须使用括号。  表达式可以是具体的值。  表达式一般是关系运算和逻辑运算表达式,也可以是赋值运算或其它的表达式。  不要把if(变量名==值)写成if(变量名=值)。  整个if语句可以没有else分支。  if或else分支花括号内的代码如果只有一行,花括号可以不写;如果一行也没有,花括号一定要写;如果有多行,花括号一定要写,如果不写,除了第一行,其它的代码将不是if语句的一部分。  if (表达式)和else后不能加分号,因为分号表示空语句。(C++用分号作为一条语句结束的标志。如果在C++程序中不小心多写了一个分号,那么该分号会被当成一条空语句。) 2)示例 #include // 包含头文件。 using namespace std; // 指定缺省的命名空间。

int main() { // C++用分号作为一条语句结束的标志。 // 如果在C++程序中不小心多写了一个分号,那么该分号也许会被视作一个空语句。

// 判断超女的颜值,如果漂亮,在控制台输出“晋级下一轮”,否则输出“冲关失败”。 // 1)声明一个bool型变量,用于存放超女的颜值数据。 bool yz; // 2)显示输入超女颜值的提示信息。 cout > yz; // 4)用if语句判断超女的颜值,如果漂亮,显示“晋级下一轮”,否则显示“冲关失败”。 if (yz == true) { cout // 表达式二为假时执行的语句。 } } else { // 表达式一为假时执行的语句。 } 2)示例 #include // 包含头文件。 using namespace std; // 指定缺省的命名空间。

int main() { // 超女选秀:1)性别(X-女,Y-男);2)颜值(1-漂亮,0-不漂亮);3)身材(1-火辣,2-丰满,3-苗条)。

// 声明三个变量,存放超女的性别、颜值和身材数据。 char sex; // 性别(X-女,Y-男)。 bool yz; // 颜值(1-漂亮,0-不漂亮)。 int sc; // 身材(1-火辣,2-丰满,3-苗条)。 // 显示“请输入超女的性别(X-女,Y-男):”的提示文字。 cout > sex; // 判断超女的性别,如果是女,流程继续,否则程序结束。 if (sex == 'X') { // 显示“请输入超女的颜值(1-漂亮,0-不漂亮):”的提示文字。 cout > yz; // 判断超女的颜值,如果是漂亮,流程继续,否则程序结束。 if (yz == true) // 漂亮。 { // 显示“请输入超女的身材(1-火辣,2-丰满,3-苗条):”的提示文字。 cout > sc; // 判断超女的身材,如果是火辣,显示“晋级成功”,如果是丰满,显示“待定”,程序结束。 if (sc == 1) // 1-火辣。 { cout // 表达式一为真时执行的语句。 } else if (表达式二) { // 表达式二为真时执行的语句。 } else if (表达式三) { // 表达式三为真时执行的语句。 } …… else if (表达式n) { // 表达式n为真时执行的语句。 } else { // 全部表达式都不为真时执行的语句。 } 注意:  多条件的if语句本质上是嵌套的if语句。  最多只能有127个条件分支。  最后一个else可以没有。 2)示例 #include // 包含头文件。 using namespace std; // 指定缺省的命名空间。

int main() { // 超女的身材:1-火辣;2-丰满;3-苗条;4-强壮;5-肥胖;>5-未知 。

// 声明存放超女身材数据的变量。 int sc; // 显示“请输入身材的代码(1-火辣;2-丰满;3-苗条;4-强壮;5-肥胖;>5-未知):”的提示文字。 cout > sc; // 用多条件的if语句,判断身材代码,显示身材的中文描述。 if (sc == 1) cout case 值一: 语句一; break; case 值二: 语句二; break; … case 值n: 语句n; break; default: 上述条件都不满足时执行的语句; } 注意:  case后面必须是整数和字符,或者是结果为整数和字符的表达式,但不能使用变量。  default不是必须的,当没有default时,如果全部的case匹配失败,那么就什么都不执行。  每个分支不要漏写break;语句。 25、while循环语句 语法: while (表达式) { 语句块 } 先计算表达式的值,如果为真就执行语句块,执行完语句块后,回到循环首部再次计算表达式的值,如果为真又执行一次语句块……,这个过程会一直重复,直到表达式的值为假时不再执行语句块。 注意:  如果表达式的值永远为真,那么将进入死循环,所以在循环中应该有改变表达式的值的方法。  如果循环体中的语句块只有一行代码,大括号可以不书写。  有疑问先放一边,在以后的课程中,会介绍循环的各种使用方法。 示例: #include // 包含头文件。 using namespace std; // 指定缺省的命名空间。

int main() { // 有十个超女,编号是1-10,在控制台输出这十个超女的编号。 int no = 1; // 超女的编号。

while (no 语句块 } 1)循环开始的时候,先执行语句一,在整个循环过程中语句一只会被执行一次。 2)计算表达式的值,如果为真,就执行一次循环体中的语句块。 3)执行完语句块后,执行一次语句二。 4)重复第2)步和第3),直到表达式的值不为真才结束for循环。 注意:  不要纠结for循环与while循环的区别,它们本质上没有区别。  for循环一般需要一个相当于计数器的变量,在语句一中对它进行初始化,在语句二中进行计数操作。  在for循环的语句一中,可以声明计数器变量。  在for循环中,语句一、表达式和语句二都可以为空,for (;;)等同于while (true)。  continue和break两个关键字也可以用在for循环体中。 示例: #include // 包含头文件。 using namespace std; // 指定缺省的命名空间。

int main() { // 有十个超女,编号是1-10,在控制台输出这十个超女的编号。

for (int no = 1; no // // 再用一个循环,显示一组中3名超女的信息。 // for (int jj = 1; jj 语句块 } while (表达式); 功能与while语句类似,不同的是:  进入循环时,先执行一次语句块,再计算表达式的值。  循环的首部书写在循环的尾部,(表达式)后面还有一个分号。 30、goto语句 goto语句也称为无条件转移语句。 goto的语法:goto 语句标号; 语句标号的语法:语句标号: 如果在程序中使用了goto,程序的流程将跳转到语句标号的位置,并执行它后面的代码。 其中语句标号是按标识符规定书写的符号,放在某一语句行的前面,可以独占一行,标号后加半角冒号。 语句标号用于标识语句的位置,与goto语句配合使用。 在实际开发中,goto语句容易造成程序流程的混乱,不方便理解,调试也更麻烦,不建议使用。   31、函数的声明和定义 在复杂的程序中,如果全部的代码都写在main函数中,main函数体将非常庞大臃肿。 把任务分工到其它的函数中,main函数只负责程序的核心流程,具体的任务由其它函数完成。 这种思想就是模块化编程。 声明和定义函数的语法: 返回值的数据类型 函数名(参数一的数据类型 参数一, 参数二的数据类型 参数二,……) { 实现函数功能的代码。 return 返回值; } 函数的声明:让编译器知道函数的存在,包括返回值的数据类型、函数名和参数列表。 函数的定义:函数的实现过程。 注意:  函数的声明和定义可以书写在一起,也可以分开,如果书写在一起,一般放在main函数的上面,如果分开,一般在main函数的上面声明,在main函数的下面定义。  如果函数的声明和定义分开书写,函数的声明后面一定要有分号,函数的定义后面一定不能写分号。  在同一个程序中,函数只需要声明和定义一次,也可以多次声明,但只能定义一次。  函数的声明必须和函数的定义一致(返回值的数据类型、函数名和参数列表),如果函数名和参数列表不同,表示它们不是同一个函数。  return语句返回值的数据类型必须与函数的声明一致。  在函数体中,return语句可以多次使用。  如果函数的重点是实现功能,不关心返回值,返回值的数据类型填void,return语句后面就空着。  函数可以没有任何参数。  函数名是标识符,必须满足标识符的命名规则。  在函数的声明和函数的定义中,参数命名可以不同,但是没必要这么书写。 示例: #include // 包含头文件。 using namespace std; // 指定缺省的命名空间。

// 写一个函数,给它两个整数,让它比较两个整数的大小,返回较大的那个整数。 int max(int a, int b); // 函数声明后面的分号不能少。 // 写一个函数,给它一个字符串,让它在控制台显示出来。 void print(string str); // 写一个函数,在控制台输出九九乘法表。 void printmt();

int main() {

}

int max(int a, int b) // 函数定义后面不能加分号。 { if (a > b) return a;

return b;

}

void print(string str) { cout for (int jj = 1; jj cout cout int bh = 3; // 超女的编号。 string message = “我是一只傻傻鸟。”; // 向超女表白的内容。

// func(bh, message); // 调用向超女表白的函数。 // func(7, "小姐姐好漂亮哟。"); // 调用向超女表白的函数。 { int no=7; string str= "小姐姐好漂亮哟。"; no = 5; str = "我有一只小小鸟。"; cout cout return a > b ? a : b; }

int min(int a, int b) // 比较两个数的大小,返回较小者。 { return a < b ? a : b; }

/girls.h/ #pragma once

#include // 包含头文件。 using namespace std; // 指定缺省的命名空间。

void print(int no, string str); // 表白神器。

/toolss.h/ #pragma once

#include // 包含头文件。 using namespace std; // 指定缺省的命名空间。

int max(int a, int b); // 比较两个数的大小,返回较大者。 int min(int a, int b); // 比较两个数的大小,返回较小者。

36、VS中调试程序 F9设置/取消断点。 F5/F10开始调试。 Shift+F5放弃调试。 F10逐过程执行。 F11逐语句执行(可进入函数内部)。 局部变量窗口显示了变量的值,也可以修改。 37、递归函数 一个函数可以调用另一个函数,作为特例,如果函数调用了自己,就像故事中提到了同样的故事一样,我们把函数在运行时调用自己的情况叫做递归。 递归函数中一定要有递归终止的条件,否则是死递归。 示例: #include // 包含头文件。 using namespace std; // 指定缺省的命名空间。

int f(int x) // 递归函数。 { if (x == 0) return 0; // 递归终止的条件。

return x + f(x - 1); // 在函数体中调用了自己。

}

int main() { cout // float 7位有效数字;double 15~16位有效数字;long double 不低于double float aa = 1234.45f; cout



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3