C语言入门基础知识

一、数据类型

常量

1、通过预处理声明常量

 

#include <stdio.h>

#define PRICE 100

int main() {
    printf("价格:%d\n",PRICE);
    return 0;
}

2、通过 const 关键字声明常量

 

#include <stdio.h>
const int NUM=10;
int main() {
    printf("数量:%d\n",NUM);
    return 0;
}

区别:#define 在运行时会替换为指定的值,const可以看到数据类型,更推荐使用 const

整型

在C语言中分为有符号和无符号整型,无符号是整数,有符号包含负数

类型 说明
short 2字节
int 4字节
long 32位系统4字节,64位系统8字节
long long 8字节

 

int main() {
    int a=10;
    int b=-10;
    long long c=20;
    int d=0b111;//二进制
    int e=0xb;//十六进制
    int f=010;//八进制
    unsigned int g=12;//无符号正数
    printf("a=%d,b=%d,c=%d,d=%d",a,b,c,d);
    return 0;
}
  • 0b 为二进制方式赋值
  • 0x 为十六进制数据
  • 0 为八进制数据

进制相关知识参考其他教程

c11 标准 stdint.h 对数据的长度进行了统一

类型 说明
int8_t 统一8位1字节
int16_t 2字节
int32_t 4字节
int64_t 8字节
uint8_t 无字符1字节

浮点数

类型 说明
float 单精度,4字节,32位
double 双精度,8字节,64位
long double 长双精度,16字节,128位

typedef 自定义类型

 

typedef uint8_t mychar;
int main() {
    mychar ch='a';
    printf("%c",ch);
    return 0;
}

自定义类型相当于对类型起了个别名

二、goto 跳转

使用 goto 实现循环

 

int i=0;
aa:
printf("%d\n",i);
i=i+1;
if(i<100){
    goto aa;
}

标签名: 标记一个位置,goto 标签名; 跳转到指定标签位置,标签名可以自己定义。

三、输入与输出

相关函数文档参考:C语言stdio.h文档

1、字符输出

putchar:写字符到标准输出,相当于调用 putc
遍历字符并打印

 

#include <stdio.h>

int main() {
    char c;
    for (c='a';c<='z';c++) {
        putchar(c);
        putchar('\n');
    }
    return 0;
}

说明:char 类型占用1字节,每个字符都映射对应一个整数。

查看字符对应整数

 

#include <stdio.h>

int main() {
    char c;
    printf("=====小写====\n");
    for (c='a';c<='z';c++) {
        printf("%d\n",c);
    }
    printf("=====大写====\n");
    for (c='A';c<='Z';c++) {
        printf("%d\n",c);
    }
    return 0;
}

大写字符和小写字符刚好差距32, putchar('A'+32); 可转为小写。

2、字符串输出

puts:写字符串到标准输出

输出字符串示例

 

#include <stdio.h>

int main() {
    char string [] = "Hello world!";
    puts(string);
    return 0;
}

3、格式化输出

printf:打印格式化数据到标准输出,如果包含格式说明符(以%开头的子串)将格式化,用附加参数替换说明符(说明符可以认为是占位符)。

格式化时用到的说明符

符号 解释 举例
d 或者 i 有符号十进制整数 392
u 无符号十进制整数 7235
o 无符号八进制 610
x 无符号十六进制整数 7fa
X 无符号十六进制整数(大写) 7FA
f 十进制浮点,小写 392.65
F 十进制浮点,大写 392.65
e 科学记数法(尾数/指数),小写 3.9265e+2
c 字符 a
s 字符串 hello
p 指针地址(内存地址) b8000000
% %%打印出一个% %

格式化输出示例

 

#include <stdio.h>

int main() {
    printf("字符:%c %
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值