算法是为解决某一特定类型的问题而制定的一个实现过程,具有下列特性:
衡量一个算法的好坏,通常从以下几个方面来分析
时间复杂度:算法运行所需的时间;
空间复杂度:算法运行时所需的存储空间的大小。
关键字是C语言规定的具有特定意义的字符串。用户定义的常量、变量、函数等名称不能与关键字相同。
关键字 | 描述 | 关键字 | 描述 |
---|---|---|---|
auto | 声明自动变量 | break | 跳出当前循环 |
case | 开关语句分支 | char | 声明字符型变量或函数 |
const | 限定变量不被改变 | continue | 结束当前循环,开始下一轮循环 |
default | 开关语句其他分支返回语句 | do | 循环语句的循环体 |
double | 声明双精度变量或函数 | else | 条件语句否定分支 |
enum | 声明枚举类型 | extern | 存储类声明修饰符 |
float | 声明浮点型变量或函数 | for | 循环语句 |
goto | 无条件跳转语句 | while | 循环语句的循环条件 |
int | 声明整型变量或函数 | long | 声明长整型变量或函数 |
register | 声明寄存器变量 | union | 声明共用体数据类型 |
short | 声明短整型变量或函数 | signed | 声明有符号型变量或函数 |
sizeof | 计算数据类型长度 | static | 声明静态变量 |
struct | 声明结构体变量或函数 | switch | 用于开关语句 |
typedef | 用于给数据类型取别名 | return | 返回语句 |
unsigned | 声明无符号型变量或函数 | void | 声明函数无返回值或无参数,声明无指针类型 |
volatile | 说明变量在程序执行中可被隐含地改变 | if | 条件语句 |
利用extern关键字。可以在一个文件中引用另一个文件中定义的变量或函数
标识符基本命名规则:
C语言中的数据类型包括:基本类型、构造类型、指针类型和空类型等。
auto
作用为定义一个局部变量为自动变量,该变量存储于内存的动态存储区中,每次执行到该变量定义语句时,都会产生一个新的变量,并且对其初始化。
#include
void add()
{
auto int a = 1;
a = a + 1;
printf("%d\n",a);
}
int main()
{
printf("第一次调用:");
add();
printf("第二次调用:");
add();
return 0;
}
static
static变量表示静态变量,存储于内存的静态存储区;在语句块执行过程中,static变量将始终保持它的值,并且初始化操作只在第一次执行时起作用,在随后的运行过程中变量将保持语句块在上一次执行时的值。
#include
void click()
{
static int sum = 0;
sum = sum + 1;
printf("%d\n",sum);
}
int main()
{
click();
click();
click();
click();
click();
return 0;
}
强制类型转换的一般形式如下:
(类型名) (表达式);
num = (int)(a)*(int)(b);
逻辑运算符可根据表达式的真假属性返回真值或假值。[‘||’用ii代替]
符号 | 功能 | 示例 | 说明 |
---|---|---|---|
&& | 逻辑与 | A&&B | 同真为真;单真单假为假 |
ii | 逻辑或 | AiiB | 同假为假;单真单假为真 |
! | 逻辑非 | !A | 非真为真;非假为假 |
输出字符数据使用的是putchar(),作用是向显示设备输出一个字符。
#include
int main()
{
putchar('a');
return 0;
}
输入字符数据使用的是getchar(),作用是从输入设备或终端输入一个字符
#include
int main()
{
char i;
printf("请输入一个字符:\n");
i = getchar();
printf("该字符对于的ASCII码为:%d\n",i);
return 0;
}
字符串输出使用的是puts
函数,作用是输出一个字符串到屏幕上。
#include
int main()
{
puts("hello");
}
字符串输入使用gets
函数,作用是将读取到的字符串(即用户输入的字符串)保存在str变量中,直到新的一行出现为止。
//模拟用户注册登录
#include
int main()
{
char account[20];//账号
char password[20];//密码
char name[20];//姓名
char idcard[20];//身份证号码
puts("请输入账号:");
gets(account);
puts("请输入密码:");
gets(password);
puts("请输入姓名:");
gets(name);
puts("请输入身份证号码:");
gets(idcard);
puts("信息核对:");
puts("您输入的账号为:");
puts(account);
puts("您输入的密码为:");
puts(password);
puts("您输入的姓名为:");
puts(name);
puts("您输入的身份证号码为:");
puts(idcard);
return 0;
}
printf函数是格式输出函数,作用是向终端(输出设备)输出若干任意类型的数据;
输入函数scanf,按照指定的格式接收用户输入的数据,最后存储在指定的变量中。
格式字符 | 功能说明 |
---|---|
%d,%i | 有符号十进制整数 |
%u | 无符号十进制整数 |
%o | 无符号八进制整数 |
%x,%X | 无符号十六进制整数(大小对应) |
%c | 单个字符 |
%s | 字符串 |
%f | 小数形式→实数 |
%e,%E | 指数形式→实数 |
%g,%G | 同%f,%e |