问题 填空题

以下程序输出的最后一个值是 【8】
int ff(int n)
static int f=1;
f=f*n;
return f;

main()
int i;
for(i=1;i<5;i++) printf("%d\n",ff(i));

答案

参考答案:120

解析:[评析] 静态变量的类型说明符是static,静态局部变量属于静态存储方式,它具有以下特点:
①静态局部变量属于静态存储类别,在静态存储区内分配存储单元。在程序整个运行期间都不释放。
②对静态局部变量是在编译时赋被值的,即只赋被值一次,在程序运行时它已有被值。以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的值。
③如在定义局部变量时不赋初值的话,则对静态局部变量来说,编译时自动赋初值0(对数值型变量)或空字符(对字符变量)。(注意:C语言中的非静态变量在定义时,系统并不会自动给它赋被值)
④虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的。
本题中函数的功能是:与for语句一起求一个整数的阶乘。

单项选择题
单项选择题 案例分析题

学校から家に帰る途中の電車の中で見た(ア)です。私の座っているすぐ前に二人の子供をつれた若いお母さんが座っていました。子供は三つくらいの女の子と小学校へ行き始めたくらいの男の子でした。二人は仲良く並んで袋に入ったお菓子を食べていました。(イ)男の子が自分のお菓子を先に食べ終わったことが、女の子にとって不幸の始まりでした。(ウ)男の子の手が女①の子のお菓子の袋に伸びていたからです。女の子はいやいやをしていましたが、(エ)お菓子を取られてしまいました。女の子は泣きながら母親に、兄の自分のためしか考えない行動を説明します。(オ)、②母親の手が突然男のこの手からお菓子を奪い取り、さらにその頭をピシャッと(啪地一巴掌)たたいたのです。ほんの少しの時間が過ぎ、男の子の目にも涙があふれてきたのを見て、かわいそうでたまらない感じでした。私の国でも、子供が悪いことをした時は、当然親は叱ります。(カ)、決して頭をたたくと言うことはしません。頭は将来を支える子供たちの大切なところです。お尻(臀部)をたたいたり、強く言って聞かせたり、優しく言って聞かせたりするなど、いろいろの方法で叱るのです。私は本当にびっくりしました。それにしても、あの男の子、頭が(キ)ならないのでしょうか。

文中のウ()に入れるのに最も適当なものはどれか。

A.といって

B.というと

C.というのは

D.というのが