(完整版)C语言程序设计教程第五章练习题题目 下载本文

简答题

1、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 void main() { int i; char arr[5] = { 'h', 'e', 'l', 'l', 'o' }; for (i = 0; i < 5; i++) printf(\ }

2、请阅读下面的程序,在空白处填写正确的代码,只打印出数组偶数位上的元素。 int main() { int i; int arr[8] = { 1, 0, 1, 0, 1, 0, 1, 0 }; for (i = 0; i < 8; i++) { ; printf(\ }

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\ }

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(\ 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(\ for (i=0; _______; i++) if (a[i]==x) _______ for(i=0;i<6;i++) printf(\ }

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;imax) { 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请简述什么是多维数组的维数。