【重学C语言】二、前期准备和第一个C程序

【重学C语言】二、前期准备和第一个C程序

  • 1. VS 项目
    • 1.1 创建项目
  • 2. Clion 项目(本博主主用)
    • 2.1 创建项目
    • 2.2 Clion 配置
  • 3. 构建类型
  • 4. 构建模式
  • 5. 注释
  • 6. 第一个 C 程序
  • 7. 程序闪退
  • 8. 新手遇到的问题

1. VS 项目

1.1 创建项目

  • 打开 VS 创建新项目
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 创建 main.c
    在这里插入图片描述
    在这里插入图片描述
  • 书写以下代码,按 Ctrl + F5 运行
#include <stdio.h>

int main() {
	printf("Hello, world\n");
	return 0;
}

在这里插入图片描述

2. Clion 项目(本博主主用)

2.1 创建项目

  • 创建新项目
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2.2 Clion 配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

退出代码提示:ESC
移动一行:Shift + Alt + ↑/↓
格式化: Ctrl + Alt + L
提取共性代码:Ctrl + Alt + M
代码自动填写:Alt + Enter
代码提示:Ctrl + Alt + 空格
代码跨选择:Ctrl + Alt
删除当前行:Ctrl + Y
复制当前行:Ctrl + D
向下换行:Shift + Enter
向上换行:Ctrl + Alt + Enter
查看属性方法详细:Ctrl + Q
查看属性方法在哪些地方使用了:Ctrl + F7
搜索文件:Ctrl + Shift
单行注释:Ctrl + / 
块注释:Ctrl + Shift + /
多行单选:Alt + A
代码选择(列如:try+catch):Ctrl + Alt + T
在当前页搜索:Ctrl + F
全局搜索:Ctrl + Shift + F
方法折叠:Ctrl +  -
方法展开:Ctrl + +
复制方法路径:Ctrl + Shift + C
关闭打开的类: Ctrl + F4
在路径中查找: Ctrl + Shift + F7

【调试部分、编译】
Ctrl+F2,停止
Alt+Shift+F9,选择 Debug
Alt+Shift+F10,选择 Run
Ctrl+Shift+F9,编译
Ctrl+Shift+F10,运行
Ctrl+Shift+F8,查看断点
F8,步过
F7,步入
Shift+F7,选择到底要 Debug 进入哪一个方法
Shift+F8,步出
Alt+Shift+F8,强制步过
Alt+Shift+F7,强制步入
Alt+F9,运行至光标处
Ctrl+Alt+F9,强制运行至光标处
F9,恢复程序
Alt+F10,定位到断点
Ctrl+F8,切换行断点
Ctrl+F9,生成项目

3. 构建类型

  • Debug:调试模式,当你的代码出现问题的时候,可以在这个模式下,对代码进行检查,找出问题所在,进而修改 bug
  • Release:发布模式,经过 Debug 调试没有任何问题之后,那么就需要切换到 Release 模式进行编译程序,然后把 Release 版本的 exe 打包发布出去

4. 构建模式

  • x64:目标平台指的是 64 位的 x64 架构。此架构适用于支持 64 位操作系统和处理器的计算机。如果你的应用程序将在这些平台上运行,你应该选择 x64 架构。注意,x64 架构的应用程序无法在 32 位的操作系统上运行。
  • x86:目标平台指的是 32 位的 x86 架构。此架构适用于大多数旧的 32 位 Windows 操作系统和处理器。如果你的应用程序将在这些平台上运行,你应该选择 x86 架构。32位程序可以在64位操作系统上运行

现在的操作系统基本上都是64位的,就用64位的即可

5. 注释

注释是对代码解释性的文字,它不会参与代码的编译过程,在预编译阶段就会把注释从代码里面删掉

  • 单行注释:注释一行 在一行内// 之后的都是注释
  • 多行注释:同时注释多行,在 /**/之间的都是注释
    • 多行注释可以嵌套单行注释
    • 多行注释不可以嵌套多行注释

6. 第一个 C 程序

#include <stdio.h>

int main(int argc, char* argv[]) {
	printf("Hello, world\n");
	return 0;
}
  • #include:头文件包含指令,不是C语言语句,<>中间是要包含的头文件的名称

  • int main(int argc, char* argv){return 0;}:C语言程序的入口函数,C语言程序会从 main 函数开始执行
    C语言标准规定 main 函数只有两种标准的写法:

    int main(void) {
    	return 0;
    }
    
    int main(int argc, char* argv[]) {
    	return 0;
    }
    
    • 参数:
      • argc:命令行参数个数
      • argv:命令行参数
    • return :返回一个结果,0表示正常结束,其他值表示异常结束(一般是负数)
  • printf():格式化打印

  • \n:换行

