任何一门语言的学习,首先要有一个编辑器或集成开发工具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和基本程序结构的更多相关文章

  1. C#学习笔记二:C#程序结构

    从最简单的HelloWorld开始入手,这是一个最低限度的C#程序结构. C# Hello World 示例 一个C#程序主要由以下几部分组成: 命名空间声明 一个类 类方法 类属性 一个Main方法 ...

  2. C语言入门教程-(2)基本程序结构

    1.简单的C语言程序结构 要建造房屋,首先需要打地基.搬砖搭建框架(这大概就是为什么叫搬砖的原因).学习计算机语言的时候也一样,应该从基本的结构开始学起.下面,我们看一段简单的源代码,这段代码希望大家 ...

  3. 学习安卓开发[1] - 程序结构、Activity生命周期及页面通信

    一.程序结构 Android原生应用采用了MVC的架构设计模式,因此可以将一个Android APP中的对象归为Model.View或Controller中的一种. 具体到某个实际的APP结构中,它一 ...

  4. C语言学习_一个简单程序的解释与C学习方法概括

    简单计算器程序示例: # include <stdio.h> //1.头文件 //2.加法函数 int add(int a,int b)//3.函数定义方式 { //4.函数体 retur ...

  5. 51单片机C语言学习笔记3: 存储器结构

    MCS-51单片机在物理结构上有四个存储空间: 1.片内程序存储器2.片外程序存储器3.片内数据存储器4.片外数据存储器 但在逻辑上,即从用户的角度上,8051单片机有三个存储空间: 1.片内外统一编 ...

  6. C语言学习总结(1)——结构体

      一,什么是结构体    我们知道数组(Array),它是一组具有相同类型的数据的集合.但在实际的编程过程中,我们往往还需要一组类型不同的数据,例如对于学生信息登记表,姓名为字符串,学号为整数,年龄 ...

  7. 【C语言C++编程入门】——程序结构:构思!

    学习编程语言的最好方法是编写程序.一般来说,初学者编写的第一个程序是一个名为"Hello World"的程序,它简单地将"Hello World"打印到你的电脑 ...

  8. Go语言学习笔记(四)结构体struct & 接口Interface & 反射

    加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 结构体struct struct 用来自定义复杂数据结构,可以包含多个字段(属性),可以嵌套: go中的struc ...

  9. Go语言学习笔记(四)结构体struct & 接口Interface & 反射reflect

    加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 结构体struct struct 用来自定义复杂数据结构,可以包含多个字段(属性),可以嵌套: go中的struc ...

随机推荐

  1. zookeeper-如何修改源码-《每日五分钟搞定大数据》

    本篇文章仅仅是起一个抛砖迎玉的作用,举一个如何修改源码的例子.文章的灵感来自 ZOOKEEPER-2784. 提一个问题先 之前的文章讲过zxid的设计,我们先复习下: zxid有64位,分成两部分: ...

  2. 【C#复习总结】细说委托

    1 前言 本系列会将[委托] [匿名方法][Lambda表达式] [泛型委托] [表达式树] [事件]等基础知识总结一下.(本人小白一枚,有错误的地方希望大佬指正) 系类1:细说委托 系类2:细说匿名 ...

  3. nodejs简单模仿web.net web api

    最近用了asp.net web api + EF开发一个项目,但是移植到linux时遇到问题(mono只支持EF6.0,但是mysql驱动不支持EF6.0).所以决定换个思路,用nodejs实现res ...

  4. linux screen 工具

    一.背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况下我们都是为每一个这样的任务开一个远 ...

  5. OM1、OM2、OM3和OM4光纤之间的区别

    “OM”stand for optical multi-mode,即光模式,是多模光纤表示光纤等级的标准.不同等级传输时的带宽和最大距离不同,从以下几个方面分析它们之间的区别.  一.OM1.OM2. ...

  6. 广州商学院16级软工一班&二班-第一次作业成绩

    广州商学院16级软工一班&二班-第一次作业成绩 作业地址 16软工一班 16软工二班 总结 本次作业反映了几个比较严重的问题: 不按要求阅读相应的文章,回答问题只是敷衍几句. 部分同学的版式混 ...

  7. hibernate设置二级缓存时报错java.lang.NoClassDefFoundError: org/hibernate/engine/jndi/JndiNameException

    错误提示大概意思是,没有类定义错误,就是找不到要使用的hibernate二级缓存管理引擎类.我在这用的是ehcache二级轻量级缓存,报错原因可能是导入的jar包版本和使用的hibernate框架核心 ...

  8. MongoDB之$

    MongoDB之$ $  保存符合索引条件的下标 db.userinfo.updateOne({ghobby: },{$set:{'ghobby.2': '四'}}) // 将userinfo表中的g ...

  9. CMD管道命令使用

    Windows netstat 查看端口.进程占用 开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务 ...

  10. maven用框架编写网页运行出现HTTP Status 500 - Unable to compile class for JSP

    利用maven整合框架的时候,通过浏览器访问时,如果出现  HTTP 500-Unable to compile class for JSP 的错误,应该怎么解决呢? 之前在网上看了好多人的解决方案. ...