安装QtCreator去完成C++第一个程序

玩转单片机 2018-01-13 11:07 次阅读

选一个利器

工欲善其事,必先利其器。选一个好用又流行的的编程工具很重要。软件编程工具现在都叫做IDE—–集成开发环境,能帮我们做很多事。有人愿意手动写makefile来自己管理源文件,很好,但是makefile对新手来说跟天书一样,很容易被打击得没兴趣了。makefile应该学吗?应该!但是,其学习时机应该是在完成一个比较复杂的项目之后,此时对项目的组织,源码管理、依赖关系等有了一定认识,再学makefile就顺风顺水了。所以我们现在还是老老实实选一个IDE吧。支持跨平台的IDE有:QtCreator, Code::Blocks, Dev C++, eclipse CDT,Netbeans等。但是最好用的,以我多年的经验来说,首推QtCreator,我也不想多叨叨,你自己都对比一下就知道了,反正都是免费的。

QtCreator安装

QtCreator在三大平台上都是一样的界面。但QtCreator在中文Windows下有个问题,控制台中文乱码。你创建的控制台程序输出中文时是乱码。由于QtCreator对源码文件的默认编码是UTF8,而控制台中的字符编码是按GB2312解释的,所以就乱了。要消除也很简单,把源码的编码改成GB2312就行了。或者不要输出中文字符。如下图:

安装QtCreator去完成C++第一个程序

安装QtCreator去完成C++第一个程序

第一个程序

万仞高台,起于垒土。要成为C++高手,还得从C开始。要写程序,先建C工程,下图是已建好的QTCreator工程:

可以看到简单的一个工程也已经有几个文件了。pro文件是工程文件,用于保存工程的信息,不要动它。Sources文件夹不是一个真正的文件夹,只 是一个分组。main.c是源码文件。main.c文件不是空的,而是一个HelloWorld程序,这是IDE为我们做的,你可以把文件删掉自己重新加,效果也是一样。这个程序就做了一件事:输出一段文本:Hello world。但从这个程序中可以看到一个程序的必备要素:

至少一个C文件。

C文件内至少有个main函数。

main.c中的内容:

//包含这个头文件是为了使用函数printf ,否则不用包含这个头文件#include <stdio.h>/* 入口函数 int是返回值类型 小括号里放参数,void表示没有参数,可以把void省略 */int main(void){    //向控制台输出一条文本    printf("Hello World!\n");    //反回0表示程序成功执行    return 0;}

核心语法:

注释是给人看的,编译器不把它们当代码处理。单行注释://,多行注释:/**/ 。

一行语句结束,要有分号。

include句叫包含头文件。包含头文件是为了使用那个头文件中声明的函数或变量。

main是函数,大括号内就是函数的代码。代码就是计算机能执行的指令。

输出文本是printf函数干的,printf就是stdio.h文件中的函数,所以必须在使用printf之前包含头文件。

要使用一个函数的功能必须调用这个函数,比如printf句。

函数可以被调用任意次,比如你可以调用10次printf。

调用函数的写法是有一定规则的,首先写上函数名,因为没有函数名就不知道要执行哪个函数了;函数名之后紧跟小括号。小括号内叫参数,这里传什么参数,printf就输出什么。

热门推荐

原文标题:成为C++高手之第一个程序

文章出处:【微信号:mcu168,微信公众号:玩转单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

KEIL编译环境优化等级说明详解

