C 语言教程
发布时间:2026-08-11 | 浏览:6
C 语言是一种通用的、面向过程式的计算机程序设计语言。1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言。
C 语言是一种广泛使用的计算机语言,它与 Java 编程语言一样普及,二者在现代软件程序员之间都得到广泛使用。
当前最新的 C 语言标准为 C18 ,在它之前的 C 语言标准有 C17、C11...C99 等。
本教程是专门为需要从零开始了解 C 语言的软件程序员打造的。本教程将让您对 C 语言有足够的认识,从而提升您自己的专业知识水平。
阅读本教程前,您需要了解的知识:
在开始学习本教程之前,您需要对计算机编程术语有基本的了解。对任何一种编程语言有基本的了解将有助于您理解 C 语言编程概念,并有助于加快您的学习进度。
所有的 C 语言程序都需要包含 main() 函数。 代码从 main() 函数开始执行。
/* ... */ 用于注释说明。
printf() 用于格式化输出到屏幕。 printf() 函数在 "stdio.h" 头文件中声明。
stdio.h 是一个头文件 (标准输入输出头文件) , #include 是一个预处理命令,用来引入头文件。 当编译器遇到 printf() 函数时,如果没有找到 stdio.h 头文件,会发生编译错误。
return 0; 语句用于表示退出程序。
#0 飞奔的蚂蚁2018 138*** [email protected] 2866 运行 C 程序, main(int argc, char *argv[]) 函数传参, argc 为参数个数, argv 是字符串数组, 下标从 0 开始,第一个存放的是可执行程序的文件名字,然后依次存放传入的参数,举个例子 HelloWorld.c : #include <stdio.h> int main(int argc, char *argv[]) { /* 我的第一个 C 程序 */ printf("可执行程序 %s ,参数个数为[%d], 运行输出:[%s]\n",argv[0],argc,argv[1]); return 0; } 编译 gcc HelloWorld.c ,得到可执行程序 a.out ,运行程序: ./a.out Hello,World! 可执行程序 ./a.out ,参数个数为[2], 运行输出:[Hello,World!] 飞奔的蚂蚁2018 飞奔的蚂蚁2018 138*** [email protected] 8年前 (2018-05-31)
138*** [email protected]
运行 C 程序, main(int argc, char *argv[]) 函数传参, argc 为参数个数, argv 是字符串数组, 下标从 0 开始,第一个存放的是可执行程序的文件名字,然后依次存放传入的参数,举个例子 HelloWorld.c :
编译 gcc HelloWorld.c ,得到可执行程序 a.out ,运行程序:
138*** [email protected]
#0 codeJun 460*** [email protected] 1785 当是 int main() 时, main() 的返回值是 int 类型,所以是 return 0; 现在 C 标准里规定 main() 返回值必须为 int ,所以必须写成是 int main() 。 #include <stdio.h> int main(){ /* 我的第一个 C 程序 */ printf("Hello, World!\n"); return 0; } 当是 void main() 时, main() 的返回值是空,所以可以不写或者是 return; 但这是以前的写法了,现在很少用 void main() 了,也不推荐大家这么用。写出来的目的就是给大家提个醒,别犯一些低级错误。 #include <stdio.h> void main(){ /* 我的第一个 C 程序 */ printf("Hello, World!\n"); return ; } codeJun codeJun 460*** [email protected] 8年前 (2018-06-27)
460*** [email protected]
当是 int main() 时, main() 的返回值是 int 类型,所以是 return 0; 现在 C 标准里规定 main() 返回值必须为 int ,所以必须写成是 int main() 。
当是 void main() 时, main() 的返回值是空,所以可以不写或者是 return; 但这是以前的写法了,现在很少用 void main() 了,也不推荐大家这么用。写出来的目的就是给大家提个醒,别犯一些低级错误。
460*** [email protected]
#0 Bob 139*** [email protected] 参考地址 935 warning: implicitly declaring library function 'printf' with type'int (const char *, ...)' [-Wimplicit-function-declaration] 以上警告一般发生在没有包含头文件 #include <stdio.h> 就使用 printf 的情况 int main(){ printf("Hello, World!\n"); return 0; } 这句话提示的意思是: 用类型“int (const char *,...)”隐式声明了库函数printf。 该提示的背景知识: 因为 printf 这一类库函数太常用了,所以编译器在编译的时候,发现源文件中并没有声明 printf 这个函数就直接使用了它,那么编译器就会为 printf 函数隐式生成一个声明。你那个编译器提示你,它为printf生成的隐式声明是: int printf(const char *, ...) 该提示后果: 通常情况下,这个提示只是一个 warning,而不是 error,编译仍然可以通过。 解决方案: 要消除这个提示,只要加上 printf 的声明就行了。printf 函数是一个库函数,它的声明在 stdio.h 文件里。所以,你只要在源文件中 #include <stdio.h> 就可以了。 Bob Bob 139*** [email protected] 参考地址 8年前 (2018-08-10)
139*** [email protected]
warning: implicitly declaring library function 'printf' with type'int (const char *, ...)' [-Wimplicit-function-declaration]
以上警告一般发生在没有包含头文件 #include <stdio.h> 就使用 printf 的情况
这句话提示的意思是: 用类型“int (const char *,...)”隐式声明了库函数printf。
该提示的背景知识: 因为 printf 这一类库函数太常用了,所以编译器在编译的时候,发现源文件中并没有声明 printf 这个函数就直接使用了它,那么编译器就会为 printf 函数隐式生成一个声明。你那个编译器提示你,它为printf生成的隐式声明是: int printf(const char *, ...)
该提示后果: 通常情况下,这个提示只是一个 warning,而不是 error,编译仍然可以通过。
解决方案: 要消除这个提示,只要加上 printf 的声明就行了。printf 函数是一个库函数,它的声明在 stdio.h 文件里。所以,你只要在源文件中 #include <stdio.h> 就可以了。
139*** [email protected]
#0 蓝 185*** [email protected] 1894 #include<stdio.h> /* 这一句话是必须要的格式 stdio 表示系统文件库, 也可以声明其它的 .h 表示头文件,因为这些文件都是放在程序各文件的开头 #include 告诉预处理器将指定头文件的内容插入到预处理器命令的相应位 导入头文件的预编译指令 <> 表示系统自带的库 也可以写成" " 表示用户自定义的库 如果写成" "并且自定义的库里面没有这个文件系统会自动查找自带的库,如果还是没有报错 */ int main() // 程序的入口 { //程序从这里开始运行 /* int 表示数字格式,返回一个数字 main()主函数 表示程序的入口 一个程序有且只能有一个main函数的存在 */ printf("hello C"); //打印一个hello C return 0; //返回一个整数0,因为它是int类型,所以只能返回整数 } //程序从这里结束 蓝 蓝 185*** [email protected] 7年前 (2019-04-21)
185*** [email protected]
185*** [email protected]
Python / 数据科学 Python 教程 Python2.x 教程 FastAPI 教程 Flask 教程 Django 教程 NumPy 教程 Pandas 教程 SciPy 教程 Matplotlib 教程 Dash 教程 Jupyter Notebook 教程 Pillow 教程 量化交易 R 教程 Julia 教程
Jupyter Notebook 教程
AI / 智能开发 AI Agent(智能体) AI(人工智能) Codex 教程 Vibe Coding 教程 Claude Code OpenCode Skills(技能) Ollama 教程 Hermes Agent Pi Agent AI 数学基础 TensorFlow 教程 PyTorch 教程 Scikit-learn 教程 机器 教程 LangChain 自然语言处理 NLP OpenCV 教程 Selenium 教程 Playwright 教程
Scikit-learn 教程
前端开发 HTML 教程 HTML5 教程 CSS 教程 CSS3 教程 JavaScript 教程 HTML DOM 教程 TypeScript 教程 AJAX 教程 JSON 教程 Tailwind CSS 教程 Bootstrap4 教程 Bootstrap5 教程 Foundation 教程 Vue.js 教程 Vue3 教程 React 教程 Next.js 教程 AngularJS 教程 Angular 教程 jQuery 教程 jQuery UI 教程 jQuery EasyUI 教程 ECharts 教程 Chart.js 教程 Highcharts 教程 Google 地图 教程 SVG 教程 Font Awesome 教程
Tailwind CSS 教程
jQuery EasyUI 教程
Font Awesome 教程
后端开发 Node.js 教程 Electron 教程 PHP 教程 Java 教程 Go 教程 Rust 教程 C# 教程 Servlet 教程 JSP 教程 ASP 教程 AppML 教程 VBScript 教程 Swagger 教程 RESTful API 教程 Docker 教程 Linux 教程 ZooKeeper 教程
数据库 SQL 教程 MySQL 教程 PostgreSQL 教程 SQLite 教程 MongoDB 教程 Redis 教程 Memcached 教程
移动开发 Android 教程 Flutter 教程 Ionic 教程 jQuery Mobile 教程 Swift 教程 Kotlin 教程
jQuery Mobile 教程
DevOps / 工程化 Git 教程 SVN 教程 CMake 教程 Maven 教程 VS Code 教程 Obsidian 教程 PyCharm 教程 Eclipse 教程 Markdown 教程
编程语言 C 教程 C++ 教程 Zig 教程 Scala 教程 Ruby 教程 Perl 教程 Lua 教程 Dart 教程 汇编语言 教程 Verilog 教程
计算机基础 计算机组成原理 数据结构与算法 C 语言数据结构与算法 设计模式 Python 设计模式 正则表达式 HTTP 教程 TCP/IP 教程 网络协议 W3C 教程
XML / Web Service XML 教程 DTD 教程 XML DOM 教程 XSLT 教程 XPath 教程 XQuery 教程 XLink 教程 XPointer 教程 XML Schema 教程 XSL-FO 教程 Web Service 教程 WSDL 教程 SOAP 教程 RSS 教程 RDF 教程
.NET ASP.NET 教程 MVC 教程 Razor 教程 Web Forms 教程 Web Pages 教程 PowerShell 教程
网站建设 网站建设指南 浏览器信息 网站主机教程 网站品质