C语言程序设计教程第五章练习题题目--精选文档_第1页
C语言程序设计教程第五章练习题题目--精选文档_第2页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单选题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、在定义数组int arr10后,下列选项中对arr的引用正确的是( )A.arr10B.arr6.3C.arr(6)D.arr03、在C语言中,引用数组元素时,其数组下标的数据类型允许是( )A.整型常量B.整型表达式C.整型常量或整型表达式D.任何类型的表达式4、若int arr5 = 1,2,3; 则arr2的值为( )A.1B.2C.3D.null5、

2、在执行int arr3 = 1,2,3,4,5,6:语句后,arr10的值为( )A.4B.1C.2D.56、关于二维数组,下列选项能正确定义并赋初值的是( )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 bookC.a boD.a8、阅读下列程序:int a44 = 1, 3, 5, , 2, 4, 6 , 3, 5,

3、 7 ; printf("%d%d%d%dn", a00, a11, a22, a33);正确的输出结果为( )A.0650B.1470C.5430D.输出值不定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<4; i+) printf("%3d", xi3 - i);下列选项中哪一项是正确的输出结果( )A.1 5 9 13B.1 6 11 16C.4 7 10 13D.4 8 12 1610、下列描述中不

4、正确的是( )。A.字符型数组中可以存放字符串B.可以对字符型数组进行整体输入、输出C.可以对整型数组进行整体输入、输出D.不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值11、以下定义语句中,错误的是( )。A.int a=1,2;B.char *a3;C.char s10="test"D.int n=5,an;12、下列选项中,合法的数组定义是( )。A.int a="string"B.int a5=0,1,2,3,4,5;C.char s="string"D.char a=0,1,2,3,4,5;

5、13、int类型变量在内存中占用四个字节,其有定义:int x10=0,2,4; 那么数组x在内存中所占字节数是( )。A.3B.10C.12D.4014、C语言中数组下标的下限是( )。A.1B.0C.视具体情况D.无固定下限15、以下程序的输出结果是( )。void main()int i, a10;for (i=9;i>=0;i-)ai=10-i;printf("%d%d%d",a2,a5,a8);A.258B.741C.852D.36916、若有以下说明:int a12=1,2,3,4,5,6,7,8,9,10,11,12; char c='a'

6、;,d,g;那么数值为4的表达式是( )。A.ag-cB.a4C.a'd'-'c'D.a'd'-c17、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"

7、,a03,a12,a21,a30;A.0650B.1470C.5430D.输出值不定多选题1、关于数组类型的定义,下列描述中正确的是( )A.数组的大小一旦定义就是固定的B.一个数组中的各元素类型可以不一样C.数组的下标类型为整型D.数组元素的下标从1开始2、下面对数组描述正确的是( )A.数组的长度是不可变的B.数组不能先声明长度再不赋值C.数组只能存储相同数据类型的元素D.数组没有初始值判断题1、在C语言中,只有一维数组和二维数组( )。2、数组的索引是从1开始的( )。3、数组属于构造类型的数据( )。4、数组名的命名较为特别,它不符合标识符的命名规范( )。5、数组在初始化时不可以只赋

8、值一部分,必须全部赋值初始化( )。6、对于一维数组,例如int arr3;则arr2表示数组的第2个元素( )。7、数组的下标范围是0-数组长度-1 ( )。8、二维数组进行定义与初始化时,行下标与列下标均不能省略( )。9、在程序设计中,一组具有相同数据类型的变量集合称为数组( )。10、数组元素的下标用于表示元素在数组中的位置序号,该下标是从1开始的( )。11、数组元素下标的个数也称为维数,根据维数的不同,可将数组分为一维数组、二维数组、三维数组、四维数组等( )。12、一维数组指的是只有一个下标的数组,用来表示一组具有相同类型的数据( )。13、数组初始化的常见方式有三种:直接对数组

9、中的所有元素赋值、只对数组中的一部分元素赋值、对数组全部元素赋值但不指定长度( )。14、数组中的元素可以通过数组名和下标来引用( )。15、数组的下标都有一个范围,即“0 数组长度” ( )。16、初始化二维数组时,如果对全部数组元素置初值,则二维数组的第一个下标可省略,但第二个下标不能省略( )。填空题1、C语言中数组名代表数组的()地址。2、数组是一组具有()类型的数据的集合。3、对于二维数组int arr34,其中3为 ()下标,4为()下标。4、若定义二维数组int arr56;则数组的列下标的取值范围为() 。5、二维数组是通过数组名和()来引用其元素的。6、C语言中数组必须先()

10、再使用。7、二维数组的定义格式为()。8、一维数组指的是只有一个()的数组,用来表示一组具有相同类型的数据。9、数组的下标是用()括起来的,而不是圆括号。10、假设定义一个3行4列的二维数组,那么共包含()个元素。11、二维数组同一维数组一样,也是通过()和下标的方式来引用数组元素。12、假设定义数组int a34,数组a可用的行下标范围是(),列下标范围是 ()。简答题1、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。void main()int i;char arr5 = 'h', 'e', 'l&#

11、39;, 'l', 'o' ;for (i = 0; i < 5; i+)printf("%c", arri); 2、请阅读下面的程序,在空白处填写正确的代码,只打印出数组偶数位上的元素。int main()int i;int arr8 = 1, 0, 1, 0, 1, 0, 1, 0 ;for (i = 0; i < 8; i+) ;printf("%dn", arri);return 0;3、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。void main(

12、)float arr6 = 1.1, 2.2, 3.3, 4.4, 5.5, 6.6 ;int i,t;t = arr0;for (i = 0; i < 5; i+)arri = arri + 1; arr5 = t;for (i = 0; i < 6; i+)printf("%-6.2f", arri);4、请阅读下面的程序,在空白处填写正确的代码, 输出数组中最大元素的下标。int main() int i, p;int arr = 1, -3, 0, -9, 8, 5, 20, 3 ;for (i = 0, p = 0; i < 8; i+)if (

13、 ) ;printf("p = %dn", p);return 0;5、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:删除字符串s中的所有数字字符。void dele(char *s)int n=0,i;for (i=0;si;i+)if (_)sn+=si;sn=_6、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:在一个初始化数组中查找与x相同的元素,如果找到就将该元素置为-x。void main()int a=8,4,2,7,3,9,i,x;scanf("%d",&x);for (i=0; _; i+)if (ai=x

14、)_for(i=0;i<6;i+)printf("%d ",ai);7、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:计算str所指字符串的长度,并作为函数值返回。int mystrlen(char *str)int i;for (i=0; _!='0' i+);return _;8、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:在5个数中,找出最大的元素及位置。#define size 5void main()int asize=4,6,3,9,23;int max,p,i;_p=0;for (i=1;i<size;i+)if(ai>max)max=ai;_9、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:对N个数用直接插入排序法进行由小到大排序。#define N 10 /待排序元素的个数void insertsort(int RN+1) /直接插入排序int i,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类型数组,从键盘输入其元素,然后将其从小到大排序后输出。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论