【C基础篇】算法、数据类型、运算符与表达式、常见输入出函数

【C基础篇】算法、数据类型、运算符与表达式、常见输入出函数

  • 引言
  • 一、算法
    • 1、算法的基本概念
  • 二、数据类型
    • 1、关键字
    • 2、标识符
    • 3、数据类型
    • 4、变量的存储类别
  • 三、运算符与表达式
    • 1、强制类型转换
    • 2、逻辑运算符
  • 四、常用数据的输入(出)函数
    • 1、字符输入(出)
    • 2、字符串输入(出)
    • 3、格式输入(出)

引言

  • 算法:熟悉算法概念、算法的描述;
  • 数据类型:学习C语言最基础的语法知识、认识变量、常量和数据类型;
  • 运算符和表达式:掌握各种运算符、表达式、优先级结合性等内容。

一、算法

1、算法的基本概念

算法是为解决某一特定类型的问题而制定的一个实现过程,具有下列特性:

  • 有穷性:执行步骤有穷、执行时间有穷,不能无限执行;
  • 确定性:每个步骤都有确切定义;
  • 可行性:每一步都能有效运行;
  • 输入:一个算法应有零个或多个输入;
  • 输出:一个算法应有一个或多个输出。

衡量一个算法的好坏,通常从以下几个方面来分析

  • 正确性
  • 可读性
  • 健壮性
  • 时间复杂度和空间复杂度

时间复杂度:算法运行所需的时间;
空间复杂度:算法运行时所需的存储空间的大小。

二、数据类型

1、关键字

关键字是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关键字。可以在一个文件中引用另一个文件中定义的变量或函数

2、标识符

标识符基本命名规则:

  1. 必须以字母或下划线开头,不能以数字或符号开头;
  2. 除开头外的其他字符可以由字母、下划线或数字组成;
  3. 大写和小写的字母代表不同的标识符;
  4. 标识符不能是关键字;
  5. 标识符应体现一定的功能含义,便于理解;

3、数据类型

C语言中的数据类型包括:基本类型、构造类型、指针类型和空类型等。
【C基础篇】算法、数据类型、运算符与表达式、常见输入出函数_第1张图片

4、变量的存储类别

auto
作用为定义一个局部变量为自动变量,该变量存储于内存的动态存储区中,每次执行到该变量定义语句时,都会产生一个新的变量,并且对其初始化。

#include

void add()
{
    auto int a = 1;
    a = a + 1;
    printf("%d\n",a);
}

int main()
{
    printf("第一次调用:");
    add();
    printf("第二次调用:");
    add();
    return 0;
}

【C基础篇】算法、数据类型、运算符与表达式、常见输入出函数_第2张图片
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;
}

【C基础篇】算法、数据类型、运算符与表达式、常见输入出函数_第3张图片

三、运算符与表达式

1、强制类型转换

强制类型转换的一般形式如下:

(类型名) (表达式);
num  = (int)(a)*(int)(b);

2、逻辑运算符

逻辑运算符可根据表达式的真假属性返回真值或假值。[‘||’用ii代替]

符号 功能 示例 说明
&& 逻辑与 A&&B 同真为真;单真单假为假
ii 逻辑或 AiiB 同假为假;单真单假为真
逻辑非 !A 非真为真;非假为假

四、常用数据的输入(出)函数

1、字符输入(出)

输出字符数据使用的是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;
}

在这里插入图片描述

2、字符串输入(出)

字符串输出使用的是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;
}

【C基础篇】算法、数据类型、运算符与表达式、常见输入出函数_第4张图片

3、格式输入(出)

printf函数是格式输出函数,作用是向终端(输出设备)输出若干任意类型的数据;
输入函数scanf,按照指定的格式接收用户输入的数据,最后存储在指定的变量中。

格式字符 功能说明
%d,%i 有符号十进制整数
%u 无符号十进制整数
%o 无符号八进制整数
%x,%X 无符号十六进制整数(大小对应)
%c 单个字符
%s 字符串
%f 小数形式→实数
%e,%E 指数形式→实数
%g,%G 同%f,%e

你可能感兴趣的:(C,c语言)