黑马程序员 —— 初识C语言及第一个C语言程序分析
来源:互联网 发布:知乎南方采暖方式 编辑:程序博客网 时间:2024/05/21 06:16
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
一、什么是C语言
”初,世间无语言,仅电路与电线。及大牛出,天地开,始有FORTRAN ,LISP ,ALGOL, 随之,乃有万种语“。
最早的高级语言:FORTRAN –> ALGOL –> CPL–> BCPL –> C –> C++等。
C语言之所以命名为C,是因为 C语言源自Ken Thompson发明的B语言,而 B语言则源自BCPL语言,是世界上流行和使用最广泛的一种程序设计语言。
C语言既保持BCPL语言和B语言的有点(精练、接近硬件),又克服了他们的缺点(过于简单、数据无类型等)。
二、C语言的几个重要标准
1983年,美国国家标准协会(ANSI)成立了一个委员会,根据C语言问世以来各种版本对C语言的发展和扩充,制定了第一个 C语言标准草案(83 ANSI C)。
1989年,ANSI公布了一个完整的C语言标准ANSI X3.159-1989(常称ANSI C 或 C89)。
1990年,国际标准化组织ISO接受C89作为国际标准ISO/IEC 9899:1990,他和ANSI的C89基本上是相同的。
1995年,ISO对C90作了些修订,1999年,ISO又对C语言作了些修订,在其基础上增加了些功能,命名为ISO/IEC 9899:1999。
2001、2004年先后进行了两次技术修正。(TC1 和 TC2)
ISO/IEC 9899:1999(及其技术修正)被称为C99.
C99是C89的扩充。
2011年12月,ANSI采纳了ISO/IEC 9899:2011标准,即C11标准。它是C语言程序的最新标准。
现在很多人遵循的都是C99标准。
三、C语言的几个优点
1、语言简洁灵活,使用方便;
2、运算符和数据类型更加丰富;
3、具有结构化控制语句
四、C语言程序开发的基本步骤
分析问题 –> 编辑源程序 –> 编译源程序 –> 链接程序 –> 运行程序 –> 调试程序
五、我的第一个C语言程序
#include <stdio.h>int main(int argc, const char * argv[]) { // 我是注释 printf("黑马出品,必属精品!\n"); return 0;}
源程序分析1、#include <stdio.h>
预编译指令,主要是为了保证下面使用printf函数
2、int main(int argc,constchar * argv[])
C语言程序的执行入口函数,由系统调用,main是函数名称,括号里面的int argc, const char * argv[]是函数的参数,可以有,可以没有,这个main函数及其里面的参数在新建.c源程序的时候,系统会自动生成。{ }表示函数体。
3、// 我是注释
这个是程序代码注释,适当的注释可以提高程序代码的阅读性。
4、printf("黑马出品,必属精品!\n");
这个是函数,输出函数,主要用来向用户输出信息,调用需要引入<stdio.h>头文件才可以,"黑马出品,必属精品!\n"是个参数
5、return0;
这个是main函数的返回值,此处return 0代表程序正常执行且退出。
- 黑马程序员 —— 初识C语言及第一个C语言程序分析
- 黑马程序员------C语言-----初识C语言
- 黑马程序员-初识C语言
- 黑马程序员—UNIX基本指令及第一个Objective-C程序
- [黑马程序员]C语言指针初识
- 黑马程序员——c语言学习---第一个程序
- 黑马程序员——08C语言内存分析
- 初识C语言程序
- 黑马程序员——C语言——C语言程序编写
- 黑马程序员——C语言基础---C语言程序、关键字、标示符
- 黑马程序员------C语言程序 数组
- 黑马程序员------C语言程序 指针
- 4、黑马程序员-C语言内存分析
- 黑马程序员——C语言指针
- 黑马程序员——C语言基础
- 黑马程序员——C语言基础
- 黑马程序员—C语言—从零开始
- 黑马程序员—C语言—指针
- C 语言结构体之点运算符( . )和箭头运算符( -> )的区别
- minFunc 2012:Huber loss
- C语言-栈
- matlab 错误使用*
- redis启用持久化
- 黑马程序员 —— 初识C语言及第一个C语言程序分析
- Nodejs控制权转移 next all
- lightoj 1275 - Internet Service Providers 一元二次方程
- Linux Wireless架构总结
- org.springframework.web.servlet.DispatcherServlet
- 微信网页支付jsapi传参问题解决(使用微信官方SDK)
- activity劫持反劫持
- matlab学习笔记 函数bsxfun repmat
- 菜鸟学python(10) 用python处理Layer导出的域名(将每个域名前加入http://)