C语言学习IDE和基本程序结构
任何一门语言的学习,首先要有一个编辑器或集成开发工具IDE, 要不然代码都不知道写到什么地方。对于我这种小白来说,安装个IDE是最好不过的,因为C 语言也是编译语言,写完代码之后,要先编译才能运行,而IDE把编译,运行全自己做,我们只要点击按钮,就可以运行代码了。对于初学者来说,能看到代码成功运行就是最高兴的事,这也能提高写代码的积极性,要不然,上来就是一堆配置,有的还不懂,配置有问题,代码又不能运行,非常沮丧,还能有心情写代码吗? 这里选择的IDE是code::block
安装IDE之前要先下载它,code::block的官网是 http://www.codeblocks.org/。你也可以百度codeblock, 一般第一个就是它的官网,下面是官司截图:
导航栏中有一个download, 就是上面有蓝底的tab, 点击,进入它的下载页面,
这里有三种下载方式,用三个li列表给出,可以看到每一个下载方式前面都有一个黑点进行标记。我们选择第一个Download the binary release(上图中有下划线),进入到它的真正下载页面,可以看到它有各个版本的下载方式,由于我是windows10 系统,直接找win10就可以了。
这里要下载 codeblocks-16.01mingw-setup.exe, 带有mingw的,因为它里面有一个编译器和debugger,可以对语言进行编译调试。下载完成后要进行安装。
安装非常简单, 为了避免出现配置错误,我是一路next, 全部使用默认安装,直到安装完成,安装完成后,桌面上会有一个和window 图标类类似的图标,它就是cold::block 快捷方式,双击,就可以打开它,界面如下:
IDE安装成功了,就要书写代码了,看看IDE是如何开发程序的。最简单的就是hello world 程序。
在C语言中, 我们开始写代码之前都要先建立一个项目。file -> new -> Project
点击完成后,可以看到一个弹窗,它是catagory, 就是我们要建立什么样的项目。这里选Console application, 就是控制台项目(下图第 一行最后一个图标),因为我们的程序结果在控制台显示。
选中最后一个图标,就是在该图标上用鼠标点一下,然后点击它右上方的 go 按钮,此时出现一个弹窗,直接点击next 就可以了,如果下次不想看到这个弹窗,可以勾选,skip this page next time 复选框,再单击next, 这个弹窗没有实质作用,只是提示一下,我们完全可以忽略,点击next 后,会出现一个语言选择框,c或 c++, 我们选择c 就可以了。
再次点击next, 就是添写具体项目的信息了,如下图。 Project title 就是项目的名称,你添加一个就可以了,比如Hello。Foler to create project in: 项目存放到什么地方,你找个地方就放置项目。添写完成后,点next, 就出现了一个complier编译器的弹窗,我们不用改动任何地方,直接点finish就可以了。
这时回到了编辑器的界面,左边workspace下面,多了一个Hello 项目,它下面有一个source 目录,就是存放的源码。它下面有一个mian.c,我们写的程序也是这个样式,它这里提供了一个模版,可以用来快速入门,它写的就是hello world 程序。所有c语言程序都是以.c 作为后缀。
程序写完后,怎么运行呢? 在工具栏中有四个小按钮,如下,第一个锯齿状的小轮子,就是编译命令,第二个绿色的开始按钮就是执行,第三个是第一个和第二人的合体,看图标也可以看出来,它是编译并执行。
我们先点击第一个按钮,再点击第二个按钮,或直接点击第三个按钮,都能运行程序,弹出控制台,显示hello world, 按Ecs 键可以退出控制台。 以后,写完代码后就可以直接运行看结果了。
现在看一下C 程序代码是就怎么写的,就是main.c 的源码。
首先是第一句和第二句: #include <stdio.h>
#: 以 # 号开头的指令是预处理指令,就是在代码运行之前,先处理它,在这里就是include<stdio.h>, 引入 stdio 库。
#预处理指令有时候可以不写,但是如果写的话,一定要在文件最开始的位置。
stdio, 它是standard input and out 的简写,标准输入输出流,它就是用来定义输入输出的。因为 我们的文件中有printf 是输入语句,所以要把它引入进来。
.h: h是header 的意思,在这里指的是头文件。
第二句,int main(), main 是一个函数,是C语言程序运行的起点。任何一个C 语言程序必须有一个main 函数,并且有且只有一个。如果没有main 函数,程序不知道从什么地方运行,如果有多个,则会起冲突,不知道从哪里开始运行。 前面的int, 表示程序运行的返回值,这时返回了0, 所以是int 类型。
第三行是{}, main 函数的主体,表示该函数要执行的内容。在这里是printf, 输出内容。
语句要以分号进行结尾。
最后再说一下怎么给程序添加注释, 它和Js 添加注释的语法一致。// 单行注释。 /* */ 多行注释。
现在我们就可以愉快的写代码了。
C语言学习IDE和基本程序结构的更多相关文章
- C#学习笔记二:C#程序结构
从最简单的HelloWorld开始入手,这是一个最低限度的C#程序结构. C# Hello World 示例 一个C#程序主要由以下几部分组成: 命名空间声明 一个类 类方法 类属性 一个Main方法 ...
- C语言入门教程-(2)基本程序结构
1.简单的C语言程序结构 要建造房屋,首先需要打地基.搬砖搭建框架(这大概就是为什么叫搬砖的原因).学习计算机语言的时候也一样,应该从基本的结构开始学起.下面,我们看一段简单的源代码,这段代码希望大家 ...
- 学习安卓开发[1] - 程序结构、Activity生命周期及页面通信
一.程序结构 Android原生应用采用了MVC的架构设计模式,因此可以将一个Android APP中的对象归为Model.View或Controller中的一种. 具体到某个实际的APP结构中,它一 ...
- C语言学习_一个简单程序的解释与C学习方法概括
简单计算器程序示例: # include <stdio.h> //1.头文件 //2.加法函数 int add(int a,int b)//3.函数定义方式 { //4.函数体 retur ...
- 51单片机C语言学习笔记3: 存储器结构
MCS-51单片机在物理结构上有四个存储空间: 1.片内程序存储器2.片外程序存储器3.片内数据存储器4.片外数据存储器 但在逻辑上,即从用户的角度上,8051单片机有三个存储空间: 1.片内外统一编 ...
- C语言学习总结(1)——结构体
一,什么是结构体 我们知道数组(Array),它是一组具有相同类型的数据的集合.但在实际的编程过程中,我们往往还需要一组类型不同的数据,例如对于学生信息登记表,姓名为字符串,学号为整数,年龄 ...
- 【C语言C++编程入门】——程序结构:构思!
学习编程语言的最好方法是编写程序.一般来说,初学者编写的第一个程序是一个名为"Hello World"的程序,它简单地将"Hello World"打印到你的电脑 ...
- Go语言学习笔记(四)结构体struct & 接口Interface & 反射
加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 结构体struct struct 用来自定义复杂数据结构,可以包含多个字段(属性),可以嵌套: go中的struc ...
- Go语言学习笔记(四)结构体struct & 接口Interface & 反射reflect
加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 结构体struct struct 用来自定义复杂数据结构,可以包含多个字段(属性),可以嵌套: go中的struc ...
随机推荐
- 隐写工具Hydan的安装使用方法
Hydan是可以在32位ELF二进制文件里隐藏信息的工具,主要原理是利用了i386指令中的冗余信息. 官网地址:http://www.crazyboy.com/hydan/ 但这个工具最后更新好像是在 ...
- Jlink使用技巧之读取STM32内部的程序
前言 上一篇Jlink系列文章介绍了如何使用J-Flash来下载Hex或Bin文件到单片机,具体可参考Jlink使用技巧之单独下载HEX文件到单片机,本篇文章介绍,如何使用JFlash来读取单片机的程 ...
- bootstrap 失效的原因
首先必须对着官方文档的模板来写: https://getbootstrap.com/docs/4.3/getting-started/introduction/ 然后: 这里必须加上 rel=&quo ...
- SpringBoot分布式 - SpringCloud
一:介绍 Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理.服务发现.断路器.智能路由.微代理.控制总线.全局锁.决策竞选.分布 ...
- mybatis百科-结果集映射类ResultMap
目录 1 成员变量 2 构造函数 3 其他函数 3.1 setter 和 getter 函数 4 静态内部类 4.1 成员变量 4.2 构造函数 4.3 建造者相关的函数 4.4 获取配置的构造方法参 ...
- 漫画 | Redis常见面试问题(一)
最近,阿音在为接下来的一场面试做准备,其中的内容包括redis,而且redis是重点内容. Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数 ...
- 一文看懂Transformer内部原理(含PyTorch实现)
Transformer注解及PyTorch实现 原文:http://nlp.seas.harvard.edu/2018/04/03/attention.html 作者:Alexander Rush 转 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(91)-EF 连接 MySql
前言 虽然系统目前只支持MSSQL版本,但是很多朋友公司技术规定必须使用MySql,下面我们就来使用EF连接MySQL吧! (1)安装MYSQL环境 1.下载安装MYSQL数据,这里我们安装phpSt ...
- Python遇到问题总结
1.list的集合 循环删除一个list数据时,会遇到一丢丢问题,详情看Python的list循环遍历中,删除数据的正确方法 但是,里面说的要反转一下list集合,可以用a[::-1]这种方法. &g ...
- D1. Great Vova Wall (Version 1)
链接 [https://codeforces.com/contest/1092/problem/D1] 题意 给你n个位置墙的高度,现在你有2×1 砖块,你可以竖直或者水平放置 问你是否可以使得所有位 ...