日记大全

日记大全 > 句子大全

C语言字符数组操作 归纳(整理 总结)

句子大全 2010-05-27 14:40:32
相关推荐

6.1 字符数组的输入输出

C语言提供的printf函数中,可以使用%c输出一个字符,使用%s输出一个字符串。使用%s格式输出字符串时,是逐个输出字符数组中的每一个字符,直到遇到字符串结束符"\0"为止。在输出的字符串中,不显示字符串结束符。假设有字符串定义如下:

char buf[] = "abcde";

那么,使用%s格式输出字符串是:

printf("buf = %s\n", buf);

可以看到,直接输出字符串数组名,就会输出字符串数组中存放的每一个字符,直到遇到字符串结束符"\0"为止。程序测试例子如下:

深入学习,可以交个朋友,工人人人号:韦凯峰linux编程学堂

程序运行结果如下:

可以看到,array字符数组存放一个字符串,printf函数可以使用%s格式,输出字符串数组名存放的字符串。printf函数可以使用%c格式,输出每一个字符的符号表示;每一个字符存放在内存中,是存储其ASCII值,所以,可以使用%d输出字符的ASCII数值。

C语言提供了scanf函数可以从终端接收用户输入的数据,那么,可以使用%s格式接收一串字符串。首先,我们先定义存放字符串的字符数组,如下:

char buf[128];

然后,使用scanf函数,接收用户从终端输入的字符串,格式如下:

scanf("%s", buf);

注意,buf是一个字符串数组变量,数组名代表数组内存块的首地址,所以,不需要使用取地址符“&”来获取数组变量的地址。直接使用数组名,就可以表示数组变量的地址。程序测试例子如下:

深入学习,可以交个朋友,工人人人号:韦凯峰linux编程学堂

程序运行结果如下:

可以看到,我们在终端上输入“123”字符串,按下回车键表示结束输入,那么,scanf函数就获取到“123”字符串,并存放到array数组中。最后,输出array字符数组中的数据,就是我们输入终端的数据。

注意:scanf函数在接收字符串输入的过程中,遇到“空格”表示结束一个字符串的输入。所以,我们要想接收用户输入的字符串中带有空格,就应该考虑到空格结束字符串输入,使用多个字符串分开存储。程序测试例子如下:

深入学习,可以交个朋友,工人人人号:韦凯峰linux编程学堂

程序运行结果如下:

可以看到,在输入“yyy xxx zzz”字符串的过程中,字符串之间有空格,表示结束输入字符串。所以,就定义多个字符数组来接收字符串数据。C语言还提供了gets/puts函数,用于输入/输出字符串。程序测试例子如下:

深入学习,可以交个朋友,工人人人号:韦凯峰linux编程学堂

程序运行结果如下:

mylinux@ubuntu:~/src/test$ gcc test.c -o exe

mylinux@ubuntu:~/src/test$ ./exe

input =

www

output =

www

可以看到,通过gets函数可以获取用户输入的字符串数据,然后,通过puts函数输出字符数组中存放的字符串。

注意,针对字符串的操作,C语言提供多个有用的API函数,例如strcat、strcpy、strncpy、strcmp、strlen等函数,对字符串的操作非常方便。当我们讲解了函数和指针的使用之后,再深入讨论字符串的处理。这里只是先讲解字符数组的定义和使用。当有了函数的定义和指针操作概念,才有助于更深入理解字符串的操作。

总结

本章节我们学习了数组的定义和使用,这是一个非常重要的数据结构。读者需要多加练习掌握。例如,通过下标访问数组元素,注意下标是从0开始,注意数组越界访问。

读者对每个知识点进行多加练习掌握,总结出对这些知识点的使用。

读者要仔细分析,掌握好每一个知识点,然后,自己总结出对该知识点的理解。自己总结出来的知识,理解才深刻,才是自己掌握的知识。

阅读剩余内容
网友评论
相关内容
拓展阅读
最近更新