sort(a,n);
for(i=0;i<10;i++)printf("%d",a[i]);}
24.数组元素作为函数实参时,传递的是实参的值,数组名作为函数实参时,传递的是实参的地址。
[][√]
25.执行以下函数调用时,各实参表达式的计算顺序是自右而左,即各实参表达式的求值顺序是En,…E3,E2,E1。
[]f(E1,E2,E3,…,En)[√]
26.程序的功能是:
写一函数求两点间的距离并在主函数中调用。
(要求:
输入带括号,不输出无意义的0)如:
运行后输入:
(0,0),(3,4),则结果输出:
5运行后输入:
(1,1),(9,7),则结果输出:
10以下程序在/*【*/和/*】*/之间的5行语句或式子有错,请将/*【*/和/*】*/之间的语句或式子替换成正确的语句或式子。
参考答案:
#include"stdio.h"
/*【*/#include"math.h"/*】*/
/*【*/float/*】*/dis(/*【*/floatx1,floaty1,floatx2,floaty2/*】*/)
{/*【*/returnsqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))/*】*/;}
voidmain()
{floatx1,y1,x2,y2;
/*【*/scanf("(%f,%f),(%f,%f)",&x1,&y1,&x2,&y2)/*】*/;
printf("%g",dis(x1,y1,x2,y2));}
27.程序的功能是:
编写一个递归函数,用于将一个不多于4位数的十六进制正整数转换成十进制输出(每一位后加一逗号),并在主函数中调用。
(课后作业P2038.16)如:
运行后输入:
FA,则结果输出:
2,5,0,运行后输入:
250,则结果输出:
5,9,2,
参考答案:
#include"stdio.h"
voidp(intn)
{if(/*【*/n/10>0/*】*/)p(/*【*/n/10/*】*/);
printf(/*【*/"%d,"/*】*/,/*【*/n%10/*】*/);}
voidmain()
{intn;scanf(/*【*/"%x"/*】*/,&n);p(n);}
28.程序的功能是:
编写一个递归函数,用于将一个不多于5位数的正整数转换成八进制输出,并在主函数中调用。
(课后作业8.16演变)如:
运行后输入:
10,则结果输出:
12
运行后输入:
25,则结果输出:
31参考答案:
#include"stdio.h"
voidp(intn)
{if(/*【*/n/8>0/*】*/)p(/*【*//*】*/);
printf(/*【*//*】*/,/*【*//*】*/);}
voidmain()
{intn;scanf(/*【*//*】*/,&n);p(n);}
29.程序的功能是:
编写一个函数,求一行中最长单词的字母数并输出,在主函数中调用。
(课后作业8.10)如:
运行后输入:
Iamastudent,则结果输出:
7运行后输入:
Thatisgood,则结果输出:
4分析:
按顺序读取每一个字符,
(1)若是字母则变量m累计加1,若当前累计值m超过最大(最大长度)max,则将m存max;
(2)若不是字母则变量m清0。
算法复杂度为O(n)
参考答案:
#include"stdio.h"
intLongest(chars[80])
{intmax=0,m=0,i=0;
for(;/*【*/s[i]/*】*/;i++)
if(/*【*//*】*/)
{/*【*//*】*/;if(m>max)/*【*//*】*/;}
else/*【*//*】*/;
returnmax;}
voidmain()
{chars[80];gets(s);
printf("%d",Longest(s));}
30.程序的功能是:
编写一个函数,求一行中最长单词的字母数和相应单词并输出(多个最长单词则输出最后一个最长单词),在主函数中调用。
(课后作业8.10)如:
运行后输入:
Iamastudent,则结果输出:
student7运行后输入:
Thatisgood,则结果输出:
good4
分析:
按顺序读取每一个字符,
(1)若是字母则存临时数组a且变量m累计加1,若当前累计值m超过最大(最大长度)max,则将m存max;
(2)若不是字母,则㈠先判断当前单词是否最长,若是存b数组;㈡变量m清0。
算法复杂度为O(n)
参考答案:
#include"stdio.h"
#include"string.h"
intLongest(chars[80])
{intmax=0,m=0,i=0;chara[80],b[80];
do
{if(/*【*//*】*/)
{a[m]=s[i];/*【*//*】*/;
if(m>max)/*【*//*】*/;}
else
{if(max==m){a[max]=0;strcpy(b,a);}
/*【*//*】*/;}}
while(/*【*//*】*/);
printf("%s",b);
returnmax;}
voidmain()
{chars[80];gets(s);
printf("%d",Longest(s));}
31.程序的功能是:
编写一个函数f(x),求实数x的平方,在主函数中调用并输出。
(要求不输出无意义的0)如:
运行后输入:
2.5,则结果输出:
6.25运行后输入:
2,则结果输出:
4
参考答案:
#include"stdio.h"
/*【*//*】*/;
voidmain()
{floata;
scanf("%f",&a);
printf(/*【*//*】*/,/*【*//*】*/);}
/*【*//*】*//*定义函数f(x)*/
{
/*【*//*】*/;}
32.程序的功能是:
定义一个函数Max(…)求二值中较大值,请编写该函数。
如:
运行后输入:
3,4,则结果输出:
3和4的较大者是4运行后输入:
6,4,则结果输出:
6和4的较大者是6
参考答案:
intMax(a,b)
{returna>b?
a:
b;}
33.程序的功能是:
写一函数prime(n),判断数n是否素数并在主函数中调用。
如:
运行后输入:
5,则结果输出:
5是素数运行后输入:
6,则结果输出:
6不是素数
参考答案:
intprime(intn)
{inti;
for(i=2;i<=sqrt(n)&&n%i!
=0;i++);
returni>sqrt(n);}
34.程序的功能是:
编写一个求a和b最大公约数函数gcd(a,b),返回值为a和b的最大公约,并在主函数中调用。
如:
运行后输入:
1218,则结果输出:
最大公约数为6运行后输入:
3624,则结果输出:
最大公约数为12
参考答案:
intgcd(inta,intb)
{intr;
do
{r=a%b;a=b;b=r;}
while(r);
returna;}
35.程序的功能是:
编写一个求a和b最小公倍数函数lcm(a,b),并在主函数中调用。
如:
运行后输入:
23,则结果输出:
最小公倍数为6运行后输入:
68,则结果输出:
最小公倍数为24参考答案:
intlcm(inta,intb)
{intr,cj;
cj=a*b;
do
{r=a%b;a=b;b=r;}
while(r);
returncj/a;}
36.程序的功能是:
编写一个函数,用于将一个不多于5位数的正整数按逆序输出,并在主函数中调用。
如:
运行后输入:
13579,则结果输出:
97531
运行后输入:
23,则结果输出:
32参考答案:
voidp(intn)
{printf("%d",n%10);if(n/10>0)p(n/10);}
37.程序的功能是:
编写一个(递归)函数,用于将一个不多于5位数的正整数转换成十进制输出(要求每位数前有一个空格),并在主函数中调用。
(课后作业8.8)如:
运行后输入:
2009,则结果输出:
2009运行后输入:
13579,则结果输出:
13579
参考答案:
voidp(intn)
{if(n/10>0)p(n/10);printf("%d",n%10);}
38.函数内定义变量时默认存储类别
(1)①auto②static③register④extern
39.函数外定义变量时默认存储类别(4)。
①auto②static③register④extern
40.为加快程序运行速度,通常将使用频率较高的变量定义为(3)型。
①auto②static③register④extern
41.全局变量缺省存储类别是(4)。
①auto②static③register④extern
42.在程序设计中希望某些外部变量只限于被本文件中被引用,而不能被其它文件引用,可以在定义这些变量时加一个
(2)声明。
①auto②static③register④extern
43.函数定义默认存储类别是(4)。
①auto②static③register④extern
44.外部函数存储类别是(4)。
①auto②static③register④extern
45.内部函数存储类别是
(2)。
①auto②static③register④extern
46.内部函数的作用域只限于一个
(2)。
①工程或C程序②源程序文件③函数④程序块
47.外部函数的作用域只限于一个
(1)①工程或C程序②源程序文件③函数④程序块
48.TC的工程(项目)文件名的扩展名为(3)。
①.c②.cpp③.prj④.dsw
49.以下叙述正确的是(1235)。
①函数内定义的变量叫局部变量②函数内部复合语句(程序块)中定义的变量是局部变量③函数的形式参数是局部变量④main函数中定义的变量可作为全局变量使用⑤局部变量的作用域只在定义它的函数或程序块中有效
50.以下叙述正确的是(1235)。
①函数外定义的变量叫全局变量,也叫外部变量②全局变量可以在多个函数中使用③全局变量的作用域从该变量的定义性声明或引用性声明位置开始到本源程序文件结束④所有全局变量都可以通过extern将其作用域扩展到其它文件⑤若全局变量与局部变量同名,则在局部变量的作用域内“屏蔽”全局变量的作用,即全局变量失去作用
51.可用于初始化数组元素的存储类别是(24)①auto②static③register④extern⑤cpu
52.一般存储于动态存储区的存储类别是(13)。
①auto②static③register④extern⑤cpu
53.存储于静态存储区的存储类别是(24)①auto②static③register④ex