一、字符分类函数 C语⾔中有⼀系列的函数是专⻔做字符分类的,也就是⼀个字符是属于什么类型的字符的,这些函数的使⽤都需要包含⼀个头⽂件是 ctype.h 如下图: 这些函数的使用方式十分类似...{ arr[i] -= 32; } } printf("%s\n", arr); return 0; } 运行结果: 二、字符转换函数 C语言提供了两个字符转换函数,要使用它们同样要包含头文件...: 第⼀个字符串⼤于第⼆个字符串,则返回⼤于0的数字 第⼀个字符串等于第⼆个字符串,则返回0 第⼀个字符串⼩于第⼆个字符串,则返回⼩于0的数字 那么如何判断两个字符串?...str1和str2进行++操作 (3)要注意的一点是,有可能它们两个字符串完全相等,我们可以判断一下 *str1是否是\0,由于它们解引用后相等才会进入循环,所以此时 *str2也是\0,此时就说明两个字符串完全相等...str2; } 函数测试:如图: 这次的字符函数和字符串函数(1)就介绍到这里,更多的相关函数请期待下文!
1、字符分类函数 C语言中有一些专门作字符分类的函数,使用这些函数需要包含头文件 ctype.h 。...isalnum 检查一个字符是否是字母或数字 (函数) isalpha 检查一个字符是否是字母 (函数) islower 检查一个字符是否是小写字母 (函数) isupper 检查一个字符是否是大写字母...(函数) isdigit 检查字符是否为数字 (函数) isxdigit 检查一个字符是否是十六进制的字符 (函数) iscntrl 检查一个字符是否是控制字符 (函数) isgraph 检查一个字符是否是图形字符...(函数) isspace 检查一个字符是否是空白字符 (函数) isblank (C99) 检查一个字符是否是空格字符 (函数) isprint 检查一个字符是否是可打印字符 (函数) ispunct...2、字符转换函数 C语言中有两个实现大小写转换的函数,tolower(将大写字母转小写) 和 toupper(将小写字母转大写)。
一、要求 1. 电脑⾃动⽣成1~100的随机数; 2. 玩家猜数字,猜数字的过程中,根据猜测数字的⼤⼩给出相应的反馈,直到猜对,游戏结束。...二、需要的语法 1、随机数产生成 通过语法调用来实现随机数 2、语法的调用 1.1 rand C语⾔提供了⼀个函数叫rand,这函数是可以⽣成随机数 int rand (void); rand 函数会返回...rand函数的使⽤需要包含⼀个头⽂件是:stdlib.h 我们可以看到虽然⼀次运⾏中产⽣的5个数字是相对随机的,但是下⼀次运⾏程序⽣成的结果和上⼀次⼀模⼀样,这就是我们所说的伪随机数。...在C语⾔中有⼀个函数叫 time,就可以获得这个时间,time函数原型如下: time_t time (time_t* timer); time 函数会返回当前的⽇历时间,其实返回的是1970年1⽉1⽇...99,0~99的数字+1,范围是1~100 3、如果要⽣成100~200的随机数,⽅法如下: 100 + rand()%(200-100+1) //余数的范围是0~100,加100后就是100~200
前言 在编程的过程中,我们经常要处理字符和字符串,为了方便操作字符和字符串,C语言标准库中提供了⼀系列库函数,接下来我们就学习一下这些函数。...1.字符分类函数 C语言中有一系列的函数时专门做字符分类的,也就是一个字符是属于什么类型的字符的的。...任何图形字符 isprint 任何可打印字符,包括图形字符和空白字符 这些函数的使用方法非常类似,我们就用一个函数来举个例子: int islower(int c); islower函数能够判断参数部分的...2.字符转换函数 C语言中提供了2个字符转换函数: int tolower(int c);//将参数传进去的大写字母转小写 int toupper(int c);//将参数传进去的小写字母转大写 3.strlen...在不同的系统和C语言标准库的实现中都规定了⼀些错误码,一般是放在 errno.h 这个头文件中说明的,C语言程序启动的时候就会使用一个全局的变量errno来记录程序的当前错误码,只不过程序启动的时候errno
前言 C语言中有着字符类型,但是没有字符串类型。库函数中有着许多处理字符和字符串的函数供我们使用。 字符串可以放在字符数组中,也可以放在常量字符串中。...---- 1. strlen()函数 1.1 strlen()的函数声明 点击转到cpluscplus.com官网 - strlen stelen()函数接收一个字符串的地址,返回字符串的长度,...= my_strlen1(str); printf("%d\n", ret1); return 0; } 运行结果: 2.2.2 指针相减法 //模拟实现strlen #include...assert.h> //递归法 size_t my_strlen3(const char* str) { //断言,如果str是空指针就报错 assert(str); //递归要有渐进条件和出口...if (*str) { return my_strlen3(str + 1) + 1; } else { return 0; } } int main() { char str[] =
1.内存和地址 1.1 内存 计算机中CPU(中央处理器)在处理数据的时候,需要的数据是在内存中读取的,处理后的数据也会放到内存中。那么内存中的数据是如何高效管理的呢?...而CPU和内存之间也有大量的数据进行交互,所以两者也必须用线连起来。...指针变量和地址 2.1 取地址操作符(&) C语言中创建变量就是向内存中申请空间 比如: &: 取地址操作符,是个单目操作符 &a:表示取出a的地址 比如: int 型的变量占4个字节...C语言中我们拿到了地址(指针),就可以找到地址(指针)指向的对象。 这里我们就要介绍一种操作符解引用操作符:* *p的意思是通过p中存放的地址找到指向的空间。...int len = my_strlen(arr);//数组名表示数组首元素的地址 printf("%d\n",len); return 0; } 6.3指针的关系运算 指针的关系运算其实就是指针和指针比较大小即地址和地址比较大小
定义与声明 定义:就是在内存中开辟特定大小的空间(只能有一次) 声明:告知,关联(可多次) 关键字 auto(局部变量默认) 变量分为局部变量和全局变量。...头文件可能会被重复包含,为了保证头文件不被重复包含,我们有两种写法: 1.在开头写上#pragma once 头文件里会包含哪些内容呢? 使用尖括号包含的是c语言的头文件,包含自定义用双引号。...printf是包含在库函数里的,那我们是什么时候去找printf的定义和实现的呢?是在程序最后一步实现可执行链接的时候。...但是在text.c的.o文件当中又找到了这个函数。函数的声明本质上也是在内存上开辟空间,只不过变量保存的是数据,而函数保存的是代码,这个代码保存好之后一般是不可被写入的。...static是项目维护和提供安全保证的关键字。static修饰限制的是作用域。 接下来,我们讨论static修饰局部变量。那么下面这个函数有什么结果呢? 打印的结果应该是10个1。
今天是我正式与c语言接触的第一天,心中忐忑之余我更多的是兴奋,想要用c语言这门专业的编程序语言来提高自己,在学习知识之后我会在csdn上记录自己的学习历程,通过其巩固所学知识和查漏补缺,希望对自己和大家都有所帮助...C语言是一门通用计算机编程语言,广泛用于底层开发,以简易的方式编译、处理低级存储器、产生少量机器码以及不需要任何运行环境支持便可运行的编程语言。...学习重点: ·认识到什么是c语言 ·第一个c语言程序 ·数据类型 ·变量,常量 ·字符串+转义字符+注释 ·选择语句 ·循环语句 ·函数 ·数组 ·操作符 ·常见关键字 ·define定义常量和宏 ·指针...·结构体 写代码步骤:1.创建一个项目; 2.创建一个源文件:单击鼠标右键添加一个新的c++文件,文件名改为text.c; 3.写代码; 4.编译代码 快捷键ctrl+F5 一次运行中有且仅有一个...一个工程中可以有多个.c文件,但是多个.c文件中只能有一个main函数。
那么在C语言中函数又是什么意思呢?我们一起来看看!...在C语言中,从用户的角度来看,可以分为: 1.库函数 2.自定义函数 从函数的形式来看,可以分为: 1.无参函数 2.有参函数 库函数 C语⾔的国际标准ANSI C规定了⼀些常⽤的函数的标准,被称为标准库...像我们平时使用的printf,scanf都是库函数,在 库函数使用 的时候,我们 必须包含它们所对应的头文件 ,比如printf,scanf的头文件是stdio.h,除了这个头文件外,C语言还有许多的头文件...在前面我们提到了函数按函数的形式可以分为: 1.无参函数 2.有参函数 这里我们首先需要了解形参和实参 我们用下面的代码来更好的理解 #include int Max(int x,...7.形参和实参的 数组名可以一样,也可以不一样 一维数组做参数 例子: 写⼀个函数将⼀个整型数组的内容,全部置为-1,再写⼀个函数打印数组的内容。
&和*操作符 前面我们了解了操作符的知识,这里我们来详细讲解&和*这两个操作符。...= &a; float b = 5.2f; float* pointer2 = &b; char c = 'c'; char* pointer3 = &c; printf("%d\n", sizeof...这里先补充一个知识点: 在32位机器(vs的x86环境)假设有32根地址总线,每根地址线出来的电信号转换成数字信号后 是1或者0,那我们把32根地址线产⽣的2进制序列当做⼀个地址,那么⼀个地址就是32个比特位...我们可以利用这个来模拟实现strlen,strlen是求一个字符串的实际长度的(不包括‘\0’)遇到‘\0’就会停止。...优点 1.能⾃动标识⽂件和出问题的⾏号,帮助程序员修改代码 2.有⼀种⽆需更改代码就能开启或关闭 assert() 的机制。
[1] 目前2011年12月8 日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标 准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉...1.第一个C语言程序 接下来我们来写第一个C语言程序,printf 是库函数,功能是在屏幕上打印数据信息 - 输出, 库函数是标准库中提供的函数,这些函数是现成的,直接可以使用,但是使用库函数需要包含对应的头文件...3.5常量 C语言中的常量和变量的定义的形式有所差异。...\a 警告字符,蜂鸣 \b 退格符 \f 进纸符 \n 换行 \r 回车 \t 水平制表符 \v 垂直制表符 \ddd ddd表示1~3个八进制的数字。...如: \130 X \xdd dd表示2个十六进制数字。 如: \x30 0 让我们写一个代码加深我们对转义字符的理解。
C语言的源代码可以在任意架构的处理器上使用。 C语言的特点 1.语言简洁灵活 C语言是现有程序设计语言中规模最小的语言之一,C语言的关键字仅仅只有32个,控制语句也只有9个。...4.运算符丰富 C语言的运算符包含的范围非常广泛,一共有34种运算符。C语言把括号、赋值和强制类型转换等都作为运算符处理,使C程序的表达式类型和运算符类型都非常丰富,表达式类型多样化。...C语言是完全模块化和结构化的语言。C语言对于输入和输出的处理也是通过函数调用来实现的。...7.生成代码的高质量,执行程序效率高 C原来是专门为编写系统软件而设计的,许多大的软件都用C语言编写,这是因为C语言的可移植性好和硬件控制能力高,表达和运算能力强。...应用范围: 1.编译器,JVM,驱动 2.操作系统内核 3.各类软件开发 4.嵌入式设备开发,例:手机 5.等等等 C语言的编译 C语言是一种编译型语言,源码都是文本文件,本身无法执行。
1 arr1 arr1 arr2 arr2 // ## // 1.3一维数组的使用 对于数组的使用我们之前介绍了一个操作符:[ ],下标引用操作符。...数组的下标规定是从零开始的,如果数组有n个元素,最后一个元素的下标就是 n-1. 所以数组的下标如果小于0,或者大于n-1,就是数组越界访问了,超出了数组合法空间的访问。...C语言本身是不做数组下标的越界检查,编译器也不一定报错,但是编译器不会报错,并不意味着程序就是正确的 所以程序员写代码时,最好自己做越界的检查。 二维数组的行和列也可能存在越界
1.内存与地址 大家对地址都不陌生,就像在生活中住酒店如何找到房间?那不就通过房卡上的房间号先确定楼层在确定房间。而这些房间号我们也叫地址。...在C语言中给地址起了新名叫:指针 所以我们理解的:内存单元的编号 == 地址 == 指针 2.指针变量与地址 2.1 取地址操作符& 在C语言中创建变量其实就是在向内存申请空间。...char b = 'a'; char* p = &b; 2.4 解引用操作符 在C语言中,我们找到地址,就可以对地址所指向的对象,而此时所要用到的就是解引用操作符(*)。...2.5 指针变量的大小 32位机器假设有32根地址总线,每根地址线出来的电信号转换成数字信号后是1或者0,那我们把32根地址线产⽣的2进制序列当做⼀个地址,那么⼀个地址就是32个bit位,需要4个字节才能存储...位平台下地址,指针变量大小是4个字节 64位平台下地址,指针变量大小是8个字节 结论: 32位平台下地址,指针变量大小是4个字节 64位平台下地址,指针变量大小是8个字节 注意指针变量的大小和类型是无关的
1、内存和地址 1.1内存 理解内存和地址,我们可以把它们类比为宿舍楼和房间编号。...在C语言中还给地址起了一个新的名字,叫做指针。可以粗略的认为:地址就是指针,指针就是地址。...作为C语言的灵魂,指针是C语言中功能最强大的机制,在后续的学习中就会慢慢地理解其中的含义。...在32位机器中,有32根地址线,32根地址线有32个0或1的数字信号,把这32根地址线产生的2进制序列当作一个地址,那么一个地址就要32个比特位,也就是4个字节。所以,指针变量的大小就应该是4个字节。...地址是由地址总线传过来的,而地址总线的数量是确定的,32根地址总线或64根地址总线,对应4个字节和8个字节的大小,不管是整型变量的地址还是字符型变量的地址都是地址,所以大小是一样的。
1.题目内容 写一个函数,可以逆序一个字符串的内容。 2.思路分析 实现一个字符串逆序的方式有很多,可以倒序输出,也可以利用数组下标进行交换,当然,也可以利用指针。...首先,先用一个字符串进行存储,随后定义两个指针left和right分别指向字符串的首部和尾部,进行交换后,在后移,直到两者相等时,循环退出。...,交换完后,将字符串最后一个字符赋值为/0,然后递归操作剩下的字符串,直到left等于right后,再将所删掉的值加回来,实现逆序。...举个例子,有一字符串abcdefg;交换完后,变为gbcdefa,此时将a赋给临时变量temp,字符串末位置为/0,字符为gbcdef接着递归,直到字符串为gfed时,一层一层家辉刚刚temp的值,变为...(arr+len-1) = '\0'; if(strlen(arr+1)>=2) reverse_string(arr+1); *(arr+len-1) = tmp; }
题目: 下列用在switch语言中的关键字不包含哪个?...A.continue B.break C.default D.case 错误选项:C 正确选项:A 错误解析: 首先,switch是用来进行多分支选择的语句,一般结构是: switch(变量表达式...) { case xx1: // ...
C语言中给地址起了新的名字叫:指针。...指针变量和地址 2.1 取地址操作符(&) 理解了内存和地址的关系,我们再回到C语言,在C语言中创建变量其实就是向内存申请空间 #include int main() { int a...C语言中其实也是一样的,我们只要拿到了地址(指针),就可以通过地址(指针)找到地址(指针)指向的对象,这里必须学习一个操作符叫解引用操作符(*)。...NULL 是C语言中定义的⼀个标识符常量,值是0,0也是地址,这个地址是无法使用的,读写该地址会报错。...指针的使用和传址调用 8.1 strlen的模拟实现 库函数strlen的功能是求字符串⻓度,统计的是字符串中 \0 之前的字符的个数。
源程序文件是还没经历编译和链接时的最初始的文件,而目标文件和可执行程序是源程序文件在编译,链接时产生的文件。 数据⽂件 ⽂件的内容不是程序,不可以运行,该文件只能被读写数据。...例如: c:\code\mycode\test.txt 这里的c:\code\mycode\就是文件路径,test就是文件名主干,.txt就是文件后缀。 文件中不能包含这些字符: * ?...c语言底层规定了流到不同设备之间的互相传输,不需要我们去进行操作,底层会自动帮我们去操作,所以我们只需要将数据传到流或者从流中提到数据就能实现整个过程。它跟个中转站一样。...\为转义字符,所以在代码中需要改为\\才能不影响结果。...【C 语言】文件操作 ( fopen 文件打开方式详解 )-CSDN博客 这篇文章讲了其中七种的打开方式,讲的很详细了,看懂了这七种其他的自然手到擒来。
枚举类型的大小是4,和一个int整形大小一样 就是最后一个逗号后面的表达式的值,比如: int a=1,b; b=(a+1,a+2,a+3); 那么b的值就是a+3,也就是4 函数名 :printf...函数原型:int printf (char * format,args,···); 功能:按format指向的格式字符串所规定的格式,将输出表列args的值输出到标准输出设备。...返回值:输出字符的个数,若出错,则返回负数。 说明:format可以是一个字符串,或字符数组的起始地址。 理解: 其实主要printf返回值是字符串个数,就行了。
领取专属 10元无门槛券
手把手带您无忧上云