1、北师大高级程序设计C语言红色的是正确的以下叙述正确的是?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分)以下程序的输出结果是?mai
2、n( ) 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
3、+=m+1;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 );34756?23445?35745?12345单选:第6题(2分)以下程序的输出结果是?f(int a) int b=0;static int c=3;a=c +, b +;return( a )
4、;main( ) int a=2,i,k;?for(i=0 ; i2; 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 ); 12710单选:第8题(2分)C语言中, 形参的缺省的存储类说明是?auto ( 自动 )?static ( 静态 )?register ( 寄存器 )?extern ( 外部 )单选:第9题(2分)以下选项
5、中正确的整型常量是 _。?12.?-20?1,000?4 5 6单选:第10题(2分)以下选项中正确的实型常量是 _。?0?3.1415?0.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程序中用作用户标识符的一组标识符是_
6、。?void define WORDas_b3 _123 IfFor -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。当执行
7、了表达式 a=b ,b=a 之后,已使a 中的值为5,b 中的值为3。?单选:第18题(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类型,要给rea
8、d(a,b,c);?scanf(“ %d%d%d” ,a,b,c);?scanf(“ %D%D%D” ,&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;
9、?c=(a-=a-5),(a=b,b+3);?printf(“ %d,%d,%d ”,a,b,c);0,0,-100,0,5-10,3,-103,0,-10?单选:第25题(2分)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=4321?a=10,b=432,c=8765?a=98,b=765.000000,c=4321.000000 ?a=98,b=765.0,c=4321.0?单选:第26题(2分)若int类型占两个字节,则以下程序段
10、的输出是_。?int a=-1;?printf(“ %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语言中的简单类型有?整型,实型,逻辑型整型,实型,字符型?
11、整型,字符型,逻辑型?整型,实型,逻辑型,字符型?单选:第30题(2分)C语言中,字符型(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的选项是_
12、。?float a34;?float a4;float a3=1,0;?float a(3,4);float 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语言程序总是从第一个定义的函数开始执行?在
13、C语言程序中,要调用的函数必须在main函数中定义?C语言程序总是从main函数开始执行?C语言程序中的main函数必须放在程序的开始部分?单选:第39题(2分)以下函数的类型是?fff(float x)?printf(%d ,x*x);与参数x的类型相同void类型int类型无法确定?单选:第40题(2分)以下程序的输出结果是?func(inta,int b)? int c?c=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分)以下程序有错,
14、错误原因是_。?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(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;?
15、for(i=0; im; i+)= a+=f(i); printf(%f ,a)L;?5.5000003.0000004.0000008.25?单选:第43题(2分)若有定义: int x,*pb;则在以下正确的赋值表达式是?pb=&xpb=x*pb=&x*pb=*x单选:第44题(2分)以下程序的输出结果是?#include stdio.h?main()? printf(%d ,NULL); 因变量无定义输出不定值0?-1?1?单选:第45题(2分)有如下语句int a=10,b=20;*p1=&a,*p2=&b;如果让两个指针变量均指向b,正确的赋值方式是_。?*p1=*p2;p1=p2;
16、p1=*p2;*p1=*p2;?单选:第46题(2分)已知指针P的指向如图所示,则表达式*P+的值是?a0 a1 a2 a3 a4?10 ?20 ?30 ?40 ?50?P20302131?单选:第47题(2分)已知指针P的指向如图所示,则表达式* + P的值是?a0 a1 a2 a3 a4?10 ?20 ?30 ?40 ?50?P20302131单选:第48题(2分)已知指针P的指向如图所示,则表达式+*P的值?a0 a1 a2 a3 a4?10 ?20 ?30 ?40 ?50?P20302131单选:第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);68?0?字符D的地址?不能确定的值?
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1