C语言笔记
.c是C语言源文件,在编写代码的时候创建
.o是目标文件,在编译成功的时候产生 .obj
.out是可执行文件,在链接成功的时候产生
工具:clang编译器(Xcode3 gcc Xcode4 LLVM (clang))
指令:cc -c 文件名.c 【Tab键】
编译 成功,会生成一个.o目标文件
链接:其实就是把我们的.o目标文件跟系统自带的函数库合并在一起,生成一个可执行文件见
Touch 02-我的第二个C语言程序.c【创建文件】
1> %d\%i 整数(int)
2> %f 小数(float double)
3> %c 字符(char)
4> %p 输出地址
5> & 地址运算符
Sizeof 作用
用来计算一个变量或者一个常量,一种数据类型所占的内存字节数
基本形式
Sizeof(常量\变量)
Sizeof 变量\常量
Sizeof (数据类型)
不能是sizeof数据类型
列:
Double a;
Int b=sizeof(a);
Printf("%d\n:",b);
输出b:8 表示8个字节
scanf接受输入
这也是在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h>。
调用scanf函数时,需要传入变量的地址作为参数,scanf函数会等待标准输入设备
(比如键盘)输入数据,并且将输入的数据赋值给地址对应的变量
- 注意:数值之间的分隔符是任意的,不一定要用中划线-,可以是逗号、空格、星号*、井号#等等,甚至是英文字母
// 逗号,
scanf("%d,%d,%d", &a, &b, &c); // 输入格式:10,14,20
// 井号#
scanf("%d#%d#%d", &a, &b, &c); // 输入格式:10#14#20
// 字母x
scanf("%dx%dx%d", &a, &b, &c); // 输入格式:10 x14x20
运算符的优先级(从高到低)
- 关系运算符中==、!=的优先级相等,
- <、<=、>、>=的优先级相等,
- 且前者的优先级低于后者:2==3>1
- 如果在程序中,要改变运算顺序,可以使用()。
|
优先级 |
描述 |
运算符 |
|
1 |
括号 |
()、[] |
|
2 |
正负号 |
+、- |
|
3 |
自增自减,非 |
++、--、! |
|
4 |
乘除,取余 |
*、/、% |
|
5 |
加减 |
+、- |
|
6 |
移位运算 |
<<、>>、>>> |
|
7 |
大小关系 |
>、>=、<、<= |
|
8 |
相等关系 |
==、!= |
|
9 |
按位与 |
& |
|
10 |
按位异或 |
^ |
|
11 |
按位或 |
| |
|
12 |
逻辑与 |
&& |
|
13 |
逻辑或 |
|| |
|
14 |
条件运算 |
?: |
|
15 |
赋值运算 |
=、+=、-=、*=、/=、%= |
|
16 |
位赋值运算 |
&=、|=、<<=、>>=、>>>= |

内存-进制


// 输出整数的二进制形式
void putBinary(int n)
{
int bits = sizeof(n) * ;
while (bits-->) {
printf("%d", n>>bits&);
if (bits%==) printf(" ");
}
printf("\n");
}


