C语言程序设计习题集 下载本文

内容发布更新时间 : 2024/11/8 21:41:49星期一 下面是文章的全部内容请认真阅读。

7.有以下程序:

#include main()

{ char a[20]=\?\,b[20];

scanf(\,b);printf(\,a,b); }

程序运行时从键盘输入:How are you?<回车> 则输出结果为____。

第07章 指针

一.选择题 1.有以下程序:

#include main()

{ int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r;

printf(\,%d,%d,%d\\n\,m,n,*p,*q); }

程序运行后的输出结果是________。 A)1,2,1,2 B)1,2,2,1 C)2,1,2,1 D)2,1,1,2

2.以下程序段完全正确的是

A)int*p; scanf(\,&p); B)int*p; scanf(\,p);

C)int k,*p=&k; scanf(\,p); D)int k,*p; *p=&k; scanf(\,p);

3.以下定义语句中正确的是。 A)int a=b=0;

B)char A=65+1,b=′b′; C)float a=1,*b=&a,*c=&b; D)double a=0.0;b=1.1;

4.若有定义语句:double x,y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是________。

A)scanf(\,x,y); B)scanf(\,&y); C)scanf(\,px,py); D)scanf(\,x,y);

5.有以下程序:

#include

17

main()

{ int a[ ]={1,2,3,4},y,*p=&a[3]; --p;y=*p;printf(\=%d\\n\,y); }

程序的运行结果是 A)y=0 B)y=1 C)y=2 D)y=3

6.下列函数的功能是________。

fun(char *a,char *b)

{ while((*b=*a)!='\\0') {a++;b++;}} A)将a所指字符串赋给b所指空间 B)使指针b指向a所指字符串

C)将a所指字符串和b所指字符串进行比较 D)检查a和b所指字符串中是否有'\\0'

7.设有定义:char *c;,以下选项中能够使字符型指针c正确指向一个字符串的是________。

A)char str[]=\;c=str; B)scanf(\,c); C)c=getchar(); D)*c=\;

8.有以下程序

#include main()

{ char s[]=\;

printf(\,*s+2); }

程序运行后的输出结果是

A)tuv B)字符t的ASCII码值 C)t D)出错

9.下列语句组中,正确的是

A)char *s;s=\ B)char s[7];s=\C)char *s;s={\ D)char s[7];s={\

二.填空题

1.以下程序的功能是:借助指针变量找出数组元素中的最大值及其元素的下标值。请填空。

#include main()

{int a[10],*p,*s;

18

for(p=a;p-a<10;p++)scanf(\

for(p=a,s=a;p-a<10;p++) if(*p>*s) s=______; printf(\}

2.有以下程序

#include main()

{ int a[]={1,2,3,4,5,6},*k[3],i=0; while(i<3) { k[i]=&a[2*i];

printf(\ i++; } }

程序运行后的输出结果是______。

3.以下程序的功能是:借助指针变量找出数组元素中最大值所在的位置并输出该最大值。请在输出语句中填写代表最大值的输出项。

#include main()

{ int a[10],*p,*s;

for(p=a;p-a<10;p++) scanf(\,p);

for(p=a,s=a;p-a<10;p++) if(*p>*s) s=p; printf(\=%d\\n\,______ ); }

第08章 函数

一.选择题

1.以下叙述正确的是。

A)C语言程序是由过程和函数组成的

B)C语言函数可以嵌套调用,例如:fun(fun(x)) C)C语言函数不可以单独编译

D)C语言中除了main函数,其他函数不可作为单独文件形式存在

2.有以下程序:

#include int fun(int a,int b) { if(b==0) return a;

else return(fun(--a,--b)); }

main()

{ printf(\,fun(4,2));}

19

程序的运行结果是________。 A)1 B)2 C)3 D)4

3.下面的函数调用语句中func函数的实参个数是________。

func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8))); A)3 B)4 C)5 D)8

4.有以下程序:

#include

void fun(int *a,int *b) { int *c;

c=a;a=b;b=c; }

main()

{ int x=3, y=5, *p=&x, *q=&y; fun(p,q);printf(\,%d,\,*p,*q); fun(&x,&y);printf(\,%d\\n\,*p,*q); }

程序运行后的输出结果是________。 A)3,5,5,3 B)3,5,3,5 C)5,3,3,5 D)5,3,5,3

5.有以下程序:

#include int f(int x,int y) {return((y-x)*x);} main()

{ int a=3,b=4,c=5,d; d=f(f(a,b),f(a,c)); printf(\,d); }

程序运行后的输出结果是________。 A)10 B)9 C)8 D)7

20