2011C语言复习题给学生(本科80学时)(4)

2019-08-30 22:50

static int c=3; b++; c++;

return(a+b+c);

} 【7 8 9】

11 下面程序的输出结果是

#include try( )

{ static int x=3; x++; return(x); }

main( ) { int i, x;

for(i=0; i<=2; i++ ) x=try( );

printf(\;

} 12 下面程序的输出结果是

#include main( ) {

int x=1;

void f1( ), f2( ); f1( ); f2(x);

printf(\; }

void f1(void) {

int x=3;

printf(\; }

void f2( x ) int x; {

printf(\;

} 13 有如下程序:

#include “stdio.h” main()

{ int a=0,b=1; int mm(int,int);

【6】

3 2 1】

printf(“%d,”,mm(a,b)); printf(“%d”,mm(a,b)); return(1); }

int mm(int m,int n) { static int s=1; s++;

return(s*(m+n)); }

则此程序执行后输出的结果为【2,3】。

14有以下程序 ?? int sub(int n) {

return (n/10+n); } ?? main() ?? { int x,y;

?? scanf(\ ?? y=sub(sub(sub(x))); ?? printf(\\\n\ ?? } ??若运行时输入:1234<回车>,程序的输出结果是【10】. 15 以下程序运行后的输出结果是 ??void fun(int x,int y) ??{ x=x+y;y=x-y;x=x-y; ??printf(“%d,%d,”,x,y); } ??main()

??{ int x=2,y=3; ??fun(x,y);

??printf(“%d,%d\\n”,x,y);

??} 【3,2,2,3】 16 在主函数中输入8个整数,调用函数对其进行排序(从小到大),排序方法不限, 最后在主函数中输出结果。 17下列叙述中错误的是(A)

A 主函数中定义的变量在整个程序中都是有效的。 B 在其它函数中定义的变量在主函数中也不能使用。 C 形式参数也是局部变量。

D 复合语句中定义的变量只在该复合语句中有效。 18下面正确的函数定义形式是A A double fun(int x,int y) B double fun(int x;int y) C double fun(int x,int y); D double fun(int x,y);

19若使用一维数组名作函数参数,则以下正确的说法是C

A 必须在主调用函数中说明此数组的大小; B 实参数组类型与形参数组类型可以匹配; C 在被调函数中,不需要考虑形参数组的大小; D 实参数组名与形参数组名必须一致; 20下正确的说法是(A )。

如果在一个函数中的复合语句中定义了一个变量,则该变量 A 只在该复合语句中有效 B 在该函数中有效 C 本程序中有效 D 为非法变量

21以下不正确的说法是D

A 在不同函数中可以使用相同的名字的变量; B 形式参数是局部变量;

C 在函数内定义的变量只在本函数范围内有效;

D 在函数内的复合语句中定义的变量在本函数范围内有效;

22凡是函数中未指定存储类别的局部变量,其隐含的存储类型是( 自动(auto)) 23面叙述中正确的是C

A 在程序的一行上可以出现多个有效的预处理命令行; B 使用带参 的宏时,参数的类型应与宏定义时的一致; C 宏替换不占用运行时间,只占编译时间; D 在以下定义中C R是称为“宏名”的标识符; 24 下面程序的运行结果是:( sum=10) #define ADD(x) x+x main() {

int m=1,n=2,k=3; int sum=ADD(m+n)*k; printf(“sum=%d”,sum); }

25下面程序的运行结果是__1000 10__。

#define N 10 #define s(x) x*x #define f(x) (x*x) main()

{ int i1,i2;

i1=1000/s(N); i2=1000/f(N); printf(“%d %d\\n”,i1,i2); }

26以下程序输出的最后一个值是__120

int ff(int n) { static int f=l; f=f*n;

return f; }

main() { int i;

for(i=1;i<=5;i++) printf(“%d\\n”,ff(i)); }

27以下函数的功能是:求x的y次方,请填空。

double fun( double x, int y) { int i; double z;

for(i=1, z=x; i

28在主函数中输入两个正整数,调用一个函数求其最大公约数和最小公倍数,再调用一个函数将结果输出。

29编一子函数,求出一个字符串中所有字母的个数。

编写主函数,让用户输入一个长度不超过100的字符串,调用子函数,在主函数中输出串中所有字母的个数。

30输入一串字符,长度不超过80个,分别统计出其中大写英文字母、空格和其它字符的个数并分别输出。

31求一维整型数组中正数的和。
要求:主函数定义数组a[10],从键盘输入十个数,调用自定义函数求出正数的和,然后在主函数中输出结果

32求一维整型数组中负数的和。
要求:主函数定义数组a[10],从键盘输入十个数,调用自定义函数求出负数的和,然后在主函数中输出结果。

33通过键盘输入一个字符串,在用户自定义的函数中实现将字符串反序并在主函数中做输出。

34 通过调用自定义函数来完成求圆柱体的体积(v=3.14*r2*h),要求圆柱体的高和底半径在主函数中做输入,圆柱体的体积在主函数中做输出。

第七章知识点

1 对二维数组的正确说明是哪一项?

A int a[][]={1,2,3,4,5,6}; B int a[2][]={1,2,3,4,5,6}; C int a[][3]={1,2,3,4,5,6}; D int a[2,3]={1,2,3,4,5,6}; 2 下面程序的输出结果是 #include main( )

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

i=n/5; j=n-i*5-1;

printf(\;

} 【–3】

3在C语言中,二维数组元素在内存中的存放顺序是【按行存放】。 4 以下程序的输出结果是

main()

{ char s[]=\ s[3]=''\\0'';

printf(\

} 【abc 】

5 以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值.请填空. void fun(int, int, int (*)[4],int *) main() {

int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i; fun(3,4,a,b); for(i=0;i<3;i++) printf(\ printf(\ }

void fun(int m,int n,int ar[][4],int *br) {

int i,j,x;

for(i=0;i

for(j=0;j

if(x

} 【 br[i]】

6 求一维整型数组中零的个数。

要求:主函数定义数组a[10] ={-15,-22,13,44,-25, 66, 0, 88, -39,10},

调用自定义函数求出零的个数,然后在主函数中输出结果。

7 下面程序的输出结果是__ some string *test __。 #include main( )

{ char s1[50]={\; printf(\; }

8有如下程序段:(B)

static char str[14]={“I︼am︼”}; strcat(str, “ sad! ”);


2011C语言复习题给学生(本科80学时)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:jubingxi

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

马上注册会员

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