C语言基础二(敲打键盘、寻找资料)
看过很多资料的人,估计发觉了什么,我上篇的基础一其中一个最致命的错误,没有加return 0;
为什么不加,说真的,我留个坑,所以跳跃性的直接说到函数是如何运用的。
上章说到main就是主入口,根据main的英文意思也知道了。那么就说说为什么会这样?
一个标准的文件
没有查资料的人就会发现,怎么多了个return 0;这到底干嘛的?根据小编的理解和猜想:可以先当作安全操作。
如果不是Visual Studio 2013的编译器,有可能会报出错误,比如弹出什么框子什么的。
那么这章就来谈谈函数的运用,和理解,以及类似的敲打练习。
有了头文件和主入口身体,那么手脚又会是什么?
--------------------------------------------------------------------------------------------------------下面有两个正确的格式(一):-----------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------下面有两个正确的格式(二):-----------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------下面有两个正确的格式(三):-----------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------下面有两个正确的格式(四):----------------------------------------------------------------------------------------------------
有人会问手脚可以写多个吗,正确的回答看你随意,想写多少个就写多少个,前提:将手脚的英文最好写的形象点,比如手Hand,脚Feet,也能显得你专业一点,嘿嘿。
注意:尽量把函数名先别写一样,为什么这样说,以后会涉及到,先这样给自己打个预防针!如果不信的话,你可以先试试写两个一模一样的手函数运行看看。
函数的用法案例:
运行下结果看看:
-----------------------------------------------------------------------------------------------------------------------查看现象总结------------------------------------------------------------------------------------------------------
在一个文件中,写来写去,她的main函数只有一个 。就像人一样,身体就只有一个。
在main函数内,她的运行方式从上到下。
当运行到Shou()函数时,她会寻找到Shou函数的声明定义,如果找不到说明你在main函数内写的Shou();写的不对,或者根本没写,或者没有按照规则声明定义,意思就是你写的不对。
如果不信,可以调换Shou();和Jiao();
-----------------------------------------------------------------------------------------------------------------------疑惑解答------------------------------------------------------------------------------------------------------------
打印的很快,是不是同时运行的?因为人的手脚就可以同时运动啊。
不是的,只能说:身体main函数就像一个容器,Shou先进来了,具体详细的内容会涉及到堆栈,想要理解这个不是一言两语说的清,只需要知道:main函数内从上往下看,先进入Shou函数打印
运行return 0;安全退出,然后进入Jiao函数内,依次运行结束,最后getchar()函数,停顿住,供你观察。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
当你写这样的案例过后,联合前面的一起打印看看。
打印出来的就是你所学会的两种,什么数据类型?函数体简单运用怎么用?
不要小看这两种玩意有什么用处,感觉还真没有用处。因为你根本不知道,这里面的规则一直能运用到你以后发展,不要觉得无趣,没意思,这是作为一个过来者给予你的忠告,因为你的知识量又增添了一点。
一天学一点,两篇文章粗略的过滤Printf()、函数,意思就是如何使用打印了,和函数的用法,其实根本没有什么高大上的内涵,只需要知道其中的概念性的规则用法,你就已经懂了。
有人会问,我能打印有什么用?不能写啊?
跟着敲以下的代码:
你会发现scanf(有不一样的的地方,就是加上&)
这个&叫取地址符号,简单的就是你先把&符号不写的话,没法输入打印甚至还有出现警告。
意思就是这个函数不安全......
先要学会正确的语法之前,先得学会基本语法,比如前后的小知识点。
看着上面的代码敲打后,你会发现这最后的一个getchar()为什么要写两个,这难道还带区别吗?或者有着不同的意义?
意思其实都是一样的,如果觉得费事,可以使用这个看看下面的写法跟上面有何区别
效果一样的,那为什么要写?
告知头文件不止一个stdio.h,记住循序渐进。
当你比别人多知道一个知识的时候,你会是什么感觉,不要觉得一点意义没有,多知道一个代表你比别人强一点。花的时间更多,不要小看自己。
当你跟着敲打后,你会发现你又多学了一个输入scanf()函数的运用又能和数据类型相结合了。
如有不妥,请见谅,就当作复习一遍。
C语言基础二(敲打键盘、寻找资料)的更多相关文章
- Java语言基础二
1.常量的概述和使用 A:什么是常量 B:Java中常量的分类 常量分类为六种:a.”字符串” b.’字符’ c.整数 d.小数 e.boolern(布尔类型) 返回值为 FALSE和TRUE ...
- C语言基础二维数组
(1)二位数组的定义int array[n][m],行下标的取值范围是0~n-1,列下标的取值范围是0~m-1,二维数组最大下标元素是array[n-1][m-1]:如定义一个3行4列的数组 int ...
- 01C语言基础(二)
Day07 笔记 指针和函数: 栈 帧: 当函数调用时,系统会在 stack 空间上申请一块内存区域,用来供函数调用,主要存放 形参 和 局部变量(定义在函数内部). 当函数调用结束,这块内存区域自动 ...
- C语言基础--二维数组
二维数组概念: 数组中的每一个元素又是一个数组, 那么这个数组就称之为二维数组,二维数组是特殊的一维数组. 二维数组格式: 元素类型 数组名称[一维数组的个数][每个一维数组的元素个数]; 元素类型 ...
- C语言基础:二维数组 分类: iOS学习 c语言基础 2015-06-10 21:42 16人阅读 评论(0) 收藏
二维数组和一位数组类似. 定义: 数据类型 数组名[行][列]={{ },{ }....}; 定义时,一维(行)的长度可以省略,但是二维(列)的长度不可以省略.但是访问时,一定使用双下标. 二维数组的 ...
- Go语言基础二:常用的Go工具命令
常用的Go工具命令 Go附带了一下有用的命令,这些命令可以简化开发的过程.命令通常包含的IDE中,从而使工具在整个开发环境中保持一致. go run 命令 go run命令实在开发过程中执行的最常见的 ...
- R语言基础(二) 可视化基础
> which.max(apply(x[c("x1","x2","x3")], 1, sum))49 > x$num[which ...
- C语言基础二
C--顺序程序设计 赋值语句 赋值语句和赋值表达式的区别: if((a = b) > 0) t = 0; 字符数据的输入输出 putchar函数 该函数为字符输出函数,其作用是向终端数出一个字符 ...
- C语言基础二 练习
指出正确标识符 命名 l 只能由26个英文字母的大小写.10个阿拉伯数字0~9.下划线_组成 l 严格区分大小写,比如test和Test是2个不同的标识符 l 不能以数字开头 l 不可以使用关键字作为 ...
随机推荐
- centos7.4/rehat7.0系统安装
以下是安装过程:(图解),以下是rehat为例 这里可以改为centos的镜像 之后就可以用了,记得做快照!!! 拓展:分离使用 效果:
- mybatis 遍历map;
mybatis 遍历map; 参考http://blog.csdn.net/hj7jay/article/details/78652050 ps: ${m[key]}这是显示 打印的key读value ...
- install memcached for ubuntu
Memcached安装 1.先下载安装libevent 安装 libevent# tar zxvf libevent-1.4.9-stable.tar.gz# cd libevent-1.4.9-st ...
- LOCK TABLES 和 UNLOCK TABLES
MySQLdump的时LOCK TABLES 和 UNLOCK TABLES 在mysqldump后的数据中会发现有 LOCK TABLES tables_name WRITE;和结尾处有 UNLOC ...
- Github版本管理以及git使用
1.git客户端编译安装 同步系统时间服务器 ntpdate cn.ntp.org.cn 安装依赖包: [root@baolin ~]# yum install epel-release -y [ro ...
- CC攻击原理及防范方法和如何防范CC攻击
一. CC攻击的原理: CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃.CC主要是用来消耗服务器资源的,每个人都有这样的体验:当一个网页访问的人数 ...
- NLog简单例子
引用 <?xml version="1.0" encoding="utf-8"?> <packages> <package id= ...
- @transactional注解下失效
这几天在项目里面发现我使用@Transactional注解事务之后,抛了异常居然不回滚.后来终于找到了原因. 如果你也出现了这种情况,可以从下面开始排查. 一.特性 先来了解一下@Transactio ...
- noi2016旷野大作战
玩了差不多两个小时61分 大概第9个点可以再拿5-6分 但是挺麻烦的并不想搞.. 这道题还是比较考验智商的??以及对那个特殊的ln函数的应用 感觉题目出的挺好的 看了题解 发现第4个点的确我应该想不到 ...
- 一起学Hadoop——实现两张表之间的连接操作
---恢复内容开始--- 之前我们都是学习使用MapReduce处理一张表的数据(一个文件可视为一张表,hive和关系型数据库Mysql.Oracle等都是将数据存储在文件中).但是我们经常会遇到处理 ...