C语言基础入门 -1

一.计算机中单位

bit  - 比特位 (最小单位);

byte- 字节

kb -千字节

mb -兆字节

gb-千兆字节

tb-太字节

1字节=8比特位 ;

其他单位之间换算为1024;

二.数据类型与所占字节

char //字符型     1字节

short//短整型     2字节

int    //整型     4字节

long //长整型    4字节

long long //更长整形     4字节

float  //单精度浮点型     4字节

double //双精度浮点型   4字节

三.基本输出符号(控制输出类型)

%d  - 输出为整形

%s输出为字符串

%c - 输出为字符

%f -输出为float浮点类型

%lf-输出为double浮点类型

%zu -接收size of返回值

四.常量与变量

常量:不可变值  如(性别,血型等)

变量:可变值如(身高体重)

1.变量类型

局部变量{  }内部所定义的变量

全局变量{  }外部定义的变量

2.变量的作用域

局部变量:局部变量所在的{  }内

全局变量:整个工程

3.变量的生命周期

局部变量:进入作用域生命周期开始。出作用域后生命周期结束

全局变量:整个工程的生命周期

4.常量类型

①字面常量 如数字1,浮点常量3.14,字符常量‘w’,字符串常量“abc”

②const修饰的常变量 

①
int main()
{
int a =0;
    a=20;
printf("%d",a);

return 0;
}
②int main()
{
const int a =10;
           a=20;
printf("%d",a)

}

输入const前变量a值可改变。输入const后锁定变量a的值 (此时a为常变量)

1中输出a为20 2中a被改变无法输出。

③#define定义的标识符常量

#define MAX=100  //(MAX定值为100)
int main ()
{
int a=MAX;
printf("%d",a)
return 0;
}

此时输出100

④枚举类型(未学)

五.转义符号(转变字符含义)

\n  -换行

\0  终止符号

\?  (现已少用) 连续书写三问号时,防止被解析为三字母词

