您的位置:首页 > 房产 > 家装 > 嵌入式Qt开发C++基础编程

嵌入式Qt开发C++基础编程

2025/1/5 12:07:49 来源:https://blog.csdn.net/weixin_73497355/article/details/139308359  浏览:    关键词:嵌入式Qt开发C++基础编程

嵌入式Qt开发C++基础编程

文章目录

  • 嵌入式Qt开发C++基础编程
    • 1、初识C++
    • 2、数据类型、运算符和表达式
        • 数据类型
        • 运算符
        • 表达式
    • 3、控制结构
      • 1. 条件语句
        • if-else
        • switch
      • 2. 循环语句
        • for
        • while
        • do-while
      • 3. 跳转语句
        • break
        • continue
        • goto(不推荐使用)

1、初识C++

c++标准输出 cout ,endl 换行。

#include "iostream"
using namespace std;/** 主函数:程序的入口点* 参数:无* 返回值:int类型,表示程序的退出状态*/
int main()
{// 输出"c++"到标准输出流cout<<"c++"<<endl;// 程序正常退出,返回0return 0;
}

2、数据类型、运算符和表达式

C++ 是一种强类型的编程语言,它支持多种数据类型、运算符和表达式。下面是对这些主题的简要概述:

数据类型

C++ 中的数据类型可以分为几大类:

  1. 基本数据类型
  • 整数类型:int, short, long, long long(以及它们的无符号版本,如 unsigned int
  • 浮点数类型:float, double, long double
  • 字符类型:char(可以是有符号的或无符号的,具体取决于编译器)
  • 宽字符类型:wchar_t(用于存储宽字符,如 Unicode 字符)
  • 布尔类型:bool(只能取 truefalse
  1. 复合数据类型
  • 数组:存储相同类型元素的固定大小序列。
  • 结构体(struct):允许你将多个不同类型的变量组合成一个单一的类型。
  • 联合体(union):一种特殊的数据结构,允许你在相同的内存位置存储不同的数据类型。
  • 类(class):面向对象编程的基础,用于创建自定义的数据类型。
  • 枚举(enum):一种用户定义的数据类型,它包含一组命名的整数值。
  1. 指针类型:指针是一个变量,其值为另一个变量的地址。所有指针类型的通用形式是 type*,其中 type 是指针所指向的变量的数据类型。
  2. 引用类型:引用是变量的别名,它允许你使用不同的名称来访问同一个变量。引用必须在声明时初始化,并且之后不能重新绑定到另一个变量。
  3. 空类型void 表示无类型。它经常用于不返回任何值的函数或指向任意类型的指针。
运算符

C++ 中的运算符用于执行各种操作,如算术运算、比较、逻辑运算、位运算等。以下是一些主要的运算符类别:

  1. 算术运算符+, -, *, /, %(取模)
  2. 关系运算符==, !=, >, <, >=, <=
  3. 逻辑运算符&&(逻辑与)、||(逻辑或)、!(逻辑非)
  4. 位运算符&(按位与)、|(按位或)、^(按位异或)、~(按位取反)、<<(左移)、>>(右移)
  5. 赋值运算符=(简单赋值)、+=-=*=/= 等(复合赋值)
  6. 条件运算符(三元运算符):? :
  7. 指针和引用运算符&(取地址)、*(解引用)
  8. 范围解析运算符(作用域解析运算符):::
  9. 成员访问运算符.(成员访问)、->(通过指针访问成员)
  10. 递增和递减运算符++(递增)、--(递减)
  11. 类型转换运算符static_cast, dynamic_cast, const_cast, reinterpret_cast(这些是 C++ 特有的类型转换运算符)
表达式

表达式是由运算符和操作数组成的语句,用于计算一个值。例如,x + y 是一个表达式,其中 + 是运算符,xy 是操作数。表达式的结果取决于其组成部分的类型和值,以及所使用的运算符。

在 C++ 中,表达式的计算遵循特定的优先级和结合性规则。例如,乘法和除法的优先级高于加法和减法,而括号可以用来改变默认的优先级。此外,赋值运算符的结合性是从右到左的,这意味着在链式赋值表达式中(如 a = b = c),右侧的赋值会首先执行。

cin 标准输入

#include "iostream"using namespace std;int main()
{string name;int age;float high;cout << "请输入您的姓名:";cin >> name;cout << "请输入您的身高:";cin >> high;cout << "请输入您的年龄:";cin >> age;cout << "---------" << endl;cout << "信息输入完成,您的信息如下:" << endl;cout << "姓名:" << name << endl;cout << "身高:" << high <<endl;cout << "年龄:" << age << endl;
}

字面常量

#include "iostream"using namespace std;int main()
{//整型//21;//实型(小数)// 173.3;//字符型//'a';//字符串型//"hello!";cout << 21 << endl;cout << 173.3 << endl;cout << 'a' << endl;cout << "hello!" << endl;return  0;
}

变量的基本类型

#include "iostream"
#include "windows.h"using namespace std;int main()
{SetConsoleOutputCP(CP_UTF8);int age = 21 , lav = 56;  //整型float hi = 180.5;  		//实型char fu_1 = ',';  //字符型char fu_2 = '.';  //字符串型string name = "李华";cout << "我是" << name << fu_1 << "今年" << age << "岁" << fu_2 <<endl;cout << "身高" << hi << "cm" << "体重" << lav << "KG" << endl;return 0;
}

比较运算符和字符串的比较运算

#include "iostream"
#include "cstring"using namespace std;int main()
{int num1 = 3, num2 = 5;bool r1 = num1 == num2; //假为0 ; 真为1cout << r1 << endl;//C语言型字符串char *str = “hello” char arr[] = “hello”char *str = "hello";char arr[] = "hello";// 两者都为C语言型字符串时,不能用比较运算符  只有一个为C++类型才可以// 0表示相等 -1 str  < arr 1:str > arr;cout << strcmp(str,arr) << endl;//C++类型字符串string str1 = "hello";cout << (str == str1) << endl;return 0;
}

三元运算符


// 主函数:根据两次输入的成绩判断是否购买糖果。
//
// 无参数输入。
// 无返回值。
//#include "iostream"using namespace std;int main()
{// 定义变量以存储两次成绩int grade , grade1;// 输入第一次成绩cout << "输入第一次成绩:";cin >> grade;// 输入第二次成绩cout << "请输入第二次成绩:";cin >> grade1;// 根据两次成绩的比较结果,决定是否购买糖果string result = grade > grade1 ? "不买糖" : "买糖";// 输出决定结果cout << result << endl;return 0;
}

字符串的拼接 使用运算符更新

#include "iostream"
using namespace std;
//输入一个字符串,输出字符串的拼接
int main(){string arr = "123456789";string arr2 = "abcdefgh";int arr1 = 15;string arr3 = arr + arr2 + to_string(arr1);cout << arr3 << endl;return 0;
}

3、控制结构

C++的控制结构用于控制程序的执行流程,包括条件语句、循环语句和跳转语句。以下是这些控制结构的详细用法:

1. 条件语句

if-else
  • 基本语法
if (condition) {// 如果条件为真,执行这里的代码块
} else {// 如果条件为假,执行这里的代码块
}
  • 实例
#include <iostream>
int main() {int num = 5;if (num > 0) {std::cout << "Number is positive." << std::endl;} else {std::cout << "Number is non-positive." << std::endl;}return 0;
}
switch
  • 基本语法
switch (expression) {case value1:// 如果expression的值等于value1,执行这里的代码块break;case value2:// 如果expression的值等于value2,执行这里的代码块break;// ... 其他情况default:// 如果expression的值不匹配任何case,执行这里的代码块break;
}
  • 实例
#include <iostream>
int main() {int day = 3;switch (day) {case 1:std::cout << "Monday" << std::endl;break;case 2:std::cout << "Tuesday" << std::endl;break;case 3:std::cout << "Wednesday" << std::endl;break;default:std::cout << "Invalid day" << std::endl;}return 0;
}

2. 循环语句

for
  • 基本语法
for (initialization; condition; increment/decrement) {// 循环体代码
}
  • 实例
#include <iostream>
int main() {for (int i = 0; i < 10; ++i) {std::cout << i << std::endl;}return 0;
}
while
  • 基本语法
while (condition) {// 循环体代码
}
  • 实例
#include <iostream>
int main() {int i = 0;while (i < 10) {std::cout << i << std::endl;++i;}return 0;
}
do-while
  • 基本语法
do {// 循环体代码
} while (condition);
  • 实例
#include <iostream>
int main() {int i = 0;do {std::cout << i << std::endl;++i;} while (i < 10);return 0;
}

3. 跳转语句

break
  • 用途:用于终止最近的 whiledo-whileforswitch 语句。

  • 实例(与 for 循环结合使用):

#include <iostream>
int main() {for (int i = 0; i < 10; ++i) {if (i == 5) {break; // 当 i 等于 5 时,终止循环}std::cout << i << std::endl;}return 0;
}
continue
  • 用途:用于跳过循环体中的剩余部分,并立即开始下一次迭代。

  • 实例(与 for 循环结合使用):

#include <iostream>
int main() {for (int i = 0; i < 10; ++i) {if (i == 5) {continue; // 当 i 等于 5 时,跳过本次循环的剩余部分}std::cout << i << std::endl;}return 0;
}
goto(不推荐使用)

由于 goto 语句可能导致代码难以理解和维护,因此现代编程中通常不推荐使用它。但在某些特殊情况下,它仍然可能存在。

#include <iostream>  int main() {  int i = 0;  if (i == 0) {  goto skip; // 跳转到标签 "skip"  }  std::cout << "This will not be printed." << std::endl;  skip: // 标签 "skip"  std::cout << "This will be printed." << std::endl;  return 0;  
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com