学—从Hello world中理解#include<stdio.h>与main函数

入门——自己关于对hello world的理解


前言

每当我在Codeblocks中创建一个project(项目)成功后,屏幕中会总会出现以下代码

#include <stdio.h>
int main()
{
    printf("Hello world!\n");
    return 0;
}

相信很多人都会像我一样直接忽略掉,直接开始自己的编写。但其实这几行代码却蕴含着很多知识。下面我就谈谈对这几行代码的理解


一、关于#include的理解

#include <stdio.h>

#include: 作为一条预处理语句,在程序的其它编译处理(词法分析、语法分析、代码生成、优化和连接等)之前,先进行这些语句的分析处理。
stdio.h: std:为standard(标准之意),io:为input和output(输入和输出),.h:为头文件的后缀,连起来就是标准的输入输出的头文件。
<>: 一般系统自带的头文件会用尖括号括起来,这样编译的时候编译器会在系统文件目录中查找。如果以后当你有实力(一定可以的)时,你可能也会自己去写一个头文件。而如果你想引用自己所写的头文件时,请务必“” 将其括起来,因为该命令意味着编译器会先在当前文件所在的目录去搜索该头文件,如果没有再到系统文件目录中查找。试想一下,当你写完一个头文件后你有没有把它放到系统文件中呢,答案当然是否定的(可能你都没有权限去放置),所以当你用<>时编译器当然会报错(当然如果用“”去包括系统文件有时候也不会报错,但是最好规范代码。)


二、main函数

int main()
{
     return 0;
}

int main(): 现在一般main函数的写法均为int main,而有一些比较古早的书(比如我的实验课教材)则会写成void main,这种写法已经不被现在的编译器所认可了。而()表示我并不需要参数,也可写成(void)
return 0: 可能会有人疑问:为什么一般主函数的最后都必须得写return 0呢?因为主函数的类型是int型,那么最后需返回一个整数值,而C语言规定:如果程序正常运行则返回0值,如果异常返回则返回非零值(以后你会遇到程序异常退出而返回-1的)


三、printf

printf("Hello world!\n");

printf: 库函数,专门用来打印数据。而如果使用这个函数则需要在最前面引用库(即得加入#include <stdio.h>),否则编译器无法识别该语句。或者也可以这样理解:这是库中所拥有的函数,那么我在使用前必须得先向库打个招呼,说我需要用这个函数才行)。
\n: 换行符,以后你会经常用到的


总结

以上就是今天要讲的内容,本文仅仅简单介绍了第一个程序——Hello world。希望大家可以小小的支持一下。最后提醒一点: C语言的代码均需在英文条件下写入,否则编译器\274或者\233的错误,所以如果当你有类似的error信息的话,就要好好查找你的代码是否在中文状态下输入。

  • 22
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
#include #include struct DATA { int ID; char name[4]; char sex[3]; int score; }; void paixu(int*,DATA*,int); int sishewuru(double); void func1(int*,int*,DATA*,int*,int,int,int,int);//统计男女比例 int func2(int*,int,DATA*);//查找考生序号 void print(); void main() { int length=0,i,yiben,erben,sanben,dazhuan,male[4],female[4]; int yi,er,san,si; char input; FILE* file=fopen("f1.txt","r"),*file1; if(file==NULL) { printf("No such file!\n"); return; } while(EOF!=fscanf(file,"%*[^\n]\n")) length++;//自动计算考生数罝ATA* data=(DATA*)malloc(length*sizeof(DATA)); int* pai=(int*)malloc(length*sizeof(int)); rewind(file); for(i=0;i='0'&&input<='4')) { printf("非法输入,请重新输入\n请输入:"); fflush(stdin); } else break; } getchar(); switch(input) { case '0': printf("\n一类本科招生线:%d\n二类本科招生线:%d\三类本科招生线:%d\\n高职高专招生线:%d\n",yi,er,san,si); printf("是否打印为文件?(y/n):"); if(getchar()=='y') { file1=fopen("各批次录取分数线.txt","w"); fprintf(file1,"一类本科招生线:%d\n二类本科招生线:%d\\n三类本科招生线:%d\n高职高专招生线:%d\n",yi,er,san,si); fclose(file1); } fflush(stdin); break; case '1': func1(male,female,data,pai,yiben,erben,sanben,dazhuan); printf("一类本科招生线男女比例:%d:%d\n",male[0],female[0]); printf("二类本科招生线男女比例:%d:%d\n",male[1],female[1]); printf("三类本科招生线男女比例:%d:%d\n",male[2],female[2]); printf("高职高专招生线招生线男女比例:%d:%d\n",male[3],female[3]); printf("是否打印为文件?(y/n):"); if(getchar()=='y') { file1=fopen("各批次录取男女比例.txt","w"); fprintf(file1,"一类本科招生线男女比例:%d:%d\n",male[0],female[0]);
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值