C语言-Hello, world
你好, 世界
--1-- 语言的编写准备 1.1 C语言源文件的编译执行过程 1.2 常见文件的拓展名 1.3 常用的命令行指令 1.4 环境及运行方法 --2--编写代码 2.1练习 --3-- 你好 3.1 你好, 世界 ---------------------------------【写在开头:】
『
“Hello World”示范程序最早出现于1972年,由贝尔实验室成员布莱恩·柯林汉撰写的内部技术文件《"A Tutorial Introduction to the Language B" 》之中。不久,同作者于1974年所撰写的《Programming in C: A Tutorial》,也延用这个示例;而布莱恩·柯林汉和丹尼斯·里奇以本文件扩编改写的《C程序设计语言》也保留了这个示范程序,此后广泛流传。
《"A Tutorial Introduction to the Language B" 》中的”hello, world“示范程序:
main(){ extrn a,b,c; putchar(a); putchar(b); putchar(c); putchar(‘!*n‘); }a ‘hell‘;b ‘o, w‘;c ‘orld‘;hello, wold
』
--1-- 语言的编写准备
1.1 C语言源文件的编译执行过程
编译执行过程大致分为三个部分:编译->链接->执行
- 编译:生成目标代码,目标代码是在目标机器上运行的代码。
- 连接:将目标代码与C函数库相连接,并将源程序所用的库代码与目标代码合并,并形成最终可执行的二进制机器代码(程序)。
- 执行:在特定的机器环境下运行C程序。
流程如下图:
1.2 常见文件的拓展名
- .c是C语言源文件,在编写代码的时候创建
- .o是目标文件,在编译成功的时候产生
- .out是可执行文件,在链接成功的时候产生
1.3 常用的命令行指令
- 编译:cc –c xxx.c
- 链接:cc xxx.o
- 编译、链接:cc xxx.c
- 运行可执行文件:./a.out
1.4 环境及运行方法
编写环境:
Mac系统下的Xcode
创建项目:
运行方法:
Command + r
--2--编写代码
2.1 练习
编写C函数,至少用2中方式输出如下图形
****************
*** itcast ***
****************
两种方式
/**
* 单行打印
*/
void exercisesOne(){
printf("*******\n**itcast**\n*******");
} /**
* 多行打印
*/
void exercisesTwo(){
printf("*******\n");
printf("**itcast**\n");
printf("********\n");
}
--3-- 你好
3.1 你好, 世界
int main(int argc, const char * argv[]) {
// insert code here...
printf("Hello, World!\n"); //发送消息
return 0;
}
return:
【写在结尾:】
『
计算机、程序、代码、流程、架构、语言,听到这些的时候我以前总觉得他们是单调的、生硬的,死板的... 一个程序,从A到B单调乏味的执行完成,也就只是从A到B而已。
而我现在却期待着程序背后的故事,以及讲这个故事的人。因为故事本身,就是生命。
计算机没有情感,但是语言却是表达情感的一种方式。
学习编程的过程是单调、乏味、寂寞的,却也是美好的。
我向一个没有生命的计算机发送一行行单调的指令,期待着它能给我一个我有生命的回应。
它一如预见,回复的,是一个冰冷的结果:
int main(int argc, const char * argv[]) { printf("hello, world"); return ;
}
这个结果冰冷,却仿佛穿越了44年...
』
C语言-Hello, world的更多相关文章
- C语言 · 高精度加法
问题描述 输入两个整数a和b,输出这两个整数的和.a和b都不超过100位. 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储.对于这种问题,一般使用数组来处理. 定义一个数组A ...
- Windows server 2012 添加中文语言包(英文转为中文)(离线)
Windows server 2012 添加中文语言包(英文转为中文)(离线) 相关资料: 公司环境:亚马孙aws虚拟机 英文版Windows2012 中文SQL Server2012安装包,需要安装 ...
- iOS开发系列--Swift语言
概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在 ...
- C语言 · Anagrams问题
问题描述 Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的.例如,"Unclear"和"Nuclear ...
- C语言 · 字符转对比
问题描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等.比如 Beijing 和 Hebei 2:两个字符串不仅长度相 ...
- JAVA语言中的修饰符
JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...
- Atitit 项目语言的选择 java c#.net php??
Atitit 项目语言的选择 java c#.net php?? 1.1. 编程语言与技术,应该使用开放式的目前流行的语言趋势1 1.2. 从个人职业生涯考虑,java优先1 1.3. 从项目实际来 ...
- 【开源】简单4步搞定QQ登录,无需什么代码功底【无语言界限】
说17号发超简单的教程就17号,qq核审通过后就封装了这个,现在放出来~~ 这个是我封装的一个开源项目:https://github.com/dunitian/LoTQQLogin ————————— ...
- InstallShield 脚本语言学习笔记
InstallShield脚本语言是类似C语言,利用InstallShield的向导或模板都可以生成基本的脚本程序框架,可以在此基础上按自己的意愿进行修改和添加. 一.基本语法规则 ...
- 用C语言封装OC对象(耐心阅读,非常重要)
用C语言封装OC对象(耐心阅读,非常重要) 本文的主要内容来自这里 前言 做iOS开发的朋友,对OC肯定非常了解,那么大家有没有想过OC中NSInteger,NSObject,NSString这些对象 ...
随机推荐
- 简单而兼容性好的Web自适应高度布局,纯CSS
纯CSS实现的自适应高度布局,中间内容不符自动滚动条.兼容IE9以上.chrome.FF.关键属性是box-sizing: border-box. 不废话,直接上代码: <!doctype ht ...
- GDB调试32位汇编堆栈分析
GDB调试32位汇编堆栈分析 测试源代码 #include <stdio.h> int g(int x){ return x+5; } int f(int x){ return g(x)+ ...
- win7 WindowsImageBackup 无法识别
控制面板\所有控制面板项\备份和还原
- Json 学习
json 格式: 1) 并列的数据之间用逗号(", ")分隔. 2) 映射用冒号(": ")表示. 3) 并列数据的集合(数组)用方括号("[]&qu ...
- oracle 解锁
解决方法如下: 1:查V$DB_OBJECT_CACHE SELECT * FROM V$DB_OBJECT_CACHE WHERE name='CRM_LASTCHGINFO_DAY' AND LO ...
- 浅谈Oracle事务【转载竹沥半夏】
浅谈Oracle事务[转载竹沥半夏] 所谓事务,他是一个操作序列,这些操作要么都执行,要么都不执行,是一个不可分割的工作单元.通俗解释就是事务是把很多事情当成一件事情来完成,也就是大家都在一条船上,要 ...
- 首次用U盘安装CentOS
安之前看了这篇文章,http://www.osyunwei.com/archives/2307.html,然后就开始了. 首先下载ultraiso,官网下载的,将centos的iso镜像写到u盘上. ...
- 第三篇:白话tornado源码之请求来了
上一篇<白话tornado源码之待请求阶段>中介绍了tornado框架在客户端请求之前所做的准备(下图1.2部分),本质上就是创建了一个socket服务端,并进行了IP和端口的绑定,但是未 ...
- 与MySQL传统复制相比,GTID有哪些独特的复制姿势?
与MySQL传统复制相比,GTID有哪些独特的复制姿势? http://mp.weixin.qq.com/s/IF1Pld-wGW0q2NiBjMXwfg 陈华军,苏宁云商IT总部资深技术经理,从事数 ...
- Reflection应用场景-利用反射机制将表单数据自动填充到JavaBean中