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

news2024/11/14 15:43:48

【重学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.coloradmin.cn/o/1381526.html

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

相关文章

如何提高比例阀控制精度效率速度解决电磁阀线圈老化提供电磁阀速度柱塞检测电磁阀过流保护电磁阀菊花链控制MAX22216

越来越多的场合需要对进气量液压量进行精确控制&#xff0c;比例阀被大量采用&#xff0c;如何提高比例阀的控制精度和效率&#xff0c;本文介绍螺线管驱动芯片MAX22216MAX22217的12位PI电流闭环控制以及其他性能&#xff0c;可以提升比例阀的控制精度。提高电磁阀速度精度解决…

oracle—IMU机制

正常的情况下&#xff0c;当事务需要回滚块的时候&#xff0c;是去undo表空间找 现在是在sharepool中分一个IMUbuffer&#xff0c;将所有的回滚信息写入。直接就可以从中取。减少了物理IO 同时这个过程也产生redo&#xff0c;直接就是图中红色的&#xff0c;不防止崩溃 优点 1…

竞赛保研 基于计算机视觉的身份证识别系统

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于机器视觉的身份证识别系统 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9ff; 更多资料, 项目分享&#xff1a; https://gitee.com/dancheng-sen…

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

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

JVM基础(7)——ParNew垃圾回收器

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 学习必须往深处挖&…

stable-diffusion 学习笔记

从效果看Stable Diffusion中的采样方法 参考&#xff1a;Ai 绘图日常 篇二&#xff1a;从效果看Stable Diffusion中的采样方法_软件应用_什么值得买 大概示例&#xff1a;

从零开始的源码搭建:详解连锁餐饮行业中的点餐小程序开发

时下&#xff0c;点餐小程序成为了许多餐饮企业引入的一种创新工具&#xff0c;不仅方便了顾客的用餐体验&#xff0c;同时也提高了餐厅的运营效率。本文将详细探讨如何从零开始搭建一个源码&#xff0c;并深入解析连锁餐饮行业中的点餐小程序开发过程。 一、需求分析与规划 在…

数据结构——排序算法之快速排序

个人主页&#xff1a;日刷百题 系列专栏&#xff1a;〖C/C小游戏〗〖Linux〗〖数据结构〗 〖C语言〗 &#x1f30e;欢迎各位→点赞&#x1f44d;收藏⭐️留言&#x1f4dd; ​ ​ 前言&#xff1a; 快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法。 基本思想&…

7. 分页插件

对于分页功能&#xff0c;MyBatisPlus 提供了分页插件&#xff0c;只需要进行简单的配置即可实现&#xff1a; Configuration public class MybatisPlusConfig {// 旧版 // Bean // public PaginationInterceptor paginationInterceptor() { // PaginationIntercept…

SECS/GEM的变量SVID是什么?JAVA SECS通信 JAVA与SECS集成资料大全JAVA开发SECS快速入门资料

Java与SECS基础通信 Java实现SECS指令S2F17获取时间 Java实现SECS指令 S10F3 终端单个显示例子 工艺配方管理S7FX Java实现SECS指令 S5F1报警/取消报警上传 实例源码及DEMO请查阅 变量可以是设备的状态信息 定义&#xff1a; 此功能允许主机查询设备数据变量&#x…

抓交通肇事犯(python)

问题描述&#xff1a; 一辆卡车违反交通规则&#xff0c;撞人后逃跑。现场有三人目击该事件&#xff0c;但都没有记住车号&#xff0c;只记下了车号的一些特征。甲说&#xff1a;牌照的前两位数字是相同的&#xff1b;乙说&#xff1a;牌照的后两位数字是相同的&#xff0c;但…

【SpringBoot3】实现自定义配置——以静态资源自定义配置为例(源码+代码示例)

这里写目录标题 1 配置类位置2 静态资源配置方式3 整体配置示例3.1 创建配置类3.2 实现配置方法3.3 指定配置文件属性 1 配置类位置 在左侧搜索autoconfigure可以找到spring-boot-autoconfigure包&#xff0c;打开其下的META-INF -> spring -> AutoConfiguration.import…

面向对象的三大特性

个人主页&#xff1a;告别&#xff0c;今天 个人专栏&#xff1a;java趣味之旅 ​​​​​​​本专栏旨在分享学习网络编程的学习心得和复习总结&#xff0c;欢迎大家在评论区交流讨论 1. 封装 1.1 封装的概念 面向对象程序三大特性&#xff1a;封装、继承、多态。而类和对象…

RibbonGroup添加QAction

实际项目中&#xff0c;group中需要添加按钮与点击事件&#xff1a; 添加实例如下&#xff1a; if (Qtitan::RibbonGroup* groupClipboard pageHome->addGroup(tr("Clipboard"))) { //右下角按钮显示 groupClipboard->setO…

xtu oj 1329 连分式

题目描述 连分式是形如下面的分式&#xff0c;已知a,b和迭代的次数n&#xff0c;求连分式的值。 输入 第一行是一个整数T(1≤T≤1000)&#xff0c;表示样例的个数。 每行一个样例&#xff0c;为a,b,n(1≤a,b,n≤9) 输出 每行输出一个样例的结果&#xff0c;使用x/y分式表达…

BUUCTF--get_started_3dsctf_20161

这题我本来以为是简单的ret2text.结果还是中了小坑。 先看保护&#xff1a; 32位程序&#xff0c;接下来测试下效果&#xff1a; 看看IDA中逻辑&#xff1a; 题目一进来有很多函数&#xff0c;盲猜是静态编译了。而且在函数堆中发现了个get_flag。信心慢慢的直接写代码返回get…

Qt点击按钮在附近弹出下拉框

效果 MainWindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include"toollayout.h" QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACEclass MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow…

SAP OData(一)简单创建与发布odata

一&#xff0c;事务码SEGW 该事务码以project的概念来组织OData服务&#xff0c;并以project为整体来生成并发布。系统中预置了一些project可供我们参考&#xff0c;例如crm_opportunity&#xff0c;crm_task等等。 新建project&#xff0c;我们需要填写project名字以及所属p…

FlinkCDC的分析和应用代码

前言&#xff1a;原本想讲如何基于Flink实现定制化计算引擎的开发&#xff0c;并以FlinkCDC为例介绍&#xff1b;发现这两个在表达上不知以谁为主&#xff0c;所以先分析FlinkCDC的应用场景和技术实现原理&#xff0c;下一篇再去分析Flink能在哪些方面&#xff0c;做定制化计算…

案例109:基于微信小程序的高校寻物平台设计与实现

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…