C语言基础(一)——基本结构与进制转换

C语言的基本结构:

#include <stdio.h> //预处理指令,在编译时要处理的代码,在编译时会从库指定的路径中寻找
//stdio.h文件,将该文件中的代码复制粘贴到此处

int main(void) //main是程序的入口函数,void表示没有参数,int表示返回值类型
{
//功能实现部分
return 0; //结束当前函数,并向外返回一个值,人为规定,0状态返回表示程序正常结束,非0为异常结束
}

进制转换:

进制数
二进制:0-1
二进制转十进制:
0b1100(二进制):0 * 2^0 + 0 * 2^1 + 1 * 2^2 + 1 * 2^3 = 12(十进制数)

十进制转二进制
12(十进制数) = 利用短除法,除权位取余数,最后将余数倒着写

八进制:0-7
与二进制的转换:从最低位开始使用三位二进制数表示一位八进制数

八进制转二进制
0175(八进制数)= 1111101(二进制)

二进制转八进制
11101101(二进制) = 011 101 101 = 0355(八进制)

八进制转十进制
0175(八进制数) = 5 * 8^0 + 7 * 8^1 + 1 * 8^2 = 125(十进制)

十进制转八进制
236(十进制数) = 利用短除法,除权位取余数,最后将余数倒着写

十六进制:0-9 A-F
与二进制的转换:从最低位开始使用四位二进制数表示一位八进制数

十六进制转二进制
0x3EA(十六进制) = 0011 1110 1010(二进制)

二进制转十六进制
11000011110100101(二进制) = 0001 1000 0111 1010 0101 = 0x187A5

换算单位:

1B = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB

定义类型:

char a = 10;

变量:在程序运行的过程中其值可以改变量值,先定义后使用
语法:数据类型 变量名称 = 值;

数据类型:规定变量的位宽,确定内存中可以存放的值
C标准中只定义了数据类型,没有定义类型的位宽,类型占用的位宽,取决于平台
在当前64位机下:
整数类型:
占用内存 存放的数值范围
char 1B -128 - 127
short 2B -2^15 - +2^15-1
int 4B -2^31 - +2^31-1
long 8B -2^63 - +2^63-1
long long 8B 用于兼容下一代C版本标准

浮点类型
float 4B 小数点后6位
double 4B 小数点后12位

变量名称:

	1.只能以字母或_开头
	2.不能是C语言的保留字
	3.可以由多个单词组合,但中间不能有空格
	4.C语言区分大小写
	5.不能重复定义

:由变量的数据类型决定

数据的存储:

整数的存储
在内存中,保存一个整数,保存的是该数的补码

char a = 10 00001010

char a = -10 10001010 11110101 11110110

正整数:原码 = 补码
负整数:原码-》反码-》补码
反码 = 取反原码(符号位除外)
补码 = 反码 + 1

小数的存储
将数值划分为整数部分和小数部分,整数按照整数部分的存储,小数按照乘2取整

字符存储
ascii码表:美国标准信息交换码表
gbk:中文
gb2312:简体中文
UTF-8:万国码表

输入输出:

#include <stdio.h>

输出
printf(“要输出的内容”);

转义字符
\n:换行
\t:tab键
\:
": "

格式化字符
%d int,short
%c char
%f float
%lf double
%ld long
%lld long long
%s char *或 char []
%p void *
%x 无符号的十六进制数

输入
scanf(“格式化字符”,内存地址);

注意:

		1.在格式化字符处不要加\n
		2.多个输入间用什么符号分割在输入时就需要用什么符号分割数据
		3.变量必须获取内存地址进行传递,&变量:取得变量的内存地址

注释:编译器会跳过注释的内容
//单行注释

/*
多行注释
*/

运算符:

1、算术运算符:+ - * / %(取模)
两个整数相除,结果一定为整数
%(取模):得到两个数相除的余数

2、赋值运算符:= += -= = / %= ++ –
赋值运算,先执行=符号右边的公式,将结果赋值给左边的变量,修改其内存中的数据
只有赋值运算,才能更改一个变量的值

x += y; ===>> x = x + y

++运算,若是单独为一行代码,则不用考虑在变量之前还是在变量之后

++参与别的运算
++在变量之前:先自增,再取值做运算
++在变量之后:先取值做运算,在自增

3、比较运算符:> < == != >= <=
比较运算的结果,要么为0(假),要么为1(真)

4、逻辑运算符:&&(and) ||(or) !(not)
条件1 && 条件2:只有当多个条件都为真时,结果为真
短路运算:
若条件1为假,则逻辑运算结果为条件1的结果

条件1 || 条件2:只要有一个条件为真,则结果为真
短路运算:
若条件1为假,则逻辑运算的结果为条件2的结果

!(条件):得到条件相反结果

5、三目运算(三元表达式):? :
语法:条件表达式 ? 条件表达式成立时运算的结果 : 条件表达式不成立时运算的结果 ;

int c;
c = a > b ? a+b : b-a;

c = a > b ? (a > d ? a : d) : (a > e ? a : e);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值