3 Goallegoal

尚未进行身份认证

我要认证

左手击筑,右手编程。

等级
TA的排名 4w+

判断字符是否是同一个字母的大小写

判断字符是否是同一个字母的大小写方案1、由ASCII码表知,同一个字母的小写表示ASCII码值要比大写表示的大32char ch1 = 'a';char ch2 = 'A';if( ch1 == ch2 + 32 ) ;方案2、tolower将字符转换为小写if( tolower(ch1) == tolower(ch2) ) ;方案3、使用异或,通过观察大小写字母的ASCII码值发现,同一个字母的大写和小写之间相差32,用二进制表示时,差异仅体现在从右往左数的第6位上,所以可以通过判断

2020-10-10 10:35:28

atoi()函数的使用

atoi()函数的使用atoi()用于将字符串转换为整型值,其函数原型为int atoi(const char *nptr);,该函数在转换字符串时,会忽略空字符并在遇到非数字字符时停止转换,若无法转换则返回0。使用该函数需要包含头文件#include <cstdlib>string str("777as");int num = atoi(str.c_str());cout << num << endl; ...

2020-10-09 19:31:03

C++ string类成员函数c_str()的用法

C++ string类成员函数c_str()的用法c_str()生成一个const char*指针,指向以空字符终止的数组,该指针不需要手动释放和删除。在使用c_str()时要注意,c_str()指向的数组是一个临时数组,其中的数据会因为程序的某些操作而失效,例如:string str("hello!");const char *pstr = str.c_str();cout << pstr << endl; // hello!str = "world";cout &

2020-10-09 19:09:21

C++string类常用方法

C++string类常用方法1、string(const char *s) :将 string 对象初始化为 s 指向的字符串string str("hello");2、string(size_type n,char c) :创建一个包含 n 个元素的 string 对象,其中每个元素都被初始化为字符 cstring str(10, 'a');3、string(const string &str) :将一个 string 对象初始化为 string 对象 str(复制构造函数)str

2020-10-09 15:34:26

函数递归

函数递归程序调用自身的编程技巧称为递归。递归做为一种算法,在程序设计语言中广泛应用。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的主要思考方式在于:大事化小。递归的两个必要条件:1、存在限制条件,当满足这个限制条件时,递归便不再继续。2、每次递归调用之后,越来越接近这个限制条件。练习1:接收一个无符号整型值,按顺

2020-08-06 21:34:13

C语言字符和字符串库函数的使用、注意事项及模拟实现

C语言中没有字符串类型,字符串通常会被放到常量字符串或者字符数组中,在程序的开发过程中要经常对字符和字符串进行处理,这就需要引入一些库函数来简化字符、字符串的处理操作,提高程序的开发效率。

2020-08-06 17:20:21

C语言strstr()函数模拟实现和库实现之间的差距

C语言strstr()函数模拟实现和库实现之间的差距strstr()的函数原型为char *strstr(const char *haystack, const char *needle),用于在字符串 haystack 中查找第一次出现字符串 needle 的位置,注意不包含终止符 ‘\0’。该函数的返回值为在 haystack 中第一次出现 needle 字符串的位置,如果未找到则返回 null。下面先贴上自己模拟实现的myStrstr(),先不看代码中的细节处理,仅关注代码逻辑。在代码编写的过程中

2020-08-06 10:25:37

C语言错误处理-输出错误信息

C语言错误处理-输出错误信息程序开发过程中,不可避免地会因为细节疏忽导致程序的编译、运行出错,当出现错误时编译器一般会将错误信息展示出来,但由程序操作或用户输入导致的错误往往会使程序直接崩溃并无任何的提示,此时,就需要一种方法能够用在程序可能出错的地方,当错误发生时可以提前将错误信息输出并中止运行,避免程序的崩溃、简化程序bug的查找。下面介绍C语言中几种用来主动输出错误信息的方法。stderr首先介绍stderr标准错误,在程序创建的同时会开启三个默认的流,分别为标准输入stdin、标准输出stdo

2020-08-05 10:09:56

C语言柔性数组使用方法、特点及优点

