一、C语言入门基础

一、C语言数据类型

二、输入输出函数

1. printf 函数

头文件: stdio.h
原型:int printf(const cahr *format, ...);
format : 格式控制字符串
… :可变参数列表
返回值 :输出字符的数量

printf 函数转换说明

转换说明输出
%a浮点数、十六进制数、p记数法
%A浮点数、十六进制数、p记数法
%c单个字符
%d有符号的十进制数
%e浮点数、e记数法
%E浮点数、e记数法
%f浮点数、十进制记数法
%g根据值的不同,自动选择%e,%f。%e格式用于指数小于-4或者大于或者等于精度时
%G根据值的不同,自动选择%e,%f。%e格式用于指数小于-4或者大于或者等于精度时
%i有符号的十进制数(与%d相同)
%o无符号的八进制数
%p指针
%s字符串
%u无符号的十进制数
%x有符号的十六进制数,使用十六进制数0f
%X有符号的十六进制数,使用十六进制数0F
%%打印一个%

sprintf、fprintf

sprintf : 将输出的内容输出到字符数组中,可以做字符串的拼接操作
fprintf : 将输出的内容输出到文件中

#include <stdio.h>

int main() {
    char str[100] = {0};
    int arr[4];
    sprintf(str, "%d.%d.%d.%d", 121,196,171,222);
    printf("%s\n", str);
    
    FILE *fp = fopen("./output", "w");
    fprintf(fp, "%s\n", str);
    fclose(fp);

    return 0;
} 

2. scanf 函数

头文件: stdio.h
原型:int printf(const cahr *format, ...);
format : 格式控制字符串
… :可变参数列表
返回值 :成功读入参数的个数

scanf 函数转换说明

转换说明含义
%c把输入解释成字符
%d把输入解释成有符号的十进制数
%e 、%f、%g、%a把输入解释成浮点数
%E 、%F、%G 、%A把输入解释成浮点数
%i把输入解释成有符号的十进制数
%o把输入解释成无符号的八进制数
%p把输入解释成指针(地址)
%s把输入解释成字符串
%u把输入解释成无符号的十进制数
%x 、%X把输入解释成有符号的十六进制数

循环输入
while (scanf() != EOF)
EOF : end of file (文件结尾)

sscanf\fscanf

sscanf : 从一个字符串中读入值
fscanf : 从一个文件中中读入值

#include <stdio.h>

int main() {
    char str[100] = {0};
    int arr[4];
    sprintf(str, "%d.%d.%d.%d", 121,196,171,222);
    printf("%s\n", str);
    sscanf(str, "%d.%d.%d.%d", &arr[0], &arr[1], &arr[2], &arr[3]);
    for (int i=0; i < 4; i++) {
        printf("%d\n", arr[i]);
    }

    FILE *fp = fopen("./output", "w");
    fprintf(fp, "%s\n", str);
    fclose(fp);

    fp = fopen("./output", "r");
    fscanf(fp, "%s", temp);
    fclose(fp);
    printf("%s", temp);

    return 0;
} 

三、C语言基本运算符

运算符说明
=复制运算符
+、-、*、 /、基本四则运算
%取余运算
&、|、^、 ~、位运算
<<、>>左移、右移

a^a = 0
0^n = n

负数:由补码表示

补码 = 反码 + 1
反码 = ~原码
负数 = ~原码 + 1

循环读入的实现
while (scanf("%d", &n) != EOF) {}
while (~scanf("%d", &n)) {}

四、C语言中的数学函数库

项目Value
pow(a, n)fabs(n)
sqrt(n)log(n)
ceil(n)log10(n)
sqrt(n)log(n)
floor(n)acos(n)
abs(n)

五、流程控制

  1. 顺序
  2. 分支
  3. 循环

1.关系运算符

运算符说明
==等于
!=不等于
<、>小于、大于
<=、>=小于等于、大于等于
!

2.分支结构

if 语句

if (表达式) {
    代码段;
}

if (表达式) {
    代码段1}
else {
    代码段2}

if (表达式1) {
    代码段1
}
else if (表达式2) {
    代码段2}
else {
    代码段3}

switch 语句

switch(a) {
    case 1 : 代码块1;
    case 2 : 代码块2;
    case 3 : 代码块3;
    default : break;
}

3.循环结构

while 语句

while (表达式) {
    代码块;
}

do {
    代码块;
} while (表达式);

for 循环

for (初始化; 循环条件; 执行后操作) {
    代码块;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值