C程序设计语言学习笔记
在Windows下运行C语言程序
Windows下的编程工具使用 VC 6.0,下面讲解如何在VC 6.0下运行上节的“Hello, world”程序。
1) 新建Win32 Console Application工程
打开VC6.0,在菜单栏中选择“文件 -> 新建”,或者 Ctrl+N,弹出下面的对话框:

切换到“工程”选项卡,选择“Win32 Console Application”,填写工程名称和路径,点击“确定”,会弹出一个对话框询问类型,这里选择“一个空工程”,如下图所示:

点击“完成”跳转到下个页面点击“确定”完成创建。
“Win32 Console Application”是控制台应用程序,这样的程序类似 doc 或 cmd,没有漂亮的界面,可以显示字符。
2) 新建C源文件
在菜单栏中选择“文件 -> 新建”,或者 Ctrl+N,弹出下面的对话框:

切换到“文件”选项卡,选择“C++ Source File”,填写文件名,点击确定完成。
该步骤是向刚才创建的工程添加源文件;C语言源文件一般以 .c 为后缀。
3) 编写C语言代码
在工作空间中可以看到刚才创建的工程和源文件,入下图所示:

双击 hello.c,进入编辑界面,输入例1-1中的代码。
4) 编译并运行代码
C语言源代码,必要要经过编译、组建(也被称为“链接”)和运行才能看到输出结果:
- 编译将C语言代码“翻译”成机器码(这里暂时可以理解成0和1序列)。
- 组建将工程所需的所有资源集合到一起,最终生成 .exe文件。
- 运行就是执行 .exe 程序,和运行其他程序一样,双击即可

编译、组建、运行的功能可以在“组建”中找到,如下图所示:
更加简单的方法是使用快捷方式,如下图所示:

对于初学者,最常用的是运行按钮
,编写完代码,一次点击就可以看到输出结果。当然,你也可以使用快捷键:Ctrl+F7(编译)、F7(组建)、Ctrl+F5(运行)。
刚才我们已经编写了源代码,保存后,点击运行按钮
或 Ctrl+F5,如果程序正确,可以看到运行结果,如下图所示:

恭喜你,你已经完成了第一个C语言程序,越过了第一道障碍。
注意:编译生成的 .exe 文件在工程目录下的Debug文件夹内。以上面的工程为例,路径为 E:\cDemo,打开看到有一个Debug文件夹,进入可以看到 cDemo.exe。
打开一个已经存在的工程,可以打开工程所在的文件位置,打开项目文件夹,双击.dsw的文件即可。

