C/C++实践笔记 015敲一些小程序和小工具练习

1.汉诺塔
二维数组存储、显示

2.volatile 禁止编译器自动优化,每次读内存

debug调试模式
release商业发行模式,会自动优化

3.原码反码补码工具

4.进制转换工具

5.register寄存器变量

寄存器在CPU内部,运算速度非常快,内存的数据必须载入寄存器,才能计算
寄存器变量在CPU,没有内存地址

寄存器变量在CPU内部,速度快,
所以频繁使用的变量,需要放在寄存器可以提高速度
VC会自动优化,即时没有声明寄存器变量,VC也会自动优化
频繁使用的变量,会自动优化成寄存器变量
gcc,就不会自动优化,我们需要把频繁使用的变量声明为寄存器变量,提升运行速度

参数可以使寄存器变量
全局变量不可以声明为寄存器变量,全局变量占用寄存器还会影响程序运行的速度
静态变量不可以放在寄存器

C语言不能取寄存器变量的地址
C++与C语言不同,寄存器变量会在内存有一个副本,所以可以取地址,在这查看的地址是副本的地址

寄存器变量用于频繁使用的变量,提升代码速度
全局变量或静态变量不要放在寄存器,寄存器数量有限

6.dll调用

7.用位运算实现加法

复制代码
int add(int a, int b)
{
    int wei = 0;
    int jinwei = 0;
    do
    {

        wei = a^b;  //处理位加法
        jinwei = (a&b) << 1;  //进位
        a = wei;  //没有进位的加法
        b = jinwei;  //进位

    } while (b != 0);  //反复执行一直到进位等于0

    return a;

}
复制代码

 

8.求最小公倍数最大公约数

复制代码
#include<stdlib.h>
#include<stdio.h>

int fun(int m, int n)
{
    if (m%n == 0)
    {
        return n; //跳出
    }
    else
    {
        return fun(n, m%n);  //递归,辗转相除法

    }

}

void main()
{    
    int a = 25;
    int b = 10;
    printf("%d,%d", fun(10, 25),25*10/fun(10,25) );
    getchar();

}
复制代码

 

9.猜数字以及进程终止异常

abort();提示错误

复制代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdlib.h>
#include<stdio.h>
#include<time.h>

void main()
{
    int number;
    time_t ts;
    unsigned int data = time(&ts); //获取时间
    srand(data); //设定随机数种子
    number = rand() % 100 + 1; //1-100
    
    int guess = 0;
    while (guess != number)
    {
        scanf("%d", &guess);
        if (guess < number)
        {
            puts("小了");
        }
        else if(guess>number)
        {
            puts("大了");
        }
        else
        {
            printf("小伙子猜对了\n");
            break;
        }
    }

    system("pause");
}
复制代码

 

10.typedef

为已有类型起一个别名
第一步:typedef unsigned long int NUM;
第二步:NUM新类型名

 

posted @   千年风雅丶  阅读(741)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示