从"图夫"到"码农"的第三课

1.printf 的详细分析

%d:输出int类型

%md:m代表这个整数占多少位,但是还是输出int

不足部分以空格补齐

如果m是负数,那么空格在后面补齐

如果实际的位数>=m,那么按原样输出

%0md:(可能会用,重点)

m代表这个整数占多少位,而且输出的还是int

不足部分以0补齐

如果实际位数 >= m ,那么还是按原样输出

前面不能加负号

%.nf:(重点)

n代表输出几位小数,但是还是输出float

代表保留小数点后几位,然后保留的最后一位会根据它的下一位做四舍五入

例: 10.3333

如果用%.2f输出,会输出 10.33

10.3352

如果用%.2f输出,会输出 10.34

%m.nf:(非重点,了解有这回事)

m代表这个小数一共占用几列,n代表保留几位小数

不足部分以空格补齐

如果实际位数或者保留小数点后几位的位数 大于或者等于 m,那么以实际位数或者保留小数后几位的位数输出

2.转义字符

比如说:输出一个n,然后前面加一个\,就改变了n原来的意思,变成了换行,再比如说本来输出一个d,但是在前面加一个%,然后就改变了d原来的意思,变成了挖一个int类型的坑

那么像这样的\和%,可以改变某个字母原来的意思的符号就叫转义符

\\:代表输出一个\

\":代表输出一个双引号

\‘:代表输出一个单引号

\t:代表水平制表符

简单来说就是多加几个空格

\n:代表换行

%d:占位符,占用一个int类型

%ld:占用一个long类型

%f:占用一个float类型

%lf:占用一个double类型

%c:占用一个char类型

%u:占用一个unsigned int类型

%lu:占用一个unsigned long类型

unsigned int占用4个字节(能保存的正数范围更大)

unsigned long占用8个字节 (能保存的正数范围更大)

%%:代表输出一个%

3.scanf函数:

接收用户的输入

语法:

scanf("格式化控制符",地址列表);

例:

int num;

scanf("%d",&num);//代表接收用户输入一个整数,把这个整数赋值到num所在的空间

如果要接收字符呢???

char ch;

scanf("%c",&ch);

千万要记住:scanf的格式化控制符后面不要加\n

scanf函数有一个特点:

它叫阻塞式函数

意思就是:当程序执行到它这一句的时候,会暂时停止,不会继续往下执行,直到用户输入完才会继续往下执行

运行原理:

首先,scanf在内存中有个位置,叫缓冲区,里面是保存所有用户输入的数据的

用scanf接收用户输入的时候:

1)先去缓冲区里面找有没有合适的数据,如果有,则直接把缓冲区的这个数据赋值给你的变量(意味着不要用户输入了)

2)如果没有,才会让用户进行输入,输入以后,数据先放在缓冲区

3)然后再从这个缓冲区里面找数据

注意:如果要接收的是数字,但是输入的是字符,那么会忽略(不给那个变量赋值)

以后如果要接收一个字符的话,一定要记得在前面加空格(会过滤掉所有的空格和回车)

清空缓冲区:rewind(stdin)

4.算术运算符:

+:  就是把两个数据相加,得到和

-:  就是把两个数据相减,得到差

*:  就是把两个数据相乘,得到积

/:  就是把两个数据相除,得到商

%:  就是把两个数据相除,得到余数

算术运算式:

就是用算术运算符组成的式子就叫算术运算式

算术运算符的优先级:

先算乘除,后加减,如果同样就从左往右依次运算,有括号的先算括号里面的

5.类型转换:

就是不同类型的数据进行运算,就会把某一个类型转换成你那个类型

隐式转换:也叫自动转换,就是编译器自动帮你判断应该转换成什么类型

例:  int num = 3.333333;

显示转换:就是由程序员告诉编译器应该转换成什么类型

例:  int num = (int)3.33333;

int num = (float)3.333333;  //还是3

理解:

如果类型不同,然后参与运算,那么小类型会转换成大类型

比如说:int和float或者double参与运算,那么int会转换为float或者double

6.复合运算符:

由一个算术运算符和一个赋值运算符组成的符号,叫复合运算符

复合运算符列表:

+=: 在原来的值的基础上加一个数

-=: 在原来的值的基础上减一个数

*=: 在原来的值的基础上乘一个数

/=: 在原来的值的基础上除一个数

%=: 在原来的值的基础上取余一个数

7.自增自减运算符

自增(++):就是给自己的值再加1

自减(--):就是给自己的值减1

++(--)可以放在前面,也可以放在后面,效果都是一样,都是会给自身+1(-1)

前缀++(--):会先自增(自减),后用自增(自减)后的值参与运算

后缀++(--):会先用原来的值参与运算,再自增(自减)

8.赋值运算符:=

就是把=右边的运算结果,赋值给左边的变量

9.逗号运算符:就是,

语法:

(表达式1,表达式2,表达式3);

逗号运算式的结果是最后一个表达式的结果

特点:逗号运算式虽然结果是只取最后一个表达式的结果,但是前面的表达式也都会执行

时间: 2024-11-04 20:06:50

从"图夫"到"码农"的第三课的相关文章

从"图夫"到"码农"的第二课

