C语言课堂练习习题集(5)

2019-04-10 09:15

main()

{ int a[10]={10,45,23,62,98,42,87,37,86,28}; int i,j,x;

for(i=0;i<10;++i) {x=a[i];

for(j=i;j<9;++j) if(a[j+1]<______) {a[i]=a[j+1];

a[j+1]=______; x=a[i]} }

for(i=0;i<10;++i) printf(“%d”,a[i]);}

7.有以下程序,其功能是将两个有序(由小到大排列)数组中的数据合并到一个数组中,要求合并后的数组依然是由小到大顺序排列,最后输出排序后数组内容。数组中以数据0表示数据的结束。请在下划线处填上正确的内容,以实现程序功能。

#include main()

{int a[20]={1,4,7,17,23,0};

int b[20]={2,6,9,10,15,24,45,72,81,92,0}; int i,j,k,c[20]; i=j=k=0;

while((a[i]!=0)&&(b[j]!=0)) { if(a[i]

{ c[k]=____; j++;} k++;} if(a[i]= =0)

while(b[j]!=0)

c[k++]=b[j++]; if(b[i]= =0)

while(a[j]!=0)

c[k++]=a[j++]; c[k]=0; }

8.下面程序将二维数组a的行和列互换后存放到数组b中,请完成该程序。

#include main()

{int a[3][3]={{1,2,3,},{4,5,6},{7,8,9}},b[3][3]; int i,j;

for(i=0;i<3;++i) for(j=0;j<3;++j) ______; }

9.以下程序的功能是求小于1000的水仙花数(所谓水仙花数是指一个三位正整数,其各位数字的立方和等于该数本身,例如:407=4*4*4+0*0*0+7*7*7,407是一个水仙花数),请完成

21 / 45

该程序。

#include main()

{int x,y,z,m,i,j; for(i=100;i<1000;++i) {j=i; x=j/100; j=____;

y=j/10; z=j%10;

m=x*x*x+y*y*y+z*z*z; if(____)printf(\%d\,i); } }

第八章 函数 单项选择题

1.下列有关函数的说法中错误的是。

A)C语言中的函数只具有static和extern两种类型 B)C语言中允许函数的递归调用

C)调用函数时,C语言要求实参与形参的个数,类型完全一致 D)C语言函数的缺省数据类型是空类型(void型) 2.请选出以下语句的输出结果。

printf(\%d\\n\,

strlen(\;

A)7 B)18 C)9 D)输出项不合法,无正常输出 3.设有以下程序片段,请问执行后的输出结果是

char a[ ]=\; printf(\%d\\n\,

strlen(strcat(a,\; A)11 B)5 C)6 D)12 4.设有如下的函数:

funl(float a) { int b; a=a+b;

printf(“%d”,a);}

则函数的返回类型是。

A)与参数a的类型相同 B)与变量b的类型相同 C)是void型 5.标准库函数fgets(s,n,f)的功能是。

A)从文件f中读取长度为n的字符串存入指针s所指向的内存

B)从文件f中读取长度为n-1的字符串存入指针s所指向的内存空间中C)从文件f中读取n个字符串存入指针s所指向的内存空间中 D)从文件f中读取n-1的字符存入指针s所指向的内存空间中

6.C语言中规定,各个函数之间。

A)允许直接递归调用也允许间接递归调用 B)不允许自接递归调用也不允许间接递归调用 C)允许直接递归调用,不允许间接递归调用 D)不允许直接递归调用,允许间接递归调用

22 / 45

D)是int型 7.下面函数的功能是 char *s(s,t)

char *s,*t; {char *p; p=s; while(*s!='\\0')s++;

while(*t!='\\0') *s++= *t++; *s='\\0'; return p; } A)求字符串的长度 B)比较两个字符串的大小

C)将字符串t接续到字符串s中 D)将字符串s接续到字符串t中 8.请读程序;

#include fune(int a,int b)

{int c; c=a+b; return c;} main()

{ int x=6,y=7,z=8,r;

r=func((x--,y++,x+y),y--); printf(\%d\\n\,r); } 上面程序的输出结果是 A) 11 B) 10 C)21 D) 31 9.请选出以下程序的输出结果。

#include fun(s,n1,n2) int *s,nl,n2;

{ int i,j,t; i=n1;j=n2; while(i

{ int a[10]={1,2,3,4,5,6,7,8,9,0}; int i,*p=a;

fun(p,0,3);fun(p,4,9);fun(p,0,9); for(i=0;i<10;i++)

printf(\%d\,*(a+i);printf(\; }

A)0,9,8,7,6,5,4,3,2,1 B)4,3,2,l,0,9,8,7,6,5 C)5,6,7,8,9,0,1,2,3,4 D)0,9,8,7,6,5,1,2,3,4 10.请选出以下程序的输出结果

#include main()

{ int a[]={1,2,3,4},i; int x=0;

for(i=0;i<4;i++)

{ x=sub(a,x);printf(\%d\,x);} printf(\; }

23 / 45

sub(s,x) int *s,x;

{ static int t=3;x=s[t];t--;return(x); } A)1234 B)4321 C)0000 D)4444 11.下面函数的功能是。 int funl(char*x)

{ char *y=x;while(*y++);return(y-x-1);} A)求字符串的长度

B)比较两个字符串的大小

C)将字符串x复制到字符串y D)将字符串x连接到字符串y后面 12.有以下程序: main()

{ int a,b;

a=5;b=8; p(a,b); p(a+b,a); p(a/b,b);}

p(int x,int y) { y=x+y;

printf(\%d,%d\\n\,x,y); }

则执行上述程序后的输出是。

A)5,13 B)5,13 C)5,13 D)5,13 13,18 18,5 18,5 18,23 0,8 1,13 1,14 1,13 13.有函数如下: f (int a)

{ int n,d;n=0;d=2*a; while(d>=a)

{d=d%3;n=n+1;} return(n);}

设a,b,c均为整型变量,下面的程序段在调用函数f时会出现死循环的是

A)b=100;c=2*(f(b)+5); B)for(b=1;b<6;++b)

if(f(b)>3)c=f(b*b);

C)b=1 D)b=2;

do while(f(b)>3) {b=b+1;} b=f(b*b)+f(b); while(f(b)>3);

14. 下面程序正确的输出结果是 main() .

{ int x,y,z; x=5;y=7;z=4; p(7,x+y+z,&x);

printf(\%d,%d,%d\,x,y,z);} p(int x,int y,int *z)

{ *z=y-x-*z; }

A)7,7,4 B)5,7,-2 C)5,7,4 D)4,7,4

24 / 45

16. C语言中,形参的缺省存储类别是。

A)自动(auto) B)寄存器(register) C)外部(extern) D)静态(static)

填空题

1.设有下列程序: #include #include main()

{ int i; char str[10],temp[10]; gets(temp); for(i=0;i<4;i++)

{ gets(str);if(stcmp(temp,str)<0) strcpy(temp,str); }

printf(\%s\\n\,temp);}

上述程序运行后,如果从键盘上输入(在此代表回车键) C++ BASIC QuickC Ada Pascal

则程序的输出结果为____。 2. 设有以下程序:

#include main(argc,argv) int argc; char *argv;

{ while(--argc>0) printf(\%s\,argv[argc]); printf(\; }

假定上述程序经编译和链接后生成可执行文件PROG.EXE,如果在DOS提示符下键入PROG ABCD EFGH IJKL则输出结果为____。 3. 设有如下程序: #include main(argc,argv) int argc;

char *argv[ ]; { FILE *fP; void fc(); int i;

while(--argc>0)

if((fp=fopen(argv[i++],\

{ printf(\; exit(1);} else

{ fc(fP);fclose(fp); } } void fc(ifp) FILE *ifp; { char c;

while((c=getc(ifp))!='#')

25 / 45


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

下一篇:常平东部污水处理厂工艺设计

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

马上注册会员

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