- signed和unsigned
1> 首先要明确的:signed int等价于signed,unsigned int等价于unsigned;
2> signed和unsigned的区别就是它们的最高位是否要当做符号位,并不会像short和long那样改变数据的长度,即所占的字节数。
- signed:表示有符号,也就是说最高位要当做符号位,所以包括正数、负数和0。其实int的最高位本来就是符号位,已经包括了(正负数和0)了,因此signed和int是一样的,signed等价于signed int,也等价于int。signed的取值范围是-231 ~ 231 - 1
- unsigned:表示无符号,也就是说最高位并不当做符号位,所 以不包括负数。在64bit编译器环境下面,int占用4个字节(32bit),因此unsigned的取值范围是:0000 0000 0000 0000 0000 0000 0000 0000 ~ 1111 1111 1111 1111 1111 1111 1111 1111,也就是0 ~ 232 - 1
C语言笔记的更多相关文章
- R语言笔记
R语言笔记 学习R语言对我来说有好几个地方需要注意的,我觉得这样的经验也适用于学习其他的新的语言. 语言的目标 我理解语言的目标就是这个语言是用来做什么的,为什么样的任务服务的,也就是设计这个语言的动 ...
- R语言笔记4--可视化
接R语言笔记3--实例1 R语言中的可视化函数分为两大类,探索性可视化(陌生数据集,不了解,需要探索里面的信息:偏重于快速,方便的工具)和解释性可视化(完全了解数据集,里面的故事需要讲解别人:偏重全面 ...
- Scala语言笔记 - 第一篇
目录 Scala语言笔记 - 第一篇 1 基本类型和循环的使用 2 String相关 3 模式匹配相关 4 class相关 5 函数调用相关 Scala语言笔记 - 第一篇 最近研究了下scala ...
- Go 语言笔记
Go 语言笔记 基本概念 综述 Go 语言将静态语言的安全性和高效性与动态语言的易开发性进行有机结合,达到完美平衡. 设计者通过 goroutine 这种轻量级线程的概念来实现这个目标,然后通过 ch ...
- 014-预处理指令-C语言笔记
014-预处理指令-C语言笔记 学习目标 1.[掌握]枚举 2.[掌握]typedef关键字 3.[理解]预处理指令 4.[掌握]#define宏定义 5.[掌握]条件编译 6.[掌握]static与 ...
- 013-结构体-C语言笔记
013-结构体-C语言笔记 学习目录 1.[掌握]返回指针的函数 2.[掌握]指向函数的指针 3.[掌握]结构体的声明 4.[掌握]结构体与数组 5.[掌握]结构体与指针 6.[掌握]结构体的嵌套 7 ...
- 011-指针(上)-C语言笔记
011-指针(上)-C语言笔记 学习目标 1.[掌握]字符串常用函数 2.[掌握]指针变量的声明 3.[掌握]指针变量的初始化 4.[掌握]函数与指针 5.[掌握]指针的数据类型 6.[掌握]多级指针 ...
- 010-字符串-C语言笔记
010-字符串-C语言笔记 学习目标 1.[掌握]二维数组的声明和初始化 2.[掌握]遍历二维数组 3.[掌握]二维数组在内存中的存储 4.[掌握]二维数组与函数 5.[掌握]字符串 一.二维数组的声 ...
- 009-数组-C语言笔记
009-数组-C语言笔记 学习目标 1.[掌握]数组的声明 2.[掌握]数组元素的赋值和调用 3.[掌握]数组的初始化 4.[掌握]数组的遍历 5.[掌握]数组在内存中的存储 6.[掌握]数组长度计算 ...
- 008-进制-C语言笔记
008-进制-C语言笔记 学习目标 1.[掌握]include预处理指令 2.[掌握]多文件开发 3.[了解]认识进制 4.[掌握]进制之间的互相转换 5.[掌握]原码,反码,补码 6.[掌握]位运算 ...
随机推荐
- 【原创】Windows平台搭建Kafka源代码开发环境(Eclipse版本)
最近在研究Kafka源代码,需要自己搭建一个开发环境.官网上给出的提示略显简单,照着做了一遍也碰到了一些问题.特此记录下来. 开发环境: Oracle Java 1.7_u71 + Eclipse 4 ...
- 【转】C#类似Jquery的html解析类HtmlAgilityPack基础类介绍及运用
Html Agility Pack下载地址:http://htmlagilitypack.codeplex.com/ Html Agility Pack 源码中的类大概有28个左右,其实不算一个很复杂 ...
- 【转】NoSQL初探之人人都爱Redis:(2)Redis API与常用数据类型简介
一.Redis API For .Net 首先,不得不说Redis官方提供了众多的API开发包,但是目前Redis官方版本不支持.Net直接进行连接,需要使用一些第三方的开源类库.目前最流行的就是Se ...
- C语言学习009:管道连接输入输出
现在我们需要对gpsdata.csv文件中的数据进行筛选,然后将符合条件的数据输出到output.json文件中,第一种方式当然是在之前的代码中进行修改,但是如果我们不想修改原来的代码就能得到我们期望 ...
- javascript学习笔记2-typeof、Number类型、Boolean()
1.typeof操作符 对一个值使用typeof操作符可能返回下列某个字符串 "undefined"——这个值未定义 "boolean"——这个值是布尔值 &q ...
- WPF 将DLL嵌入EXE文件(安装包)
网上很多例子,各种套路,就是没有测试过. WPF 将DLL嵌入EXE文件的套路是这样的 1.将要引用的dll源文件添加到wpf 项目中,dll 的属性->生成操作为[嵌入的资源]. 2.监听 ...
- 使用MySQL WorkBench导出数据库
1. 在MySQL WorkBench的Server Administrator中双击要连接的数据库: 2. 点击左边的Data Export,在右边的数据库列表中选择要导出的数据库: 3. Expo ...
- 【Java每日一题】20161121
package Nov2016.use01; class Test { public String getString(){ return "123"; } } package N ...
- 【Java每日一题】20161017
20161014问题解析请点击今日问题下方的"[Java每日一题]20161017"查看 package Oct2016; import java.util.ArrayList; ...
- 最短的数字判断代码 js
转自 http://www.cnblogs.com/snandy/p/3590186.html 我们知道JavaScript提供了typeof运算符,因此最容易想到的是用typeof来判断是否是nu ...