C语言程序设计第十三讲[1].pptVIP

  • 13
  • 0
  • 约8.64千字
  • 约 29页
  • 2017-06-03 发布于北京
  • 举报
字 符 串 字符串与字符数组 字符串与字符数组 字符串与字符数组 程序举例 程序举例 程序举例 程序举例 程序举例 字符串处理函数 程序举例( strcpy与strcat) 字符串处理函数 编译预处理 1.文件包含指令 2.宏定义指令 3.条件编译指令 文 件 包 含 宏 定 义 宏定义举例 宏定义举例 宏定义举例 宏定义举例 宏定义举例 5、编写程序,找出m行n列的二维数组中每行元素的最大值以及每列元素的最小值。输入分m+1行:第一行为m和n的值,以下m行代表二维数组,其中每一行包括n个数。输出分两行:第一行为每行元素的最大值,第二行为每列元素的最小值。 样例输入: 3 3 1 2 -1 -3 4 2 7 9 8 样例输出: 2 4 9 -3 2 -1 作 业 看到一个加1,看到一个加1,看到\0不再加了 sizeof:用来计算一个对象或者类型所占的内存字节数的运算符。 定义的范围过小,已经溢出了 array bounds overflow 定义字符数组时,数组的长度至少是字符串长度+1 gets: \n变 \0 意思是输入时遇到回车,就认为字符串输入完毕,字符串已经结束了 puts: \0变 \n 输出完字符串还会输出回车 编译的时候看不到预处理指令,已经被预处理器处理完毕 * * 字符串常量 字符序列 A A A \0 A ? 如:, A, string, thank you, OK\n s t r i n g \0 字符串的存储: \0是字符串结束标志 注意A 和A的区别: #include iostream.h void main( ) { char c; c=A; coutc; } 所有的字符串都作为字符数组来处理。 初始化 可以用字符串常量初始化 H a p p y \0 char c[6] = {Happy}; char c[6] = Happy; char c[5] = Happy; ? char c[ ] = Happy; 默认c数组长度是6。 c[0] c[1] c[4] c[2] c[3] c[5] #include iostream.h void main( ) { char str[20]; cinstr; coutstr; } #include stdio.h void main( ) { char str[20]; scanf(%s, str); printf(%s, str); } 整个字符串输入输出 cin数组名; cout数组名; 例: bei bei fang? str[0] str[19] … b e i \0 遇到空格或回车 就结束读操作, 自动加\0 输入字符串时,字符串长度最大是数组的长度-1。 遇到\0就结束输出,如果一个字符数组包含多个\0时, 则遇到第一个\0就结束输出操作。 scanf(%s, 数组名); printf(%s, 数组名); str[0] str[19] … gets(数组名); puts(数组名); 例: bei fang? b e i  bei fang gets: \n变 \0 puts: \0变 \n f a n g \0 整个字符串输入输出 #include stdio.h void main( ) { char str[20]; gets(str); puts(str); } 输入时遇到回车符结束读操作,自动加\0 输出时遇到\0结束输出, 自动换行。 #include iostream.h void main( ) { char str[80]; int len, i; cinstr; i=0; while(str[i]!=\0) i++; len=i; coutstr有效长度是:len; } 例1:计算字符串的有效长度,即第一个\0前面的字符个数 。 O K \0 1 2 \0 0 1 4 2 3 5 str i=0 str[i]!=\0 i++ len=i 输入str 输出len 例2:将一个字符串的内容拷贝到另一个字符串中 。 #include stdio.h void main( ) { char a[50], b[50]; int i; gets(a); for(i=0; a[i]!=\0; i++) b[i]=a[i]; b[i]=\0; puts(b); } O K \0 0 1 4 2 3 5 a O K \0 0 1 4 2 3 5 b i=0 a[i]!=\0 b[i]=a[i] b[i]=\0 输入a

文档评论(0)

1亿VIP精品文档

相关文档