c语言 程序数据要五行输出,C语言编程入门之--第三章编写第一个C语言程序

导读:一般学一门计算机语言的第一堂上机课(“上机”顾名思义,上计算机,机你太美),就是往屏幕输出“hello world”,本章也不例外。

3.1 Hello,World!

这一节和读者一起来编写第一段C语言程序,过程详细到令人发指。

3.1.1创建C语言源码文件

打开 Dev C++,在上方菜单栏中选择“文件 --> 新建 --> 源代码”,如图3.1,

755f3b9aa0512acb740b64da56740a00.png

图3.1  创建源代码文件

3.1.2输入一段代码

用键盘输入以下代码,先输入,等会再分析:

#include

void main()

{

printf("hello,world");

}

8a883c10c014808da0b4384a7c000104.png

图3.2  输入第一段代码

3.1.3文件保存

保存到自定义的目录下,给这个C语言程序的取名为helloworld.c,后缀为“c”,说明此文件就为C语言程序文件。

56146c9dcc9790ea8feeb88fd39b217b.png

图3.3  保存为后缀为c的文件

3.1.4编译运行

点击“运行 --> 编译运行”,为什么要编译运行呢,根据不同操作系统,比如windows的可执行文件后缀为"exe",所以编译c语言文件为可执行的exe文件,这样才能在windows下执行。

89ec2b2c3812c6fdfc1e5a92057e23e6.png

图3.4  编译运行代码

3.1.5查看运行结果

b6b81c38b336f2be729246d7cbfb5e12.png

图3.5   执行结果

可以发现,在保存helloworld.c的文件夹下面,多了一个helloworld.exe,这个就是编译链接后生产的可执行文件,一般电脑要关闭杀毒软件就能执行它了。

下一节会简明的说一下这段程序的意思。

3.2 初识C语言代码

本节主要讲解上一节写的五行C语言程序。

#include

void main()

{

printf("hello,world");

}

下面就针对代码的每一行进行讲解。

3.2.1 #,<>,(),{},"",;这些符号有什么用?

首先我们得清楚一个概念,编译器神通广大!

看到这么多符号,比如:#,<>,()......等等,先别紧张,它们都是给编译器标识语句用的,这一小节先暂时不去考虑它们的意思,只要记住,编译器有它识别的规范,这些都是规定好的,照做既可。

注意:咱们中国人一般吧"#"念做井号,外国人应该把它念做Sharp,不管它怎么念,C语言要会写会用即可,程序员一般话不多说,直接用代码说事。

3.2.2 #include

C语言代码需要用到C库里面的功能的话,就需要申明头文件,声明头文件的格式需要用到符号“#”,以及关键字include,然后把需要用到的头文件放入<>符号中,比如本节用的,就把头文件stdio.h放入<>之中。

新手肯定要开始困惑了,啥是C库?啥是“声明”?头文件又是什么东东?为啥要用到"#"?那就由我来逐一解释吧。

注意:如果解释的不够详细,请在下发评论,笔者会重新修改这方面的解释的,谢谢。

C库与头文件:C语言为了减轻程序员的工作量,提供了C库。C库里面有好多好多功能,好多好多文件。为了编译速度快些,所以当程序员需要使用C库的某些功能的时候,就需要添加相关头文件来表明,不需要就不添加。比如我们用到的stdio.h这个头文件吧,这个就是标准的C库输入输出头文件,相关功能下一小节详细介绍。

注意:读者暂时可以这么理解,输入就是接受键盘的输入,输出就是屏幕上输出显示。

声明与#include:上述说过,当程序员需要使用C库的某些功能的时候,就需要添加相关头文件来表明,这个过程就是声明,声明头文件用到标识符#,然后再用到关键字include,这些都是C语言代码格式的规定,照着做就是了,以后代码写多了也就渐渐明白了。

提示:可以知道include的直译意思就是包含,包括。

3.2.3 printf("hello world");

上一小节说到stdio.h这个头文件,是标准C库的输入输出头文件。我们已经声明了这个头文件,所以就可以使用头文件里所有的功能,其中一个就是printf功能。

注意:声明头文件办法之前说过,这么做:#include

先直译一下printf,print的意思就是打印,f的意思笔者认为是flow的缩写,就是流,所以printf的意思就是打印流或者叫输出流,最终输出流输出到显示屏上显示出来。

注意:流好比高山流水的水流,计算机编程里面用流来表示要流过CPU的数据流,这里的输出流就是要输出到显示屏的数据流。如果比较拗口可以多读几遍,实在抱歉。

367e5aaf9be2e7245832e05d54044704.png

图3.6  数据流

本节我们输出到显示屏上的文字是hello world,现在需要读者打开Dev-C++,打开helloworld.c,把鼠标移动到printf中,按下键盘“Ctrl”,会发现鼠标显示变成了手的形状,点击鼠标可以看到如下代码:

int __cdecl printf(const char * __restrict__ _Format,...);

看着似乎有点复杂呢,不急,本小节只需要知道printf的使用方法之一,输出文本流即可,用法就是在printf后的括号里面,添加双引号“”,再把需要输出的文本流放入双引号里面就行了,最后括号外面添加分号;即可:

printf("hello world");

读者可以自行修改需要输出到显示屏的文本流,看看效果体验一下吧。

3.2.3 void main()与{}

void是定义不需要返回值,为空的意思。

main是主函数。

()的意思等同于库函数printf的(),用来输入参数用的。

{}标识函数体的起始。

这里涉及的返回值,函数,参数等知识,读者先不用考虑,后面章节会逐一解释,目前读者只需要死记住,每次写程序套用这个格式即可:

void main()

{

所有程序内容写在{}里面

}