1.注释的用法: /* 单行注释:以//作为注释符,//后面的内容会在编译的时候被编译器忽略不参与编译 作用: 单行注释一般是给程序员看的,解释一句话的意思 单行注释可以嵌套 多行注释: 多行注释符号之间的所有内容都会被编译器忽略,不参与编译 多行注释不可以嵌套(一个多行注释里面不可以还有另一个多行注释) 作用:一般写在源文件(.c)的最上方,用来告诉程序员这个文件主要是什么作用 注意:一定要养成写代码写注释的习惯 注释快捷键:选中要注释的代码后  Command + ?(右边shift左边的那

从"图夫",到"码农"的第一课

/* 生成C语言程序包括几个步骤: 自己写的代码叫源代码(编译之前的代码) 1.写代码---------- 编码阶段,会有一个源代码文件,以.c结尾的 2.编译 ----------- 把你写的代码编译成机器码, 会生成一个.o文件结尾的文件,这个文件叫目标文件 3.链接 ----------- 把系统库或者其他模块的源代码链接到一起,生成可执行文件 源文件:保存程序员写的源代码的文件 目标文件:编译后生成的文件,以.o格式结尾 链接:生成的是可执行文件(windows可执行文件是.exe,ma

码农交流日常——我只能说:MDZZ(手动微笑)

本文属吐槽文,我只想说:对神论还蜜汁自信的怎么破? ------------------------------背景介绍--------------------------------------- 上半年参与了一个水的不行的项目,总的架构如下: 用C++作为实现语言 在Windows下,用户界面以EXE的形式出现,其他模块以DLL的形式通过LoadLibrary加载 数据总控模块提供一套API给"自定义功能模块"使用,实现用户界面和功能模块的交互,自然,所有的自定义功能模块也都按照约

[转]码农自白:这样成为谷歌工程师

谷歌多年盘踞“全球最佳雇主榜”前几位并且曾经数次蝉联榜首,而它选拔聘用人才的标准也是出了名的高,其中相当出名的一条是“名校情结”——无论在哪个国家,谷歌都异常青睐毕业于顶尖学府的精英,并且会参考他们大学阶段的成绩单. 如果小编说,谷歌也曾经录用过一位没受过正规大学教育.连本科文凭都没有.基本全靠自学成才的草根码农,大家会不会觉得不可思议?但是,这事儿真的可以有——曾就职于谷歌.Square.DoubleHelix等公司的资深软件工程师及创业者大卫•比托(DavidByttow)日前撰文介绍了他从

码农如何规划自己的人生

序言 码农统指写代码的IT民工,IT民工该怎么规划自己的人生?规划+努力=码农美好的春天. 当思考成为习惯,成功将随之而至 首先我们庆幸的是我们是软件行业的一员,我们作为程序员从最基础的“农民工”开始的,从反反复复的代码中成长起来.我们要为我们的职业感到骄傲才对,他赋予了我们善于动脑的习惯,程序员每天要应对的问题多种多样,我们要快速的思考,不知不觉我们锻炼出了思考的习惯. 思考是前进的本质,我们在当初能进入程序员行业,就说明我们还是喜欢挑战的.但是话说回来,程序员的最终是需要归宿的,我们不可能一

写给立志做码农的大学生(蘑菇街你都挂了,你还要面腾讯? 我去,我一定要去)

先简单介绍一下我自己,我是一所普通大学的本科生,大学录取时的专业是非计算机系的,在大一下学期意识到自己喜欢敲代码以后,就提交了转专业申请.大二起开始在计算机系学习.大三时(2015年4月)拿到了腾讯暑期实习的offer,暑期实习的过程中获得留用offer,大四没跑秋招,几乎就在学校浪荡了一年. 我不是大牛,不是来传播鸡汤或成功学的,只是最近有感于学弟学妹们在学习以及规划方面严重不足,觉得这是一个共性问题,遂捉起纸笔,写点东西. 1. 确定方向 1.1 选择比努力更重要 关于方向的选择其实越早确定

写给立志做码农的大学生

先简单介绍一下我自己,我是一所普通大学的本科生,大学录取时的专业是非计算机系的,在大一下学期意识到自己喜欢敲代码以后,就提交了转专业申请.大二起开始在计算机系学习.大三时(2015年4月)拿到了腾讯暑期实习的offer,暑期实习的过程中获得留用offer,大四没跑秋招,几乎就在学校浪荡了一年. 我不是大牛,不是来传播鸡汤或成功学的,只是最近有感于学弟学妹们在学习以及规划方面严重不足,觉得这是一个共性问题,遂捉起纸笔,写点东西. 1. 确定方向 1.1 选择比努力更重要 关于方向的选择其实越早确定

爆笑图片锦集,神秘的码农们

大家常说“星期一的感觉就像失恋一样: 星期二的感觉就像找不到对象一样:星期三的感觉就像暗恋一样:星期四的感觉就像准备告白一样: 星期五的感觉就像初恋一样:星期六的感觉就像热恋一样:星期天的感觉就像快分手一样.” 今天本是个晴空万里适合热恋.约会的天气,苦逼的码农只能敲敲代码,扫扫新闻,趁着还没睡醒,迷糊的状态,贴个图,抖擞下精神,发发神经~ 原来斯文人的背后是这个样纸的 急!!!! 在你的面前拽一下下~ 神一样的经历~你懂得~ 如此需求!拽爆了! IT妹子,要的就是“饭儿” 帅是随着年龄的增长而

拥抱Mac之码农篇

拥抱Mac之码农篇 使用Mac大概两年时间,之前用着公司配的一台27寸的iMac,无奈机械硬盘严重拖慢速度,影响工作心情,于是入手Macbook Retina 13,这两年的开发工作全部在Mac上完成,也积累了一点心得,遂总结此文,文章主要介绍一些我认为可以提高程序员工作效率的工具软件,希望对使用Mac的码农有点帮助. 包管理 Mac系统上主要的包管理有Macport和Homebrew,类似于Debian系列的apt-get,Redhat的yum,主要用来安装一些开源软件,这些工具的存在大大简化