【C语言%的多种用法】

C语言中%号那些事儿

前言:
众所周知:%百分号,在九年义务教育中,表示分数的分母是100的分数之比。即:百分比,如:99%,等价于小数表示为:0.99

那么在我们C语言中%号又有那些值得学习的用途呢?
1.%取余运算符
2.%作格式符使用
3.%搭配*号的作用
4.%搭配#号的作用

1、%之取余运算符的使用

(1)C语言中%最常见的就是作取余运算符,或称为取模运算。
取余简而言之就是取得结果是余数。
(2)值得注意的是,与除法 ‘/’ 不同的是,%取余运算的两边均为整数,不能为小数(浮点数)。
(3) % 取余运算符例程1(请参考注释理解“食用”哦):
代码说明

首先,C语言除法运算:结果是否为整数,是根据除号两边是否为整数进行运算的。 而取余运算:%号两边都必须为整数。

基于VS2019编译器展示一下 代码片

/*例程1.1*/
#include <stdio.h>

int main()
{
	int a1 = 5;
	int a2 = 5.2;
	int b1 = 15;
	int b2 = 15.6;
	printf("%d\n", b2 / a1);//当 '/'号左边为浮点数,右边为整数时,结果为小数
	printf("%d\n", b1 / a2);//当 '/'号左边为整数,右边为浮点数时,结果为小数
	printf("%d\n", b1 / a1);//当 '/'号左边为整数,右边为整数时,结果为整数
	int c = 16;
	printf("%d\n", a1 % b1);//%取余运算(取模运算)--- 两边必须为整数
	printf("%d\n", c % a1);//%取余运算(取模运算)--- 两边必须为整数
	return 0;
}

如图所示
在这里插入图片描述

(4) % 取余运算符例程2(请参考注释理解“食用”哦):
代码说明

C语言中%作取余运算在条件判断中的应用 如:求100以内5的倍数

基于VS2019编译器展示一下 代码片

/*例程1.2*/
#include <stdio.h>
int main()
{
	int i = 0;
	for (i = 0; i < 100; i++)
	{
		if (0 == i % 5)//当每次循环的i与题目中关键数5作取余运算,若余数为零说明,就是5的倍数
		//这里就是%号作取余运算符时,经常与条件判断应用
		{
			printf("%d\n",i);
		}
	}
	return 0;
}

如图所示
在这里插入图片描述

2、%之作格式符使用

2.1、C语言格式符

(1)格式符说明:由“%”和小写字母组成,如%d%f等,格式总是由“%”字符开始的。不同类型的数据用不同的格式字符。
作用:是将输出的数据转换为指定的格式输出。

(2)常见格式符如表所示:

格式符格式符功能
%d整形输出
%c输出单个字符
%f输出实数/小数
%o以八进制数形式输出整数
%x以十六进制数形式输出整数
%s输出字符串
%e以指数形式输出实数
%g根据大小自动选f格式或e格式(不输出无意义的零)

(3)% 作格式符使用例程(请参考注释理解“食用”哦):
代码说明

%号作格式符引导符号的作用

基于VS2019编译器展示一下 代码片

/*例程2*/
#include <stdio.h>
int main()
{
	int a = 10;
	char A = 'A';
	char ch[] = "hello";
	float b = 3.14;
	double PI = 3.1415926;
	long long int m = 65535123456789;
	//%号作格式符引导符号的作用
	printf("%d\n",a);//% + d --- 输出十进制
	printf("%c\n", A);//% + c --- 输出字符
	printf("%s\n", ch);//% + s --- 输出字符串
	printf("%f\n",b);//% + f --- 输出浮点数(小数)
	printf("%.2f\n", b);//% + 数字 + f --- 输浮点数并保留小数点后几位数
	printf("%lf\n",PI);//% + lf --- 输出双精度浮点数
	printf("%lld\n",m);//% + lld --- 输出长长整型数
	int* pa = &a;
	printf("%p\n",pa);//% + p --- 输出地址

	return 0;
}

如图所示
在这里插入图片描述

3、%之搭配 * 的使用

说明
(1)主要在 scanf( ) 函数起到了,跳过对应的输入的作用,使得%这次的输入跳过不被输入执行。
(2)在 printf( ) 函数中应用同理,会跳过对应的输出对象。
(3)% 搭配
号的作用例程1(请参考注释理解“食用”哦):
代码说明

先上一道通俗易懂的菜

基于VS2019编译器展示一下 代码片

/*例程3.1*/
#include <stdio.h>
int main()
{
	int a = 100;
	scanf("%*d",&a);//%*跳过了输入的数据
	printf("a = %d\n",a);//仍然打印100
	return 0;
}

如图所示
在这里插入图片描述

