函数练习题及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题

6.1 C语言中的简单数据类型有

A) 整型、实型、逻辑型 B) 整型、实型、字符型

C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型答案:B

6.2 C语言中,字符(char)型数据在微机内存中的存储形式是

A) 反码 B) 补码 C) EBCDIC码 D) ASCII码答案:D

6.3 设有语句char a=\'\'\\72\'\';,则变量a

A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法答案:A

6.4 C语言中不合法的字符常量是

A) \'\'\\0xff\'\' B) \'\'\\65\'\' C) \'\'&\'\' D) \'\'\\028\'\'

答案:本题A)和D)选项都是不合法的字符常量。若A)选项改为\'\'\\xff\'\',则正确。

6.5 C语言中不合法的字符串常量是

A) "\\121" B) \'\'y=\'\' C) "\\n\\n" D) "ABCD\\x6d" 答案:B

一、选择题

7.1 以下说法中正确的是

A) C语言程序总是从第一个定义的函数开始执行

B) 在C语言程序中,要调用的函数必须在main函数中定义

C) C语言程序总是从main函数开始执行

D) C语言程序中的main函数必须放在程序的开始部分答案:C

7.2 以下函数的类型是

A) 与参数x的类型相同 B) void类型 C) int类型 D) 无法确定

fff(float x)

{ printf("%d\\n",x*x); }

答案:C

7.3 以下函数调用语句中,含有的实参个数是

A) 1 B) 2 C) 4 D) 5

func( (exp1,exp2),(exp3,exp4,exp5));

答案:B

7.4 以下程序的输出结果是

A) 11 B) 20 C) 21 D) 31

fun(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),z--);

printf("%d\\n",r);

}

答案:C

7.5 以下程序的输出结果是

A) -1 B) 0 C) 1 D) 2

main()

{ int i=2,p;

p=f(i,i+1);

printf("%d",p);

}

int f(int a, int b)

{ int c;

c=a;

if(a>b) c=1;

else if(a==b) c=0;

else c=-1;

return(c);

}

答案:A

7.6 以下程序的输出结果是

A) 0 B) 1 C) 6 D) 无定值

fun(int a,int b,int c)

{ c=a*b; }

main()

{ int c;

fun(2,3,c);

printf("%d\\n",c);

}

答案:D

7.7 以下程序的输出结果是

A) 5.500000 B) 3.000000 C) 4.000000 D) 8.25

double f(int n)

{ int i; double s;

s=1.0;

for(i=1; i<=n; i++) s+=1.0/i;

return s;

}

main()

{ int i,m=3; float a=0.0;

for(i=0; i

printf("%f\\n",a);

}

答案:A

二、填空题

7.8 以下程序的输出结果是____。

unsigned fun6(unsigned num)

{ unsigned k=1;

do

{ k*=num%10; num/=10; }

while(num);

return k;

}

main()

{ unsigned n=26;

printf("%d\\n",fun6(n);

}

答案:12

7.9 以下程序的输出结果是____。

double sub(double x,double y,double z) { y-=1.0;

z=z+x;

return z;

}

main()

{ double a=2.5,b=9.0;

printf("%f\\n",sub(b-a,a,a));

}

答案:9.000000

7.10 以下程序的输出结果是____。

fun1(int a,int b)

{ int c;

a+=a; b+=b;

c=fun2(a,b);

return c*c;

}

fun2(int a,int b)

{ int c;

c=a*b%3;

return c;

}

main()

{ int x=11,y=19;

printf("%d\\n",fun1(x,y));

}

答案:4

第十一部分函数

一、选择题

11.1 以下叙述不正确的是

A) C程序的main函数可以没有参数。

B) C程序的main函数可以有参数。

C) C程序的main函数若有参数时,第一个参数的值最少是1。

D) main函数的第一个参数必须是整型,其名字必须是argv,第二个参数可以定义成:char *argv[],名字必须是argv。答案:D

11.2 若有以下定义和说明,则对fun函数的正确调用语句是

A) a=fun; a(w); B) a=fun; (*a)(&c);

C) b=fun; *b(w); D) fun(b);

main()

{ int (*a)(int *),*b(),w[10],c;

.

.

.

}

fun(int *c) { ... } 答案:B

11.3 以下叙述正确的是

A) C程序中各函数之间既允许直接递归调用也允许间接递归调用

B) C程序中各函数之间不允许直接递归调用也不允许间接递归调用

C) C程序中各函数之间允许直接递归调用不允许间接递归调用

D) C程序中各函数之间不允许直接递归调用允许间接递归调用答案:A

11.4 以下程序的输出结果是

A) 8 B) 30 C) 16 D) 2

long fib(int n)

{ if(n>2) return (fib(n-1)+fib(n-2));

else return (2);

}

main()

{ printf("%ld\\n",fib(6)); } 答案:C

二、填空题

11.5 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在DOS提示符下键入

PROG ABCD EFGH IJKL (此处代表Enter键)

相关文档
最新文档