Skip to content

字符串和格式化输入输出

字符串是一个或多个字符序列,在C语言中没有字符串类型,使用char数组来表示字符串,使用%s来处理字符串的输入输出,数组末尾为\0\0代表空字符,C语言用空字符标记字符串的结束。 scanf()在遇到第一个空格、制表符、或换行符时就不再读取输入

strlen()函数

strlen函数会给出字符串中的字符长度,包括空格和标点符号但不包括空字符,但是sizeof运算符会把字符串末尾的不可见的空字符也计算在内

常量和C预处理器

有时候程序需要使用变量,例如π,在C中预处理器是一些指令,指示编译器在实际编译之前所需完成的预处理。所有的预处理器指令都是以井号(#)开头,只有空格字符可以出现在预处理指令之前。预处理指令不是 C++ 语句,所以它们不会以分号(;)结尾。例如定义常量的时候我们可以通过以下的形式:

#define NAME value
实际应用时用合适的常量名来替换NAME和value,在C中一般用全大写的名称来表示符号常量,名称前带c_k_的一般会用来表示常量,当然是约定俗称,变量用小写程序也会正常编译执行,符号常量的命名规则与变量相同,可以使用大小写字母、数字和下划线,但是首字符不能为数字

const限定符

在C中const关键字用来表示一个变量为只读,举例:

const int WIDTH=10;
我们可以使用const关键字修饰的变量,但是不能进行更改,有些人会把const标记的变量称为常量或常变量

printf()和scanf()

printf()

printf()函数和scanf()函数是输入输出函数,简称为I/O函数。 printf()函数打印数据的指令要与待打印数据的类型相匹配,例如打印整数使用%d,打印字符用%c下图为各类型对应的输出类型: 打印字符串断行有三种方法: 1. 多个printf()

printf("打印一个);
printf("断行字符串.\n");
2. 使用\enter键组合:
    printf("打印一个 \
    断行字符串.\n");
3. ANSI C引入的字符串连接。在两个用双引号括起来的字符串之间用空白隔开,C编译器会把多个字符串看作是一 4. 个字符串。
printf("Here's the newest way to print a "
"long string.\n");  /* ANSI C */

scanf()

scanf()是C语言中的一个输入函数。与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include 。(在有一些实现中,printf函数与scanf函数在使用时可以不使用预编译命令)它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。 scanf()和 printf()类似,也使用格式字符串和参数列表。scanf()中的格式字符串表明字符输入流的目标数据类型。两个函数主要的区别在参数列表中。printf()函数使用变量、常量和表达式,而scanf()函数使用指向变量的指针。这里,读者不必了解如何使用指针,只需记住以下两条简单的规则:如果用scanf()读取基本变量类型的值,在变量名前加上一个&;如果用scanf()把字符串读入字符数组中,不要使用&

Comments