上篇我们写了一个最简单的程序。这个简单的程序包含了很多重要的内容。本篇我们通过这个最简单的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程序的解释的更多相关文章

  1. 【C语言入门教程】3.1 程序的 3 种基本结构

    程序设计是一个问题求解的过程,解决问题的步骤可看作是程序的控制结构.简单地说,程序的运行过程就是数据输入.数据处理.数据输出 3 个步骤.其中,数据处理过程是否快捷和准确,主要依赖于程序控制结构的设计 ...

  2. C语言入门(2)——安装VS2013开发环境并编写第一个C语言程序

    在C语言入门系列中,我们使用Visual studio 2013 Professional作为开发工具.本篇详细介绍如何安装Visualstudio 2013 Professional并写出我们第一个 ...

  3. C语言编程入门之--第一章初识程序

    第一章 初识程序 导读:计算机程序无时不刻的影响着人类的生活,现代社会已经离不开程序,程序的作用如此巨大,那么程序到底是什么呢?本章主要讨论程序的概念,唤起读者对程序的兴趣,同时对C语言程序与其它语言 ...

  4. 我为什么反对推荐新人编程C/C++语言入门?

    虽然我接触编程以及计算机时间比较早,但是正式打算转入程序员这个行当差不多是大学第四年的事情 从03年接触计算机,07年开始接触计算机编程, 期间接触过的技术包括 缓冲区溢出(看高手写的shellcod ...

  5. 《C语言入门1.2.3—一个老鸟的C语言学习心得》—清华大学出版社炮制的又一本劣书及伪书

    <C语言入门1.2.3—一个老鸟的C语言学习心得>—清华大学出版社炮制的又一本劣书及伪书 [薛非评] 区区15页,有80多个错误. 最严重的有: 通篇完全是C++代码,根本不是C语言代码. ...

  6. c语言入门教程 / c语言入门经典书籍

    用C语言开始编写代码初级:C语言入门必备(以下两本书任选一本即可) C语言是作为从事实际编程工作的程序员的一种工具而出现的,本阶段的学习最主要的目的就是尽快掌握如何用c语言编写程序的技能.对c语言的数 ...

  7. 【转】c语言入门教程 / c语言入门经典书籍

    用C语言开始编写代码 初级:C语言入门必备 (以下两本书任选一本即可) C语言是作为从事实际编程工作的程序员的一种工具而出现的,本阶段的学习最主要的目的就是尽快掌握如何用c语言编写程序的技能.对c语言 ...

  8. Swift语言入门之旅

    Swift语言入门之旅  学习一门新的计算机语言,传统来说都是从编写一个在屏幕上打印"Hello world"的程序開始的.那在 Swift,我们使用一句话来实现它: printl ...

  9. 《Ruby语言入门教程v1.0》学习笔记-01

    <Ruby语言入门教程v1.0> 编著:张开川 邮箱:kaichuan_zhang@126.com 想要学习ruby是因为公司的自动化测试使用到了ruby语言,但是公司关于ruby只给了一 ...

随机推荐

  1. Javascript获取当前时间戳的方法

    定义日期:   Date 对象用于处理日期和时间.   可以通过 new 关键词来定义 Date 对象.以下代码定义了名为 myDate 的 Date 对象:   var myDate=new Dat ...

  2. 【译】Optimize for mobile-移动端优化

    移动端优化 由于移动设备有限的CPU处理能力,移动网络的高往返时间,以及移动应用的快速增长,对移动端的理解以及优化相对于PC端来讲变得更加重要.Page Speed Insights 现在可以让你轻松 ...

  3. js数组(二)

    一.位置方法 indexOf()和laseIndexOf() indexOf是从数组的第0项开始向后查找,没有找到返回-1,要求使用=== var numbers = [1,2,3,4,5,4,3,2 ...

  4. 使用JLink间接烧写S3C2410、S3C2440开发板Nor、Nand Flash的方法

    1. 简要说明 JLink的调试功能.烧写Flash的功能都很强大,但是对于S3C2410.S3C2440的Flash操作有些麻烦:烧写Nor Flash时需要设置SDRAM,否则速率很慢:烧写Nan ...

  5. C++箴言:理解 new-handler的行为

    当 operator new 不能满足一个内存分配请求时,它抛出一个 exception(异常).很久以前,他返回一个 null pointer(空指针),而一些比较老的编译器还在这样做.你依然能达到 ...

  6. 【POJ】2318 TOYS ——计算几何+二分

    TOYS Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 10281   Accepted: 4924 Description ...

  7. Aix 光盘软件包安装

    1, mount -rv cdrfs /dev/cd0 /mnt (Aix 光盘挂载)2,fuser -kxcu /cdrom && unmount /mnt && u ...

  8. Ignatius and the Princess II(全排列)

    Ignatius and the Princess II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K ( ...

  9. Ajax框架,DWR介绍,应用,样例

    使用Ajax框架 1. 简化JavaScript的开发难度 2. 解决浏览器的兼容性问题 3. 简化开发流程 经常使用Ajax框架 Prototype 一个纯粹的JavaScript函数库,对Ajax ...

  10. spoj 8222 Substrings (后缀自动机)

    spoj 8222 Substrings 题意:给一个字符串S,令F(x)表示S的所有长度为x的子串中,出现次数的最大值.求F(1)..F(Length(S)) 解题思路:我们构造S的SAM,那么对于 ...