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 ...
随机推荐
- nova系列二:kvm介绍
一 什么是kvm KVM 全称 Kernel-Based Virtual Machine.也就是说 KVM 是基于 Linux 内核实现的,这就使得linux内核本身就相当于一个Hypervisor. ...
- php 数组元素快速去重
1.使用array_unique方法进行去重 对数组元素进行去重,我们一般会使用array_unique方法,使用这个方法可以把数组中的元素去重. <?php $arr = array(,,,, ...
- Winform下透明Panel
网上很多写着透明Panel的方法,都是把BackColor属性设置为透明,然后指定Parent,实验了一下,对于部分情况下,是可用的,例如下层本身有自带的控件,但是,如果是用Graphic绘制的内容, ...
- 在Bootstrap开发中解决Tab标签页切换图表显示问题
在做响应式页面的时候,往往需要考虑更多尺寸设备的界面兼容性,一般不能写死像素,以便能够使得界面元素能够根据设备的不同进行动态调整,但往往有时候还是碰到一些问题,如Tab标签第一页面正常显示,但是切换其 ...
- CSS Grid 读书笔记
基本概念 MDN上的解释是这样的 CSS Grid Layout excels at dividing a page into major regions or defining the relati ...
- Faster R-CNN:详解目标检测的实现过程
本文详细解释了 Faster R-CNN 的网络架构和工作流,一步步带领读者理解目标检测的工作原理,作者本人也提供了 Luminoth 实现,供大家参考. Luminoth 实现:https:// ...
- 关于NETCORE中使用特性Serializable找不到引用的解决方法
升级到netcore后,serializable特性不在命名空间System下了,需要nuget依赖包System.Runtime.Serialization.Formatters
- Pandas基础使用
Pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的. 1.导入pandas import pandas as pd 2.pandas数据类型: 1)Series:一维数据类型 ...
- 使用insert ignore来避免向数据库重复插入数据
mysql中 insert ignore 的使用示例如下: INSERT IGNORE INTO `table_name` (`reportid`, `content`) VALUES (‘11111 ...
- 软件工程(FZU2015) 赛季得分榜,第9回合
SE_FZU目录:1 2 3 4 5 6 7 8 9 10 11 12 13 积分规则 积分制: 作业为10分制,练习为3分制:alpha30分: 团队项目分=团队得分+个人贡献分 个人贡献分: 个人 ...