c语言语法目录一
1、#include<stdio.h>
include 是要告诉编译器,包含一个头文件
在c语言中,任何库函数调用都需要提前包含头文件
<头文件> 代表让c语言编译器去系统目录下需找相关头文件。(系统库函数)
"头文件" 代表让c语言编译器去用户当前目录下寻找相关头文件。(自定义头文件)
2、main函数
main函数是c语言的主函数,一个c语言程序有且只能有一个主函数。
3、注释
// 单行注释
/* */ 单行或多行注释
4、{} 括号
函数代码都是在{}里包着的
5、声明
如 :int a; 声明一个变量一个名字叫a的整型变量
6、c语言自定义变量的要求
字母、数字和下划线的任意组合
区分大小写
不能使用c语言关键字作为变量名称
7、每一行结尾必须是英文下的分号(;)
8、printf函数是向标准输出设备输出字符串
9、return语句
函数遇到return便终止了,return是关键字
向调用函数返回值
return 0; 主函数return 0表示成功,-1表示失败
10、System系统调用(调用 #include<stdlib.h>头文件)
比如执行:system('calc'); 编译执行后会自动调用计算器程序。
11、c语言程序执行过程
预编译(.c文件)--> 编译 --> 链接(可执行程序)
预编译-E(比如:a.c转成a.e):将程序头文件的内容打开,去除无用的注释之类的东西
汇编:-S ,将c语言转化为c语言
编译:将代码编译为二进制的机器指令
12、常量的定义
#define MAX=100 //定义一个常量MAX,值为100,定义时必须赋初值,且不可修改
const int a = 100 //此处a也是一个常量
#define STRING "hello" //定义了一个字符串常量
const char *str = "hello c" //也定义了一个字符串常量
说明:对于#define类型的常量,习惯是常量名大写,但对于普通const常量及变量一般小写结合大写。
13、二进制数、位、字节与字
一个位只能表示0或1,两种状态,简称bit,
一个字节为8个二进制,称为8位,简称BYTE,
一个字为2个字节,简称WORD
2个字为双字,简称DWORD
14、二进制、八进制、十六进制
十进制: 0 1 2 3 4 5 6 7 8 9 10 满十进一
二进制: 0 1 10 满二进一
八进制(o): 0 1 2 3 4 5 6 7 10 11 12 满八进一
十六进制(0x/x): 0 1 2 3 4 5 6 7 8 9 a b c d e f 满十六进一
十进制--->八进制 /二进制/十六进制
十进制数作为被除数,八进制(二进制、十六进制)作为除数,每一次取得余数倒序排列即为八进制数(二进制/十六进制)
%x 代表输出16进制数,%X 用大写字母方式输出16进制数。
%o 代表输出八进制数
15、sizeof 关键字
功能是求指定数据类型在内存中的大小,单位:字节。
16、short,long,longlong,unsigned int
short 短整型 2字节 16bit
long 长整型 32位系统下是4字节,64位系统是4字节,unix是8字节
long long 是64位,即8字节,32位系统效率低
int 一致是 4字节(不分平台)
unsigned(无符号) 0000 0000 ->1111 1111 0->255
有符号时 0000 0000 -> 1111 1111 -127->127
18、整数溢出
计算一个整数的时候超过整数能够容纳的最大单位数后会溢出,溢出的结果就是高位舍弃。
例如:
unsigned short a = 0xffff;
a = a + 100;
printf("%d\n",a); //a=99
分析:a = 1111 1111 1111 1111
a+100 = a+1+99 = 1 0000 0000 0000 0000 + 99
short为两个字节,16bits,超过部分会溢出,不计入,所以:
a + 100 = 0 + 99 = 99
当一个小的整数赋值给大的整数,符号位不会丢失,会继承。
例如:
int i = 1234;
short a = -2;
i = a;
printf("%x\n",i); # FFFFFFFE
19、大端对齐和小端对齐
对于arm、intel这些x86构架的复杂指令CPU,整数在内存中是倒着存放的,低地址放低位,高地址放高位,被称为小端对齐。
对于unix服务器的CPU,更多采用大端对齐的方式。
如下图所示:

20、原码、反码、补码与无符号数
1、原码
最高位数为符号位(0代表正,1代表负)
0000 0011 --> 3 1000 0011 --> -3
2、反码
一个数如果值为正,那么反码和原码相同 如:3的反码 0000 0011
一个数如果值为负,那么符号位为1,其他各位与原码相反(0变1,1变0)
如 -3的反码为:1111 1100
3、补码(计算机中负数以补码存放)
正数:原码、反码、补码都相同
负数:最高位为1,其余各位原码取反,最后加1.
负数时的转换:原码-->反码(除最高位1不变,其余全部取反)
原码<-->补码(最高位1不变,其余取反,再加1)
c语言语法目录一的更多相关文章
- C语言语法目录二
1.char类型 char c;定义了一个char变量 'a' ; char常量 char的本质就是一个整数,一个只有一个字节大小的整数 char c; 定义一个有符号的char unsigned c ...
- Go语言语法汇总(转)
Go语言语法汇总 分类: 技术2013-09-16 14:21 3007人阅读 评论(0) 收藏 举报 go语言golang并发语法 目录(?)[+] 最近看了看GoLang,把Go语言的语法 ...
- C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com
原文:C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | I ...
- R语言语法基础二
R语言语法基础二 重塑数据 增加行和列 # 创建向量 city = c("Tampa","Seattle","Hartford"," ...
- R语言语法基础一
R语言语法基础一 Hello world #这里是注释 myString = "hello world" print(myString) [1] "hello world ...
- L脚本语言语法手冊 0.10版
L脚本语言语法手冊 0.10版 简 介 L脚本语言是一个轻量级的,旨在接近自然语言的编程语言,眼下支持在中文.英文基础上的编程.并可扩展为随意语种.L脚本语言的语法结构简单.程序结构相对 ...
- 嵌入式C语言自我修养 01:Linux 内核中的GNU C语言语法扩展
1.1 Linux 内核驱动中的奇怪语法 大家在看一些 GNU 开源软件,或者阅读 Linux 内核.驱动源码时会发现,在 Linux 内核源码中,有大量的 C 程序看起来“怪怪的”.说它是C语言吧, ...
- Go语言语法说明
Go语言语法说明 go语言中的go func(){}() 表示以并发的方式调用匿名函数func 深入讲解Go语言中函数new与make的使用和区别 前言 本文主要给大家介绍了Go语言中函数new与ma ...
- PL真有意思(二):程序设计语言语法
前言 虽然标题是程序语言的语法,但是讲的是对词法和语法的解析,其实关于这个前面那个写编译器系列的描述会更清楚,有关语言语法的部分应该是穿插在整个设计当中的,也看语言设计者的心情了 和英语汉语这些自然语 ...
随机推荐
- 静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?
Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化.而通常的内部类需要在外部类实例化后才能实例化,其语法看起来挺诡异的,如下所示. /** ...
- mac上安装mongoDb以及简单使用
年初粗略学习了下node,这好几个月没玩,突然发现已经忘完了,还是简单记录下基本知识,方便再次使用时资料查找. 一.mongoDb安装 在mac上安装了brew的情况下,可以直接执行命令 brew i ...
- vim技巧记录
安装插件 有个很好的同志已经做了一个比较全的插件集,下载就可以用: mv ~/.vimrc ~/.vimrcbak mv ~/.vim ~/.vimbak git clone https://gith ...
- CFile与CArchive区别
一,区别 CFile是直接与磁盘打交道的一个文件对象,可以处理文本和二进制文件 CArchive将CFile作为自己的一个参数,通过该参数可以实现文本,二进制甚至继承至COject对象的类的本地存储和 ...
- js 下获取子元素的方法
笔记核心: firstElementChild只会获取元素节点对象,从名称就可以看出来,firstChild则可以获取文本节点对象(当然也可以获取元素节点对象),比如空格和换行都被当做文本节点. js ...
- C++常量const
常量折叠概念 常量折叠表面上的效果和宏替换是一样的,只是“效果上是一样的”,而两者真正的区别在于,宏是字符常量,在预编译宏替换完成后,该宏名字会消失,所有对宏的引用已经全部被替换为它所对应的值,编译器 ...
- 剑指offer-第四章解决面试题的思路(二叉树的镜像)
题目:请完成函数,输入一个二叉树,该函数输出它的镜像. 思路:可能没有听说过书的镜像,但是可以通过画图等来找灵感.就像照镜子一样,人的左边和右边交换了. 如图: 通过如下图变化就可以由左图得到右图: ...
- 如何移除双系统mac中的windows系统
双系统 双系统即在电脑的不同分区中安装两个系统,两个系统不会互相影响,但是同时只能有一个系统正在运行,并且必须通过重启的方式来更换系统. 双系统一般由于解决对不同系统的需求,而且在电脑中直接安装系统也 ...
- XML的应用 ---- 从一个范例看xml数据、xsd验证、xslt样式
从一个范例看XML的应用 引言 如果你已经看了Asp.Net Ajax的两种基本开发模式 这篇文章,你可能很快会发现这样一个问题:在那篇文章的方式2中,客户端仅仅是发送了页面上一个文本框的内容到服务端 ...
- ORA-12541:无监听错误解决办法
http://jingyan.baidu.com/article/03b2f78c7a0ab75ea237ae33.html 1. 从开始菜单中打开“Oracle Net Configuratio ...