7. 程序闪退

解决办法:

  • getChar:等待接收一个字符然后按下回车
  • while(1);:死循环卡死

8. 新手遇到的问题

在这里插入图片描述
解决办法:一个项目中有且只有一个 main 函数

main 不要写成 mian

在这里插入图片描述

  1. 如果看到了无法解析的外部命令,那么一定是所调用的还是或使用的变量没有定义(库没有加载)
  2. 编程语言中一切的符号都必须是英文的,不能是中文的,一定不要打错了
  3. 除了 Python的所有编程语言的语句结束不要漏;
  4. 所有的括号必须匹配
  5. 函数中不能嵌套函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/318145.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

轻松查看WiFi密码的神奇脚本,让你忘记密码也不再是问题

说在前面 &#x1f388;本文介绍了一个便捷的脚本&#xff0c;可以帮助你获取电脑中保存的所有Wi-Fi网络的密码。不再需要担心忘记Wi-Fi密码或手动查找密码的麻烦&#xff0c;只需运行脚本即可一键获取。 一、引言 互联网的普及让我们离不开Wi-Fi网络&#xff0c;但忘记密码时…

贝叶斯分类器(公式推导+举例应用)

文章目录 引言贝叶斯决策论先验概率和后验概率极大似然估计朴素贝叶斯分类器朴素贝叶斯分类器的优点与缺点优点缺点 总结实验分析 引言 在机器学习的世界中&#xff0c;有一类强大而受欢迎的算法——贝叶斯分类器&#xff0c;它倚仗着贝叶斯定理和朴素的独立性假设&#xff0c…

fisco-bcos部署pro生产版本

我这里使用的 Ubuntu20.4系统&#xff0c;linux系统把操作命令apt改为yum即可 升级安装包 apt-get update 安装jdk&#xff0c;我这里使用jdk17 apt -y install openjdk-17-jdk-headless 查看java版本 java -version 安装依赖 apt-get install -y curl docker.io docker-com…

关于React你必须知道的3个错误用法。

1. 你知道如何使用“&&”吗? 在React程序中,我经常使用“&&”运算符来决定是否显示内容,如下所示: 我的组长: “你不知道&&运算符的特性吗?当请求还没有成功返回时,会直接渲染“0”。” 我并不信服, 因为我一直都是这样编写代码,从未出过错。为了…

详解CAS及ABA问题

&#x1f308;&#x1f308;&#x1f308;今天给大家分享的是 CAS 问题。 清风的CSDN博客 &#x1f6e9;️&#x1f6e9;️&#x1f6e9;️希望我的文章能对你有所帮助&#xff0c;有不足的地方还请各位看官多多指教&#xff0c;大家一起学习交流&#xff01; ✈️✈️✈️动动…

代码随想录算法训练营第五十一天|309.最佳买卖股票时机含冷冻期 、714.买卖股票的最佳时机含手续费

代码随想录算法训练营第五十一天|309.最佳买卖股票时机含冷冻期 、714.买卖股票的最佳时机含手续费 最佳买卖股票时机含冷冻期 309.最佳买卖股票时机含冷冻期 文章讲解&#xff1a;https://programmercarl.com/0309.%E6%9C%80%E4%BD%B3%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%…

U盘安装XP纯净版系统教程软件安装教程(附软件下载地址)

软件简介&#xff1a; 软件【下载地址】获取方式见文末。注&#xff1a;推荐使用&#xff0c;更贴合此安装方法&#xff01; U盘安装XP纯净版系统是一种便捷且快速的方式&#xff0c;以实现系统重装或升级的需求。这篇教程将为您详细介绍如何使用U盘来安装XP纯净版系统。XP纯…

前端面试题集合七(ES6、ES7、ES8、ES9、ES10、ES11、ES12)

ES6&#xff08;2015&#xff09; 1. 类&#xff08;class&#xff09; class Man {constructor(name) {this.name 小豪;}console() {console.log(this.name);} } const man new Man(小豪); man.console(); // 小豪 2. 模块化(ES Module) // 模块 A 导出一个方法 export …

Spring创建的单例对象,存在线程安全问题吗?

这个问题涉及到Spring框架中的Bean的作用域、单例模式的线程安全性以及如何判断和处理线程安全问题。让我们一步步深入探讨这些概念。 Spring Bean的作用域 Spring提供了几种不同的Bean作用域&#xff0c;包括&#xff1a; 1、 Singleton&#xff08;单例&#xff09;&#x…