如果你在安装或使用过程中遇到错误,请查看VC6.0使用教程,已经解决了一些常见的问题。
在C-Free中运行C语言程序更加简单,无需创建工程,可以单独运行一个C源文件,这里不再赘述,方法与VC6.0类似。
------------------------------------------------- 我是分割线 --------------------------------------------------
*
int与float类型的取值范围取决于具体的机器:
int类型通常为16位,取值范围在-32768~+32768之间,也有32位表示的int类型;
float类型通常是32位,至少有6位有效数字,取值范围一般在10-38~10+38之间;
char 字符——一个字节
short 短整型
long 长整型
double 双精度浮点型
*
如果除法结果不想舍去小数点后的小数,如5/9的结果是0,但5.0/9.0的结果中小数不会被社区。
如果某个算术运算符的所有操作均为整型,则执行整形运算;
如果某个算术运算符有一个浮点型操作数和一个整形操作数,则在开始运算之前整形操作数将被转换为浮点型。
*
%d 按照十进制整形数打印
%6d 按照十进制整形数打印,至少6个字符宽
%f 按照浮点数打印
%6f 按照浮点数打印,至少6个字符宽
%.2f 按照浮点数打印,小数点后有2位小数
%6.2f 按照浮点数打印,至少6个字符宽,小数点后有2位小数
%o 表示八进制数
%x 十六进制数
%c 字符
%s 字符串
%% 表示百分号(%)本身
*
符号常量
#define 名字 替换文本
#include <stdio.h>
#define LOWER 0
#define UPPER 300
#define STEP 20
main(){
}
其中LOWER,UPPER,STEP都是符号常量,而非变量,因此不需要出现在声明中,main()中可以直接使用。
符号常量名通常用大写字母拼写(容易与小写字母拼写的变量名区分);
#define 指令行的末尾没有分号。
*
字符输入/输出
标准库提供的输入/输出模型,无论从文本何处输入,输出到何处,其输入/输出都是按照字符流的方式处理。
文本流是由多行字符构成的字符序列,而每行字符则由0个或多个字符组成,行末是一个换行符。
标准库提供了一次读/写一个字符的函数,其中最简单的是getchar和putchar两个函数。每次调用时,getchar函数从文本流中读入下一个输入字符,并将其作为结果值返回。
c=getchar() 执行后,变量c中将包含输入流中的下一个字符。这种字符通常是通过键盘输入的。
每次调用putchar函数时打印一个字符。
putchar(c) 将把整形变量c的内容以字符的形式打印出来,通常是显示在屏幕上。
*
C程序设计语言学习笔记的更多相关文章
- 2017-04-21周C语言学习笔记
C语言学习笔记:... --------------------------------- C语言学习笔记:学习程度的高低取决于.自学能力的高低.有的时候生活就是这样的.聪明的人有时候需要.用笨的方法 ...
- 2017-05-4-C语言学习笔记
C语言学习笔记... ------------------------------------ Hello C语言:什么是程序:程序是指:完成某件事的既定方式和过程.计算机中的程序是指:为了让计算机执 ...
- HTML语言学习笔记(会更新)
# HTML语言学习笔记(会更新) 一个html文件是由一系列的元素和标签组成的. 标签: 1.<html></html> 表示该文件为超文本标记语言(HTML)编写的.成对出 ...
- GO语言学习笔记(一)
GO语言学习笔记 1.数组切片slice:可动态增长的数组 2.错误处理流程关键字:defer panic recover 3.变量的初始化:以下效果一样 `var a int = 10` `var ...
- Haskell语言学习笔记(88)语言扩展(1)
ExistentialQuantification {-# LANGUAGE ExistentialQuantification #-} 存在类型专用的语言扩展 Haskell语言学习笔记(73)Ex ...
- Go语言学习笔记十三: Map集合
Go语言学习笔记十三: Map集合 Map在每种语言中基本都有,Java中是属于集合类Map,其包括HashMap, TreeMap等.而Python语言直接就属于一种类型,写法上比Java还简单. ...
- Go语言学习笔记十二: 范围(Range)
Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...
- Go语言学习笔记十一: 切片(slice)
Go语言学习笔记十一: 切片(slice) 切片这个概念我是从python语言中学到的,当时感觉这个东西真的比较好用.不像java语言写起来就比较繁琐.不过我觉得未来java语法也会支持的. 定义切片 ...
- Go语言学习笔记十: 结构体
Go语言学习笔记十: 结构体 Go语言的结构体语法和C语言类似.而结构体这个概念就类似高级语言Java中的类. 结构体定义 结构体有两个关键字type和struct,中间夹着一个结构体名称.大括号里面 ...
随机推荐
- WinForm构造函数的作用
最近练习C#项目:何问起收藏夹(HoverTreeSCJ),实现编辑网址时,遇到这个问题:比如打开窗口后,要自动显示数据.解决方法:那么可以通过窗体的构造函数传递参数. 比如窗体类: public p ...
- WinForm 对Web Api 增 册 改 查 的基本操作
WebApi代码: public class ValuesController : ApiController { Entities db=new Entities(); // GET api/val ...
- 设计模式(十一)外观模式(Facade Pattern)
一.引言 在软件开发过程中,客户端程序经常会与复杂系统的内部子系统进行耦合,从而导致客户端程序随着子系统的变化而变化,然而为了将复杂系统的内部子系统与客户端之间的依赖解耦,从而就有了外观模式,也称作 ...
- Sublime Text 2 快捷操作
Sublime Text 2 包含了大量快捷操作,而且还很方便修改和追加自己喜欢的快捷键. 查看快捷键的方式也很简单: 点击菜单栏:Preferences->Key Bindings –Defa ...
- 信贷业务(Ali)
1.信贷业务视角 信贷业务主要有两个视角,借款人和出资机构.借款人关心借多少钱,还多少钱,多少利息:机构关心信贷资产风险,收益. 领域模型上两个视角分开:个人--->账单.机构--->资产 ...
- 【夯实PHP基础】PHP的反射机制
本文地址 分享提纲: 1. 介绍 2. 具体例子 2.1 创建Persion类 2.2 反射过程 2.3 反射后使用 1. 介绍 -- PHP5添加了一项新的功能:Reflection.这个功能使得p ...
- vue2.0 非父子组件如何通信
1 利用父组件传递 A组件传递到父组件,再由父组件传递到B组件 2 利用新的vue实例 var bus = new Vue() // 触发组件 A 中的事件 bus.$emit('id-selecte ...
- 《Web开发过滤Javascript、HTML的方法》
JavaScript过滤方法: 第一种方案:使用 htmlspecialchars 函数转换特殊字符和使用 nl2br 函数插入一些必要的 <br /> 标签. $comment = &l ...
- maven 打包含有第三方依赖的 jar 包
maven 打包含有第三方依赖的 jar 包:mvn assembly:assembly
- freeswitch呼叫流程分析
今天翻文档时发现之前整理的关于freeswitch呼叫相关的内容,写成博文分享出来也方便我以后查阅. 整体结构图 FreeswitchCore 模块加载过程 freeswitch主程序初始化时会从mo ...