【CPP】字符串和格式化输入输出
前导:数组(array),字符串转换说明符%s,定义符号常量,,strlen()获取字符串长度,。
【字符串】
没有专门的字符串类型,是吧他存储在字符型数组中,数组最后一个字符为空字符'\0',c用他来标志字符串的结束,这个非打印字符不会被打印出来,但这意味着数组单元的长度必须比字符串的长度至少大一。
【使用字符串】
#include<stdio.h>
int main(void)
{
char name[];//定义字符数组
printf("what's your name?\n");
scanf("%s",name);//注意:输入字符串时没有用到&符号
printf("Hello %s !",name);
return ;
}

注意:scanf()读取时会在遇到的第一个空格,制表符,换行符处停止。
【字符和字符串】
字符'x'是基本类型(char),存储为[x]
字符串"x"是派生类型(char数组),存储为[x][\0]
【strlen()函数】
sizeof运算符,以字节为单位给出数据大小,
strlen()函数,以字符为单位给出字符串长度,
一个字符占一个字节,但这他们得出的结果并不一样。
#include<stdio.h>
#include<string.h>//提供strlen()函数的原型 ,他包含了许多与字符串相关的函数的原型
#define PRAISE "what a marvelous name!"
int main(void)
{
char name[];
printf("what's your name?\n");
scanf("%s",name);
printf("Hello %s !",name); printf("your name of %d letters occupies %d memory cells.\n",strlen(name),sizeof name );
printf("the phrase of praise has %d letters.\n",strlen(PRAISE));
printf("and occupies %d memory cells.\n",sizeof PRAISE ); return ;
}

从这个例子可以看到,sizeof得到的是数据占用的大小,即使、申请的字符数组没有填满,也算作他的大小,自然地字符串末尾的非打印字符'\0'也算作占用的大小。
而strlen()就是计算字符串的长度而已,当然也就不包括'\0'。
注:size可以带()也可以不带,当需要获取某个类型大小时圆括号是必须的,但某个具体量(如6.28,"Hello")时则可有可无。
【常量和C预处理器】
#define PI 3.14159//定义一个符号常量
#define BEEP '\a'
#define OOPS "now you have done it !"
#define COST 3
这是在C预处理器完成的,注意要大写常量。
const修饰符:const关键字可以吧一个变量声明转换成常量声明,使其成为只读值,
这种方式更为灵活。
const int SCORE = ;//SCORE是一个值为89的符号常量
系统定义的常量:头文件limits.h和float.h分别提供整型和浮点型
//例如limits.h文件包含下面类似的行
#define INT_MAX +32767
#define INT_MIN -32768
【研究和利用printf()和scanf()】
仅允许非商业转载,转载请注明出处:
https://i.cnblogs.com/EditPosts.aspx?postid=7082749
【CPP】字符串和格式化输入输出的更多相关文章
- C Primer Plus_第四章_字符串和格式化输入输出_编程练习
Practice 1.输入名字和姓氏,以"名字,姓氏"的格式输出打印. #include int main(void) { char name[20]; char family[2 ...
- c语言之字符串和格式化输入输出
字符串和格式化输入输出 #include<stdio.h> #include<string.h> #define DENSITY 62.4 int main(void) { f ...
- C语言学习笔记---3.字符串格式化输入输出
1.C语言字符串 字符串(character string)是一个或多个字符的序列,例如:"Zing went the strings of my heart!" C语言没有专门用 ...
- C++格式化输入输出
要实现格式化输入输出,程序需要包含 iostreams 标准标头 <iomanip> 以定义几个各自采用单个参数的操控器. 备注: 其中每个操控器都返回重载 basic_istream&l ...
- C:指针、数据类型、格式化输入输出、输入函数的坑点
指针.数据类型.格式化输入输出.输入函数的坑点 有时候我们迷茫的时候,坚持就是最好的选择. 1.指针的分类为什么很重要? 参考 答:因为指针会根据相应的类型取对应长度的数据,类型决定所取数据的长度.如 ...
- [C++ Primer Plus] 第8章、函数探幽(一)程序清单——内联、引用、格式化输入输出、模板、decltype
程序清单8.1(inline内联函数) #include<iostream> using namespace std; inline double square(double x) {// ...
- std::string格式化输入输出
在C语言中: C函数有sprintf函数, 比较方便, 但是需要知道所需要的内存空间是多少. 在C++的框架MFC中: 在MFC中CString 有Format函数来格式化字符串. 很方便. 难过的是 ...
- yield生成器及字符串的格式化
一.生成器 def ran(): print('Hello world') yield 'F1' print('Hey there!') yield 'F2' print('goodbye') yie ...
- PHP json字符串,格式化缩进显示
PHP json字符串,格式化显示 /** * 格式化 */ class JsonFormatHelper { /** * json字符串缩进显示 * @param unknown $json * @ ...
随机推荐
- jenkins构建后操作添加“Publish to Subversion repository”与Eclipse更新提交SVN文件冲突
jenkins配置环境信息: 1.安装“SVN Publisher plugin”插件: 2.在系统管理-系统设置中“Global SVN Publisher Settings” 填写信息:
- 【PHP】震惊,一张图详解递归函数!!!!
在PHP学习中,递归函数是一个非常重要也是非常难以理解的部分,本博文将通过一张图尽可能演示这个过程,不对之处还请指出
- python实现希尔排序(已编程实现)
希尔排序: 观察一下”插入排序“:其实不难发现她有个缺点: 如果当数据是”5, 4, 3, 2, 1“的时候,此时我们将“无序块”中的记录插入到“有序块”时,估计俺们要崩盘, 每次插入都要移动位置,此 ...
- 15个必须知道的 Chrome 开发技巧
在 Web 开发者中,Chrome 是使用最广泛的浏览器.六周一次的发布周期和一套强大的不断扩大开发功能,使其成为了web开发者必备的工具.你可能已经熟悉了它的部分功能,如使用 console 和 d ...
- 配置一个完整的 applicacontext.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...
- Lniux下安装mysql----编译版
####安装mysql-5.7.10rpm -e --nodeps mysqlrpm -e mysqlclient10useradd -g mysql -s /sbin/nologininstall_ ...
- Vijos 1006 晴天小猪历险记之Hill 单源单汇最短路
背景 在很久很久以前,有一个动物村庄,那里是猪的乐园(^_^),村民们勤劳.勇敢.善良.团结-- 不过有一天,最小的小小猪生病了,而这种病是极其罕见的,因此大家都没有储存这种药物.所以晴天小猪自告奋勇 ...
- Tomcat集群搭建
关于如何搭建Tomcat集群网上还是能搜到很多相关的教程,这里结合我自己在实际应用中的操作做下备忘. 案例说明: 这里以在本机部署的2个tomcat来做集群.当然,tomcat集群可以是分布式的,而差 ...
- AT&T汇编helloworld
摘自:http://blog.163.com/guixl_001/blog/static/417641042012112102642703/ 代码: #hello.s .data # 数据段声明 ms ...
- springmvc+mybatis 做分页sql 语句
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-// ...