c语言格式化输入字符型,C语言——字符串和格式化输入/输出

今天,学习了C Primer Plus的第四章。本章讲解了一些简单的C预处理器的知识,一些字符、字符串以及数组等相关概念以及输入输出函数的使用。

现将知识点总结如下:

字符串:一个或多个字符的序列(双引号不是字符串的一部分)

空字符(\0):标记字符串的结束    C中,一定以空字符结束,存储单元比储存的字符多一个

数组:同类型数据元素的有序序列

%s转换说明,scanf()只会读取字符串中的一个单词,而不是一整句

比较字符串常量“x”和字符常量‘x’:‘x’是基本类型(char);“x”是派生类型(char数组),实际由两个字符组成:‘x’和\0

strlen()函数:给出字符串中的字符长度(不计算空字符)

sizeof和strlen()的转换说明:%zd

#include 提供strlen()函数等多个与字符串相关的函数原型

预处理器定义常量:#define NAME value (用该方式定义的常量称为明示常量;通常用大写字母表示符号常量;在名称前带c_或k_前缀来表示常量)

编译时替换:编译程序时,所有的NAME都被替换为value

%n.mf的打印格式:n表示字符宽度,m表示小数点后的位数

#define 指令还可定义字符和字符串常量

const限定符:限定一个变量为只读

转换说明:指定如何把数据转换(翻译)成可显示的形式(p81)(把以二进制格式储存在计算机中的值转换成一系列字符以便于显示)

printf()函数的格式:printf(格式字符串,待打印项1,待打印项2,......);

格式字符串包括实际要打印的字符以及转换说明

在%和转换字符之间插入修饰符可修饰基本的转换说明(printf()的修饰符 p83 scanf()的修饰符 p93)

返回值:函数计算并返回给主调程序的值

printf()函数也有 一个返回值,它返回打印字符的个数(包括空格和不可见的换行符\n)

用反斜杠(\)和Enter(或Return)键组合来断行。这使得光标移植下一行,而且字符串中不会包含换行符

scanf()中的格式字符串表明字符输入流的目标数据类型

scanf()读取基本变量类型的值,在变量名前加一个&;把字符串读入字符数组中,不使用&

当scanf()把字符串放进指定数组中时,它会在字符序列的末尾加上‘\0’,让数组中的内容成为一个C字符串

scanf()函数返回成功读取的项数

printf()函数中的*修饰符代替字段宽度,scanf()函数中的*修饰符会使scanf()跳过相应的输出项

空白:包括空格、制表符和换行符。C语言使用空白分隔记号。scanf()使用空白分隔连续的输入项

练习:

假设一个程序的开头是这样:

#define BOOK "War and Peace"

int main (void)

{

float cost =12.99;

float percent = 80.0;

请构造一个使用BOOK、cost 和percent的printf()语句,打印以下内容:

This copy of "War and Peace" sells for $12. 99.

That is 80% of list.

代码:

#define _CRT_SECURE_NO_WARNINGS

#define BOOK "War and Peace"

#include

#include

int main(){

float cost = 12.99;

float percent = 80.0;

printf("This copy of \"BOOK\" sells for %.2f\n", cost);

printf("That is %.0f%% of list", percent);

system("pause");

return 0;

}

运行结果:

c23e44ca94ad5fdc9d76adfcfffabd10.png

你可能感兴趣的:(c语言格式化输入字符型)