【重学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.mzph.cn/news/619579.shtml

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

相关文章

【LabVIEW FPGA入门】模拟输入和模拟输出

1.简单模拟输入和输出测试 1.打开项目&#xff0c;在FPGA终端下面新建一个VI 2.本示例以模拟输入卡和模拟输出卡同时举例。 3.新建一个VI编写程序&#xff0c;同时将卡1的输出连接到卡2的输入使用物理连线。 4.编译并运行程序&#xff0c;观察是否能从通道中采集和输出信号。 5…

【LeetCode】19. 删除链表的倒数第 N 个结点(中等)——代码随想录算法训练营Day04

题目链接&#xff1a;19. 删除链表的倒数第 N 个结点 题目描述 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5] 示例 2&#xff1a; 输入&a…

行为型设计模式——迭代器模式

迭代器模式 迭代器模式也是非常的简单&#xff0c;定义如下&#xff1a; 提供一个对象来顺序访问聚合对象中的一系列数据&#xff0c;而不暴露聚合对象的内部表示。 相信大家都使用过类似下面的迭代器&#xff1a; List<String> list new ArrayList<>(); Iterat…

通过shell脚本确定当前平台

shell中的变量OSTYPE存储操作系统的名称&#xff0c;也可以使用uname命令来确认当前所在的平台。 shell中的变量HOSTTYPE存储操作系统的架构。 测试代码如下所示&#xff1a; #! /bin/bashecho "use OSTYPE:" if [[ "$OSTYPE" "linux-gnu&quo…

【自译】【精华】MIT麻省理工学院技术双月刊(The Bimonthly MIT Technology Review)2024年1~2月【创新版块概览(一)】

导读&#xff1a; 今年是 《MIT技术评论杂志》 创刊125周年纪念年&#xff08;该杂志自1899年创刊&#xff09;&#xff0c;笔者将2024开年第1期&#xff08;1月~2月号&#xff09;的创新版块&#xff08;Innovation Issue&#xff09;中的重要内容进行梳理&#xff0c;获得近年…

三维地下管线建模工具MagicPipe3D V3.3发布

经纬管网建模系统MagicPipe3D V3.3 持续更新&#xff0c;欢迎下载试用&#xff1a;http://www.magic3d.net 1、发布MagicPipe3D宣传操作视频, 2、发布MagicPipe3D数据规格说明, 3、更新使用手册到3.3.0版本, 4、增加支持属性字段中文, 5、增加支持附属物方…

某厂校招一道关于C的笔试题

一、笔试原题 题目&#xff1a;在Linux x86 _ 54 gcc环境下&#xff0c;下面的程序会出现什么问题&#xff1f;运行结果是什么&#xff1f;为什么&#xff1f; 程序如下图&#xff1a; 通过在gcc的环境下编译运行&#xff0c;发现运行结果为不断死循环打印0-17的数字 我们…

44 ext4 文件系统

前言 在 linux 中常见的文件系统 有很多, 如下 基于磁盘的文件系统, ext2, ext3, ext4, xfs, btrfs, jfs, ntfs 内存文件系统, procfs, sysfs, tmpfs, squashfs, debugfs 闪存文件系统, ubifs, jffs2, yaffs 文件系统这一套体系在 linux 有一层 vfs 抽象, 用户程序不用…

统一网关 Gateway【微服务】

文章目录 1. 前言2. 搭建网关服务3. 路由断言工厂4. 路由过滤器4.1 普通过滤器4.2 全局过滤器4.3 过滤器执行顺序 5. 跨域问题处理 1. 前言 通过前面的学习我们知道&#xff0c;通过 Feign 就可以向指定的微服务发起 http 请求&#xff0c;完成远程调用。但是这里有一个问题&am…

QToolBar、QStatusBar和QDockWidget的使用

