C语言总结

C语言的基础知识

数据类型
变量、常量
字符串+转义字符+注释
条件语句
函数
数组
操作符
指针
结构体

数据类型

char//字符数据类型
short//短整型
int//整形
long//长整型
long long//更长的整形
float//单精度浮点数
double //双精度浮点数

每种类型的大小是多少?

int main()

{

printf("%d\n", sizeof(char));

printf("%d\n", sizeof(short));

printf("%d\n", sizeof(int));

printf("%d\n", sizeof(long));

printf("%d\n", sizeof(long long));

printf("%d\n", sizeof(float));

printf("%d\n", sizeof(double));

printf("%d\n", sizeof(long double));

return 0;

}

运行结果
在这里插入图片描述

变量、常量

定义变量的方法

int age = 150;

float weight = 45.5f;

char ch = 'w';

变量的分类

局部变量:
1.局部变量的作用域是变量所在的局部范围。
2.局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。

全局变量
1.全局变量的作用域是整个工程。
2.全局变量的生命周期是:整个程序的生命周期。
当局部变量和全局变量同名的时候,局部变量优先使用

常量

字面常量
const 修饰的常变量
#define 定义的标识符常量
枚举常量enum

#include <stdio.h>

//举例

enum Sex

{

MALE,

FEMALE,

SECRET

};//括号中的MALE,FEMALE,SECRET是枚举常量

int main()

{

3.14;//字面常量

1000;//字面常量

const float pai = 3.14f;	//const 修饰的常量

pai = 5.14;//ok?

#define MAX 100	//#define的标识符常量

return 0;

}

字符串+转义字符+注释

字符串

"hello bit.\n"

这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。

注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。

转义字符

在这里插入图片描述
//问题1:在屏幕上打印一个单引号’,怎么做?
//问题2:在屏幕上打印一个字符串,字符串的内容是一个双引号“,怎么做?

#include <stdio.h>

int main()

{

printf("%c\n", '\'');

printf("%s\n", "\"");

return 0;

}

注释

注释有两种风格:
在这里插入图片描述

缺陷:不能嵌套注释

在这里插入图片描述
可以注释一行也可以注释多行

条件语句

选择语句

if语句的一般形式如下:
语法结构:

if(表达式)
语句;

if(表达式)
语句1;
else
语句2;

//多分支

if(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;

#include <stdio.h>

int main()

{

int age = 0;

scanf("%d", &age);

if(age<18)

{

printf("少年\n");

}

else if(age>=18 && age<30)

{

printf("青年\n");

}

else if(age>=30 && age<50)

{

printf("中年\n");

}

else if(age>=50 && age<80)

{

printf("老年\n");

}

else

{

printf("神\n");

}

}

switch语句也是一种分支语句。 常常用于多分支的情况。

比如:

case1,输出星期一

case2,输出星期二

case3,输出星期三

case4,输出星期四

case5,输出星期五

case6,输出星期六

case7,输出星期七

循环语句

C语言中如何实现循环呢?

while语句

for语句

do … while语句

//while 语法结构

while(表达式)

循环语句;
在这里插入图片描述

for(表达式1;表达式2;表达式3)

循环语句;
在这里插入图片描述

do

循环语句;

while(表达式);
在这里插入图片描述

函数

#include <stdio.h>

int main()

{

int num1 = 0;

int num2 = 0;

int sum = 0;

printf("输入两个操作数:>");

scanf("%d %d", &a, &b);

sum = num1 + num2;

printf("sum = %d\n", sum);

return 0;

}

上述代码,写成函数如下:

#include <stdio.h>

int Add(int x, int y)

{

int z = x+y;

return z;

}

int main()

{

int num1 = 0;

int num2 = 0;

int sum = 0;

printf("输入两个操作数:>");

scanf("%d %d", &a, &b);

sum = Add(x, y);

printf("sum = %d\n", sum);

return 0;

}

函数的特点就是简化代码,代码复用。

数组

数组定义


int arr[10] = {1,2,3,4,5,6,7,8,9,10};//定义一个整形数组,最多放10个元素

数组的使用

#include <stdio.h>

int main()

{

int i = 0;

int arr[10] = {1,2,3,4,5,6,7,8,9,10};

for(i=0; i<10; i++)

{

printf("%d ", arr[i]);

}

printf("\n");

return 0;

}

操作符

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

指针

内存是电脑上特别重要的存储器,计算机中所有程序的运行都是在内存中进行的 。

所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。

为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。

指针:保存地址。
在这里插入图片描述

在这里插入图片描述

那地址如何存储,需要定义指针变量。

int num = 10;

int *p;//p为一个整形指针变量

p = &num;

指针变量的大小

指针大小:32位 四个字节; 64位 八个字节。不论类型

#include <stdio.h>

int main()

{

printf("%d\n", sizeof(char *));

printf("%d\n", sizeof(short *));

printf("%d\n", sizeof(int *));

printf("%d\n", sizeof(double *));

return 0;

}

输出结果

结构体

结构体与数组对他们整体赋值只有一次机会在定义的同时赋值。
结构体内部不能初始化结构体成员。

结构体是C语言中特别重要的知识点,结构体使得C语言有能力描述复杂类型。

比如描述学生,学生包含: 名字+年龄+性别+学号 这几项信息。

这里只能使用结构体来描述了。

例如:

struct Stu

{

char name[20];//名字

int age;	//年龄

char sex[5];	//性别

char id[15]; //学号

};

结构体的初始化:

//打印结构体信息

struct Stu s = {"张三", 20, "男", "20180101"};

//.为结构成员访问操作符

printf("name = %s age = %d sex = %s id = %s\n", s.name, s.age, s.sex, s.id); //->操作符

struct Stu *ps = &s;

printf("name = %s age = %d sex = %s id = %s\n", ps->name, ps->age, ps->sex, ps->id);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值