程序写在大括号{}里即可。

3.3 初识编程规范

写程序的时候,每个人的品味不同,写出来的程序风格也会有区别,但是大体上要参照一定的格式,为的是能让一般程序员看的舒服。比如声明头文件的时候,#include ,在include后面会加一个空格,再比如main函数的函数体内,printf语句前会添加四个空格,也就是一个TAB按键空出的空间。

以后代码写多了再好好规范一下,目前只是初识。如果本节还有什么部分不清楚的,欢迎在评论区留言,谢谢。

ROS学习笔记三:编写第一个ROS节点程序

在编写第一个ROS节点程序之前需要创建工作空间(workspace)和功能包(package).   1 创建工作空间(workspace) 创建一个catkin_ws: #注意:如果使用sudo一次 ...

C语言编程入门之--第四章C语言基本数据类型

导读:C语言程序中经常涉及一些数学计算,所以要熟悉其基本的数据类型.数据类型学习起来比较枯燥,不过结合之前的内存概念,以及本节的字节概念,相信数据类型也就不难理解了.本章从二进制的基本概念开始,然 ...

C语言编程入门之--第五章C语言基本运算和表达式-part1

导读:程序要完成高级功能,首先要能够做到基本的加减乘除.本章从程序中变量的概念开始,结合之前学的输出函数和新介绍的输入函数制作简单人机交互程序,然后讲解最基础的加减法运算,自制简单计算器程序练手. 5 ...

C语言编程入门之--第五章C语言基本运算和表达式-part2

5.1.4 再来一个C库函数getchar吸收回车键 回车键也是一个字符,在使用scanf的时候,输入完毕要按下回车键,这时候回车键也会被输入到stdin流中,会搞乱我们的程序. 注意:stdin是输 ...

C语言编程入门之--第五章C语言基本运算和表达式-part4

5.3.5 和二进制极为密切的运算符 本小节的运算符需要借助二进制概念来理解. 二进制数据中,比如一个字节的数据,它的十进制为228,二进制就为11100100,如图5.11, 注意:如果不懂怎么转换 ...

C语言编程入门之--第五章C语言基本运算和表达式-part3

5.3  挑几个运算符来讲 常用的运算符除了加减乘除(+-*/)外,还有如下: 注意:以下运算符之间用逗号隔开,C语言中也有逗号运算符,这里不讲逗号运算符. 1. 赋值运算符 =,+=,*= 2. 一 ...

C语言编程入门之--第六章C语言控制语句

导读:本章带读者理解什么是控制语句,然后逐个讲解C语言常用的控制语句,含有控制语句的代码量多起来后就要注意写代码的风格了,本章末节都是练习题,大量的练习才能掌握好控制语句的使用. 6.1 什么是控制语 ...

Windows Azure入门教学系列 &lpar;三&rpar;:创建第一个Worker Role程序

在开始本教学之前,请确保你从Windows Azure 平台下载下载并安装了最新的Windows Azure开发工具.本教学使用Visual Studio 2010作为开发工具. 步骤一:创建解决方案 ...

(译)Windsor入门教程---第三部分 编写第一个Installer

原文:http://docs.castleproject.org/Windsor.Windsor-tutorial-ASP-NET-MVC-3-application-To-be-Seen.ashx ...

随机推荐

python re模块search&lpar;&rpar;与match&lpar;&rpar;区别

re.search()搜索字符串并返回结果. 整个字符串搜索. re.match()匹配字符串并返回结果 从开始处匹配. 所以,match()可以理解为search()的一个子集.

Enum&colon;Fliptile&lpar;POJ 3279&rpar;

Fliptile 题目大意:农夫想要测牛的智商,于是他把牛带到一个黑白格子的地,专门来踩格子看他们能不能把格子踩称全白 这一题其实就是一个枚举题,只是我们只用枚举第一行就可以了,因为这一题有点像开关一 ...

从0 开始 WPF MVVM 企业级框架实现与说明 ---- 第二讲 WPF中 绑定

说到WPF, 当然得从绑定说起,这也是WPF做的很成功的一个地方,这也是现在大家伙都在抛弃使用winform的其中一个主要原因,Binding这个东西从早说到完其实都说不完的,我先就做一些基本的介绍, ...

&period;NET中数据集的强类型化

我们知道,每一种程序设计语言都提供一定的类型检查,类型检查可以在编译时进行,也可以在运行时进行,分别称做静态类型检查和动态类型检查.由于静态类型的检查是在编译时进行,实现比较容易,能提高程序的运行效率 ...

telnet的使用

1.要打开 telnet 不是内部或外部 命令 解决方案: 程序添加删除功能,添加即可 或法二 C:\WINDOWS\system32\telnet.exe (或用C:\WINDOWS\system3 ...

你想不到的IT运维前途

本人一毕业就走上了IT系统运维的道路,我之所以踏上这条路并一直坚持了下来,因为觉得运维工作并非一味关注技术,而是关注包括技术在内的更综合的解决方案,也就是说,做运维,自己要学的知识面更广,考虑问题要更 ...

Jquery第三篇【AJAX 相关的API】

前言 前面我们已经学了讲解了Jquery的选择器,关于DOM 的API还有事件的API.本博文需要讲解Jquery对AJAX的支持- 我们在开始使用JavaScript学习AJAX的时候,创建异步对象 ...

查看oracle数据库里哪些语句耗时最长或者效率最低

CPU: select * from (select v.sql_id, v.child_number, v.sql_text, v.elapsed_time, v.cpu_time, v.disk_ ...

jquery 实现一个简单的成功提示框,失败提示框

主要的jquery代码:var TS={ successAlert:function(str){ //调用成功的方法 var html='

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值