1. 工具栏 QToolBar 1.1 创建工具栏 1.1.1 工具栏的基本函数 设置工具栏的停靠区域 参数 Qt::LeftToolBarArea //左边 Qt::RightToolBarArea //右边 Qt::TopToolBarArea //顶部 Qt::BottomToolBarArea //底部 Qt::AllToolBarAreas //所有区域 Qt::NoToolBarArea //没有QMa…

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

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

js动态设置关键侦@keyframes

js动态设置关键侦keyframes 1.前置知识 关键侦keyframes规则通过在动画序列中定义关键侦的样式来控制CSS动画序列的中间步骤 keyframes slidein {from {transform: translateX(0%);}to {transform: translateX(100%);} } // from 等价于 0%&#xff1b;to 等价与 100% // 或…

[UI5] ODATA V4中的CRUD

文章目录 前言一、Read二、Create三、Update四、Delete 前言 ODATA V4在CRUD方面与V2截然不同。 这篇文章简单介绍V4中是如何进行CRUD操作 一、Read Model不再有read方法&#xff0c; 一般是把Path绑定到View中进行读取&#xff0c; 如果需要额外的读取数据&#xff0c;可使用…

mysql进阶 - 存储过程

目录 1. 用途&#xff1a; 2. 相关语法 2.1 创建 2.1.1 语法 2.1.2 示例 2.2 查看存储过程 2.3 调用 2.4 修改存储过程 2.5 删除存储过程 1. 用途&#xff1a; 存储过程广泛存在于一些遗留系统&#xff0c;可以减少代码的编写。而近些年&#xff0c;存储过程很少再用…

UML-类图和类图转化为代码

提示&#xff1a;文章详细的讲解了类图的四种关系&#xff0c;以及每种关系如何转化为对应的代码。 UML-类图和类图转化为代码 一、类于类之间的关系1.依赖关系2.关联关系(1) 单向关联(2) 双向关联(3) 自关联(4) 聚合关联(has-a)(5) 组合关联&#xff08;contains-a&#xff09…

Servlet-Request

一、预览 在上一篇Servlet体系结构中&#xff0c;我们初步了解了怎么快速本篇将介绍Servlet中请求Request的相关内容&#xff0c;包括Request的体系结构&#xff0c;Request常用API。 二、Request体系结构 我们注意到我们定义的Servlet类若实现Servlet接口时&#xff0c;请求…

企业网站建设中常用的英文翻译

下面好代码网在长期的网站建设业务中总结的&#xff0c;一些在企业网站建设中词语的常用翻译&#xff0c;可以让你的企业网站更具有专业性。如果你做中英文双语版本网站或者外贸网站的请收藏备用。 网站导航 site map 公司简介 PROFILE or COMPANY Profile or Company 综述 Gen…

学习Qt笔记

前言&#xff1a; 学习笔记的内容来自B站up主阿西拜编程 《Qt6 C开发指南 》2023&#xff08;上册&#xff0c;完整版&#xff09;_哔哩哔哩_bilibili《Qt6 C开发指南 》2023&#xff08;上册&#xff0c;完整版&#xff09;共计84条视频&#xff0c;包括&#xff1a;00书籍介…

【UE Niagara学习笔记】07 - 火焰的热变形效果

目录 效果 步骤 一、创建热变形材质 二、添加新的发射器 2.1 设置粒子材质 2.2 设置粒子初始大小 2.3 设置粒子持续生成 三、修改材质 四、设置粒子效果 在上一篇博客&#xff08;【UE Niagara学习笔记】06 - 制作火焰喷射过程中飞舞的火星&#xff09;的基础上继续…

【MySQL】导入导出SQL脚本及远程备份---超详细介绍

目录 前言&#xff1a; 一 navcat导入导出 1.1 导入 1.2 导出 二 mysqldump 导入导出 2.1 导入 2.2 导出 三 load data infile命令导入导出 3.1 导入 3.2 导出 四 远程备份 五 思维导图 前言&#xff1a; 随着当今企业发展&#xff0c;数据库的数据越来越多&…