程序设计入门——C语言2023年5月12日

这篇文章介绍了C语言的基础知识,包括收款找零的程序实现,使用printf和scanf进行输入输出,以及计算字符串长度的方法。特别指出在C语言中,strlen函数计算的是字节数而非字符数,并举例说明了如何在UTF-8环境下输出汉字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


课程来源:链接: 浙江大学 翁恺 程序设计入门——C语言
学习日期:2023年5月12日

一、收款找零

	int a = 0;
	printf("商品总金额:54元。请付款:\r\n");
	scanf_s("%d", &a);
	while (a < 54) {
		printf("金额不足,请付款:\r\n");
		scanf_s("%d", &a);
	}
	printf("收到:%d元,找零:%d元\r\n", a, a - 54);

在这里插入图片描述

二、%字母;

   %a(%A)     浮点数、十六进制数字和p-(P-)记数法(C99)
   %c       字符
   %d       有符号十进制整数
   %f       浮点数(包括float和doulbe)
   %e(%E)    浮点数指数输出[e-(E-)记数法]
   %g(%G)    浮点数不显无意义的零"0"
   %i       有符号十进制整数(%d相同)
   %u       无符号十进制整数
   %o       八进制整数  e.g.   0123
   %x(%X)    十六进制整数0f(0F)  e.g.  0x1234
   %p       指针
   %s       字符串
   %%       "%"
〔标志〕〔输出最少宽度〕〔.精度〕〔长度〕类型
 "%-md" : 左对齐,若m比实际少时,按实际输出。
 "%m.ns" : 输出m位,取字符串(左起)n位,左补空格,当n>m or m省略时m=n
 "%m.nf" : 输出浮点数,m为宽度,n为小数点右边数位
 "%3.1f" :  输入3852.99 输出3853.0 

注意事项:
在这里插入图片描述

三、读取字符串长度

	char c[] = "a";
	char cc[] = "a是";
	char ccc[] = "搜索";
	printf("c[]长度=%d\r\n", strlen(c));//长度=1 当前环境中,一个英文,占一个字节
	printf("cc[]长度=%d\r\n", strlen(cc));//长度=3
	printf("ccc[]长度=%d\r\n", strlen(ccc));//长度=4 当前环境中,一个中文,占两个字节

在这里插入图片描述
可知,在c语言中,strlen获取的字符串长度,表示字符串所占字节数,而不是字符的个数。

四、输出字符串中的一个汉字

	char a[] = "其实";
	//输出 第一个汉字
	//错误
	printf("第一个汉字为:%c\r\n",a[0]);
	//正确
	printf("第一个汉字为:%c%c\r\n", a[0], a[1]);

在这里插入图片描述

当前环境,一个汉字,占两个字节。且都是16进制的。根据c6e4,可以根据下面的链接,查到对应的汉字。
在这里插入图片描述

GB2312编码范围:A1A1-FEFE

gb2312汉字速查表
https://www.cnblogs.com/coolyouguo/p/13885156.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值