C语言基础教学——认识C语言(第一课)
本系列博客纯粹是为了给身边的小白启蒙用的,大神勿看,有什么问题还请多多指教。
———————————————华丽丽的分割线————————————————
认识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语言(第一课)相关推荐
- SQL语言基础教学 | Mysql 入门教学
SQL语言基础教学 SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言.本文将介绍SQL语言基础,包括SQL语言的基本语法.数据类型.数据查询.数据更新等 ...
- python有哪些软件包用来考察变量之间的相关性_Python语言基础考察点:python语言基础常见考题(一)...
一.python是静态还是动态类型?是强类型还是弱类型? 1.动态强类型语言(不少人误以为是弱类型) 不要傻傻分不清 2.动态还是静态指的是编译期还是运行期确定类型 3.强类型指的是不会发生隐式类型转 ...
- Java编程语言学习:Java语言基础案例(如求两门课分数之差、三门课平均分、关系运算符作比较)之详细攻略
Java编程语言学习:Java语言基础案例(如求两门课分数之差.三门课平均分.关系运算符作比较)之详细攻略 目录 Java语言基础案例 1.求两门课分数之差.三门课平均分: 2.关系运算符作比较
- 易语言零基础新手入门系列教程 第一课
机器人小鑫易语言源码(作业用): 机器人小鑫源码 - 第一课.zip 视频教程文字版: 新手学习易语言的几点建议 1.由浅入深.由易到难.循序渐进,切勿急功近利,想一步登天! 这是学习的一般规律,学习 ...
- c语言记忆化搜索,HNUSTC语言基础简单数据结构acm入门第一讲搜索.ppt
C语言基础,简单数据结构,ACM入门讲座搜索部分 Bjut:mark063 2010.10.30 1 Evaluation only. Created with Aspose.Slides for . ...
- c语言基础知识难点,C语言基础的几个难点解析
[摘要]本文结合C语言的教学实践,讲解了C 语言基础知识的几个难点,是教学过程中学生较难掌握和容易出错的重要知识点.希望可以对学习C语言的读者提供参考,能更好地理解C程序设计的思想.编写出优秀的C程序 ...
- C语言基础专业书,C语言程序设计基础
C语言程序设计基础 (2017年清华大学出版社出版的图书) 编辑 锁定 讨论 上传视频 <C语言程序设计基础>是2017年清华大学出版社出版的图书,作者是贾学斌.宋海民.胡大威. 书 ...
- C语言程序设计教学探讨,C语言程序设计多媒体教学探讨
文章结合作者开发设计C语言多媒体教学课件的实践,探讨了多媒体教学课件的开发研制方法,对解决C语言教学中的重点和难点起到一定的作用.同时,结合C语言的教学特点提出了几点教学体会,以提高教学效率和教学成果 ...
- c语言基础学python_D11——C语言基础学PYTHON
C语言基础学习PYTHON--基础学习D11 20180908内容纲要: 1.RabbitMQ消息队列 (1)RabbitMQ安装 (2)Rabbits示例 模式一:fanout 模式二:direct ...
最新文章
- Springboot总结,核心功能,优缺点
- ---innerHTML---
- gps天线拆解图片_华为 畅享 Z 拆解:揭秘千元5G手机物料成本是多少
- python替代hadoop_Python连接Hadoop数据中遇到的各种坑(汇总)
- springboot_通过Actuator了解应用程序运行时的内部状况
- JAVA大厂高频面试题及答案
- 使用pyLDAvis可视化LDA结果,与解决FileNotFoundError: [Errno 2] No such file or directory: ‘https://cdn.jsdel....
- 三维里面点击播放视频
- 面试题之TCP与UDP的区别
- 如何导出立创EDA库到AD库 ?
- Linux_无法运行可执行文件
- wed是什么意思在计算机应用基础中,卡西欧wed什么意思
- 【安信可首款4G模组CA-01直连阿里物联网平台③】一型一密认证方式连接
- 跟着NC学作图 | 柱状图新画法 (环状柱状图)
- 高斯混合模型的matlab实现
- zz纯数学课程科目与教材推荐
- SQL中CONVERT()函数用法详解
- 汽车保养app 功能需求
- Java中整数常量池的概念
- 利用GEPHI做网页排名计算