北师大《高级程序设计(C语言)》

更新时间:2023-12-23 15:48:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

红色的是正确的 红色的是正确的 以下叙述正确的是 C语言中各函数之间既允许直接递归调用也允许间接递归调用 C语言中各函数之间既不允许直接递归调用也不允许间接递归调用 C语言中各函数之间既允许直接递归调用不允许间接递归调用 C语言中各函数之间既不允许直接递归调用允许间接递归调用 单选:第2题(2分) 若有以下说明和定义,则对fun函数的正确调用语句是 a=fun; a(w); a=fun; (*a)(&c); b=fun; *b(w); fun(b); main( ) { int (*a)(int*),*b( ),w[10],c; : : } fun(int *c) {...} 单选:第3题(2分) 以下程序的输出结果是 main( ) { int a[ ]={1,2,3,4 },i,x=0; 红色的是正确的

for(i=0; i<4; i++) { sub(a,&x); printf(“%d”, x); } printf(“ ”); } sub( int *s, int *y) { static int t=3; *y=s[t]; t-- ; } 1 2 3 4 4 3 2 1 0 0 0 0 4 4 4 4 单选:第4题(2分) 以下程序的输出结果是 main( ) { int k=4, m=1,p; p=func(k,m); printf(“%d,”,p); p=func(k,m); printf(“%d ”,p); } func( int a, int b); { static int m, i=2; 红色的是正确的

i+=m+1; m=i+a+b; return(m); } 8,17 8,16 8,20 8,8 单选:第5题(2分) 以下程序的输出结果是 void fun(int *s) { static int j=0; do s[j]+=s[j+1]; while(++j<2); } main( ) { int k,a[10]={1,2,3,4,5}; for (k=1; k<3; k++) fun(a); for (k=0; k<5; k++) printf(“%d”,a[k] ); } 34756 红色的是正确的

23445 35745 12345 单选:第6题(2分) 以下程序的输出结果是 f(int a) { int b=0; static int c=3; a=c ++, b ++; return( a ); } main( ) { int a=2,i,k; for(i=0 ; i<2; i++) k=f(a++); printf(“%d ”,k); } 3 6 5 4 单选:第7题(2分) 以下程序的输出结果是 int m=13; 红色的是正确的

int fun2(int x, int y) { int m=3; return(x * y – m); } main( ) { int a=7,b=5; printf(“%d ”,fun2(a,b)/m ); } 1 2 7 10 单选:第8题(2分) C语言中, 形参的缺省的存储类说明是 auto ( 自动 ) static ( 静态 ) register ( 寄存器 ) extern ( 外部 ) 单选:第9题(2分) 以下选项中正确的整型常量是 __________。 12. -20 1,000 4 5 6 单选:第10题(2分) 以下选项中正确的实型常量是 __________。 0 3.1415 0.329*102 .871

红色的是正确的

{ int c c=a+b; return c; } main( ) { int x=6,y=7,z=8,r; r=func((x--,y++,x+y),z--); printf(\\} 11 20 21 31 单选:第41题(2分) 以下程序有错,错误原因是__________。 main() 红色的是正确的

{int *p,i;char *q,ch; p=&i; q=&ch; *p=40; *p=*q; … } p和q类型不一致,不能执行*p=*q;语句 *p中存放的是地址值,因此不能执行*p=40;语句 q没有指向具体的存储单元,所以*q没有实际意义 q虽然指向了具体的存储单元,但该单元中没有确定的值,所以不能执行*p=*q;语句 单选:第42题(2分) 红色的是正确的

以下程序的输出结果是 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

} 5.500000 3.000000 4.000000 8.25 单选:第43题(2分) 若有定义: int x,*pb;则在以下正确的赋值表达式是 pb=&x pb=x *pb=&x *pb=*x 单选:第44题(2分) 以下程序的输出结果是 #include \ main() { printf(\\} 因变量无定义输出不定值 0 红色的是正确的

-1 1 单选:第45题(2分) 有如下语句int a=10,b=20;*p1=&a,*p2=&b;如果让两个指针变量均指向b,正确的赋值方式是__________。 *p1=*p2; p1=p2; p1=*p2; *p1=*p2; 单选:第46题(2分) 已知指针P的指向如图所示,则表达式*P++的值是 a[0] a[1] a[2] a[3] a[4] 10 20 30 40 50 P 20 30 21 31

红色的是正确的

单选:第47题(2分) 已知指针P的指向如图所示,则表达式* ++ P的值是 a[0] a[1] a[2] a[3] a[4] 10 20 30 40 50 P 20 30 21 31 单选:第48题(2分) 已知指针P的指向如图所示,则表达式++*P的值 a[0] a[1] a[2] a[3] a[4] 10 20 30 40 50 P 20 红色的是正确的

30 21 31 单选:第49题(2分) 以下能正确进行字符串赋值、赋初值的语句组是 char s[5]={′a′,′e′,′i′,′o′,′u′}; char *s; s=\ char s[5]=\ char s[5]; s=\ 单选:第50题(2分) 以下程序的输出结果是 char str[ ]=\ printf (\\ 68 0 字符D的地址 不能确定的值

本文来源:https://www.bwwdw.com/article/zr75.html

Top