(三字母词) 旧版中  ??)可能被翻译为],??\(可能为翻译为[

为防止即\?\?)

\'   普通单引号 未添加\会被当成‘’中的一个 无法显示

\“  普通双引号 未添加\会被当成”“中的一个 无法显示

\\   斜杆未添加\会被当成注释无法显示

\a  蜂鸣 报警

\r   回去

\t 水平制表符 效果相当于tab

\ddd 表示1~3个八进制的数字 如\130 =(x) 将八进制转为十进制对照ASCII编码表

\dd 表示2个十六进制的数字 如\x30 将十六进制转为十进制对照ASCII编码表

一个转义字符算一个字节

六.数组

可在其中存放一组相同类型的集合

int arr[  ]={'1','2','3','4','5'};

                 0   1   2  3  4 (数组下标);规定下标从0开始

[  ]

①填写arr数组容量 未填写会自己确定

②[  ]数组大小必须是常量

C语言中没有字符串类型 如果想存储字符串可用数组

char ch="a"; 将字符存储在字符变量ch中
char arr1[]="abcdef";

// 将字符串储存在ch中 (规定ch表示字符变量)

七.操作符

1.算数操作符

-加

-减

-乘

-除  只取得结果的商部分 例如(7/2=3)

%-取模  只取得结果的余数部分 例如(7/2=1) :取模操作符的两端必须是整数

除号的两端如果都是整形,执行的是整数除法

除号的两端只要有一端是浮点型,执行浮点型除法

2.移位操作符(后补)

3.位操作符(后补)

4.赋值操作符

= -赋值

+=  例如a+=3 = a=a+3

-=   同上

*=  同上

/=  同上

%= 同上

5.单目操作符(只可操作一边)

-逻辑反操作符 (把假变成真,真变成假)

//c语言中0为假,非0为真

int main()
{
	int flag = 0;
	if (!flag)         因为flag的值=0为假 if只有为真时才可运行 所以加上!使它为真
	{
	       }
}

因为flag的值=0为假 if只有为真时才可运行 所以加上!使它为真运行程序,为假if会直接跳过

sizeof -字节计算操作符  

前置  ++  后置 ++

①前置
int a=10;
int b=a++
先自加再赋值给b a=11 b=11
②后置
int a=10;
int b=a++
先赋值给b 再自加  b=10 a=11

a++ = a=a+1
 

前置- - 后置- -

①后置 - -
int a=10
int b=a--
b=10 a=9
②前置--
int a=10
int b=--a
a=9 b=9

b-- = b=b-1

(类型) 强制类型转换符 


int a =3.14;无法运行
int a =(int)3.14;强制转换 只保留整形

//3.14字面浮点数默认理解为double类型

6.关系操作符

>

<

=

<=

>=

== 两个等号才是用来判定相等 if(a==3)

7.逻辑操作符

&&  逻辑与 (并且)

int a=10;              
int b=20;
if(a&&b) ab同时为真时可运行 (非0为真)

||    逻辑或  (或者)

int a=10;
int b=0;
if (a||b) a或b一者为真 即可运行

8.条件操作符

exp1?exp2:exp3;  三目操作符

当1为真实输出2

当1为假时输出3

int a =10;
int b =20;
int z=(a>b?a:b;);

,  逗号表达式   逗号表达式的特点是从左向右依次计算,整个表达式的结果是最后一个表达式的结果

int main()
{
	int a = 3;
	int b = 1;
	int c = 0;
	int z = (c=a+10,b=b+c,c=a+b);
	printf("%d", c);
	return 0;
}

9.下标引用操作符

[ ]

#include<stdio.h>
int main()
{
	int arr1[] = { 1,2,3,4,5,6,7,8,9 };
	arr1[2] = 15;
	printf("%d", arr1[2]);
	return 0;
}

通过控制下标来改变数组中元素的值

八.常见关键字

C语言自带,不是自己创建,也无法创建

0.汇总

auto:自动运行 所有局部变量都是auto类型 

 ②

switch   : case : defaut :  if else :goto

循环

for while   :do while ;break 

内置类型

char  short  int  long  float  double    sizeof 计算大小的关键字 typedef 类型重命名 

viod 无的意思(一般用于函数的返回类型和函数的参数)

const 常属性

自定义

enum-枚举

struct-结构体

union-联合体(共用体)

signed 有符号

unsigned 无符号

extern 声明外部符号的

register寄存器

return 函数返回值

static 静态的

变量的名字不能是关键字

变量的命名要有意义

变量的名字必须是字母数字下滑线组成不能是特殊字符,同时不能以数字开头

1.typedef 类型重命名

简化不方便的类型名称(只针对类型)

 typedef struct Node ( 类型)④
{
int data ;
struct node*next
}Node;⑤





typedef unisigned int =unit ②
int main ()
{
unisigned int num=0;   ①
unit num1=0;           ③
struct Node =n; ⑥
node n2;⑦


return ;
}

unisigned int (无类型 int)为原名通过 添加typedef重命名为unit ,此时unit与unisigned int 作用相同

函数新名称在⑤后,typedef在函数名字前

2.static(静态)

1.修饰局部变量

①未添加static前 int a出局部后就销毁,int a重新定义为0 最后输出结果为10个1

#include<stdio.h>
void test()
{
	 int a = 0;
	a++;
	printf("%d", a);
}
int main()
{
	int i = 0;
	while (i < 10)
	{
		test();
		i++;
	}
	return 0;
}

②添加static后 

void test()
{
	static int a = 0;
	a++;
	printf("%d", a);
}
int main()
{
	int i = 0;
	while (i < 10)
	{
		test();
		i++;
	}
	return 0;

此时int a=0 出局部变量后不会销毁,留下一个固定的值等待下一次引用再次进行a++操作输出

输出结果为1-10;

(本质上static修饰局部变量的时候,改变了变量的存储位置)

2.修饰全局变量

3.修饰函数-称为静态函数

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值