C语言(算法+基础认识)

二、算法

特性

有穷性

确定性

可行性

输入

输出

优劣

正确性

可读性

健壮性

时间复杂度

空间复杂度

基本结构

顺序结构

选择结构

循环结构

三、入门

标识符

必须以字母或下划线开头,不能以数字或符号开头

在C语言中是区分大小写字母的

标识符不能是关键字

数据类型

基本数据类型

int number;/*整型变量*/
float fFloat;/*浮点型变量*/
char cChar;/*字符型变量*/
enum Fruits{Apple,Orange,Mango};/*枚举类型*/

构造类型

int arr[5];/*数组*/
struct Student student;/*结构体*/
union season s;/*共用体*/

指针类型

不同于其他类型,其特殊性就在于指针的值是表示某个内存地址

int *p;/*指针类型*/

空类型

关键字是void,主要作用:

​ 对函数返回值的限定

​ 对函数参数的限定

当函数不必返回一个值的时候,就可以使用空类型设定返回值的类型

void input(){/*自定义无返回值函数*/
	语句;
}

常量

整型常量

数据类型长度取值范围
unsigned short16位0~2^16-1
signed short16位-215~215-1
unsigned int32位0~2^32-1
signed int32位-231~231-1
unsigned long64位0~2^32-1
signed long64位-263~263-1
LongNum = 1000L;/*L表示长整型*/
UnsignLongNum=500U;/*U表示无符号整型*/
八进制

在常数前加上0修饰,数字0~7

十六进制

在常数前加上0x修饰,数字09,字母AF

十进制

数字0~9

存储方式

整型数据都是以二进制形式存储在内存中的,其数值是以补码形式来表示的。

正数的原码,反码,补码形式相同

负数的反码是对该数的原码除符号位外按位取反

负数的补码是将该数的原码除符号位外按位取反 再加1

实型常量

也称为浮点型,整数部分和小数部分用十进制的小数点隔开

F表示该常量为单精度

L表示该常量为长精度

默认为双精度

字符型常量

字符常量

使用单引号括起来的

只有一个字符

区分大小写

单引号代表定界符,不属于字符常量的一部分

字符串常量

使用双引号括起来的

若干字符

没有字符则称之为空字符串,长度为0

存储字符串常量时,系统会自动字符串常量的末尾自动加一个"\0"作为字符串常量的结束标志

因为有"\0",因此长度会多1

字符常量和字符串常量的区别

定界符使用不同

长度不同

存储方式不同,除了ascii还有结束符"\0"

转义字符

转义字符含义ASCII码值
\n回车换行10
\t横向跳到下一制表位置9
\v竖向跳格0x0b
\b退格8
\r回车13
\f走纸换页12
\\反斜杠\47
\’单引号’39
\a鸣铃7
\ddd1~3位八进制数所代表的字符
\xhh1~2位十六进制数所代表的字符

符号常量

使用符号代替固定的常量值

变量

整型变量

数据类型长度取值范围
unsigned short2字节0~2^16-1
signed short2字节-215~215-1
unsigned int4字节0~2^32-1
signed int4字节-231~231-1
unsigned long4字节0~2^32-1
long int4字节-231~231-1

默认是int

实型变量

类型名称关键字字节
单精度类型float4
双精度类型double8
长精度类型long double8

默认双精度

如需单精度,后缀加f

字符型变量

类型名称关键字字节范围
字符型char1字节-128~127
无符号字符型unsigned char1字节0~255

变量的存储类别

静态存储:程序运行期间分配固定存储空间

动态存储:程序运行期间根据需要动态的分配存储空间

存储形式

自动auto

局部变量的存储方式默认是自动

静态static

在语句块执行期间,static变量将始终保持它的值,并且初始化操作只在第一次执行时起作用, 在随后的运行过程中,变量将保持语句块上一次执行的值

寄存器register

指定某个局部变量存放在计算机的某个硬件寄存器中,而不是存放在内存中,可以提高程序的运行速度,无法获得寄存器的变量地址

外部extern

外部存储变量,声明程序中将要用到但尚未定义的外部变量,通常外部存储类都用于声明在另一个转换单元中定义的变量

#include <stdio.h>
#include "03-shiyong.h"
int main() {
 extern int iExtern;
 printf("%d", iExtern);
 return 0;
}

#include <stdio.h>
int iExtern = 100;
  • 16
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值