【重学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. 函数中不能嵌套函数

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高精度彩色3D相机:开启崭新的彩色3D成像时代

3D成像的新时代 近年来&#xff0c;机器人技术的快速发展促使对3D相机技术的需求不断增加&#xff0c;原因在于&#xff0c;相机在提高机器人的性能和实现多种功能方面发挥了决定性作用。然而&#xff0c;其中许多应用所需的解决方案更复杂&#xff0c;仅提供环境的深度信息是…

SQL语句案例

1、按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩 分析&#xff1a; 平均 avg---GROUP BY分组 从高到低--ORDER BY 所有学生的所有课程的成绩---行转列 所有学生----外联&#xff08;所有&#xff09;----RIGHT JOIN右联 SELECT s.sid, s.sname , 不…

linux 如何创建文件

我们在写一些教程的时候&#xff0c;经常会需要创建一些用于演示的文档&#xff0c;这些文档往往需要填充一些不特定的内容。那么如何快速的创建演示用的文档呢&#xff1f; docfaker.py docfaker.py是一个py脚本&#xff0c;用于创建一个简单的txt文档&#xff0c;docfaker.…

简单工厂模式、工厂方法、抽象工厂模式

下面例子中鼠标&#xff0c;键盘&#xff0c;耳麦为产品&#xff0c;惠普&#xff0c;戴尔为工厂。 简单工厂模式 简单工厂模式不是 23 种里的一种&#xff0c;简而言之&#xff0c;就是有一个专门生产某个产品的类。 比如下图中的鼠标工厂&#xff0c;专业生产鼠标&#xf…

基于springboot+vue2的课程教学考试系统(Java毕业设计)

大家好&#xff0c;我是DeBug&#xff0c;很高兴你能来阅读&#xff01;作为一名热爱编程的程序员&#xff0c;我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里&#xff0c;我将会结合实际项目经验&#xff0c;分享编程技巧、最佳实践以及解决问题的方法。无论你是…

[情商-11]:人际交流的心理架构与需求层次模型

目录 前言&#xff1a; 一、心理架构 1.1 个体生理层 1.2 个体心理层 1.3 点对点人际交流层 1.4 社会网络层 1.5 社会价值层 二、人的需求层次模型 2.1 需求&#xff08;欲望&#xff09;层次模型 2.2 基因与人需求之间的关系 2.3 个体生理需求 2.4 个体的心理需求…

Unity——VContainer的依赖注入

一、IOC控制反转和DI依赖倒置 1、IOC框架核心原理是依赖倒置原则 C#设计模式的六大原则 使用这种思想方式&#xff0c;可以让我们无需关心对象的生成方式&#xff0c;只需要告诉容器我需要的对象即可&#xff0c;而告诉容器我需要对象的方式就叫做DI&#xff08;依赖注入&…

leetcode刷题记录18(2023-08-29)【最短无序连续子数组(单调栈) | 合并二叉树(dfs) | 任务调度器(桶) | 回文子串(二维dp)】

581. 最短无序连续子数组 给你一个整数数组 nums &#xff0c;你需要找出一个 连续子数组 &#xff0c;如果对这个子数组进行升序排序&#xff0c;那么整个数组都会变为升序排序。 请你找出符合题意的 最短 子数组&#xff0c;并输出它的长度。 示例 1&#xff1a; 输入&am…

IT从业人员如何养生?

目前&#xff0c;电脑对人体生理和心理方面的负面影响已日益受到人们的重视。为此科学使用电脑&#xff0c;减少电脑和网络的危害是十分必要的。好代码网总结了一些it从业人员的保健知识&#xff0c;分享给大家。 一是要增强自我保健意识 工作间隙注意适当休息&#xff0c;一般…

试用 Coroot,一个基于 eBPF 的可观测性工具,用于 Kubernetes 等

在本文中&#xff0c;我们将介绍 Coroot&#xff0c;这是一个使用 eBPF 技术构建的开源工具&#xff0c;旨在用于 Kubernetes 或基于 Docker/containerd 的环境&#xff0c;甚至是非容器化应用程序。Coroot 收集和分析遥测数据&#xff08;指标、日志、跟踪和配置文件&#xff…

