一、今日目标
1.学习字符串和格式化输入/输出
2.做完相关的课后练习题
二、学习收获
1.字符串的存储方式
字符串常量 例:#define DEC “hello!”
用数组存放字符串
2.字符串的输入和输出
使用%s说明符的scanf处理字符串常量输入输出时,则双引号内的内容全部输出
使用 %s说明符的scanf处理由数组存放的字符串时,则只输入第一个单词
3.使用c函数strlen()来获取字符串长度
sizeof运算符,它以字节为单位给出数据的大小。
strlen()函数以字符为单位给出字符串的长度。
若是字符串变量,strlen()函数只是计算第一个单词的字母数量。
若是字符串常量,strlen()函数准确计算字符数量,但sizeof比strlen()多一个空字符。
在这里插入代码片#include<stdio.h>
#include<string.h>
#define PRAISE "What a super marvelous name!"
int main()
{ char name[40];
printf("输入你的名字:\n");
scanf("%s",name);
printf("%s,%s",PRAISE,name);
printf("your name has %d letters %d mameory cells.\n",strlen(name),sizeof name);
printf("the phrase of praise has %d letters",strlen(PRAISE));
printf("%d",sizeof PRAISE);
return 0;
}
4.对于sizeof是否使用圆括号()
对于获取类型的大小,一定要使用圆括号,例,sizeof(char)
对于具体量则可用也可不要用圆括号,但最好用。sizeof name\ sizeof(name)均可
5.常量
预处理器可以定义常量
const修饰符,可以使用const修饰符把一个变量声明转换为常量声明
6.宽度,精度
整型
%5.3d 精度为3 宽度为5
浮点型
%4.2f 两位小数,宽度为4
字符串
%24.5s 24是宽度,5是精度,即打印前五个字符
在这里插入代码片#include<stdio.h>
int main()
{ const double RENT=3852.99;
printf("*%f*\n",RENT);
printf("*%e*\n",RENT);
printf("*%4.2f*\n",RENT);
printf("*%3.1f*\n",RENT);
printf("*%10.3e*\n",RENT);
printf("*%+4.2f*\n",RENT);
printf("%010.2f*\n",RENT);
return 0;
}
7.printf()的返回值
printf()函数也有返回值,它返回所打印的字符的数目
在这里插入代码片#include<stdio.h>
int main()
{
int bph2o=212;
int rv;
rv=printf("%d F is water is boiling point.\n",bph2o);
printf("the printf() function printed %d characters.\n",rv);
return 0;
}