《C语言程序设计教程第五章练习题题目.docx》由会员分享,可在线阅读,更多相关《C语言程序设计教程第五章练习题题目.docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计教程第五章练习题题目 单选题 1、关于数组的定义与初始化,下列哪一项是错误的() A.int arr5 = 1,2,3,4,5; B.int arr = 1,2,3,4,5; C.int arr5 = 1,2,3; D.int arr5 = 1,2,3,4,5,6; 2、在定义数组intarr10后,下列选项中对arr的引用正确的是() A.arr10 B.arr6.3 C.arr(6) D.arr0 3、在C语言中,引用数组元素时,其数组下标的数据类型允许是() A.整型常量 B.整型表达式 C.整型常量或整型表达式 D.任何类型的表达式 4、若intarr5 = 1,2,3;
2、 则arr2的值为() A.1 B.2 C.3 D.null 5、在执行intarr3 = 1,2,3,4,5,6:语句后,arr10的值为() A.4 B.1 C.2 D.5 6、关于二维数组,下列选项能正确定义并赋初值的是() A.int n = 5,bnn; B.int a12 = 1,3; C.int c2 = 1,2,3,4; D.int a32 = 1,2,3,4; 7、阅读下列程序段: char s18 = a book!; printf(%.4sn, s); 其输出结果为() A.a book! B.a book C.abo D.a 8、阅读下列程序: int a44 = 1,
3、 3, 5, , 2, 4, 6 , 3, 5, 7 ; printf(%d%d%d%dn, a00, a11, a22, a33); 正确的输出结果为() A.0650 B.1470 C.5430 D.输出值不定 9、阅读下面程序: int i; int x44 = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 ; for (i = 0; i=0;i-) ai=10-i; printf(%d%d%d,a2,a5,a8); A.258 B.741 C.852 D.369 16、若有以下说明: int a12=1,2,3,4,5,6,
4、7,8,9,10,11,12; char c=a,d,g; 那么数值为4的表达式是()。 A.ag-c B.a4 C.ad-c D.ad-c 17、C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为()。 A.该数组的长度 B.该数组的元素个数 C.该数组中各元素的值 D.该数组的首地址 18、当调用函数时,实参是一个数组名,则向函数传送的是()。 A.数组的长度 B.数组的首地址 C.数组每一个元素的地址 D.数组每个元素中的值 19、以下程序的输出结果是()。 void main() int a44=1,3,5,2,4,6,3,5,7; printf(%d%d%d%dn,a03
5、,a12,a21,a30; A.0650 B.1470 C.5430 D.输出值不定 多选题 1、关于数组类型的定义,下列描述中正确的是() A.数组的大小一旦定义就是固定的 B.一个数组中的各元素类型可以不一样 C.数组的下标类型为整型 D.数组元素的下标从1开始 2、下面对数组描述正确的是() A.数组的长度是不可变的 B.数组不能先声明长度再不赋值 C.数组只能存储相同数据类型的元素 D.数组没有初始值 判断题 1、在C语言中,只有一维数组和二维数组()。 2、数组的索引是从1开始的()。 3、数组属于构造类型的数据()。 4、数组名的命名较为特别,它不符合标识符的命名规范()。 5、数
6、组在初始化时不可以只赋值一部分,必须全部赋值初始化()。 6、对于一维数组,例如intarr3;则arr2表示数组的第2个元素()。 7、数组的下标范围是0-数组长度-1()。 8、二维数组进行定义与初始化时,行下标与列下标均不能省略()。 9、在程序设计中,一组具有相同数据类型的变量集合称为数组()。 10、数组元素的下标用于表示元素在数组中的位置序号,该下标是从1开始的()。 11、数组元素下标的个数也称为维数,根据维数的不同,可将数组分为一维数组、二维数组、三维数组、四维数组等()。 12、一维数组指的是只有一个下标的数组,用来表示一组具有相同类型的数据()。 13、数组初始化的常见方式
7、有三种:直接对数组中的所有元素赋值、只对数组中的一部分元素赋值、对数组全部元素赋值但不指定长度()。 14、数组中的元素可以通过数组名和下标来引用()。 15、数组的下标都有一个范围,即“0 数组长度”()。 16、初始化二维数组时,如果对全部数组元素置初值,则二维数组的第一个下标可省略,但第二个下标不能省略()。 填空题 1、C语言中数组名代表数组的()地址。 2、数组是一组具有()类型的数据的集合。 3、对于二维数组intarr34,其中3为()下标,4为()下标。 4、若定义二维数组intarr56;则数组的列下标的取值范围为()。 5、二维数组是通过数组名和()来引用其元素的。 6、C
8、语言中数组必须先()再使用。 7、二维数组的定义格式为()。 8、一维数组指的是只有一个()的数组,用来表示一组具有相同类型的数据。 9、数组的下标是用()括起来的,而不是圆括号。 10、假设定义一个3行4列的二维数组,那么共包含()个元素。 11、二维数组同一维数组一样,也是通过()和下标的方式来引用数组元素。 12、假设定义数组int a34,数组a可用的行下标范围是(),列下标范围是()。 简答题 1、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 void main() int i; chararr5 = h, e, l, l, o ;
9、 for (i = 0; i max) max=ai; _ 9、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:对N个数用直接插入排序法进行由小到大排序。 #define N 10 /待排序元素的个数 void insertsort(int RN+1) /直接插入排序 inti,j; for (i=2; i=N; i+) R0=Ri; /设置监视哨 j=i-1; while (_) Rj+1=Rj; _ Rj+1=R0; 10、定义一个大小为10的char类型数组,从键盘输入其元素,然后将其倒序输出。 11、定义一个大小为10的int类型数组,从键盘输入其元素,然后将其从小到大排序后输出。 12、定义一个大小为10的int类型数组,从键盘输入其元素,然后输出其中最大值。 13、定义一个二维数组intarr34 = 12,2,45,36,2,10,86,0,54,666,58,400;将数组中的元素按每一行每一列输出; 14、有一个二维整型数组,每一行都有一个最大值,编程求出每一行的最大值; 15、请简要说明如何定义一个一维数组并为之赋值。 16请简要说明一维数组与二维数组的区别。 17简要描述数组有哪些特点。 18请简述什么是数组。 19请简述什么是多维数组的维数。
限制150内