遥感影像-语义分割数据集:高分卫星-云数据集详细介绍及训练样本处理流程

原始数据集详情 简介&#xff1a;该云数据集包括RGB三通道的高分辨率图像&#xff0c;包含高分一、高分二及宽幅数据集。 KeyValue卫星类型高分系列覆盖区域未知场景未知分辨率1m、2m、8m数量12000单张尺寸1024*1024原始影像位深8位标签图片位深8位原始影像通道数三通道标签图…

Backtrader 文档学习-Strategy with Signals

Backtrader 文档学习-Strategy with Signals backtrader可以不通过重写策略的方式触发交易&#xff0c;尽管重写策略是首选通用的方式。 下面介绍通过使用信号也是可以实现交易触发的。 1.定义signal import backtrader as btdata bt.feeds.OneOfTheFeeds(datanamemydatana…

HarmonyOS应用开发学习笔记 UIAbility组件与UI的数据同步 EventHub、globalThis

1、 HarmoryOS Ability页面的生命周期 2、 Component自定义组件 3、HarmonyOS 应用开发学习笔记 ets组件生命周期 4、HarmonyOS 应用开发学习笔记 ets组件样式定义 Styles装饰器&#xff1a;定义组件重用样式 Extend装饰器&#xff1a;定义扩展组件样式 5、HarmonyOS 应用开发…

Netty-Netty组件了解

EventLoop 和 EventLoopGroup 回想一下我们在 NIO 中是如何处理我们关心的事件的&#xff1f;在一个 while 循环中 select 出事 件&#xff0c;然后依次处理每种事件。我们可以把它称为事件循环&#xff0c;这就是 EventLoop 。 interface io.netty.channel. EventLoo…

权值初始化

一、梯度消失与爆炸 在神经网络中&#xff0c;梯度消失和梯度爆炸是训练过程中常见的问题。 梯度消失指的是在反向传播过程中&#xff0c;梯度逐渐变小&#xff0c;导致较远处的层对参数的更新影响较小甚至无法更新。这通常发生在深层网络中&#xff0c;特别是使用某些激活函…

TDengine 签约西电电力

近年来&#xff0c;随着云计算和物联网技术的迅猛发展&#xff0c;传统电力行业正朝着数字化、信息化和智能化的大趋势迈进。在传统业务基础上&#xff0c;电力行业构建了信息网络、通信网络和能源网络&#xff0c;致力于实现发电、输电、变电、配电和用电的实时智能联动。在这…

用C#实现简单的线性回归

前言 最近注意到了NumSharp&#xff0c;想学习一下&#xff0c;最好的学习方式就是去实践&#xff0c;因此从github上找了一个用python实现的简单线性回归代码&#xff0c;然后基于NumSharp用C#进行了改写。 NumSharp简介 NumSharp&#xff08;NumPy for C#&#xff09;是一…

[redis] redis主从复制,哨兵模式和集群

一、redis的高可用 1.1 redis高可用的概念 在web服务器中&#xff0c;高可用是指服务器可以正常访问的时间&#xff0c;衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 高可用的计算公式是1-&#xff08;宕机时间&#xff09;/&#xff08;宕机时…

leetcode17 电话号码的字母组合

方法1 if-else方法 if-else方法的思路及其简单粗暴&#xff0c;如下图所示&#xff0c;以数字234为例&#xff0c;数字2所对应的字母是abc&#xff0c;数字3所对应的是def&#xff0c;数字4所对应的是ghi&#xff0c;最后所产生的结果就类似于我们中学所学过的树状图一样&…

opencv-4.8.0编译及使用

1 编译 opencv的编译总体来说比较简单&#xff0c;但必须记住一点&#xff1a;opencv的版本必须和opencv_contrib的版本保持一致。例如opencv使用4.8.0&#xff0c;opencv_contrib也必须使用4.8.0。 进入opencv和opencv_contrib的github页面后&#xff0c;默认看到的是git分支&…