内容发布更新时间 : 2024/11/17 23:59:52星期一 下面是文章的全部内容请认真阅读。
#include
void find(float *p, int max, int min, int n) {
int k;
*max=*p; for(k=1;k t=*(p+k); if( ) *max=t; if(t<*min) *min=t; } } 五、选做题 1、写出下列程序运行结果 main() { int i=1,p; p=fun(i,i+1); printf(\ } int fun(int a,int b) { int f; if(a>b) f=1; else if(a==b) f=0; else f=-1; return f; } 2、键盘输入 abcdef char c ; if((c=getchar( ))!='\\n') - 26 - fun( ) ; putchar(c); } void main( ) { fun( ); } 3、写出下列程序运行结果 #include int x; x=y++; printf(\ if(x>4) { int x ; x=++y; printf(\ x+=y--; printf(\} 4、写出下列程序运行结果 #include func(int a , int b) { c=a*b ; a=b-1 ; b++ ; return (a+b+1) ; } void main( ) { int b=2 , p=0 ; c=1 ; p=func(b , a) ; printf(\} 5、写出下列程序运行结果 unsigned fun6(unsigned num) { unsigned k=1; do { k*=num; num/=10; } while(num); return k; } void main( ) - 27 - { unsigned n=26; printf(\} 6、写出下列程序运行结果 #include int x,y,z,t,m; scanf(\ t=max(x,y); m=max(t,z); printf(\} int max(int a,int b) { if(a>b) return(a); else return(b); } 运行时若输入:10,15,9 则输出: 运行时若输入:300,129,300 则输出: 7、写出下列程序运行结果 #include int n1,n2; long a; scanf(\ a=sum(n1,n2); printf(\} long sum(int a,int b) { long c1,c2; - 28 - c1=factorial(a); c2=factorial(b); return(c1+c2); } long factorial(int n) { long rtn=1; int i; for(i=1;i<=n;i++) rtn*=i; return(rtn); } 运行时若输入:2,3 则输出: 运行时若输入:0, 5 则输出: 8、 #include int n; x=1;y=2; n=s(); printf(\} int s() { int z; x=3;y=4; z=x+y; return(z); } 程序运行后输出: - 29 - 9 预处理命令 一、单项选择题 1、 以下不正确的叙述是( ) A.宏替换不占用运行时间。 B.宏名无类型。 C.宏替换只是字符替换。 D.宏名必须用大写字母表示。 2、 C语言的编译系统对宏命令的处理( ) A.在程序运行时进行的。 B.在程序连接时进行。 C.和C程序中的其它语句同时进行编译的。 D.在对源程序中其它语句正式编译之前进行的。 3、以下程序的输出结果是( ) A.15 B.100 C.10 D.150 #define MIN(x,y) (x)<(y)?(x):(y) void main( ) { int I,j,k; i=10;j=15;k=10*MIN(i,j); printf(“%d\\n”,k); } 4、以下叙述中正确的是( ) A.用#include包含的文件的后缀必须是“.h”。 B.若一些源程序中包含某个头文件;当该文件有错时,只需对该头文件进行修改,包含此头.文件的所有源程序不必重新进行编译。 C.宏命令行可以看作是一行C语句。 D.预处理是在编译之前进行的。 5、以下叙述中正确的是( ) A.源程序中所有的行都参加编译。 B.宏定义常量与const定义常量是一样的。 C.宏定义可以嵌套定义,即在宏定义中的字符串可以引用另一个宏定义的标识符。 D.以上都不正确。 二、填空题 1、以下程序中for 循环执行的次数是 。 #define N 2 #define M N+1 - 30 -