文档详情

[工学]C语言 第六章.ppt

发布:2018-03-06约9.98千字共37页下载文档
文本预览下载声明
第六章 利用数组处理批量数据 复习:循环(Iteration) 循环体现了计算机的工作能力 。 计算机能够循环,才具有处理大量数据的能力。 因为处理大量数据往往是重复的操作。 例 C语言考试结束后,输入全班同学的成绩,然后找出最高分、计算平均分、并排序。 6.1 怎样定义和引用一维数组 数组与变量一样,使用之前必须首先声明。 声明数组就是一次性声明大量的数据。 数组小结 声明数组 指明长度、数据类型和数组名 数组名代表整个数组 数组的下标从0开始 6.3 字符数组 例1:把输入的字符串逆序排列,并显示。 例2:从键盘输入一个字符串(长度不超过20,其中不含空格),将其复制一份,复制时将小写字母都转换成为大写字母)。 作业 1、用冒泡法对5个数排序(由大到小) 2、169页11题 ⑶输出字符数组时,遇到第一个‘\0 ’,输出就结束。 ⑷用“%s”格式符输入字符串时,scanf函数的输入项 是字符数组名(数组名代表该数组的起始地址)。 ⑸用“%s”格式符输入字符串时,scanf函数的输入项是字符数组名时,从键盘输入的字符串应短于已定义的字符数组的长度。系统自动在后面加 个‘\0’结束符。 ⑹利用scanf函数输入多个字符串时,是以空格、回车、跳格分隔。因此不要用scanf函数从键盘输入 How are you? 赋给一个字符串。 例如:char c[10]; scanf(“%s”,c); 用户输入字符串时最多为9个。 例如:char a[15]; scanf(“%s”,a); 用户从键盘输入How are you? ,实际上只有How赋给了数组a。 例如:char str[10]; scanf(“%s”,str); 应为: char str[10]; scanf(“%s”,str); #include “string.h” main() { char str[80]; int c,i,j;  scanf(%s,str); j=strlen(str); for(i=0;ij;i++) { c=str[i];str[i]=str[j];str[j]=c; j--; } printf(\nReversed string:\n%s\n,str);} main() { char a[20],b[20]; int i; printf(Enter a string:\n); scanf(%s,a); i=0; do while(a[i]!=\0) {b[i]=(a[i]=‘a’ a[i]=z)?a[i]-32:a[i]; i=i+1;} printf(Copyed string:\n%s\n,b) ;} 四、字符串函数 1.字符串输入gets()函数 字符串输出函数 字符串输入函数 形式:gets(字符数组) 功能:从终端输入一个字符串(直到回车键) 到字符数组中。 例如:char str[20]; gets(str); 键盘输入:Hello World! 字符串“Hello World!”送到字符数组str中。 形式: puts(字符数组) 功能:输出一个字符串。输出时,将字符串结束标志转换成‘\0’, 即输出完字符串后换行。 例如:char a[6]=“China”; char b[8]=“Beijing”; puts(a);puts(b); 输出:China Beijing 使用puts和gets函数前,要用预编译命令: #include “stdio.h”。 字符串处理函数 使用函数前,要用#include “string.h” 计算字符串长度,函数值不包括‘\0’字符。 例如:char str[80]={“abcdefghij”} ; printf(“%d”,strlen(str)) ; 输出:10 strlen(字符数组) strcmp(字符串1,字符串2) 比较两个字符串。 比较原则:两个字符串从左至右逐个对应字符按其 ASCII码值 大小相比较,直到出现不同的字符或遇到‘\0’为止。 n=strcmp(字符串1,字符串) n0; 串1串2 则:n= n=0; 串1=串2
显示全部
相似文档