收藏 分销(赏)

C语言程序设计教程练习题题目.doc

上传人:a199****6536 文档编号:6666748 上传时间:2024-12-20 格式:DOC 页数:15 大小:29.04KB 下载积分:8 金币
下载 相关 举报
C语言程序设计教程练习题题目.doc_第1页
第1页 / 共15页
C语言程序设计教程练习题题目.doc_第2页
第2页 / 共15页


点击查看更多>>
资源描述
单选题 1、关于数组的定义与初始化,下列哪一项是错误的( ) A.int arr[5] = {1,2,3,4,5}; B.int arr[] = {1,2,3,4,5}; C.int arr[5] = {1,2,3}; D.int arr[5] = {1,2,3,4,5,6}; 2、在定义数组int arr[10]后,下列选项中对arr的引用对的的是( ) A.arr[10] B.arr[6.3] C.arr(6) D.arr[0] 3、在C语言中,引用数组元素时,其数组下标的数据类型允许是( ) A.整型常量 B.整型表达式 C.整型常量或整型表达式 D.任何类型的表达式 4、若int arr[5] = {1,2,3}; 则arr[2]的值为( ) A.1 B.2 C.3 D.null 5、在执行int arr[][3] = {1,2,3,4,5,6}:语句后,arr[1][0]的值为( ) A.4 B.1 C.2 D.5 6、关于二维数组,下列选项能对的定义并赋初值的是( ) A.int n = 5,b[n][n]; B.int a[1][2] = {{1},{3}}; C.int c[2][] = {{1,2},{3,4}}; D.int a[3][2] = {{1,2},{3,4}}; 7、​阅读下列程序段: char s[18] = "a book!"; printf("%.4s\n", s); 其输出结果为( ) A.a book! B.a book C.a bo D.a 8​、阅读下列程序: int a[4][4] = { { 1, 3, 5, }, { 2, 4, 6 }, { 3, 5, 7 } }; printf("%d%d%d%d\n", a[0][0], a[1][1], a[2][2], a[3][3]); 对的的输出结果为( ) A.0650 B.1470 C.5430 D.输出值不定 9​、阅读下面程序: int i; int x[4][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }; for (i = 0; i<4; i++) printf("%3d", x[i][3 - i]); 下列选项中哪一项是对的的输出结果( ) A.1 5 9 13 B.1 6 11 16 C.4 7 10 13 D.4 8 12 16 10、下列描述中不对的的是( )。 A.字符型数组中可以存放字符串 B.可以对字符型数组进行整体输入、输出 C.可以对整型数组进行整体输入、输出 D.不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值 11、以下定义语句中,错误的是( )。 A.int a[]={1,2}; B.char *a[3]; C.char s[10]="test"; D.int n=5,a[n]; 12、下列选项中,合法的数组定义是( )。 A.int a[]="string"; B.int a[5]={0,1,2,3,4,5}; C.char s="string"; D.char a[]={0,1,2,3,4,5}; 13、int类型变量在内存中占用四个字节,其有定义:int x[10]={0,2,4}; 那么数组x在内存中所占字节数是( )。 A.3 B.10 C.12 D.40 14、C语言中数组下标的下限是( )。 A.1 B.0 C.视具体情况 D.无固定下限 15、​以下程序的输出结果是( )。 void main() { int i, a[10]; for (i=9;i>=0;i--) a[i]=10-i; printf("%d%d%d",a[2],a[5],a[8]); } A.258 B.741 C.852 D.369 16、​若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 那么数值为4的表达式是( )。 A.a[g-c] B.a[4] C.a['d'-'c'] D.a['d'-c] 17、C语言中数组名作为参数传递给函数,作为实在参数的数组名被解决为( )。 A.该数组的长度 B.该数组的元素个数 C.该数组中各元素的值 D.该数组的首地址 18、当调用函数时,实参是一个数组名,则向函数传送的是( )。 A.数组的长度 B.数组的首地址 C.数组每一个元素的地址 D.数组每个元素中的值 19、​以下程序的输出结果是( )。 void main() { int a[4][4]={{1,3,5},{2,4,6},{3,5,7}}; printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]; } 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、对于一维数组,例如int arr[3];则arr[2]表达数组的第2个元素( )。 7、数组的下标范围是0-[数组长度-1] ( )。 8、二维数组进行定义与初始化时,行下标与列下标均不能省略( )。 9、在程序设计中,一组具有相同数据类型的变量集合称为数组( )。 10、数组元素的下标用于表达元素在数组中的位置序号,该下标是从1开始的( )。 11、数组元素下标的个数也称为维数,根据维数的不同,可将数组分为一维数组、二维数组、三维数组、四维数组等( )。 12、一维数组指的是只有一个下标的数组,用来表达一组具有相同类型的数据( )。 13、数组初始化的常见方式有三种:直接对数组中的所有元素赋值、只对数组中的一部分元素赋值、对数组所有元素赋值但不指定长度( )。 14、数组中的元素可以通过数组名和下标来引用( )。 15、数组的下标都有一个范围,即“0 ~ 数组长度” ( )。 16、初始化二维数组时,假如对所有数组元素置初值,则二维数组的第一个下标可省略,但第二个下标不能省略( )。 填空题 1、C语言中数组名代表数组的()地址。 2、数组是一组具有()类型的数据的集合。 3、对于二维数组int arr[3][4],其中3为 ()下标,4为()下标。 4、若定义二维数组int arr[5][6];则数组的列下标的取值范围为() 。 5、二维数组是通过数组名和()来引用其元素的。 6、C语言中数组必须先()再使用。 7、二维数组的定义格式为()。 8、一维数组指的是只有一个()的数组,用来表达一组具有相同类型的数据。 9、数组的下标是用()括起来的,而不是圆括号。 10、假设定义一个3行4列的二维数组,那么共包含()个元素。 11、二维数组同一维数组同样,也是通过()和下标的方式来引用数组元素。 12、假设定义数组int a[3][4],数组a可用的行下标范围是(),列下标范围是 ()。 简答题 1​、请阅读下面的程序,分析程序是否能编绎通过并对的运营,假如不能,说明因素;假如能,请写出运营结果。 void main() { int i; char arr[5] = { 'h', 'e', 'l', 'l', 'o' }; for (i = 0; i < 5; i++) printf("%c", arr[i]); } 2​、请阅读下面的程序,在空白处填写对的的代码,只打印出数组偶数位上的元素。 int main() { int i; int arr[8] = { 1, 0, 1, 0, 1, 0, 1, 0 }; for (i = 0; i < 8; i++) { ; printf("%d\n", arr[i]); } return 0; } 3​、请阅读下面的程序,分析程序是否能编绎通过并对的运营,假如不能,说明因素;假如能,请写出运营结果。 void main() { float arr[6] = { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6 }; int i,t; t = arr[0]; for (i = 0; i < 5; i++) arr[i] = arr[i + 1]; arr[5] = t; for (i = 0; i < 6; i++) printf("%-6.2f", arr[i]); } 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 ( ) ; } printf("p = %d\n", p); return 0; } 5​、请阅读下面的程序,在空白处填写对的的代码,该程序的功能是:删除字符串s中的所有数字字符。 void dele(char *s) { int n=0,i; for (i=0;s[i];i++) if (_______) s[n++]=s[i]; s[n]=_______ } 6、​请阅读下面的程序,在空白处填写对的的代码,该程序的功能是:在一个初始化数组中查找与x相同的元素,假如找到就将该元素置为-x。 void main() { int a[]={8,4,2,7,3,9},i,x; scanf("%d",&x); for (i=0; _______; i++) if (a[i]==x) _______ for(i=0;i<6;i++) printf("%d ",a[i]); } 7、​请阅读下面的程序,在空白处填写对的的代码,该程序的功能是:计算str所指字符串的长度,并作为函数值返回。 int mystrlen(char *str) { int i; for (i=0; _______!='\0'; i++); return _______; } 8​、请阅读下面的程序,在空白处填写对的的代码,该程序的功能是:在5个数中,找出最大的元素及位置。 #define size 5 void main() { int a[size]={4,6,3,9,23}; int max,p,i; _______ p=0; for (i=1;i<size;i++) if(a[i]>max) { max=a[i]; _______ } } 9、​请阅读下面的程序,在空白处填写对的的代码,该程序的功能是:对N个数用直接插入排序法进行由小到大排序。 #define N 10 //待排序元素的个数 void insertsort(int R[N+1]) //直接插入排序 { int i,j; for (i=2; i<=N; i++) { R[0]=R[i]; //设立监视哨 j=i-1; while (_______) { R[j+1]=R[j]; _______ } R[j+1]=R[0]; } } 10、定义一个大小为10的char类型数组,从键盘输入其元素,然后将其倒序输出。 11、定义一个大小为10的int类型数组,从键盘输入其元素,然后将其从小到大排序后输出。 12、定义一个大小为10的int类型数组,从键盘输入其元素,然后输出其中最大值。 13、定义一个二维数组int arr[3][4] = {12,2,45,36,2,10,86,0,54,666,58,400};将数组中的元素按每一行每一列输出; 14、有一个二维整型数组,每一行都有一个最大值,编程求出每一行的最大值; 15、请简要说明如何定义一个一维数组并为之赋值。 16请简要说明一维数组与二维数组的区别。 17简要描述数组有哪些特点。 18请简述什么是数组。 19请简述什么是多维数组的维数。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服