(4)% 搭配*号的作用例程2(请参考注释理解“食用”哦):
代码说明

多个scanf()函数输入参数的例程

基于VS2019编译器展示一下 代码片

/*例程3.2*/
#include <stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	int c = 0;
	scanf("%d %*d %d",&a,&b,&c);// %*号作用是跳过输入的数据
	printf("a = %d\n",a);
	printf("b = %d\n",b);//跳过后b 保存的就是c输入的数据了
	printf("c = %d\n",c);//c默认补0
	return 0;
}

如图所示
在这里插入图片描述

4、%之搭配 # 的使用

说明
(1)主要作用:使输出保留进制的前缀符号
(2)以8进制为例,保留进制符号017;以16进制为例,保留进制符号0x17(x为小写)
(3)% 搭配#号的作用例程(请参考注释理解“食用”哦):
代码说明

建议在学习了八进制和十六进制的格式后食用

基于VS2019编译器展示一下 代码片

/*例程4*/
#include <stdio.h>

int main()
{
	int a = 015;
	int b = 0xab;
	printf("a1 = %o\n",a);
	printf("a2 = %#o\n",a);
	//%#+对应的进制字母,就可以保留进制的前缀符号了
	//这里显而易见都能看懂,就不过多撰述了
	printf("b1 = %x\n",b);
	printf("b2 = %#x\n",b);
	return 0;
}

在这里插入图片描述

5、客套话

倘如各位看官觉着本文的菜,足以开胃,还请动动金手指,一件三连吸引更多客官,谢谢您勒!

  • 35
    点赞
  • 113
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: SQL Server中的LIKE操作符用于在WHERE子句中搜索与指定模式匹配的字符串。它使用通配符来匹配任意字符或一组字符。%是一个通配符,表示匹配任意数量的任意字符。例如,使用LIKE '%apple%'将匹配包含“apple”字符串的任何值,无论它们在字符串中的位置如何。 ### 回答2: 在SQL Server中,我们可以使用LIKE运算符来匹配指定列中的模式。LIKE运算符用于希望查找具有特定字符模式的字符串的情况。该模式可以使用两个通配符进行匹配:百分号(%)和下划线(_)。 %表示任何字符序列(包括空字符序列),而_表示任何单个字符。当在LIKE运算符的右侧使用%时,它会匹配与前面任何一组字符相匹配的任何字符,包括空字符。在左侧使用%则与右侧相反,其中它将匹配与其后面任何一组字符相匹配的任何字符,包括空字符。 以下是使用LIKE运算符的一些示例: 1.查找以“S”开头的客户: SELECT * FROM Customers WHERE CompanyName LIKE 'S%'; 2.查找以“s”结尾的客户: SELECT * FROM Customers WHERE ContactName LIKE '%s'; 3.查找包含“d”和“r”字符的客户: SELECT * FROM Customers WHERE ContactName LIKE '%d%r%'; 4.查找以“ne”开头的任何字符串: SELECT * FROM Customers WHERE ContactName LIKE 'ne%'; 5.查找包含10个字符的任何字符串: SELECT * FROM Customers WHERE ContactName LIKE '__________'; 在使用LIKE运算符时,需要注意一些细节。首先,为了避免使用通配符造成的性能问题,应尽可能使用精确匹配。其次,不要在LIKE运算符的左侧使用%或_,因为这会使查询成为不可索引的。最后,如果您要搜索包含通配符的字符模式的文本,您可能需要使用ESCAPE子句来定义转义字符。 ### 回答3: SQL Server 中的 like % 用法是指查询包含某个字符串的所有数据。其中,% 是通配符,表示可以匹配任何字符,也可以不匹配任何字符。 例如,我们有一个名为 students 的表,其中有一个名为 name 的字段,我们想要查询出所有姓名中包含字符“有”的学生,可以使用以下 SQL 语句: ``` SELECT * FROM students WHERE name LIKE '%有%'; ``` 这条语句将会返回所有姓名中包含“有”字符的学生。 另外,还可以结合其他通配符使用 like %。例如,下面的语句将会查询所有以“小”字开头、以“明”字结尾的姓名的学生: ``` SELECT * FROM students WHERE name LIKE '小%明'; ``` 在 like % 中,% 的位置也可以灵活使用。比如,如果想要查询所有名字长度为 3 个字符并且以“刘”字开头的学生,可以使用以下语句: ``` SELECT * FROM students WHERE name LIKE '刘__'; ``` 其中,两个下划线表示需要匹配两个任意字符,从而使名字长度为 3 个字符。 总之,like % 是 SQL 查询中非常重要的一个功能,可以方便地进行模糊查询,并且可以与其他通配符灵活结合使用,提高查询的准确性和灵活性。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值