学习编程总是从一个简单的 Hello world 开始,但是你对这个简单的 Hello world 到底了解多少东西呢?
Hello world
// C 版
#include<stdio.h>
int main()
{
printf("Hello world !n");
return 0;
}
// c++ 版
#include<iostrem>
using namespace std;
int main()
{
cout<<"Hello world!"<<endl;
return 0;
}
stdio.h ( standard input & output header ) 标准输入输出头文件
- 对于计算机什么才是标准的输入输出呢?标准的的输入通常指的的是键盘(keyboard)、而标准的输出位置则是电脑显示屏(screen)
- 什么时候会用到这个头文件?当你需要用到标准的输入输出时就可以将此头文件包含进来,包含头文件的方式:
#indlude<需要包含的头文件> - 对于这个头文件中有那些函数可供我们使用?
- printf() (print format) 格式化输出函数
- scanf() (scan format) 格式化输入函数
- getchar() 从标准设备读取一个字符
- putchar() 向标准设备输出一个字符
- gets() (get string ) 从标准输入设备读入一串字符串
- puts() (output string ) 向标准输出设备输出一串字符串
还有两个不经常提到但是却非常好用的函数
- sscanf() 读取格式化的字符串中的数据
char str[128]="xiangming 18"; char name[64]=""; int age=0; sscanf(str,"%s %d",name,&age); printf("name:%s nage:%d n",name,age); 运行结果: name:xiangming age:18
从上面的这部分代码不难看出sscanf()函数的优越性,可以自动匹配我们需要的数据类型
- sprinf() 将格式化的字符串写入字符串中
char str[128]=""; char name[64]="XIAOMING"; int age=18; sprintf(str,"name:%s nage: %d",name,age); puts(str); 运行结果: name:XIAOMING age: 18
int main() or void main() or int main(void) or void main() C和C++的程序入口
所有程序的入口函数,没个程序有且必须有一个主函数,且不可被其他任何函数调用,但是可以被他自己调用,比如像下面这样,但是不建议这么使用!
#include<stdio.h>
int i=3;
int main()
{
if(i>0)
{
printf("%dn",i);
i--;
main();
}
return 0;
}
输出结果:
3
2
1
对于main()函数的函数类型来说,必须是int 或者 void,换成其他任何类型都不可以,在这里需要说的是 int main()才是最为正规的写法,所以大家在以后的编程中尽量不要使用void main()
//对于 void
void main()
{
\your code ...
}
or
void main()
{
\some code ...
return ;
}
//对于 int
int main()
{
//some code ...
return 0;
}
函数的返回类型必须和函数的类型一样,也就说你的main()前面是什么类型的,你return返回的必须是什么类型的数据,还有就是对于main函数来说,我们习惯上返回的值都是0,其实返回其他的值也是未尝不可的,比如100,再或者-10,只要不超过int类型的范围即可。有关数据类型表示的范围随后会出一片总结性的文章供大家学习参考。
int man(int argc,char* argv[])主函数是可以有参数的
// main2.cpp
#include<stdio.h>
int main(int argc,char* argv[])
{
int n=argc,i=0;
printf("%dn",argc);//输出参数的个数
for(i=0;i<n;i++)
{
puts(argv[i]);//输出每个参数的值
}
return 0;
}
在控制台下运行:
PS C:UsersxuqiuDesktopC> .main2.exe hello xiaoming! 'I am xiahong'
4
C:UsersxuqiuDesktopCmain2.exe
hello
xiaoming!
I am xiahong
argc总是代表着传入参数的个数,当不传入任何参数时argvc的值为1,而argv[0]代表程序自身自己,也就是上面输出的第一个参数C:UsersxuqiuDesktopCmain2.exe,argv总是记录传入的各个参数值,当一个字符串含有空格时,又想让它独立成一个参数传入时请使用单引号来处理。
推荐阅读:
- Building





近期评论