程序设计入门——C语言
课程来源:链接: 浙江大学 翁恺 程序设计入门——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