当前位置: 首页 > news >正文

C语言查漏补缺:基础篇

1.原理

C语言是一门编译型计算机语言,要编写C代码,C源代码文本文件本身无法直接执行,必须通过编译器翻译和链接器的链接,生成二进制的可执行文件,然后才能执行。这里的二进制的可执行文件就是我们最终要形成的可执行程序。

C语言形成可执行程序

C语言形成可执行程序

  1. 每个源文件(.c)单独经过编译器处理生成对应的目标文件(.obj为后缀的文件)

  2. 多个目标文件和库文件经过链接器处理生成对应的可执行程序(.exe文件)

2.查询网站

库函数查询:C library - C++ Reference

C语言关键字:C 关键词 - cppreference.com

ASCII编码表:ASCII 码表 - cppreference.com

  • 字符A~Z的ASCII码值从65~90

  • 字符a~z的ASCII码值从97~122

  • 对应的大小写字符(a和A)的ASCII码值的差值是32

  • 数字字符0~9的ASCII码值从48~57

  • 换行\n的ASCII值是:10

  • 在这些字符中ASCII码值从0~31 这32个字符是不可打印字符,无法打印在屏幕上观察

4.变量

  1. 局部变量是放在内存的栈区

  2. 全局变量是放在内存的静态区

  3. 堆区是用来动态内存管理的

5.运算符

#include <stdio.h>

int main()
{
    float x = 6 / 4;
    int y = 6 / 4;
    printf("%f\n", x); //1.000000
    printf("%d\n", y); //1
    
    return 0;
}

C 语言里面的整数除法,默认是整除,只会返回整数部分,丢弃小数部分。

如果希望得到浮点数的结果,两个运算数必须至少有一个浮点数,这时 C 语言就会进行浮点数除法。

#include <stdio.h>

int main()
{
    float x = 6 / 4.0;
    int y = 6 / 4;
    printf("%f\n", x); //1.500000
    printf("%d\n", y); //1
    
    return 0;
}

运算符%表示求模运算,即返回两个整数相除的余值。这个运算符只能用于整数,不能用于浮点数。 

#include <stdio.h>

int main()
{
    int x = 6 % 4;
    printf("x = %d\n", x);//2
    
    return 0;
}

负数求模的规则是,结果的正负号由第一个运算数的正负号决定。

#include <stdio.h>

int main()
{
    printf("%d\n", 11 % -5); // 1
    printf("%d\n",-11 % -5); // -1
    printf("%d\n",-11 % 5);  // -1
    
    return 0;
}

6.单目操作符

6.1前置++/--

先自增/自减,后赋值; 

#include <stdio.h>

int main()
{
    int a = 10;
    int b = ++a; 

    printf("a=%d b=%d\n", a, b);//a=11 b=11

    return 0;
}

6.2后置++/--

先赋值,后自增/自减; 

#include<stdio.h>

int main()
{
	int a = 10;
	int b = a--;

	printf("a=%d b=%d\n", a, b);//a=9 b=10

	return 0;
}

7.占位符 

占位符

描述

%a

十六进制浮点数,字母输出为小写

%A

十六进制浮点数,字母输出为大写

%c

输出字符

%d

十进制整数

%e

使用科学计数法的浮点数,指数部分的e为小写

%E

使用科学计数法的浮点数,指数部分的E为大写

%i

整数,基本等同于%d

%f

小数(包含float类型和double类型)

%g

6个有效数字的浮点数。整数部分一旦超过6位,就会自动转为科学计数法,指数部分的e为小写

%G

等同于%g,唯一的区别是指数部分的E为大写

%hd

十进制 short int 类型

%ho

八进制 short int 类型

%hx

十六进制 short int 类型

%hu

unsigned short int 类型

%ld

十进制 long int 类型

%lo

八进制 long int 类型

%lx

十六进制 long int 类型

%lu

unsigned long int 类型

%lld

十进制 long long int 类型

%llo

八进制 long long int 类型

%llx

十六进制 long long int 类型

%llu

unsigned long long int 类型

%Le

科学计数法表示的 long double 类型浮点数

%Lf

long double 类型浮点数

%n

已输出的字符串数量。该占位符本身不输出,只将值存储在指定变量之中。

%o

八进制整数

%p

指针

%s

字符串

%u

无符号整数(unsigned int)

%x

十六进制整数

%zd

size_t类型

%%

输出一个百分号

8.scanf()赋值忽略符*

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
    int year = 0;
    int month = 0;
    int day = 0;
    scanf("%d%*c%d%*c%d", &year, &month, &day);

    printf("%d-%d-%d\n", year, month, day);
    return 0;
}

相关文章:

  • 稳定的Android studio版本安装教程
  • Android获取后台应用的快照
  • Linux:页表详解(虚拟地址到物理地址转换过程)
  • qt主题方案使用
  • Vue 3 自定义权限指令 v-action
  • 【数据集】 PBMC(Peripheral Blood Mononuclear Cells)数据集
  • USC安防平台XBOX云台控制
  • 小程序的外观—WXSS
  • Python星球日记 - 第7天:字典与集合
  • 2025高频面试算法总结篇【排序】
  • 【蓝桥杯】算法笔记5
  • 【Metasploit】Metasploit安装及使用教程(非常详细)从零基础入门到精通,看完这一篇就够了。
  • 脑影像分析软件推荐 | NBS-Predict:基于脑网络的机器学习预测工具包
  • 蓝桥杯备赛 Day 19 加练dfs
  • 情感语音的“开源先锋”!网易开源
  • 一周学会Pandas2 Python数据处理与分析-NumPy数组重建
  • 【力扣hot100题】(055)子集
  • 开源情报中批判性思维因人工智能而逐渐衰落
  • 声音定位系统的原理及实现
  • 【Python使用】嘿马云课堂web完整实战项目第2篇:CMS页面管理需求,后端工程搭建【附代码文档】
  • 做网站怎么申请百度推广/站长工具星空传媒
  • 云南城市建设职业学校官方网站/昆山优化外包
  • 衢州建设职业学校网站/今日新闻最新
  • 区块链 网站 怎么做/网络营销技能大赛优秀作品
  • 广东建设网工程信息网站/站长工具的使用seo综合查询运营
  • 海口 网站开发/产品网络推广深圳