本系列博客纯粹是为了给身边的小白启蒙用的,大神勿看,有什么问题还请多多指教。

———————————————华丽丽的分割线————————————————
认识C语言:

首先,你们要知道,C语言程序的基本单位是函数,每个C语言程序有且仅有一个main()函数。

我们来看一下,以下可能是你将要写出的第一个C语言程序。

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

没错,他会在屏幕上打印出 Hello World!

我们来分析一下他的结构。

#include<xxx>

这里面的xxx我们通常称之为头文件,即一个用来存放函数的仓库,你需要什么样的函数,只要仓库里面有,编译器就可以找到并把相应的函数功能添加到所写的C语言程序中去。

int main(){return0;
}

这里就是我们前面提到有且仅有一个的main()函数了,没错,既然是函数,那么就一定有函数体了,main()是函数名,就好比你的头,函数体就好比你的身体。

C语言中的main函数有两种标准形式,第一种就是上面那种不带参数的,第二种是带参数的:

 int main (int argc, char *argv[ ]){return 0;}

我们来看一下这种带参数的main()函数是如何使用的

 #include<stdio.h>int main (int argc, char *argv[ ]){if(!strcmp(argv[1], "guanji")){system("shutdown -s -t 3600");}else{system("shutdown -a");}return 0;}

我们来执行以上这段代码。
首先我们先输入“guanji”这条指令,你会发现程序获取到了参数而且执行了if里面语句:

然后我们随便输入一个参数,程序获取到了参数而且执行了else里面的语句:

———————————————————————说明———————————————————————————
C语言的带参数的main函数格式为main(int argc,char* argv[]),其中argc为参数个数加1,argv为参数列表,从argv[1]开始。编译后生成可执行文件,可以在执行的程序后加参数,比如编译一个程序为test.exe,则在执行时可以输入:
test.exe 1 firestone
在这里,argc等于3,argv[0]为”test.exe”,argv[1]为”1”,argv[2]为”firestone”。
如果有下面的程序:

#include <stdio.h>
void main(int argc,char *argv[])
{
printf("You've input %d parameters.\n",argc-1);
for(int i=1;i<argc;i++)printf("The No.%d is:%s\n",i,argv[i]);
}

则上面的输入会产生如下运行结果:
You’ve input 2 parameters.
The No.1 is 1
The No.2 is firestone

———————————————————————说明———————————————————————————

开始试试你的第一个C语言程序吧!

C语言基础教学——认识C语言(第一课)相关推荐

  1. SQL语言基础教学 | Mysql 入门教学

    SQL语言基础教学 SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言.本文将介绍SQL语言基础,包括SQL语言的基本语法.数据类型.数据查询.数据更新等 ...

  2. python有哪些软件包用来考察变量之间的相关性_Python语言基础考察点:python语言基础常见考题(一)...

    一.python是静态还是动态类型?是强类型还是弱类型? 1.动态强类型语言(不少人误以为是弱类型) 不要傻傻分不清 2.动态还是静态指的是编译期还是运行期确定类型 3.强类型指的是不会发生隐式类型转 ...

  3. Java编程语言学习:Java语言基础案例(如求两门课分数之差、三门课平均分、关系运算符作比较)之详细攻略

    Java编程语言学习:Java语言基础案例(如求两门课分数之差.三门课平均分.关系运算符作比较)之详细攻略 目录 Java语言基础案例 1.求两门课分数之差.三门课平均分: 2.关系运算符作比较

  4. 易语言零基础新手入门系列教程 第一课

    机器人小鑫易语言源码(作业用): 机器人小鑫源码 - 第一课.zip 视频教程文字版: 新手学习易语言的几点建议 1.由浅入深.由易到难.循序渐进,切勿急功近利,想一步登天! 这是学习的一般规律,学习 ...

  5. c语言记忆化搜索,HNUSTC语言基础简单数据结构acm入门第一讲搜索.ppt

    C语言基础,简单数据结构,ACM入门讲座搜索部分 Bjut:mark063 2010.10.30 1 Evaluation only. Created with Aspose.Slides for . ...

  6. c语言基础知识难点,C语言基础的几个难点解析

    [摘要]本文结合C语言的教学实践,讲解了C 语言基础知识的几个难点,是教学过程中学生较难掌握和容易出错的重要知识点.希望可以对学习C语言的读者提供参考,能更好地理解C程序设计的思想.编写出优秀的C程序 ...

  7. C语言基础专业书,C语言程序设计基础

    C语言程序设计基础 (2017年清华大学出版社出版的图书) 编辑 锁定 讨论 上传视频 <C语言程序设计基础>是2017年清华大学出版社出版的图书,作者是贾学斌.宋海民.胡大威. 书    ...

  8. C语言程序设计教学探讨,C语言程序设计多媒体教学探讨

    文章结合作者开发设计C语言多媒体教学课件的实践,探讨了多媒体教学课件的开发研制方法,对解决C语言教学中的重点和难点起到一定的作用.同时,结合C语言的教学特点提出了几点教学体会,以提高教学效率和教学成果 ...

  9. c语言基础学python_D11——C语言基础学PYTHON

    C语言基础学习PYTHON--基础学习D11 20180908内容纲要: 1.RabbitMQ消息队列 (1)RabbitMQ安装 (2)Rabbits示例 模式一:fanout 模式二:direct ...

最新文章

  1. Springboot总结,核心功能,优缺点
  2. ---innerHTML---
  3. gps天线拆解图片_华为 畅享 Z 拆解:揭秘千元5G手机物料成本是多少
  4. python替代hadoop_Python连接Hadoop数据中遇到的各种坑(汇总)
  5. springboot_通过Actuator了解应用程序运行时的内部状况
  6. JAVA大厂高频面试题及答案
  7. 使用pyLDAvis可视化LDA结果,与解决FileNotFoundError: [Errno 2] No such file or directory: ‘https://cdn.jsdel....
  8. 三维里面点击播放视频
  9. 面试题之TCP与UDP的区别
  10. 如何导出立创EDA库到AD库 ?
  11. Linux_无法运行可执行文件
  12. wed是什么意思在计算机应用基础中,卡西欧wed什么意思
  13. 【安信可首款4G模组CA-01直连阿里物联网平台③】一型一密认证方式连接
  14. 跟着NC学作图 | 柱状图新画法 (环状柱状图)
  15. 高斯混合模型的matlab实现
  16. zz纯数学课程科目与教材推荐
  17. SQL中CONVERT()函数用法详解
  18. 汽车保养app 功能需求
  19. Java中整数常量池的概念
  20. 利用GEPHI做网页排名计算

热门文章

  1. 用循环输出二十六个小写英文字母的内容(需要类型转换)--java作业
  2. 华为苏箐被曝转投大众汽车:最狂智能车高管,因抨击特斯拉丢工作,任正非亲自签发罢免令...
  3. 用python语言绘制美丽图形
  4. Python实现检测文件的MD5值来查找重复文件
  5. 分享一个ZPL指令在线测试网址
  6. CouchDB安装与使用
  7. 了解第二部分多武装匪徒的强化学习手
  8. 正交设计与OO/SOLID【转】
  9. winrar主要参数
  10. Java编程入门与应用 P104—例4-12(学生管理系统——密码的重复验证)