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

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请简述什么是多维数组的维数。单纯的课本内容,并不能满足学生的需要,通过补充,达到内容的完善 教育之通病是教用脑的人不用手,不教用手的人用脑,所以一无所能。教育革命的对策是手脑联盟,结果是手与脑的力量都可以大到不可思议。

.

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4