C语言习题集及答案(6)

2019-08-20 19:23

5. 将一个数组中的元素按逆序重新存放。例如原来的顺序为:8,5,7,4,1, 要求改为:

1,4,7,5,8 。 #define N 7 void main()

{ int a[N]={12,9,16,5,7,2,1},k,s; printf(\初始数组:\\n\ for (k=0;k

{ s=a[k]; a[k]= (2) ; (3) =s; } printf(\交换后的数组:\\n\ for (k=0; (4) ;k++) printf(\ }

6. 有一行文字,要求删去某一个字符。此行文字和要删去的字符均由键盘输入,要删去

的字符以字符形式输入(如输入 a表示要删去所有的 a字符)。

#include void main()

{ /*str1表示原来的一行文字,str2表示删除指定字符后的文字*/

char str1[100],str2[100];

char ch;

int i=0,k=0;

printf(“please input an sentence:\\n”); gets(str1); scanf(\

for (i=0; (2) ;i++) if (str1[i]!=ch)

{ str2[ (3) ]=str1[i]; k++; }

str2[ (4) ]='\\0'; printf(\ }

7. 找出10个字符串中的最大者。

25

#include #include #define N 10 void main()

{ char str[20],s[N][20]; int i;

for (i=0;i

strcpy(str,s[0]); for(i=1;i

if ( (2) >0) strcpy(str,s[i]); printf(\ }

8. 某人有四张 3分的邮票和三张 5分的邮票,用这些邮票中的一张或若干张可以得到

多少种不同的邮资?

main()

{ static int a[27]; int i,j,k,s,n=0; for (i=0;i<=4;i++) for (j=0;j<=3;j++) { s= (1) ; for (k=0;a[k];k++)

if (s==a[k]) (2) ; if ( (3) ) { a[k]=s; n++;} }

printf(\ for (k=0; (4) ;k++) printf(\ }

9. 求矩阵的马鞍点。马鞍点即它的值在行中最大,在它所在的列中最小。

26

#define N 10 #define M 10 main()

{ int i,j,k,m,n,flag1,flag2; int a[N][M],max;

printf(\输入行数 n:\ scanf(\

printf(\输入列数 m:\ scanf(\ for (i=0;i

printf(\ (2) ;

}

flag2=0;

for (i=0;i

{ max= (3) ; for (j=1;jmax) max=a[i][j]; for (j=0;j

if (!flag2)

printf(\矩阵中无鞍点!\\n\ }

27

第六单元 函 数

一、选择题

1. 在C语言中,当函数调用时 。

A. 实参和形参各占一个独立的存储单元 B. 实参和形参共用存储单元

C. 可以由用户指定实参和形参是否共用存储单元 D. 由系统自动确定实参和形参是否共用存储单元 2. 以下函数调用语句中实参的个数为 。

exce((v1,v2),(v3,v4,v5),v6);

A. 3

B. 4

C. 5

D. 6

3. 如果在一个函数的复合语句中定义了一个变量,则该变量 。

A. 只在该符合语句中有效,在该符合语句外无效

B. 在该函数中任何位置都有效 C. 在本程序的原文件范围内均有效 D. 此定义方法错误,其变量为非法变量

A. float型 B. int型 C. long型 D. double型 5. C语言规定,函数返回值的类型是由 。

A. return语句中的表达式类型所决定 B. 调用该函数时的主调函数类型所决定 C. 调用该函数时系统临时决定

D. 在定义该函数时所指定的函数类型决定 6. 在C语言程序中,以下描述正确的是 。

A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调用可以嵌套 C. 函数的定义和函数的调用均不可以嵌套 D. 函数的定义和函数的调用均可以嵌套 7. 以下叙述中正确的是 。

A. 全局变量的作用域一定比局部变量的作用域范围大 B. 静态(static)类别变量的生存期贯穿于整个程序的运行期间 C. 函数的形参都属于全局变量

28

4. C语言允许函数值类型缺省定义,此时该函数值隐含的类型是 。

D. 未在定义语句中赋初值的auto变量和static变量的初值都是随机值 8. 以下程序的运行结果是:

#include void sub(int s[],int y) { static int t=3; y=s[t];t--; } main()

{ int a[]={1,2,3,4},i,x=0; for(i=0;i<4;i++){

sub(a,x);printf("%d",x);} printf("\n"); } A)1234

9. 以下程序的运行结果是: main()

{ int w=5;fun(w);printf("\n");} fun(int k)

{ if(k>O) fun(k-1); printf(" %d",k); }

A)5 4 3 2 l

B)0 1 2 3 4 5

C)1 2 3 4 5

D)5 4 3 2 1 0

10. 以下所列的各函数首部中,正确的是_______。 A)void play(vat a:Integer,var b:Integer) C)void play(int a,int b) A)数组的长度

B)void play(int a,b)

D)Sub play(a as integer,b as integer)

B)432l

C)0000

D)4444

11. 当调用函数时,实参是一个数组名,则向函数传送的是_______。

B)数组的首地址 D)数组每个元素中的值

B)单向值传递

C)数组每一个元素的地址 A)地址传递

12. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_______。 C)由实参传给形,再由形参传回实参 D)传递方式由用户指定

13. 以下函数值的类型是_______。

fun(float x) { float y; y=3*x-4; return y;

29


C语言习题集及答案(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:区域地理总结 - 世界地理 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: