《[高等教育]C语言学习课件第06章》由会员分享,可在线阅读,更多相关《[高等教育]C语言学习课件第06章(35页珍藏版)》请在金锄头文库上搜索。
1、为了解决比较复杂的问题,本章介绍C语言提供的 一种最简单的构造类型数组。6.1 1维数组的定义和引用 6.2 2维数组的定义和引用 6.3 字符数组与字符串Return第6章 数 组6.1 1维数组的定义和引用6.1.1 1维数组的定义 6.1.2 1维数组元素的引用 6.1.3 1维数组元素的初始化 6.1.4 1维数组应用举例 Return6.1.1 1维数组的定义案例6.1 从键盘上任意输入10个整数,要求按从小到大的顺序 在屏幕上显示出来。 排序的方法有很多,本题采用冒泡法。 冒泡法的基本思想:通过相邻两个数之间的比较和交换,使排 序码(数值)较小的数逐渐从底部移向顶部,排序码较大的数
2、逐渐从 顶部移向底部。就像水底的气泡一样逐渐向上冒,故而得名。 由AnA1组成的n个数据,进行冒泡排序的过程可以描述为 : (1)首先将相邻的An与An-1进行比较,如果An的值小于 An-1的值,则交换两者的位置,使较小的上浮,较大的下沉;接着 比较An-1与An-2,同样使小的上浮,大的下沉。依此类推,直到 比较完A2和A1后,A1为具有最小排序码(数值)的元素,称第 一趟排序结束。(2)然后在AnA2区间内,进行第二趟排序,使剩余元素 中排序码最小的元素上浮到A2;重复进行n-1趟后,整个排序过程 结束。/*案例代码文件名:AL6_1.C*/ /*功能:从键盘上任意输入n个整数,用冒泡法
3、按从小到大地 排序,并在屏幕上显示出来。*/ #include “stdio.h“ #define NUM 10/*定义符号常量(数据个数N)*/ main() int dataNUM;/*定义1个1维整型数组data*/int i,j,temp;/*定义循环变量和临时变量*/clrscr();/*库函数clrscr():清屏*/printf(“Please input 10 numbers:n“);for(i=0; ii; j-) /*内循环:进行每趟比较*/if(dataj字符串2,函数返回值正整数。(3)使用说明1)如果一个字符串是另一个字符串从头开始的子串,则母串为大 。2)不能使用关
4、系运算符“”来比较两个字符串,只能用strcmp() 函数来处理。案例6.7 gets函数和strcmp函数的应用。 /*案例代码文件名:AL6_7.C*/ /*功能:简单密码检测程序*/ #include “stdio.h“ main()char pass_str80; /*定义字符数组 passstr*/int i=0;/*检验密码*/while(1)clrscr();printf(“请输入密码n“);gets(pass_str); /*输入密码*/if(strcmp(pass_str,“password”)!=0) /*口令错 */printf(“口令错误,按任意键继续“);elsebr
5、eak; /*输入正确的密码,中止循环 */getch();i+;if(i=3) exit(0); /*输入三次错误的密码,退出 程序*/ /*输入正确密码所进入的程序段*/ 4拷贝字符串strcpy()函数(1)调用方式:strcpy(字符数组, 字符串)其中“字符串”可以是串常量,也可以是字符数组。(2)函数功能:将“字符串”完整地复制到“字符数组” 中,字符数组中原有内容被覆盖。(3)使用说明1)字符数组必须定义得足够大,以便容纳复制过来的 字符串。复制时,连同结束标志0一起复制。2)不能用赋值运算符“”将一个字符串直接赋值给一 个字符数组,只能用strcpy()函数来处理。5连接字符串
6、strcat()函数(1)调用方式:strcat(字符数组, 字符串)(2)函数功能:把“字符串”连接到“字符数组”中的字 符串尾端,并存储于“字符数组”中。“字符数组”中原来的 结束标志,被“字符串”的第一个字符覆盖,而“字符串”在 操作中未被修改。(3)使用说明1)由于没有边界检查,编程者要注意保证“字符数组” 定义得足够大,以便容纳连接后的目标字符串;否则,会 因长度不够而产生问题。2)连接前两个字符串都有结束标志0,连接后“字符 数组”中存储的字符串的结束标志0被舍弃,只在目标串的 最后保留一个0。6求字符串长度strlen()函数(len是length的缩写)(1)调用方式:strlen(字符串)(2)函数功能:求字符串(常量或字符数组)的实际长度( 不包含结束标志)。7将字符串中大写字母转换成小写strlwr()函数(1)调用方式:strlwr(字符串)(2)函数功能:将字符串中的大写字母转换成小写,其它字 符(包括小写字母和非字母字符)不转换。8将字符串中小写字母转换成大写strupr()函数(1)调用方式:strupr(字符串)(2)函数功能:将字符串中小写字母转换成大写,其它字符 (包括大写字母和非字母字符)不转换。Return