C语言字符串输如输出
来源:互联网 发布:淘宝申请售后时间限制 编辑:程序博客网 时间:2024/05/18 00:51
1.前导程序
1 #include<stdio.h> 2 #include<string.h> //1提供strlen()的函数原型 3 #define DENSITY 62.4 //2预处理命令 4 int main(void) 5 { 6 float weight,volume; 7 int size,letters; 8 char name[40]; //3定义一个长度为40的数组 9 10 printf("Hi! What's your first name?\n");11 scanf("%s",name);12 printf("%s,What's your weight in pounds?\n",name);13 scanf("%f",&weight);14 size=sizeof name; //4 数组name[]的长度15 letters=strlen(name);//5 调用函数strlen()16 volume=weight/DENSITY;17 printf("well,%s,your volume is %2.2f cubic feet.\n",name,volume);//%2.2f表示字符宽度为2,精确到小数点后两位18 printf("Also,your first name has %d letters,\n",letters);19 printf("and we have %d bytes to store it in.\n",size);20 return 0;21 }
2.关于字符串
(1)字符串是一个或多个字符的序列。如"I am a student!"。
(2)C语言用空字符来标记一个字符串的结束。数组的单元数必须至少比要存储的字符数多1。
(3)字符串和字符。'x'和"x"的区别(后者是一个字符串由'x'和'\0'组成)。
(4)Sizeof()和strlen()函数。
- 同一个字符串,sizeof()把标志字符串结尾的空字符计算在内,长度比strlen()大1.
- strlen()以字符为单位给出字符串的长度。sizeof()给出数组的长度(分配的内存单元)。
- 获取一个类型大大小~获取一个具体量的大小。sizeof(char)和sizeof (name)=sizeof name。
1 #include<stdio.h> 2 #include<string.h> 3 #define PRAISE "What a super marvelous name!" 4 int main(void) 5 { 6 char name[40]; 7 printf("What's your name?\n"); 8 scanf("%s",name); 9 printf("Hello,%s.%s\n",name,PRAISE);10 printf("Your name of %d letrers occupies %d memory cells.\n",11 strlen(name),sizeof(name));//sizeof name12 printf("The phrase of praise has %d letters",13 strlen(PRAISE));14 printf("and occupies %d memory cells.\n",sizeof(PRAISE));//sizeof PRAISE15 return 0;16 }
3.常量和C预处理器
(1)常量如0.015。float taxrate=0.015。把常量0.015赋值给变量taxrate,但程序可能意外的改变它的值。
(2)两种方法const修饰符和#define预处理命令
- const int MONTHS=12;
- #define MONTHS +12;(#define TEE 'T')(#define OOPS "Now you have it!")
4.printf()函数
(1)printf():(“控制描述"+变量列表)~(变量使用的是值,无论该值是变量、常量、还是表达式)。
(2)printf()转换说明符:%c--一个字符、%d--有符号十进制整数、%e--浮点数e记数法、%、f--浮点数十进制、%p--指针、%%--打印一个%、%s--字符串...:
- 请避免不匹配的转换。
(3)printf()标志符:-(左对齐)、+(带符号)、#(...)、0(对所有数字格式,用前导0填充字段宽度)
- 打印一个字符串的前8个字符,字段宽度为8字符(%8.8s)
- 打印双引号\"....\"
- 打印一个字段宽度在参数列表中给定的八进制整数(%*0).
- %5d(00006)
- 指定固定字段宽度(有效防止溢出)
(4)用printf()打印较长的字符串
a.采用多个printf()函数;
b.在一个printf()中采用(\)和回车键
c.采用字符串连接方法("Hello""world")
1 #include<stdio.h> 2 int main(void) 3 { 4 printf("Here's one way to print a "); 5 printf("long string.\n");//a 6 printf("Here's another way to print a \ 7 long string.\n");//b 8 printf("Here's the newest way to print a " 9 "long string.\n");//c10 return 0;11 }
(5)printf()的函数返回值(返回所打印字符的数目,如果输出有误则返回-1,常用于检查输出错误。向文件中而非屏幕)
1 #include<stdio.h> 2 int main(void) 3 { 4 int bph2o=212; 5 int rv; 6 7 rv=printf("%d F is water's boiling point.\n",bph2o); 8 printf("The printf()function printed %d characters.\n",rv); 9 return 0;10 }
5.scanf()函数
(1)scanf()会在遇到第一个空白字符空格、制表符、或者换行符处停止读取。~gets()函数可以用来读取一个字符串。
(2)读取变量类型的值加&,把字符串读进一个字符数组不使用&。
(3)scanf("%d,%d",&n,&m)接受输入 1,2 {scanf("%c",&ch)读取在输入中遇到的第一个字符}
6.关于修饰符*
- printf()中在字段宽度部分使用*来代替数字
1 #include<stdio.h> 2 int main(void) 3 { 4 unsigned width,precision; 5 int number=256; 6 double weight=242.5; 7 8 printf("What field width?\n"); 9 scanf("%d",&width);10 printf("The number is :%*d:\n",width,number);11 printf("Now enter a width and a precision:\n");12 scanf("%d%d",&width,&precision);13 printf("Weight=%*.*f\n",width,precision,weight);14 return 0;15 }
- scanf()中*使函数跳过相应的输出项目(scanf("%*d%*d%d",&n);前两个跳过)
- C语言字符串输如输出
- 【C语言】输出字符串
- C语言之字符串输出
- 【C语言】逆序输出字符串
- C语言 字符串的输出
- 【C语言】在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出’b’
- 【剑指offer】C语言:实现函数可以将一个字符串转换为对应的整数,如+1234输出1234
- 如何用c语言,输出%d、\n等特殊字符
- 090913c语言笔记(字符串输出)
- C语言中几个字符串输出
- C语言 - 字符串的输入、输出
- C 语言中将字符串倒 输出
- C语言字符串输出问题&str[i]
- C语言字符串输入与输出函数
- C语言 格式化输出与字符串操作
- C语言关于字符串逆序输出---面试
- c语言编程:字符串反序并输出
- C语言基础 printf输出字符串%s
- Myeclipse for mac 快捷键
- 初学php做过的10道题
- 你必须知道的10个提高Canvas性能技巧
- Mtk Ft6306 touch 驱动
- 递归算法---全排列
- C语言字符串输如输出
- 百度地图API常规应用十功能
- UVA11796- Dog Distance
- eclipse 转换项目为C++项目,在列表中找不到项目名
- 沟通管理--关于信息的有效传递和维护
- PAT A 1086. Tree Traversals Again (25)
- 使用 Drools 规则引擎实现业务逻辑
- 谷歌眼镜-残缺的进步
- VS可增加调试效率的伪符号getlasterror