C语言柔性数组使用方法、特点及优点在C99标准中定义有,结构体中的最后一个元素允许是未知大小的数组,这个数组就叫做柔性数组,所以说柔性数组其实是结构体中的一个数组,“柔性” 指的是该数组的大小可大可小。例如:struct S{ int i; int a[];//柔性数组成员,该数组为柔性数组};上面的定义是没有问题的,如果使用的编译器在运行上述代码时报错无法编译,可以像如下方式定义:struct S{ int i; int a[0];//将数组的大小设为0};上述柔性数组的声明

2020-08-04 08:49:14

Linux环境下使用fcntl实现C语言非阻塞输入

Linux环境下使用fcntl实现C语言非阻塞输入在使用C语言编程时,常常会用到scanf()、getchar()等函数来获取键盘的输入,当键盘没有输入时程序会发生阻塞并一直保持在阻塞状态,此时如果想要继续执行下一步的程序,就需要将IO状态置为非阻塞,以确保无用户输入的情况下程序的正常执行。fcntl是Linux中的函数,用来改变已打开文件的性质,其定义为int fcntl(int fd, int cmd);,其中参数fd表示欲设置的文件描述符,参数cmd代表将要执行的操作,如果该操作需要键入参数,fc

2020-08-02 17:54:48

Linux环境下静态库和动态库(共享库)的创建及使用

Linux环境下静态库和动态库(共享库)的创建及使用编写程序时,常常将重复代码写进函数,通过多次调用函数来减少工作量,类似的,当一个工作需要多次调用某些函数和变量时,可以将这些函数、变量封装成库,供其他程序调用,提高开发效率。C语言中有两种库类型,分别为静态库和动态库(共享库)。静态库静态库是在目标文件链接成可执行文件过程中,直接将代码载入可执行文件,后期程序的运行不再需要静态库。在Linux系统中,静态库的后缀为.a,静态库的生成分为两步,第一步将源文件编译生成目标文件,第二步通过目标文件生成静态库

2020-08-02 16:37:12

打卡机核心功能实现(C语言)

222222222应市场需求,某工程师现设计了一款新上下班打卡机,打卡机具有以下功能:(1)上班打卡,员工具有编号(首位为 1 的六位编号),输入编号后,再输入校验码,校验码生成规则:员工编号除首位反序,再与员工编号求和,如:员工编号,110086,校验码为 178087。校验码错误即打卡失败。记录打卡时间 。(2)下班打卡,只需输入员工编号即可。记录打卡时间,显示该人员今天上班时长,如果上班时长不够,显示早退 xx 分钟。可以更新下班打卡时间。无下班打卡显示缺卡。(3)可以设置规定上班时长,如 9

2020-08-01 22:32:28

C语言整型转字符串

C语言整型转字符串顺序存储顺序打印#include <stdio.h>int main(){ int num = 110086; char str[6] = {0}; int divnum = 100000; int i = 0; for(i=0; i<6; i++) { str[i] = (num / divnum)+48; num = num % divnum; divnum =

2020-08-01 21:44:05

C语言自定义类型

C语言自定义类型结构体结构体类型的声明结构是一些值的集合,这些值称为成员变量,结构的每个成员可以是不同类型的变量。struct tag{ member-list;}variable-list;struct tag x;也可以通过typedef对类型重命名typedef struct Student{ char name[20]; int age; char sex[6];} Student;// 这里的Student不是变量名,而是类型名Student x;对结构

2020-08-01 09:15:42

动态内存管理

动态内存管理为什么存在动态内存开辟常规的开辟内存空间的方式,例如声明变量、数组等,有以下2个特点:1、空间开辟的大小是固定的;2、数组在声明的时候,必须指定数组的长度,所需要的内存在编译时分配。如果想要在程序运行过程中根据实际内存使用情况动态的开辟内存空间,以上方法就做不到了,只能尝试动态内存管理。动态内存函数malloc()malloc函数包含在stdlib.h头文件中,原型为void* malloc(size_t size);这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针

2020-08-01 09:15:08

C语言数组和指针笔试题小结

11111111111一维数组 int a[] = {1,2,3,4}; printf("%d\n", sizeof(a)); // 16,sizeof(数组名),当数组名单独放在sizeof()中时,数组名表示整个数组 printf("%d\n", sizeof(a+0)); // 8,数组名没有单独存放时表示首元素地址 printf("%d\n", sizeof(*a)); // 4 printf("%d\n", sizeof(a+1)); // 8 printf("%d\n",

2020-07-30 08:09:29

C语言指针从入门到进阶

111指针定义在计算机科学中,指针是编程语言中的一个对象,利用地址,它的值直接指向存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”(指针是一个变量,用来存放地址)。意思是通过它能找到以它为地址的内存单元(内存空间编址是以一个字节为一个地址)。int a = 10; // 变量a占用了4个地址空间int *p = &a; //取a的地址,是拿到4个地址空间的起始位置地址// 将此地址存放到 p 中,此时p就是指针

2020-07-27 19:06:12

C语言文件操作

文件操作文件基础一般情况下,将文件分为文本文件和二进制文件两种。文本文件:以ASCII码编写的可视化的字符型文件,不同的文字以特殊编码存在,如GBK、utf-8等。二进制文件:直接以原生二进制码存放的文件,如BMP等图片文件,MP3等音频文件,exe等可执行文件。数据流:一组有序、有起点和终点的字节的数据序列,程序和数据的交互是以流的形式进行的。标准 IO 及缓存基础文件操作C语言获取的文件,其使用 FILE 结构体进行定义。在命令行上显示一段内容printf("hello!\n");

2020-07-24 08:26:31

C语言指针学习与使用

C语言指针学习与使用计算机存储想要更好的使用指针,需要对计算机的存储有一定的概念和了解。下面的图片中展示了计算机的硬件结构:存储设备除了上述的主存储器外,还有其他的一些在执行程序时可能会用到的存储设备,并根据各自的特点对其进行了层次划分:使用主存储器进行数据存储时,如果每次存储都要编程人员准确找到存储单元的物理地址,那么不仅增加了工作量而且降低了工作效率。此时就有了虚拟内存的概念。CPU在执行数据的读、写操作时,拿到的是虚拟地址,然后通过内存管理单元(MMU,Memory Managemen

2020-07-22 18:18:19

TypeError: Can‘t mix strings and bytes in path components

TypeError: Can’t mix strings and bytes in path componentsCan't mix strings and bytes in path componentsTraceback (most recent call last): File "vulture.py", line 831, in main firmware.extract_files_to(output, _test=is_test) File "vulture.py", lin

2020-07-21 16:26:54

查看更多

勋章 我的勋章
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取