1、北师大高级程序设计C语言共26页红色的是正确的以下叙述正确的是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( ),w10,c;:fun(int *c) .单选:第3题(2分)以下程序的输出结果是main( )
2、int a =1,2,3,4 ,i,x=0;for(i=0; i4; i+) sub(a,&x); printf(“%d”, x); printf(“ ”);sub( int *s, int *y) static int t=3;*y=st; t- ; 1 2 3 44 3 2 10 0 0 04 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;
3、m=i+a+b;return(m);8,178,168,208,8单选:第5题(2分)以下程序的输出结果是void fun(int *s) static int j=0;dosj+=sj+1;while(+j2);main( ) int k,a10=1,2,3,4,5;for (k=1; k3; k+) fun(a);for (k=0; k5; k+) printf(“%d”,ak );34756234453574512345单选:第6题(2分)以下程序的输出结果是f(int a) int b=0;static int c=3;a=c +, b +;return( a );main( ) in
4、t a=2,i,k;for(i=0 ; i2; i+) k=f(a+);printf(“%d ”,k);3654单选:第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 ); 12710单选:第8题(2分)C语言中, 形参的缺省的存储类说明是auto ( 自动 )static ( 静态 )register ( 寄存器 )extern ( 外部 )单选:第9题(2分)以下选项中正确的整型常量是 _。12.-201,
5、0004 5 6单选:第10题(2分)以下选项中正确的实型常量是 _。03.14150.329*102.871单选:第11题(2分)以下选项中不正确的实型常量是_。2.607E-10.8103e 2-77.77456e-2单选:第12题(2分)以下选项中不合法的用户标识符是_。abc.cfileMainPRINTF单选:第13题(2分)以下选项中不合法的用户标识符是_。_123printfA$Dim单选:第14题(2分)C语言中运算对象必需是整型的运算符是_。%/!*单选:第15题(2分)可在C程序中用作用户标识符的一组标识符是_。void define WORDas_b3 _123 IfFo
6、r -abc case2c DO SIG单选:第16题(2分)若变量已正确定义并赋值,符合C语言语法的表达式是_。a=a+7;a=7+b+c,a+int(12.3%4)a=a+7=c+b单选:第17题(2分)以下叙述中正确的是_。a是实型变量,C允许进行以下赋值a=10,因此可以这样说:实型变量允许赋值整型值。在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式。执行表达式a=b后,在内存中a 和 b存储单元中的原有值都将被改变,a的值已由原值改变为b 的值, b 的值由原值变为0。已有a=3,b=5。当执行了表达式 a=b ,b=a 之后,已使a 中的值为5,b 中的值为3。单选:第18
7、题(2分)以下叙述中正确的是_。在C程序中无论整数还是实数,只要在允许的范围内都能准确无误的表示。C程序由主函数组成。C程序由函数组成。C程序由函数和过程组成。单选:第19题(2分)若a、b、c、d、都是int类型变量且初值为0,以下选项中不正确的赋值语句是_。a=b=c=d=100;d+;c+b;d=(c=22)-(b+);单选:第20题(2分)以下合法的C语言赋值语句是_。a=b=58k=int(a+b);a=58,b=58-i;单选:第21题(2分)若变量已正确说明为int类型,要给read(a,b,c);scanf(“ %d%d%d” ,a,b,c);scanf(“ %D%D%D” ,
8、&a,%b,%c);scanf(“ %d%d%d”,&a,&b,&c);单选:第22题(2分)若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是_。a=a+b,b=a-b,a=a-b;t=a,a=b,b=t;a=t;t=b;b=a;t=b;b=a;a=t;单选:第23题(2分)若有以下程序段,c3中的值是_。int c1=1,c2=2,c3;c3=c1/c2;01/20.51单选:第24题(2分)若有以下程序段 ,其输出结果是_。int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“ %d,%d,%d ”,a,b,c);0,0,-100,0,5
9、-10,3,-103,0,-10单选:第25题(2分)当运行以下程序时,在键盘上从第一列开始输入9876543210(此处代表Enter),则程序的输出结果是_。main() int a; float b,c;scanf(“ %2d%3f%4f”,&a,&b,&c);printf(“ a=%d,b=%f,c=%f ”,a,b,c);a=98,b=765,c=4321a=10,b=432,c=8765a=98,b=765.000000,c=4321.000000 a=98,b=765.0,c=4321.0单选:第26题(2分)若int类型占两个字节,则以下程序段的输出是_。int a=-1;pr
10、intf(“ %d,%u ”,a,a);-1,-1-1,32767-1,32768-1,65535单选:第27题(2分)以下程序段的输出是_。float a=3.1415;Printf(“ |%6.0f| ”,a);|3.1415| 3.0| 3| 3.|单选:第28题(2分)以下程序段的输出是_。float a=57.666;pirntf(“ %010.2f ”,a);*0000057.66* 57.66*0000057.67* 57.67*单选:第29题(2分)C语言中的简单类型有整型,实型,逻辑型整型,实型,字符型整型,字符型,逻辑型整型,实型,逻辑型,字符型单选:第30题(2分)C语言
11、中,字符型(char)数据在微机内存中的存储形式是反码补码EBCDIC码ASCII码单选:第31题(2分)C语言中不合法的字符常量是0XFF65&028单选:第32题(2分)C语言中不合法的字符串常量是121Y= ABCDX6d单选:第33题(2分)判断char型变量C是否为大写字母的最简单且正确的表达式是A =A)&(C=Z)(A=C)(C=A)&(C=A& x=Z)?(x+32):x;printf(%c ,x);AaZz单选:第36题(2分)以下各组选项中,均能正确定义二维实型数组a的选项是_。float a34;float a4;float a3=1,0;float a(3,4);flo
12、at a34;float a=0,0;float a34;static float a4=0,0;auto float a4=0,0,0;float a34;float a3;float a4;单选:第37题(2分)以下正确的说法是_。实参和与其对应的形参占用独立的存储单元实参和与其对应的形参共占用一个存储单元只有当实参和与其对应的形参同名时才共占用一个存储单元形参是虚拟的,不占用存储单元单选:第38题(2分)以下说法中正确的是C语言程序总是从第一个定义的函数开始执行在C语言程序中,要调用的函数必须在main函数中定义C语言程序总是从main函数开始执行C语言程序中的main函数必须放在程序的
13、开始部分单选:第39题(2分)以下函数的类型是fff(float x)printf(%d ,x*x);与参数x的类型相同void类型int类型无法确定单选:第40题(2分)以下程序的输出结果是func(inta,int b) int cc=a+b;return c; main() int x=6,y=7,z=8,r;r=func(x-,y+,x+y),z-);printf(%d ,r); 11202131单选:第41题(2分)以下程序有错,错误原因是_。main()int *p,i;char *q,ch;p=&i;q=&ch;*p=40;*p=*q;p和q类型不一致,不能执行*p=*q;语句*
14、p中存放的是地址值,因此不能执行*p=40;语句q没有指向具体的存储单元,所以*q没有实际意义q虽然指向了具体的存储单元,但该单元中没有确定的值,所以不能执行*p=*q;语句单选:第42题(2分)以下程序的输出结果是double f(intn) int i; doubles;s=1.0;for(i=1; i=n; i+) s+=1.0/i;return s;main() int i,m=3; floata=0.0;for(i=0; im; i+)= a+=f(i); printf(%f ,a)L;5.5000003.0000004.0000008.25单选:第43题(2分)若有定义: int
15、x,*pb;则在以下正确的赋值表达式是pb=&xpb=x*pb=&x*pb=*x单选:第44题(2分)以下程序的输出结果是#include stdio.hmain() printf(%d ,NULL); 因变量无定义输出不定值0-11单选:第45题(2分)有如下语句int a=10,b=20;*p1=&a,*p2=&b;如果让两个指针变量均指向b,正确的赋值方式是_。*p1=*p2;p1=p2;p1=*p2;*p1=*p2;单选:第46题(2分)已知指针P的指向如图所示,则表达式*P+的值是a0 a1 a2 a3 a410 20 30 40 50P20302131单选:第47题(2分)已知指针
16、P的指向如图所示,则表达式* + P的值是a0 a1 a2 a3 a410 20 30 40 50P20302131单选:第48题(2分)已知指针P的指向如图所示,则表达式+*P的值a0 a1 a2 a3 a410 20 30 40 50P20302131单选:第49题(2分)以下能正确进行字符串赋值、赋初值的语句组是char s5=a,e,i,o,u;char *s; s=good!;char s5=good!;char s5; s=good;单选:第50题(2分)以下程序的输出结果是char str =ABCD,*p=str;printf (%d ,*(p+4);680字符D的地址不能确定的值
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1