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 ...
随机推荐
- 环境部署(九):linux下安装python+chrome+Xvfb
在基于selenium进行的UI自动化测试中,开发调试环境一般都是windows操作系统.完成后需要部署到专门的测试环境. 如要要部署到linux环境的服务器(阿里云.腾讯云)执行,那么测试脚本也需要 ...
- CF429E Points and Segments 构造、欧拉回路
传送门 如果把一条线段\([l,r]\)看成一条无向边\((l,r+1)\),从\(l\)走到\(r+1\)表示线段\([l,r]\)染成红色,从\(r+1\)走到\(l\)表示线段\([l,r]\) ...
- 百度智能手环方案开源(含源码,原理图,APP,通信协议等)
分享一个百度智能手环开源项目的设计方案资料. 项目简介 百度云智能手环的开源方案是基于Apache2.0开源协议,开源内容包括硬件设计文档,原理图.ROM.通讯协议在内的全套方案,同时开放APP和云服 ...
- 微信小程序项目实战 - 菜谱大全
1. 项目简介 最近研究小程序云开发,上线了一个有关菜品查询的小程序.包括搜索.分享转发.收藏.查看历史记录等功能.菜谱 API 来自聚合数据.云开发为开发者提供完整的云端支持,弱化后端和运维概念,无 ...
- Java 小记 - 时间的处理与探究
前言 时间的处理与日期的格式转换几乎是所有应用的基础职能之一,几乎所有的语言都会为其提供基础类库.作为曾经 .NET 的重度使用者,赖其优雅的语法,特别是可扩展方法这个神级特性的存在,我几乎没有特意关 ...
- Sql Server中的nvarchar(n)、varchar(n) 和Mysql中的char(n)、varchar(n)
刚才有幸看了下 nvarchar(n)和varchar(n),感觉以前的认知有误. nvarchar(n):n指的是字符个数,范围是1-4000,存储的是可变长度的Unicode字符数据. 按字符存储 ...
- Linux进程与线程的区别
进程与线程的区别,早已经成为了经典问题.自线程概念诞生起,关于这个问题的讨论就没有停止过.无论是初级程序员,还是资深专家,都应该考虑过这个问题,只是层次角度不同罢了.一般程序员而言,搞清楚二者的概念, ...
- Linux提示删除文件cannot remove `文件名': Operation not permitted
Linux系统下删除某个文件时提示如下报错: 执行lsattr命令可以看到隐藏属性-------i--------,如下图: 通过查找资料发现: chattr命令用于改变文件属性.这项指令可改变存放在 ...
- IOS-43-导航栏标题navigationItem.title不能改变颜色的两种解决方法
IOS-43-导航栏标题navigationItem.title不能改变颜色的两种解决方法 IOS-43-导航栏标题navigationItem.title不能改变颜色的两种解决方法 两种方法只是形式 ...
- RabbitMQ防止消息丢失
转载请注明出处 0.目录 RabbitMQ-从基础到实战(1)— Hello RabbitMQ RabbitMQ-从基础到实战(3)— 消息的交换 1.简介 RabbitMQ中,消息丢失可以简单的分为 ...