写给新手的第一个C程序:Hello Wrold!
来源:互联网 发布:kindle编辑软件 编辑:程序博客网 时间:2024/05/17 06:23
这个系列会很少提及任何除了语法之外的东西,只有它们是什么、它们怎么用,帮新手辅助学习下!
/*#include 是预处理指令 用于包含指定文件(在编译前处理),它实际做的工作就是把对应文件复制到指定的位置;有两种包含方式:使用<>和""; < > 和 " " 的区别: < >是指 直接 到 系统库目录 下查找当前程序所需要的头文件。如果有:加载;没有:报错。 " "是指 优先 到 当前目录 下查找程序所需要的头文件。如果有:加载;没有:到系统库目录下寻找(如果有:加载;没有:报错)。 */#include <stdio.h>//导入了头文件“stdio.h”//main函数(主函数)的申明//main是C语言的入口函数 一个C程序有且只有一个main函数 无论放在任何位置 程序都从main函数开始,也是结束;/*int main() 这种写法严格来讲不正确;Windows下部分编译器可以通过编译,养成良好编程习惯,不要用这个,会影响程序的可移植性; (C99标准中)标准的main函数申明有两种:1.int main(void) 无参数main函数的申明;(不需要从命令行中获取参数)C语言规定main函数的参数只能有两个, 习惯上这两个参数写为argc和argv。2.int main(int argc,char* argv[])接受命令行参数(main函数不能被其它函数调用),argc为给程序的参数的个数,argv中保存的是给函数的参数,都是字符串。我们也可以做一点小小的改动。例如:char *argv[] 可以写成 char **argv(数组,可以用指向它首地址的指针来表示,后面会讲到);argc、argv可以改成其他变量名,但要符合标准。int argc:定义第一个形参,表示main函数的参数个数,因为第一个参数为该main函数所在程序名,所以有 argc >= 1;char * argv[]:定义第二个形参,指向字符串的指针数组,其各元素值为命令行中各字符串(参数均按字符串处理)的首地址,指针数组的长度就是参数的个数。*/int main(int argc, const char * argv[]) { // insert code here...(插入代码) printf("Hello, World!\n"); /* printf是系统封装好的函数 它的功能是把 "" 里面的内容输出到屏幕上;\n 是换行符;C语言中用英文状态下的分号(;)作为一条语句的结束。C语言起源于美国,单词、标点、特殊符号都需要使用英文半角输入法才有效,否则无法识别。 在OC中 NSLog为打印输出函数 */ return 0;//程序正常结束 /* main函数的返回值类型必须是 int ,这样返回值才能传递给操作系统。 用于说明程序的退出状态,如果返回 0,则代表表程序正常退出,否则代表程序异常退出。 C99 规定编译器要自动在生成的目标文件中(如 exe 文件)加入return 0; */}新手对于这个程序中注释的好多词都不理解,这是没关系的,也很正常。刚接触C语言,大家只要对简单的C程序有一个大概的认识就可以,知道头,知道尾,知道怎么照着画出来,那么以后的学习就不会觉得陌生。慢慢往后面学习,大家自然就会对程序的每个部分了如指掌!
0 0
- 写给新手的第一个C程序:Hello Wrold!
- C++, 我的首个Hello Wrold 诞生,记录一下!
- 使用emacs编写第一个hello的C程序
- [C#] 第一个Hello World程序
- object-c第一个程序:Hello World
- 2第一个C程序“Hello World”
- 001-第一个C程序,hello
- 第一个hello程序
- hello wrold
- Hello Wrold
- hello wrold!
- silverlight的第一个程序hello world.
- java的第一个程序 ----Hello World
- 我的第一个程序--Hello Linux
- struts2 的第一个程序hello struts2
- C++的第一个程序:Hello World
- 第一个clojure 的hello world程序
- Hello World -- 我的第一个程序
- 根文件系统挂载 http://blog.csdn.net/new_abc/article/details/7685681
- docker 容器
- iPhone第五节:多媒体和手势
- IT视频教程寻找
- Dictionary
- 写给新手的第一个C程序:Hello Wrold!
- struts2中的constant介绍之struts.objectFactory与spring的整合
- chrome使用技巧(看了定不让你失望)
- Maven 2 + Hibernate 3.2 + MySQL Example (Annotation)
- unity3d软件各个历史版本下载
- 【UIProgressView进度条控件】
- Java短信接口开发经验及具体开发实现
- 【Cocos2d-x 3.2】内存管理机制 音频文件选择
- 关于进程页表和页目录是存放在内核空间,还是用户空间,低端还是高端内存的思考和验证