则其中的 Code Optimization 栏就是用来设置C51的优化级别。共有9个优化级别(书上....

发表于 05-25 16:59 160次 阅读
KEIL编译环境优化等级说明详解

大神教你:嵌入式系统C++代码的变成技巧

在嵌入式软件技术中,C++语言具有较高的编程效率。但是,要实现高效率,还有许多问题需要特别注意。首先....

发表于 05-25 09:20 145次 阅读
大神教你:嵌入式系统C++代码的变成技巧

一文带你精通CRC算法的研究

这两天,由于用AVR对DS18B20读取数据匹配需要效验,在家里研究CRC算法,借鉴网上的一些方法,....

发表于 05-24 16:55 145次 阅读
一文带你精通CRC算法的研究

C/C++/OpenCL 应用编译的SDSoC开发

SDSoC:面向SoC和MPSoC 的软件定义开发环境 TI参考设计可加速开发Xilinx MPSo....

发表于 05-21 14:16 212次 阅读
C/C++/OpenCL 应用编译的SDSoC开发

在C和C++语言开发中内存直接操作的方法

指针释放引起的错误:释放同一个内存块两次,或释放一块未曾使用malloc分配的内存,或释放仍在使用中....

的头像 C语言编程设计 发表于 05-09 10:56 1346次 阅读
在C和C++语言开发中内存直接操作的方法

TMS320C28x处理器优化的C++编译器V6.0的使用手册

本用户指南介绍了C/C++编译器的特点。它假定你已经知道如何编写C程序。Brian W. Kerni....

发表于 05-08 09:26 50次 阅读
TMS320C28x处理器优化的C++编译器V6.0的使用手册

如何使用编译器顾问提高芯片的性能详细资料概述

C和C++是非常强大和富有表现力的编程语言。即使如此,这些语言缺乏表达某些编程细节的能力,这对于实现....

发表于 05-04 08:42 36次 阅读
如何使用编译器顾问提高芯片的性能详细资料概述

C-primer-plus(第五版)课后编程练习答案(完整)

C语言习题

发表于 05-03 10:46 46次 阅读
C-primer-plus(第五版)课后编程练习答案(完整)

C++程序设计上机指导.pdf

C++程序设计上机指导

发表于 05-02 10:20 33次 阅读
C++程序设计上机指导.pdf

C++学习中易错易混点知识汇总

C++学习中易错易混点知识汇总

发表于 04-27 09:48 29次 阅读
C++学习中易错易混点知识汇总

TMS320C54x汇编语言工具C/C++编译器的功能优化详细概述

该系列是一套软件开发工具的支持,其中包括一个优化的C/C++编译器、汇编器、链接器,以及组合工具。本....

发表于 04-27 09:43 48次 阅读
TMS320C54x汇编语言工具C/C++编译器的功能优化详细概述

基于STM32F4的 C++封装(完整代码)

一直有一个想法就是用 C++ 去做 STM32 的开发,但是很少有这方面的资料。经过一段时间的思考,....

发表于 04-26 11:03 219次 阅读
基于STM32F4的 C++封装(完整代码)

计算机的概述程序设计和C++语言详细中文讲解

一台计算机由硬件和软件二部分构成。硬件是指计算机的物理构成,即构成计算机的元器件和设备。软件是指计算....

发表于 04-23 16:43 66次 阅读
计算机的概述程序设计和C++语言详细中文讲解

了解一下比较复杂也非常神秘的new

“new”是C++的一个关键字,同时也是操作符。关于new的话题非常多,因为它确实比较复杂,也非常神....

的头像 C语言专家集中营 发表于 04-23 15:27 630次 阅读
了解一下比较复杂也非常神秘的new

软件编程是系统性思维的集中体现

所谓“系统性思维”,就是将认识对象作为一个独立的“系统”来进行观察,从系统与要素、要素与要素、系统与....

的头像 电子产业分析 发表于 04-22 10:35 877次 阅读
软件编程是系统性思维的集中体现

ARM优化CC++编译v5.1版本的详细概述

本文的主要内容是介绍了TI ARM优化CC++编译v5.1版本的详细概述

发表于 04-18 09:11 43次 阅读
ARM优化CC++编译v5.1版本的详细概述

自从20世纪80年代以来就存在的未来编程语言的预见失误

在这篇文章中,我来讲述一下为什么我不再碰 C++ 的故事。这是关于计算机语言设计经济学专题文章的起始....

的头像 Linux爱好者 发表于 04-11 10:46 765次 阅读
自从20世纪80年代以来就存在的未来编程语言的预见失误

一文看懂嵌入式开发与c++开发有什么不同

嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有WinCE,ucos,vxworks,l....

的头像 陈翠 发表于 04-04 09:12 1064次 阅读
一文看懂嵌入式开发与c++开发有什么不同

解决不重复序列的全排列问题的两个方法:递归和字典序法

这篇文章主要介绍了解决不重复序列的全排列问题的两个方法:递归和字典序法。

的头像 算法与数据结构 发表于 03-29 11:19 1131次 阅读
解决不重复序列的全排列问题的两个方法:递归和字典序法

小白如何用C++制作网游DNF技能特效

十年前,那时候的网吧还不叫网咖,那时候没有王者荣耀也没有英雄联盟,那时候梦幻西游刚推出珍宝阁系统,那....

的头像 算法与数据结构 发表于 03-27 15:30 684次 阅读
小白如何用C++制作网游DNF技能特效

如何利用Electron实现一个视频会议应用?

Electron 兼容 Mac、Windows 和 Linux。利用它构建的应用可在这三个操作系统上....

的头像 声网Agora 发表于 03-20 15:35 1223次 阅读
如何利用Electron实现一个视频会议应用?

C++语法的外围基础

程序对内存空间的动态分配的频繁程度要求简化语言的相关语法的格式。C++语法规定new算符等效于C语言....

发表于 03-15 16:55 79次 阅读
C++语法的外围基础

C++多继承的二义性问题

在多重继承中,需要解决的主要问题是标识符不唯一,即二义性问题。

的头像 面包板社区 发表于 03-14 15:26 476次 阅读
C++多继承的二义性问题

密码编码学:加密方法的C与C++实现

密码编码学:加密方法的C与C++实现

发表于 03-12 14:07 58次 阅读
密码编码学:加密方法的C与C++实现

利用Aaduino的C++设计工具IDE的事件设计工具及源程序下载

利用Aaduino的C++设计工具IDE的事件设计工具及源程序可以提高设计速度且提高效率! 值得学....

发表于 02-26 09:47 157次 阅读
利用Aaduino的C++设计工具IDE的事件设计工具及源程序下载

基于C++类的static详细介绍

对于某些特定类类型的全体对象而言,访问一个全局对象有时是有必要的。在程序运行的任意点可能需要统计已创....

的头像 面包板社区 发表于 02-23 08:30 746次 阅读
基于C++类的static详细介绍

介绍用于 AI 开发的高质量库,并谈谈它们的优缺点,以及特性

在本文中,我们将介绍那些用于 AI 开发的高质量库,并谈谈它们的优缺点,以及特性。

的头像 Linux爱好者 发表于 02-05 14:47 1366次 阅读
介绍用于 AI 开发的高质量库,并谈谈它们的优缺点,以及特性

解析C语言与ARM汇编与的相互调用以及与 C++ 相互调用

全局变量只能通过地址间接调用,为了访问C++语言中全局变量,首先要通过extern伪指令引入全局变量....

的头像 畅学单片机 发表于 01-23 10:29 1173次 阅读
解析C语言与ARM汇编与的相互调用以及与 C++ 相互调用

Coding Dojo发布了 2018 最具就业前景的 7 大编程语言

2018 年即将到来,Coding Dojo(编码道场)发布了 2018 最具就业前景的 7 大编程....

的头像 机器学习算法与人工智能 发表于 01-18 14:37 1458次 阅读
Coding Dojo发布了 2018 最具就业前景的 7 大编程语言

从C++的“深度”与“广度”来探究其复杂程度

C++是一种高深莫测的语言,这是众所周知的。它的复杂度,我们可想而知。下面让我们一同与作者,走进C+....

的头像 C语言专家集中营 发表于 01-15 15:48 518次 阅读
从C++的“深度”与“广度”来探究其复杂程度

介绍使用Vivado HLS时的几个误区

在实际工程中,如何利用好这一工具仍值得考究。本文将介绍使用Vivado HLS时的几个误区。

的头像 FPGA开发圈 发表于 01-10 14:33 2243次 阅读
介绍使用Vivado HLS时的几个误区

基于多线程环境下值的递增操作--原子操作

因此在多线程环境中对一个变量进行读写时,我们需要有一种方法能够保证对一个值的递增操作是原子操作——即....

的头像 C语言专家集中营 发表于 01-10 11:16 617次 阅读
基于多线程环境下值的递增操作--原子操作

详细剖析C++的的3种容器

容器是随着面向对象语言的诞生而提出的,容器类在面向对象语言中特别重要,甚至它被认为是早期面向对象语言....

的头像 C语言专家集中营 发表于 01-09 12:57 752次 阅读
详细剖析C++的的3种容器

探讨C++多态性技术的局限性及解决的办法

多态性是指发出同样的消息被不同类型的对象接收时有可能导致完全不同的行为。

的头像 C语言专家集中营 发表于 01-08 11:06 791次 阅读
探讨C++多态性技术的局限性及解决的办法

面向对象程序设计课程设计报告基于C++的矩阵运算系统

基于C++的矩阵运算系统,包括加减乘求逆等

发表于 01-02 19:55 90次 阅读
面向对象程序设计课程设计报告基于C++的矩阵运算系统

钱能c++程序设计教程(第二版)源代码

发表于 12-25 19:19 149次 阅读
钱能c++程序设计教程(第二版)源代码

钱能C++语言程序设计第二版教材

发表于 12-25 19:18 113次 阅读
钱能C++语言程序设计第二版教材

c++语言实用案例之Bmp图像读取

用于bmp文件的学习,有详细的代码

发表于 12-25 16:45 56次 阅读
c++语言实用案例之Bmp图像读取

详述不用c++写网页的理由

C++在web开发中地位如何,进来一探究竟吧。

的头像 机器学习算法与人工智能 发表于 12-22 10:07 1436次 阅读
详述不用c++写网页的理由

解析c++语言的Qt内省机制

所谓 内省 是指面向对象语言的一种在运行期间查询对象信息的能力, 比如如果该语具有运行期间检查对象型....

发表于 12-15 10:22 123次 阅读
解析c++语言的Qt内省机制

c++和c语言之间有什么区别

C++是在C语言的基础上发展来的,但是并不是C++比C语言高级,两者的编程思想不一样,应用的领域也不....

发表于 12-11 10:17 830次 阅读
c++和c语言之间有什么区别

C语言的重大更新 C++17标准发布

std::string_view 和std::optional将会以函数参数和返回类型的形式广泛使用....

的头像 嵌入式资讯精选 发表于 12-08 14:46 1571次 阅读
C语言的重大更新 C++17标准发布

机器人小车系统C++程序设计

机器人是指在计算机程序控制下能够自动完成人类部分工作的机器。集中了机械工程、电子学、控制理论、计算机....

发表于 12-01 16:14 141次 阅读
机器人小车系统C++程序设计

C++中指针和引用的区别

指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质....

发表于 11-29 17:24 247次 阅读
C++中指针和引用的区别

一张图总结Google C++编程规范

Google C Style Guide是一份不错的C编码指南,我制作了一张比较全面的说明图,可以在....

发表于 11-26 15:25 131次 阅读
一张图总结Google C++编程规范

C++内存泄漏分析方法

C++是一种非常流行的计算机编程语言,在使用的过程中容易出现内存泄漏问题,而该问题往往难以识别。给出....

发表于 11-23 11:19 79次 阅读
C++内存泄漏分析方法

C++中声明与定义的区别解析

首先谈下声明与定义的区别。 声明是将一个名称引入程序。定义提供了一个实体在程序中的唯一描述。声明和定....

发表于 11-21 11:11 74次 阅读
C++中声明与定义的区别解析

Qt Quick中文手册

Qt Quick中文手册

发表于 10-30 08:53 228次 阅读
Qt Quick中文手册

GCC编译器使用手册(Using the GNU Compiler Collection for gcc ver)

when an option is only useful with another languag....

发表于 10-27 14:52 246次 阅读
GCC编译器使用手册(Using the GNU Compiler Collection for gcc ver)

嵌入式C++的经验总结-精华集锦

很值得看的嵌入式经典教程!

发表于 06-23 10:17 220次 阅读
嵌入式C++的经验总结-精华集锦