LeetCode刷题:142. 环形链表 II

题目&#xff1a; 是否独立解决&#xff1a;否&#xff0c;参考了解题思路解决问题&#xff0c;思考了用快慢指针&#xff0c;栈&#xff0c;统计链表数量定位尾巴节点&#xff08;因为是环形链表所以是死循环&#xff0c;链表数量用while循环统计不出来&#xff09;都没解决 解…

stm32 - 基础架构

stm32 - 基础架构 基础架构外设概念系统结构引脚定义晶振工程 基础架构 外设概念 NVIC &#xff08;内核外设&#xff09; SysTick &#xff08;内核外设&#xff09; 其他是片上外设 系统结构 内核引出三条总线 ICode 指令总线&#xff1a; 连接Flash闪存&#xff08;编写的…

Netfilter 是如何工作的(六):连接跟踪信息的入口创建(in)和出口确认(confirm)

Articles (gitee.io) IPtables-朱双印博客 (zsythink.net) 在 Netfilter 是如何工作的(五) 中连接跟踪信息使用的创建-确认机制的 Netfilter在报文进入系统的入口处&#xff0c;将连接跟踪信息记录在报文上&#xff0c;在出口进行confirm.确认后的连接信息 本文以一个本机上送…

opencv3.4.12全景拼接

最近camera项目需要用到全景拼接&#xff0c;故此查阅大量资料&#xff0c;终于将此功能应用在实际项目上&#xff0c;下面总结一下此过程中遇到的一些问题及解决方式&#xff0c;同时也会将源码附在结尾处&#xff0c;供大家参考。 首先说一下此源码的大概执行流程&#xff0c…

阅读文献-胃癌

写在前面 今天先不阅读肺癌的了&#xff0c;先读一篇胃癌的文章 文献 An individualized stemness-related signature to predict prognosis and immunotherapy responses for gastric cancer using single-cell and bulk tissue transcriptomes IF:4.0 中科院分区:2区 医学…

行为型设计模式——备忘录模式

备忘录模式 备忘录模式提供了一种状态恢复的实现机制&#xff0c;使得用户可以方便地回到一个特定的历史步骤&#xff0c;当新的状态无效或者存在问题时&#xff0c;可以使用暂时存储起来的备忘录将状态复原&#xff0c;很多软件都提供了撤销&#xff08;Undo&#xff09;操作…

Ceph入门到精通-通过 CloudBerry Explorer 管理对象bucket

简介 CloudBerry Explorer 是一款可用于管理对象存储&#xff08;Cloud Object Storage&#xff0c;COS&#xff09;的客户端工具。通过 CloudBerry Explorer 可实现将 COS 挂载在 Windows 等操作系统上&#xff0c;方便用户访问、移动和管理 COS 文件。 支持系统 支持 Wind…

【动态规划】【滑动窗口】C++算法:3003 执行操作后的最大分割数量

作者推荐 【动态规划】【字符串】扰乱字符串 本文涉及的基础知识点 C算法&#xff1a;滑动窗口总结 动态规划 LeetCode3003 执行操作后的最大分割数量 给你一个下标从 0 开始的字符串 s 和一个整数 k。 你需要执行以下分割操作&#xff0c;直到字符串 s 变为 空&#xff1…

如何开发测试框架?

基本概念 库 英文单词叫Library&#xff0c;库是由代码集合成的一个产品&#xff0c;供程序员调用。面向对象的代码组织形成的库叫类库&#xff0c;面向过程的代码组织形成的库叫函数库。 框架 英文单词叫Framework&#xff0c;框架是为解决一个或一类问题而开发的产品&#x…

【问题探讨】基于非支配排序的蜣螂优化算法NSDBO求解微电网多目标优化调度研究

目录 主要内容 模型研究 结果一览 下载链接 主要内容 该模型以环境保护成本和运行成本为双目标构建了微电网优化调度模型&#xff0c;模型目标函数和约束条件复现文献《基于改进粒子群算法的微电网多目标优化调度》&#xff0c;程序的特点是采用非支配排序的蜣螂…

Flutter-Web从0到部署上线(实践+埋坑)

本文字数&#xff1a;7743字 预计阅读时间&#xff1a;60分钟 01 前言 首先说明一下&#xff0c;这篇文章是给具备Flutter开发经验的客户端同学看的。Flutter 的诞生虽然来自 Google 的 Chrome 团队&#xff0c;但大家都知道 Flutter 最先支持的平台是 Android 和 iOS&#xff…