C语言基础

北城以北 提交于 2020-01-29 19:52:51

语法

算法描述

  • 自然语言

  • 流程图

  • N-S流程图

关键字

标识符

  • 可由字母,数字,下划线组成。

  • 数字不能开头

数据类型

常量

基础

  • 数值型常量

整型常量 和实型常量

  • 字符型常量

字符型常量和字符串常量

  • 符号常量

根据define 来定义

转义字符

  1. \n 回车

  2. \t tab,制表符

  3. \b 退格

  4. \r 回车

  5. \ 反斜杠

  6. \a 警告

  7. \odd 八进制

  8. \xdd 十六进制

变量

整形变量

基本

默认是有符号的

  • int

  • short [int]

范围是-32768~32767

  • long [int]

无符号

在前面加 unsigned

unsigned short

范围是0~65535

实型变量

  • float 单精度

  • double 双精度

  • long double 长双精度

字符变量

  • char 范围是-128~127

  • unsigned char 范围是0-255

存储类别

auto

默认为auto类型,用到就初始化这个变量,函数调用结束就会自动释放这变量

static

在函数内部使用

始终保持这个值

在函数外部使用

register

称为寄存器存储类变量

存放在计算机的某个硬件寄存器中而不是内存中

extern

外部存储变量,常用于多文件使用

运算符

逻辑运算符

用于表达式的

  • && 逻辑与

  • || 逻辑或

  • ! 逻辑非

位运算符

  • & 位逻辑与

  • | 位逻辑或

  • ^ 位逻辑非

  • ~ 取反

语句

输出

putchar()

输出单个字符

puts()

输入字符串

printf()

格式输出函数
printf(格式字符,要输出的变量)

举例使用

int a;
a=1;
printf("%d",a);

格式字符

  • %d 带符号的十进制输出整数

  • %o 以八进制输出

  • %x 以十六进制输出

  • %u 以无符号十进制输出

  • %c 以字符型输出

  • %s 输出字符串

  • %f 输出单精度小数

  • %lf 输出双进度小数

  • %e/E 输出指数形式

  • %g/G 输出宽度较短的一种格式,输出指数形式或者小数形式

附加格式

输出两位小数
printf("%4.2lf",a);
//或者
printf("%.2f",a);
左顶格

一般是右顶格的

printf("%-.2f".a);

输入

getchar()

输入一个字符

gets()

输入字符串

scanf()

scanf(格式控制,地址);

举例使用

scanf("%d",&a);//要取地址!

选择结构

if-else

if (表达式1)
{
	
}
else if (表达式2)
{
	
}
else
{
	
}

条件运算符

表达式1 ? 表达式2:表达式3

max = (a>b)? a:b

switch

switch (表达式)//这里没有冒号:
{
case 情况1:语句1;break;
case 情况1:语句1;break;
case 情况1:语句1;break;

default : 默认的语句;break;
}

循环结构

while()

可以不执行

while(a)
{
	a--;
}

do-while

至少执行了一次

do
{
	循环语句;
}while(表达式)

for

for(i = 1 ;  i < 10 ; i++)
{
	循环语句
}

转移语句

goto

goto 标识符

x:printf("asd\n");
if (num == 1)
	goto x;

break

跳出整个循环

continue

跳出本次循环

数组

一维数组

初始化

int a[10];//初始化数据类型为整形的10个元素的数组

引用

下标从0开始的

二维数组

初始化

int a[10][10];//初始化10行10列的数组

字符串

引入字符串的标准库

#include<string.h>

基本函数

字符串复制

strcpy(目的字符数组名,源字符数组名)

字符串连接

strcat(目的字符数组名,源字符数组名)

字符串比较

strcmp(字符数组名1,字符数组名2)

获得字符串长度

strlen(字符数组名)

函数

函数的定义

返回值类型    函数名(参数列表)
{
函数体(函数实现特定功能的过程);
}

函数的声明

返回值类型    函数名(参数列表);//在后面加个分号就行了

内外部函数

内部函数

只能在当前文件使用,在返回值类型前加static

static int add(int n1,int n2);

外部函数

默认是外部函数,在其他文件也可以调用这个函数

在返回类型前加extern

extern int add(int n1,int n2);

局外部变量

局部变量

只能在这个函数的范围中使用

全局变量

在其他文件也可以使用

指针

地址与指针

变量i

他的地址就是&i

指针变量

基本

类型说明 * 变量名

赋值

int a;
int *p = &a;
int a;
int *p;
p = &a;

结构体

声明

struct 结构体名
{
	成员列表
};
struct Productstruct
{
	Product char cName[10];
	char cShape(20];
	char cColor[10]:
	char cFunc[20];
	int iPrice;
	char cArea[20];
};

位运算

宏定义

文件

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!