C语言入门(3)——对Hello World程序的解释
上篇我们写了一个最简单的程序。这个简单的程序包含了很多重要的内容。本篇我们通过这个最简单的Hello World程序逐一讲解C语言程序的一些特点。
打开Visual Studio 2013
通过菜单->打开->项目/解决方案打开上次写的Helloworld代码。
打开上次成的解决方案“C语言基础.sln”
得到上次的程序如下:
#include<stdio.h>
#include<stdlib.h>
/*开始我的第一个C语言程序!*/
int main(void)
{
printf("Hello,world.\n");
system("pause"); /*使程序运行结束后暂停,防止结果一闪而过*/
return0;
}
1、完整的程序。
上面的Helloworld就是一个最简单的完整程序,只有9行。一个C语言是由两个部分组成:定义和函数,至少有一个主函数。前两行#include<stdio.h>和#include<stdlib.h>可以把它看做定义部分。第4行到第9行是数部分。知道这个组成有什么用?我们就可以对我们以后编的程序进行评判了。如果程序没有定义,或没有主函数则一定是不完整的。
2、程序的主函数
程序的第四行是主函数的开始。main这个函数是C语言的重要内容,如果我们编写的是一个可执行程序,运行这个程序必须有一个唯一的入口,C语言的这个入口就是main。
3、程序的语法
语法就是语言的规定,是语言的法律,违背了这个规定,这个程序就不能编译通过。
1)#include “stdio.h”
意为包含文件,也是引用的意思。语法就是#include+“”+文件名。
如果,你把include 拼错了、没有加#、不是成对的双引号、后面多加了分号。则不能编译通了,因为违反了语法规则。
2)main()
意为主函数,是程序的最先的入口。函数后面必须有一对小括号。前面的int是这主函数的返回值,用来告诉操作系统程序结束时的运行状态
3) {…}是函数体边界符合,在此之内都属于这个函数。
4、函数的调用
编程序最常用的方法就是函数调用,函数调用就是避免重复编写编码,用现有的编码。在编码过程中,不但要调系统函数,而且要调用他人的函数,更多的是要调用自己的函数。本程序有一个函数调用:
printf("Hello, world.\n");
函数调用要记住:函数名+参数+; 这三个部分,缺一不可。在很多情况下,我们往往会注重前两者,忘记“;”结果导致编译出错。如果作为初学者,一定要注意这个问题。
5、.h的引用
.h文件就是头文件,往往是一个定义文件,定义一些常量、结构、外部数据,有些定义是有条件的。一般情况下,一个C语言至少要引用3个以上的系统文件。意为包含文件,也是引用的意思。从直白上来说,它将一部分源程序放到了外部了。这样自己的源程序看起来更加简洁。对于初学者来说,#include 一般都包含一些系统的*.h 例如 stdio.h 可读作“标准io”。对以高手来说#include会包含一些自己的.h
6、关键字
程序虽然只有9行,但是include,main都是关键字。所谓关键字就是系统启用的名字。如果我们定义函数或变量,不能和关键字相同。比如,你就不能自己起一个名为main的函数。后面我们将会遇到更多的关键字,例如:if、else、while int char等等。
7、转义符
程序中printf("Hello,world.\n");的语句中\n是转义符。\n是换行的意思。n 可以记为new line.这样就好记一些。在C语言中,一些不可显示的控制字符,是通过转意符加符号表示的。与\n一起的还有\r回车符(return)等。另外,一些关键字符\平常化,则要加\,例如\\表示\。
转义符这个在C语言中也是比较重要的概念,也是常用的。
8、返回值
程序中return 0;的作用是,在程序结束时,返回给操作系统一个状态,这个状态用来告诉操作系统程序的执行情况,一般正常情况下返回0.
9、注释
程序中被 /* */ 标记的部分是注释。注释部分不会被编译。可以在注释部分中对程序进行说明。
C语言入门(3)——对Hello World程序的解释的更多相关文章
- 【C语言入门教程】3.1 程序的 3 种基本结构
程序设计是一个问题求解的过程,解决问题的步骤可看作是程序的控制结构.简单地说,程序的运行过程就是数据输入.数据处理.数据输出 3 个步骤.其中,数据处理过程是否快捷和准确,主要依赖于程序控制结构的设计 ...
- C语言入门(2)——安装VS2013开发环境并编写第一个C语言程序
在C语言入门系列中,我们使用Visual studio 2013 Professional作为开发工具.本篇详细介绍如何安装Visualstudio 2013 Professional并写出我们第一个 ...
- C语言编程入门之--第一章初识程序
第一章 初识程序 导读:计算机程序无时不刻的影响着人类的生活,现代社会已经离不开程序,程序的作用如此巨大,那么程序到底是什么呢?本章主要讨论程序的概念,唤起读者对程序的兴趣,同时对C语言程序与其它语言 ...
- 我为什么反对推荐新人编程C/C++语言入门?
虽然我接触编程以及计算机时间比较早,但是正式打算转入程序员这个行当差不多是大学第四年的事情 从03年接触计算机,07年开始接触计算机编程, 期间接触过的技术包括 缓冲区溢出(看高手写的shellcod ...
- 《C语言入门1.2.3—一个老鸟的C语言学习心得》—清华大学出版社炮制的又一本劣书及伪书
<C语言入门1.2.3—一个老鸟的C语言学习心得>—清华大学出版社炮制的又一本劣书及伪书 [薛非评] 区区15页,有80多个错误. 最严重的有: 通篇完全是C++代码,根本不是C语言代码. ...
- c语言入门教程 / c语言入门经典书籍
用C语言开始编写代码初级:C语言入门必备(以下两本书任选一本即可) C语言是作为从事实际编程工作的程序员的一种工具而出现的,本阶段的学习最主要的目的就是尽快掌握如何用c语言编写程序的技能.对c语言的数 ...
- 【转】c语言入门教程 / c语言入门经典书籍
用C语言开始编写代码 初级:C语言入门必备 (以下两本书任选一本即可) C语言是作为从事实际编程工作的程序员的一种工具而出现的,本阶段的学习最主要的目的就是尽快掌握如何用c语言编写程序的技能.对c语言 ...
- Swift语言入门之旅
Swift语言入门之旅 学习一门新的计算机语言,传统来说都是从编写一个在屏幕上打印"Hello world"的程序開始的.那在 Swift,我们使用一句话来实现它: printl ...
- 《Ruby语言入门教程v1.0》学习笔记-01
<Ruby语言入门教程v1.0> 编著:张开川 邮箱:kaichuan_zhang@126.com 想要学习ruby是因为公司的自动化测试使用到了ruby语言,但是公司关于ruby只给了一 ...
随机推荐
- SQL字符型字段按数字型字段排序实现方法(转)
由于是按字母顺序排列,所以123排在了2的前面,显然不符合我们的要求,那么怎样才能按照我们预想的数字顺序排序呢 ORDER BY `meta_value` 那么按得分排序得到的结果可能是:1101 ...
- oracle 和informix 的基础区别
1:查看表空间 select b.file_name 物理文件名, b.tablespace_name 表空间, b.bytes/1024/1024 大小M, (b.bytes-sum(nvl(a.b ...
- CC++初学者编程教程(11) 配置Windows数据库服务器
1.我们新建一个虚拟机. 2. 选择默认的WorkStation10.0. 3.我们选择VS2012的镜像. 4.我们设置用户密码,跳过WindowsSever2012密钥 5.我们选择是,稍后手动激 ...
- HttpHelps类,用来实现Http访问,Post或者Get方式的,直接访问,带Cookie的,带证书的等方式,可以设置代理
原文地址:http://blog.csdn.net/cdefg198/article/details/8315438 万能框架:http://www.sufeinet.com/forum.php?mo ...
- Javascript基本算法演练 Seek and Destroy
转载自:http://aeroj-blog.logdown.com/posts/435808 Seek and Destroy You will be provided with an initial ...
- 量身定制顺美男女西服、衬衫、大衣、T恤等 - 北京58同城
量身定制顺美男女西服.衬衫.大衣.T恤等 - 北京58同城 量身定制顺美男女西服.衬衫.大衣.T恤等 发布时间:2014-04-11浏览2次
- mysql insert和前台显示乱码
近期在搞服务端.遇到问题例如以下, 在mysql中插入中文乱码.或mysql中中文正常显示,但jsp在前台显示mysql中的中文时乱码. 解决方法,进入mysql控制台,运行 SET characte ...
- IOS-时间与字符串互相转换
有时会遇到这种问题,须要把时间和时间戳互相转换 比方把"这种格式 或者是把""转换成"2014-07-16 15:54:36" 首先来第一个: 当前时 ...
- lua的string库与强大的模式匹配
lua原生解释器对字符串的处理能力是十分有限的,强大的字符串操作能力来自于string库.lua的string函数导出在string module中.在lua5.1,同一时候也作为string类型的成 ...
- C# winfrom中Flash播放使用axShockwaveFlash控件设置透明XP出现白色背景解决办法,仿QQ魔法表情效果
//播放时 图片周围有锯齿白边出现 反锯齿处理暂无解决办法. 如有大神 请给我留言 新Form AllowDrop True 引用using System.IO; 拖1个Button p ...