C语言入门知识点(复习,大概了解不必较真)

1.什么是C语言

a.C语言是一门高级语言,其还有C++,jave等。

2.第一个C语言程序

3. 数据类型

char(字符数据类型)

short(短整型)

int(整形)

long(长整型)

long long(更长整形)

float(单精度浮点数)

double(双精度浮点数)

4.变量,常量

变量
局部变量:定义在代码块内的变量

全局变量:定义在代码块({})之外的变量
注:a.局部变量和全局变量的名字不要用相同(容易产生bug)。

b.当全局变量与局部变量名字相同时,局部变量优先。

变量的生命周期与生命周期

 1.局部变量的生命周期:进入作用域开始。

 2.全局变量的生命周期:整个程序的生命周期。

作用域:这个变量哪里能用,哪里就是它的作用域。

常量
字面常量//1,2,3,4....
const修饰的常变量//const:常属性
#define定义的标识符常量//#define MAX 10
枚举常量(被计算机定义的,不可改其值)//枚举关键 enum Sexm

5.字符串+转义字符+注释

字符串:由双引号引起的一串字符称为字符串字面值(字符串)

转义字符:转变原来的意思

注释:例如“//”,“*/”

6.选择语句

如果if(...)

其他else(...)

7.循环语句

while语句

for语句

do...while语句

8.函数

1.库函数

2.自定义函数

#include<stdio.h>
int Add(int x,int y)//int-为函数的返回类型;Add-为函数名;int x-为函数的参数
{
int z +=(x,y);//{}-为函数体 
renturn z;
}
int main()
{....
....
....
return 0;
}

9.数组

数组的定义:一组相同类型元素的集合。

int arr【10】//定义一个存放10个整数的数组
... char....//...............字符......

数组的使用:通过下标来使用

10.操作符

1.算数操作符:+,-,*,%;

2.移位操作符(移二进制位):》 右移,《 左移;

3.位操作符(二进制):&(按位与),|(按位或),^(按位导或);

4.赋值操作符

复合赋值符:=,+=,-=,*=,/=,&=,^=,|=,》=,《=;

单目操作符,双目(三目)操作符,(双目:操作位数为2)

!:逻辑反操作

-:减

+:加

&:取地址

sizeof:操作数的类型长度(以字节为单位)(计算的是变量或者类型所占的空间大小)

~:按位取反(2进制)

--:

++:

...
...
...
{
int a = 1;
int b = a++;//后置++(使用方法:先使用a的值在++,反之亦然);
printf("%d\n",a,b)//打印出来的b=1,a=2
...
}

*:间接访问操作符

(类型)强制类型转换:

{
int a = (char)3.23;





}

5.关系操作符:>=,<=,!=,==;

6.逻辑操作符:(0为假,正数为真)       -------------------- 注:不是很懂

{
int a = 2;
int b = 3;
int c = a&&b;//与数学中的”交“相似(a||b,与“并”相似)
printf("%d\n",c);//打印出来为1(真)
}

7.条件操作符

exp1 ? exp2 :exp3

{
max(a<b?b:a)//若a>b则输出条件3;反之亦然
}

8.下标引用,函数调用和结构成员操作符

a.下标引用操作符:

int main()
{
int arr[10] = {0};
int arr[4];//[]为下标引用操作符
return 0;
}

b.函数调用操作符:

int Add(int x,int y);
{
int z = 0;
z = x + y;
return z;
}
int main()
{
int a = 8;
int b = 8;
int sum = Add(a,b);//()为函数调用操作符
return 0;

}

c.结构成员操作符(?)

(原码,反码,补码的补充)注:计算机中二进制数储存时最高位放的是符号位(1为负,0为正);

1.只要为整数内存中储存的都是二进制的补码。

原码(直接按正负写出的二进制序列)——>反码(原码符号位不变,其他位按位取反)——>

补码(反码加一);

2.正数——反码,补码,原码相同;

3.负数——内存只存补码;

11.常见关键字

auto:

int main()
{
auto int a = 20;//"a"既叫局部变量,也叫自动变量(auto原本每个局部变量前都有,后省略)。
return 0;
}

register, break ,case, char, const, continue(继续), default(默认),do, doouble, else,

enum, extern(引入外部符号), float, for, goto, if, int ,long,

register(寄存器):也叫计算机储存数据,(硬盘——>内存——>高速缓存——>寄存器)

signed:(signed int定义的变量是有符号的,而unsigned定义无符号的变量)

sizeof, static(静态), struct(结构体关键字), switoh , typedef(类型定义/类型重定义), 

union(联合体/共用体), void(无/空), volatile, while, 

static:1.修饰局部变量时,局部变量的生命周期变长;

2.修饰全局变量时将变量的作用域变短;

3.修饰函数时改变函数的链接属性(外部链接——>内部链接);

#define(定义常量和宏,define是一种指令不是操作符)

12.指针(大概了解)

:指针变量:是用来存放地址的

:*p解引用操作符

int main()
{
int a = 10;
int* p = &a;
*p = 39;
printf("%d\n",a)//打印出的a应等于39;
return 0;
}

13.结构体(自己创建出来的一种类型)

#include<stdio.h>
struct Book//struct:结构体关键字
{
char name[20];
};//必须加“;”
int main()
{
struct Book b1={"c语言"};
printf("%s\n",(b1).name);//b1为利用结构体类型创建的该类型的结构体变量;
return 0;
}
(用下面代码时应表示*bp与&b1的关系;例:sturct Book* bp = &b1)
//printf("%s\n",(*bp).name);(.):结构体变量.成员
//printf("%s\n",bp->name);//(->):结构指针->成员
补充:若想再添加改变后的书名:
strcpy(b1.name = c++)//strcpy为字符串拷贝函数(库函数),所以应加头文件(#include<string.h>);
之所以不直接用(b1 name = C++)因为“name”不是一个变量而是一个数组;

总结:以上再加上期的复习,只是对c语言有个大概了解(很粗略),对于我这个小白来说,它能让自己在以后的学习中脑子有一个大概的框架,从而更好的理解与学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值