当前位置:首页 > 《c语言程序设计基础》单元总结与练习题及答案()
*******************************************************************************
单元六 数组的使用
单元总结提升
在本单元中,如何定义一维、二维数组、如何操作数组以及如何利用字符数组处理字符串是核心内容。通过本单元的学习,我们应该知道:
1. 数组是一组相同类型的有序数据的集合。数组要先定义后使用,可以在定义时初始化,每个数组元素相当于同类型的变量,使用数组名和下标来唯一确定数组中的元素。 2. 一维数组定义的一般格式为: 类型标识符 数组名[整型常量表达式]; ,对于已定义好的一维数组C编译系统会分配连续的存储空间, 数组名 代表数组在内存中存放的首地址。一维数组的引用方法为: 数组名[下标] ,其中下标从 0 开始。 3. 二维数组定义的一般格式为: 类型标识符 数组名[整型常量表达式1] [整型常量表达式2]; ,对于已定义好的二维数组C编译系统会分配连续的存储空间,将二维数组元素按 行 依次存储。二维数组元素的访问涉及第一维和第二维两个下标,其引用方法为: 数组名[下标1][下标2] 。 4. 字符数组是一组字符型数据的有序集合,其中每个数组元素的值都是字符。C语言用字符数组实现字符串变量,字符串以 ‘\\0’ 作为结束标志。字符串的输入可以通过 gets() 、 scanf() 函数实现,字符串的输出可以通过 puts() 、 printf() 函数实现。常见的字符串操作库函数有:求字符串长度函数 strlen() 、字符串复制函数 strcpy() 、字符串连接函数 strcat() 、字符串比较函数 strcmp(),这些库函数的定义都在头文件 string.h 中。常见的字符库函数的定义都在头文件 ctype.h 中。 5. 数组的操作通常离不开循环结构,在使用循环结构操作数组时应注意下标的变化规律。 通过本单元的学习,应该掌握C语言中对于数组这一构造数据类型的使用方法和操作方法。
单元练习
一.选择题
1.定义一个名为s的字符型数组,并且赋初值为字符串\的错误语句是( )。?
A.char?s[]={‘1','2','3','\\0?'};?? B.char?s[]={\;? C.char?s[]={\ 2.下列数组定义语句中,正确的是() A.int a[][]={1,2,3,4,5,6}; C.int a[][3]={1,2,3,4,5,6};
B.char a[2][3]=‘a',‘b'; D.int a[][]={{1,2,3},{4,5,6}};
D.char?s[4]={'1','2','3'};?
3.已定义 int a[][3]={1,2,3,4,5,6,7,8,9};,则a[1][2]的初值为( )。 A.2
B.4
C.6
D.8
4.判断字符串str1是否大于字符串str2,应当使用( )。 A.if(str1>str2)
B.if(strcmp(str1,str2)<0) D.if(strcmp(str1,str2)>0)
C.if(strcmp(str2,str1)>0)
5.下列程序段的功能是给数组所有的元素输入数据,然后输出,请选择正确答案填空( )。 #include
int a[10],i=0; while(i<10)
scanf(\ ); for(i=0;i<10;i++) printf(\}
A. a+(i++) B.&a[i+1] C.a+i D.&a[++i]
二.填空题
1.定义一个名为a的单精度浮点型一维数组,数组的长度为4,所有元素的初值均为0,定义语句为 ,引用该数组元素时,下标的范围是 ,该数组占用的存储空间为 字节。 2.设有数据定义语句int i=3,x[4]={1,2,3};,则数组元素x[i]?的值是 。
3.下列程序的功能是读取10个实数,然后依次输出前1个实数和、前2个实数和、...、前9个实数和、前10个实数和。请将程序补充完整。
#include
for(i=0;i<10;i++) scanf(\
for(i=0;i<10;i++) { ; printf(\ } }
4.下列程序的功能是求两个矩阵的和,请将程序补充完整。
#include
{ int a[3][4],b[3][4],c[3][4]; //数组c存放矩阵a与b的和 int i,j;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf(\
for(i=0;i<3;i++)
for(j=0;j<4;j++)
{ scanf(\ ; }
for(i=0;i<3;i++) { for(j=0;j<4;j++)
printf(\
putchar('\\n');
} }
5.阅读下列程序,程序运行后的输出结果是 。
#include
{ char s[3][20]={“1234”,”234567”,”6789”};
int i,k;
for(k=0,i=1;i<3;i++)
if(strcmp(s[k],s[i])<0) k=i; puts(s[k]); }
*******************************************************************************
习题答案:
一.选择题
1.C 2.C 3.C 4.D 5.A
二.填空题
1.float a[4]={0} 0至3 16 2.0
3.x+=f[i];或x=x+f[i];
4.&b[i][j] c[i][j]=a[i][j]+b[i][j] 5.6789
*******************************************************************************
单元七 函数的使用
单元总结提升
在本单元中,如何使用自定义函数是核心内容。通过本单元的学习,我们应该知道:
1. 函数是构成C程序的基本单位,函数的使用为模块化程序设计奠定了基础。从用户使用的角度,函数分为 库 函数、 自定义 函数两种。 2. 库函数的使用包括 头文件包含 和 库函数调用 两个环节;用户自定义函数的使用包括 函数声明 、 函数定义 和 函数调用 三个环节。 3. 从函数的外观形式看,函数分为 有参 函数、 无参 函数两种。当主调函数调用无参 函数时,不需要向这些函数传递参数;当主调函数调用 有参 函数时,需要传递参数。 4. 用户自定义函数的一般形式为: 函数返回值类型 函数名(形式参数列表) //函数首部 { 函数体; } 其中第一行称为 函数首部 ,大括号“{}”括起来的部分称为 函数体 ,对于有返回值的函数,函数体中要包括 return 语句。 5.函数首部也称为函数原型,用函数原型声明函数时,形参名可以省略不写,而只写形参的类型,但形参的 类型 和 数量 必须与函数首部保持一致。
共分享92篇相关文档