您好,欢迎来到九壹网。
搜索
您的当前位置:首页练习题3

练习题3

来源:九壹网
1.1 下列函数调用中,不正确的是 ( D ). A.

max(a, b);

B. max(3, a+b); D. int max(a, b);

C. max(3, 5);

1.2

以下叙述中不正确的是( B )。

A. 调用函数时,只能把实参的值传递给形参,形参的值不能传递给实参 B. 在C的函数中,最好使用全局变量 C. 在C中,形式参数只是局限于所在函数 D. 在C中,函数名的储存类别为外部

1.3 以下程序输出结果是( B )。 #define D(x) (x)-(x) main() {

int a=4, b=6, c=7; int d=D(a-b)*7; printf(“%d”, d); } A. 0 B. 12

C. 36 D. -14

1.4 函数“fun(a+b,(x,y),fun(n+k,d,(a,b)))”中实参的个数是(B ).

A. 2 B. 3 C. 4

D. 5

1.5 如果函数定义时,形式参数是字符变量,则调用该函数时,实际参数不可以是( D )。

A. 字符型常量 B. 字符型变量 C. 字符型表达式 D. 已指向字符型变量的指针变量

1.6 在函数间传递数据的四种方式中,不能把被调函数的数据带回到主调函数的是( A )。 1.7

A.值传递 B.地址传递 C.返回值传递 D.全局外部变量 运行下列程序后的输出结果是 ( B )。

#include “string.h” main() {

char s[60], s1[10]={”123”};

char s2[20]=”123”, s3[30]=”2348”; if(strcmp(s1, s2)<0) { strcpy(s, s1); strcpy(s1, s2); strcpy(s2, s); } if(strcmp(s1, s3)<0) { strcpy(s, s1); strcpy(s1, s3); strcpy(s3, s); } if(strcmp(s2, s3)<0) strcpy(s, s2); strcpy(s2, s3); strcpy(s3, s);

printf(“%s\\n%s\\n%s\\n”, s1, s2, s3); } A 23 B 2348

123 23 2348 123 C 234823123 D 2312348

1.8

以下程序的输出结果是( A )。 #include “stdio.h” main() {

int k=2, m=1, p; p=func(k, m); printf(“%d,”, p); p=func(k, m);

printf(“%d\\n”, p); }

func(int a, int b) {

static int m; int i=2; i+=m+1; m=i+a+b; return(m); }

A. 6,12 B. 6,13

1.9

C. 6,6 D. 6,8

运行下列程序后的输出结果是( C ). int a=3, b=4;

void fun(int x1, int x2) {

printf(“%d, %d”, x1+x2, b); }

main() {

int a=5, b=6; fun(a, b); } A 3, 4 C 11, 4

1.10

B

D 11, 1 11, 6

下列函数的主要功能是计算并返回(1*(1+1))+(2*(2+1))+……(k*(k+1)),清单中缺少的是( D ). float sum1(int k) { float s=0.0; int i;

for(i=1; i<=k; i++) _________ return(s); } A i*i+1; B C s+=i*i+1; D

s=i*i+1;

s+=i*(i+1);

1.11 以下叙述中不正确的是( D )。 A. 在函数中,通过return语句传回函数值 B. 在函数中,可以有多条return语句 C. 在C中,主函数名main也可以带形参

D. 在C中调用函数,必须在一条的语句中完成

1.12 以下程序的输出结果为( B )。

#include “stdio.h” main() {

int a=1, b=2, c=3, d=4, e=5;

printf(“%d”, func((a+b,b+c,c+a),(d,e))); }

int func(int x, int y) { return x; } A. 5 B. 4 C. 9

D. 错误

1.13 当下面程序执行后,变量C的值为( A )。 main() {

int a=50, b=30, c=0; c=max(a, b); }

int max(x, y) int x, y; { int z;

if(x>y) z=x; else z=y; return(z); }

A. 50 B. 30

C. 0 D. 80

1.14 下列表达式中,结果不为1.0的表达式是( C )。 A. fabs(-1.0) C. floor(0.99)

B. pow10(0)

D. sin(90*3.14159/180)

1.15 下列表达式中,结果为0的表达式是( C )。 A. isalpha(‘A’) C. isupper(‘a’)

B. islower(‘a’) D. isdigit(‘1’)

1.16 若输入”an apple”,则输出结果是( D )。 #include main() {

char str[100]; scanf(“%s”, str);

printf(“%d\\n”, length(str)); }

length(str) char str[];

{ return(strlen(str)); } A. 9 B. 8

C. 3 D. 2

1.17 下列函数定义不正确的是( C )。 A

int max() {

int x, y, z; z = x>y?x:y; }

int max(x, y) { int x, y, z; z = x>y?x:y return(z); }

B

int max(x, y) int x, y; { int z;

z = x>y?x:y return(z); } int max() { }

C D

二.写出运行结果 2.1

写出以下程序的运行结果。 main() { int i;

for(i=1; i<6; i++) { if(i%2) { printf(\"#\"); continue; } printf(\"*\"); } printf(\"\\n\"); }

2.2

写出程序的运行结果。

#include “stdio.h” int i; main() {

void prt(); printf(“\\n”);

for(i=5; i<=10; i++) prt(); }

void prt() {

for(i=5; i<10; i++) printf(“%c”, ‘*’); printf(“\\n”); } 运行结果:*****

三.填空题 3.1

利用数组求 Fibonacci 数列 [即1,1,2,3,5,8….]的前20项。 提示:要求的该项值等于该项的前两项值之和。 #include main() {

//定义要求fibonacci数列 fb[20] int i, fb[20];

____6____ //将数组的第1,2元素初始化为1 for( i=1; i<19; i++) {

____7____ //求fibonacci第3项至20项的值 }

for( i=0; i<20; i++) {

if ( ____8____) { //每打印5个数,换行 printf(\"\\n\"); }

printf(\"%7d\ } }

填空:

6: fb[0]=1; fb[1]=1;

7: fb[i+1] = fb[i]+fb[i-1]; 8: i%5==0

3.2

利用宏定义,求圆的周长和面积。

#include \"stdio.h\"

#define ____9____ 3.1415

#define ____10____ L=2*PI*R; S=PI*R*R; void main() { float r, l, s;

printf(\"输入半径:\"); scanf(\"%f\&r);

CIRCLE(r, l, s); //引用宏名CIRCLE printf(\" r=%f\\n l=%f\\n s=%f\\n\r,l,s); }

填空: 9: PI

10: CIRCLE(R,L,S)

运行结果: #*#*#

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务