二级题库选择.doc_第1页
二级题库选择.doc_第2页
二级题库选择.doc_第3页
二级题库选择.doc_第4页
二级题库选择.doc_第5页
已阅读5页,还剩446页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(3)在一棵二叉树中,叶子结点共有30个,度为1的结点共有40个,则该二叉树中的总结点数共有( 99 )个。(4)对下列二叉树进行中序遍历的结果是( GDBEHACF )。(6)详细设计主要确定每个模块具体执行过程,也称过程设计,下列不属于过程设计工具的是(N-S图)。(10)设有如下关系表,由关系R和S通过运算得到关系T,则所使用的运算为(TRS)。(12)若有以下定义和语句:int a=010,b=0x10,c=10;printf(%d,%d,%dn,a,b,c);则输出结果是(8,16,10 )。(13)数字字符0的ASCII值为48,运行下列程序的输出结果是( 2,2 )。main( )char a=1,b=2;printf(%c, b+);printf(%dn, b-a);(14)下列程序的输出结果是(12353514 )。main( )int m=12, n=34;printf(%d%d, m+,+n);printf(%d%dn,n+,+m);(15)下列程序段选择项,使i的运行结果为3的程序段是( int i=1,j=1; i+=j+=1; )。(16)下面程序的输出结果是( 2 )。#includemain()int x=7,y=3;printf(%d,y=x/y);(17)有以下程序:main()int y=1,x=2,z=3;printf(%d,%dn,(+x,y+),z+2);执行后的输出结果是( 1,5 )。(18)当把4个表达式用作if语句的控制表达式时,有一个选项与其他3个选项含义不同,这个选项是( k%2 )。(19)下列不能正确计算代数式值的C语言表达式是( 1/3 *sin(1/2)*sin(1/2) )。(20)执行以下程序段的输出结果是( 0 )。int m=0x12,n=0x12;m=m-n;printf(%Xn,m);(21)已知字母a的ASCII码为十进制数97,下面程序的输出结果是( g,d )。#includemain() char c1,c2;c1=a+6-0;c2=a+3-0;printf(%c,%cn,c1,c2);22下列能正确定义字符串的语句是( char str =0; )。(23)以下语句段执行后的输出结果是( D)有语法错误,不能执行 )。#includemain()int k=3;if(k)printf(#)elseprintf(&);(24)设有输入语句scanf(a=%d,b=%d,c=%d,&a,&b,&c),为使变量a的值为2,b的值为4,c的值为8,则从键盘输入数据的正确形式是( a=2,b=4,c=8 )。25)以下程序的输出结果是( 3,2 )。#includemain()int a=1,b=3;if(+a0)&!(b-=0)printf(%d,%dn,a,b);elseprintf(%d,%dn,b,a);(26)以下函数定义的类型符是( int类型 )。fff(double x) printf(%f,x+x);(27)下面程序的输出结果是( 9 )。#includemain() int a=1,2,3,4,5,6,7,8,7,10,*p;p=a;printf(%dn,*p+8);(28)若有以下定义,则对a数组元素的正确引用是(*(a+2) )。int a5,*p=a;(29)下面程序段的运行结果是( 0 )。#includevoid main()char str=ABC,*p=str;printf(%dn,*(p+3);(30)若运行以下程序时,从键盘输入 ADescriptor(表示回车),则下面程序的运行结果是( v0=13,v1=4,v2=12 )。#include main()char c;int v0=1,v1=0,v2=0;doswitch(c=getchar()case a:case A:case e:case E:case i:case I:case o:case O:case u:case U:v1+=1;default:v0+=1;v2+=1;while(c!=n); printf(v0=%d,v1=%d,v2=%dn,v0,v1,v2);(31)有以下程序:#includemain()int aa55=1,2,3,4,5,6,1,8,5,9,10,2,1,2,5,6;int i,s=0;for(i=0;i4;i+)s+=aai2;printf(%d,s);程序运行后的输出结果是( 19 )。(32)下述程序的输出结果是(1,2 )。#includevoid main()int a5=1,2,3,4,5;int *p=a,*q=&p;printf(%d,*(p+);printf(%d,*q);(35)下面程序的输出结果是( xWHOwho )。#include#includemain()char p1=WHO,p2=who,str50= xyz;strcpy(str+1,strcat(p1,p2);printf(%s,str);(36)有以下程序#include void f(char p10, int n) /* 字符串从小到大排序 */char t10;int i,j;for(i=0;in-1;i+)for(j=i+1;j0)strcpy(t,pi);strcpy(pi,pj);strcpy(pi,t);main()char p510=abc,aabdfg,abbd,dcdbe,cd;f(p,5);printf(%dn,strlen(p0);程序运行后的输出结果是( 3 )。(37)在以下程序段中,已知int型数据占两个字节,则输出结果是( 13 )。union un int a; double b;struct st char a5; union un x;printf(%d,sizeof(struct st);(38)有以下程序#include int a=4;int f(int n)int t=0; static int a=5;if(n%2) int a=6;t+=a+;else int a=7 ;t+=a+;return t+a+;main()int s=a,i=0;for(;i2;i+) s+=f(i);printf(%dn,s);程序运行后的输出结果是( 28 )。(39)下面程序的输出结果是( 24 )。typedef union double x3;int y4;char z10;M;M t;main()printf(%dn,sizeof(t);(40)下述程序的输出结果是( 7 )。#includevoid main()char a=3,b=1;char c=ab2;printf(%d,c);8)设一棵满二叉树共有15个结点,则在该满二叉树中的叶子结点数为( 8 )。(9)设R是一个2元关系,有3个元组,S是一个3元关系,有3个元组。如T= RS,则T的元组的个数为( 9 )。13)以下不合法的用户标识符是(804zhang )。(14)已知char a;int b;float c;double d;则表达式a-b+c-d结果为( double )型。(16)若变量都已正确说明,则以下程序段输出结果为( 全部错误 )。#includemain()char a=a;int b=2;printf(ab?*a=%d:#b=%d,a,b);(17)若有以下定义(设int类型变量占2个字节)int i=8,j=9;则以下语句:printf(i=%d,j=%dn,i,j);输出的结果是(i=%d,j=%8 )。(18)设a和b均为int型变量,且a=6,b=11,则能使值为3的表达式是( (b%a)-(a%4) )。(19)以下程序的输出结果是( a=4,i=5 )。main()int a,i=4;a=i+;printf(a=%d,i=%dn,a,i);(20)有以下程序:#includemain()int i=0,a=0;while(i20)for(; ;)if(i%5)=0) break;elsei-;i+=13;a+=i;printf(%dn,a);程序的输出结果是( 36 )。(21)在下列选项中,没有构成死循环的程序段是( int k=0; do+k;while(k=10); )。(23)以下程序的输出结果是( 3,2 )。#includemain()int a=1,b=3;if(+a0)&!(b-12?x+10:x-12;printf(%dn,y(27)运行下面程序时,从键盘输入字母A,则输出结果是(AAAA BBBB CCCC )。#includemain()char ch;ch=getchar();switch(ch)caseA:printf(AAAAn);caseB:printf(BBBBn);default:printf(CCCCn);(30)若输入abcdef、abdef,以下程序的输出结果为( -1 )。#include#includemain()int n;char s120,s220,*p1,*p2;scanf(%s,s1);scanf(%s,s2);p1=s1;p2=s2;n=strcmp(p1,p2);printf(%dn,n);(31)以下语句定义正确的是( double a3=0; )。(32)下述程序的输出结果是( 1 2 )。#includevoid main()int a5=1,2,3,4,5;int *p=a,*q=&p;printf(%d,*(p+);printf(%d,*q);(33)字符串ABCDEF的长度是( 10 )。(34)若二维数组a有m列,则在aij前的元素个数为( i*m+j )。(35)下列程序的运行结果是( 5,4,3,2, )。#includevoid fun (int*s,int*p)static int t=3;*p=st;t-;void main()int a=2, 3, 4, 5,k;int x;for(k=0; k4; k+)fun (a, &x);printf(%d, , x);(37)字符串nabcdef的长度是( 8 )。(38)若说明int *p,n;则通过语句scanf能够正确读入数据的程序段是( )p=&n;scanf(%d,p); ) (39)下述程序的输出结果是( 9 )。#includevoid main()char a=1,b=2;char c=ab2;printf(n%d,c); (40)已知一个文件中存放若干工人档案记录,其数据结构如下:struct achar number 100;int age;float p6;定义一个数组:struct a number10;假定文件已正确打开,不能正确地从文件中读入10名工人数据到数组b中的是( Bfor(i=0;i10;i+) fread(bi,sizeof(struct a),1,fp); )。(8)设有关键码序列(Q,G,M,Z,A,N,B,P,X,H,Y,S,T,L,K,E),采用堆排序法进行排序,经过初始建堆后关键码值B在序列中的序号是( 3 )。(12)下列合法的标识符是( abhj1_2_3 )。(13)以下程序的运行结果是( 0 )。#includemain()int a=3,b=4,c=8,d=4,m=1,n=3;printf(%dn,(m=ab)&(n=cd);(14)有定义语句:int b; char c10;,则正确的输入语句是( scanf(%d%s,&b,c); )。(15)有下列程序:main( ) int m,n,p;scanf(m=%dn=%dp=%d,&m,&n,&p);printf(%d%d%dn,m,n,p);若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是( m=123n=456p=789 )。(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是( x=y=5; )。(18)有以下程序段int j; float y; char name50;scanf(%2d%f%s,&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为( 566.0 )。(19)若变量已正确定义,有以下程序段i=0;do printf(%d,i);while(i+);printf(%dn,i);其输出结果是( 0,1 )。(20)设有条件表达式:(EXP)?i+;j-,则以下表达式中(EXP)完全等价的是( (EXP!=0) )。(21)有以下程序#includemain()int y=9;for( ; y0;y-)if(y%3=0) printf(%d,-y);程序的运行结果是( 852 )。(22)若要求从键盘读入含有空格字符的字符串,应使用函数( gets( ) )。(23)当a=4,b=5,c=7,d=6时,执行下面一段程序:if(ab)if(cd) x=1;elseif(ac)if(bc) x=2;else x=3;else x=4;else x=5;程序执行后,x的值为( 3 )。(25)以下程序运行后的输出结果是( 6 )。#includevoid reverse(int a,int n)int i,t;for(i=0;in/2;i+)t=ai;ai=an-1-i;an-1-i=t;main()int b10=10,9,8,7,6,5,4,3,2,1;int i,s=0;reverse(b,10);for(i=0;im )。(28)在下列叙述中,错误的是(数组名后的方括号内可以为常量表达式,也可以为变量 )。(29)若已包括头文件和,运行下面程序的输出结果是( 08967 )。char s110=12345,s210= 089,s3=67;strcat(strcpy(s1,s2),s3);puts(s1);(30)说明语句static int i=10;中i=10的含义是( 将i初始化为10 )。(32)以下程序段的输出结果为( porm )。static char a=programme;char *p;p=a;for(p=a;pa+8;p+=2)putchar(*p);(34)已知char *s,下面正确的语句是( *s=ABCDEF; )。(35)下列程序的运行结果是( 5,4,3,2 )。#includevoid fun (int*s,int*p) static int t=3; *p=st; t-; void main() int a=2, 3, 4, 5,k; int x; for(k=0; k4; k+) fun (a, &x); printf(%d, , x); (36)以下程序的运行结果为( 300 )。#define MIN(x,y) (x)(y)?(x):(y)main() int a=0,b=3,c=1,d=3,X;X=MIN(c+d,a+b)*100;printf(%dn,X);(37)以下程序的输出结果是( 3 )。#includestruct stint x;int *y; *p;int dt4=1,2,3,4;struct st aa4=2,&dt0,3,&dt0,4,&dt0,5,&dt0,;main()p=aa;printf(%dn,+(p-x);(38)以下程序的输出结果是( 10 )。typedef unionlong a1;int b3; char c10; S;S t;main()printf(%dn,sizeof(t);(39)设有以下语句:char x=3,y=6,z;z=xy2;则z的二进制值是( 00011011 )。(40)有以下程序#include main() FILE *pf; char *s1=China,*s2=Beijing; pf=fopen(abc.dat,wb+); fwrite(s2,7,1,pf); rewind(pf); /*文件位置指针回到文件开头*/ fwrite(s1,5,1,pf); fclose(pf);以上程序执行后abc.dat文件的内容是( Chinang )。1) 在关系代数运算中,有5种基本运算,它们是( 并()、差(-)、投影()、选择()和笛卡儿积() )。(5)设有关键码序列(66,13,51,76,81,26,57,69,23),要按关键码值递增的次序排序,若采用快速排序法,并以第一个元素为划分的基准,那么第一趟划分后的结果为( 23,13,51,57,66,26,81,69,76 )。(12)下列不合法的用户标识符是( 4d )。(13)以下4个选项,不能看作一条语句的是( if(b=0)m=1;n=2; )。(14)设a和b均为int型变量,且a=6、b=11、c=3,则能使值为3的表达式是( (b%a)-(a%4) )。(15)以下程序的输出结果是( 4 )。main() int a=4,b=3,c=2,d=1;printf(%d,ab ? a : dc ? d : b);(16)下面程序的运行结果是( $ )。#include stdio.hmain()int i;for(i=1;i=5;i+) if(i%2)printf($);elseprintf();(17)若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch语句是( C)switch(a+b) case 1:printf(*n); case 2+1:printf(* n); )。(18)有以下程序:main()int k=33;printf(%d,%o,%x,k,k,k);执行后的输出结果是( 3, 41, 21 )。(19)当输入为Fool&Swalow时,下面程序的执行结果是( Fool? )。#includemain()char c;while(c!=?) c=getchar();putchar(c);(20)下面程序段的输出结果是( 1.237000 )。#includemain()float x=1.236547;printf(%fn,(int)(x*1000+0.5)/(float)1000);(21)若变量都已正确说明,则以下程序段( 输出为:&a =8 )。#includemain()int a=8;int b=6;printf(ab?&a=%d:!b=%d,a,b);(22)语句printf(abhowareyboun);的输出结果是( howareyou )。(23)下面程序的运行结果是( *#*#* )。#include stdio.hmain()int i;for(i=1;i=5;i+)if(i%2)printf(*);elseprintf(#);(24)当a=6,b=14,c=8,d=4时,执行下面程序段后,x的值是( 8 )。if(ab)if(cd) x=4elseif(ac)if(bd) x=6;else x=8;else x=14;else x=27;(25)有以下程序:main()int n=0;don+;printf(%dn,n); while(n=3);程序的输出结果是( C)1 23 )。(26)下面程序的运行结果是( 89 )。#includevoid del(char*s)int i,j;char *a;a=s;for(i=0,j=0;ai!=0;i+)if(ai=0&ai=9)sj=ai;j+;sj=0;main()char s=aa89gggh;del(s);printf(n%s,s);(28)下列程序的输出结果是( 1 2 )。#includevoid fun(int*a,int*b)int *k;k=a;a=b;b=k;main()int a=1,b=2,*x=&a,*y=&b;fun(x,y);printf(%d %d,a,b);(29)下列二维数组初始化语句中,正确且与语句int a3=1,2,3,4,5等价的是(int a3=1,2,3,4,5,0; )。(30)有以下字符串,说明表达式strlen(s)值的是( 6 )。char s10=a,n,a,b,t,c;(31)有以下程序:#includevoid fun(char *c,int d)*c=*c+1;d+=1;printf(%c,%c,*c,d);main()char a=F,b=f;fun(&b,a);printf(%c,%cn,a,b);程序的输出结果为( g,GF,g )。(32)若有以下定义,则对a数组元素地址的正确引用是( &a0 )。int a5,*p=a;(33)判断字符串s1是否大于字符串s2,应该使用( if(strcmp(s2,s1)0)。(34)若输入bcdefgh、m、abcdefg,以下程序的输出结果为( m )。#include#includemain()int i;char string20,str320;for(i=0;i0)strcpy(string,str0);else strcpy(string,str1);if(strcmp(str2,string)0)strcpy(string,str2);printf(%s,string);(35)请阅读以下程序:#include#includevoid fun(int b)static int i=0;dobi+=bi+1;while(+i2);main()int k,a5=1,3,5,4,9;fun(a);for(k=0;kj共执行的次数是( 6 )。main()int i=0, j=10, k=2, s=0;for (;)i+=k;if (ij)printf (%d,s);break;s+=i;(37)下列程序的输出结果是( 6,4 )。#include stdio.hmain()struct stint y,x,z;unionlong i;int j;char k; un;printf(%d,%dn,sizeof(struct st),sizeof(un);(39)以下程序中c的二进制值是( 00000011 )。char a=2,b=4,c;c=ab2(40)有以下程序#include main()FILE *fp; int i=20,j=30,k,n;fp=fopen(d1.dat,w);fprintf(fp,%dn,i);fprintf(fp,%dn,j);fclose(fp);fp=fopen(d1.dat,r);fscanf(fp,%d%d,&k,&n); printf(%d %dn,k,n);fclose(fp);程序运行后的输出结果是( 20 30 )。(8)待排序的关键码序列为(15,20,9,30,67,65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码15被放到第( 2 )个位置。(13)已知int a=6;则执行a+=a-=a*a;语句后,a的值为( -60 )。(15)若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值( 2.500000 )。(16)若下列选项中的各变量均为整型且已有值,其中不正确的赋值语句是( a=b+c=2; )。(18)若有说明int a34;则a数组元素的非法引用是( a04 )。(19)以下程序的运行结果是( 2,2,0 )。main()int a=-5,b=1,c=1;int x=0,y=2,z=0;if(c0) x= x + y;if(a0)if(c0) y= x - y;else z= y;printf(%d,%d,%dn, x, y, z);(20)请阅读以下程序:#includemain()int x=1,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0:a+; break;case 1:b+; break;case 2:a+;b+; break;printf(a=%d,b=%dn,a,b);上面程序的输出结果是( a=2,b=1 )。(21)有以下程序#include main()int a=1,2,3,4,y,*p=&a3; -p; y=*p; printf(y=%dn,y);程序的运行结果是( y=3 )。(23)下列程序的输出结果是( C)1, 1,3 )。#includevoid main()int a=0,b=1,c=2;if(+a0|+b0)+c;printf(%d,%d,%d,a,b,c);(24)有以下程序:#include main()int c;while(c=getchar()!=n)switch(c-3)case 0:case 1:putchar(c+4);case 2:putchar(c+4); break;case 3:putchar(c+3);case 4:putchar(c+3); break;printf(n);从第一列开始输入数据(代表一个回车符):3845,则程序输出结果( 77889 )。(26)执行下列程序时输入456789123,输出结果是( 4, 56, 789 )。#includemain() char m80;int c,i;scanf(%c,&c);scanf(%d,&i);scanf(%s,&m);printf(%c,%d,%sn,c,i,m);(27)已知下列函数定义:fun(int *b,int c,int d)int k;for(k=0;kc*d;k+)*b=c+d;b+;则调用此函数的正确写法是(假设变量a的说明为int a10)( fun(a,8,4); )。(28)设Y为整型变量,A=1,A的地址为EF01;B=2,B的地址为EF02;执行语句B=&A; Y=&b;后Y的值( EF01 )。(29)有以下程序:#includemain()int aa55= 5,6,1,8,1,2,3,4,1,2,5,6,5,9,10,2;int i,s=0;for(i=0;i4;i+)s+=aai2;printf(%d,s);程序运行后的输出结果是( 19 )。(30)以下语句定义正确的是( double a3=8; )。(31)下列一维数组说明中,不正确的是(int N; scanf(%d,&N); int bN; )。(32)下面函数的功能是( 比较两个字符串的大小 )。sss(s,t)char *s,*t;while(*s)&(*t)&(*t+=*s+);return(*s-*t);(33)有以下程序#include #include string.hvoid fun(char *s,int n) char *t;int i,j; for(i=0;in-1;i+) for(j=i+1;jstrlen(sj) t=si;si=sj;sj=t;main() char *ss=bcc,bbcc,xy,aaaacc,aabcc; fun(ss,5);printf(%s,%sn,ss0,ss4); 程序的运行结果是( xy,aaaacc )。、(34)若已定义:int a=0,1,2,3,4,5,6,7,8,9, *p=a,i;其中0i9,则对a数组元素不正确的引用是( a10 )。(37)以下程序的输出结果是( 12 )。#include#define F(x) 2.84+x#define w(y) printf(%d,(int)(y)#define P(y) w(y)main()int x=2;P(F(5)*x);(38)设有下面的定义:struct stint a;float b;d;int *p;要使p指向结构变量d中的a成员,正确的赋值语句是( p=&d.a; )。(39)交换两个变量的值,不允许用临时变量,应该使用下列( )位运算符。(40)如果需要打开一个已经存在的非空文件FILE并进行修改,正确的语句是( fp=fopen(FILE,r+); )。(12)以下不正确的转义字符是( 088 )。(13)可在C程序中用作用户标识符的一组标识符是( as_b3 _123 If )。(14)若变量已正确定义并赋值,则以下符合C语言语法的表达式是( a=7+b+c,a+ )。(15)有以下程序段char ch;int k;ch=a; k=12;printf(%c,%d,ch,ch,k);printf(k=%dn,k);已知字符a的ASCII十进制代码为97,则执行上述程序段后输出结果是( a,97,k=12 )。(17)当变量c的值不为2、4、6时,值也为真的表达式是( (c=2&c=6) | (c!=3) | (c!=5) )。(18)若有代数式,(其中e仅代表自然对数的底数,不是变量),则下列能够正确表示该代数式的C语言表达式是( sqrt(fabs(pow(n,x)+exp(x) )。(19)设有定义:int k=0;,下列选项的4个表达式中与其他3个表达式的值不相同的是( k+ )。(20)有下列程序,其中%u表示按无符号整数输出。main( ) unsigned int x=0xFFFF;/* x的初值为十六进制数 */printf(%un,x);程序运行后的输出结果是( 65535 )(21)下面程序的运行结果是(*3 #4 *5 #6 )。for(i=3;i99)s=3;else if(num9)s=2;elses=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch(s)case 3:printf(%d%d%dn,k,j,i);break;case 2:printf(%d%dn,k,j);case 1:printf(%dn,k);(24)以下程序的运行结果是( 6 )。#include stdio.hmain()struct dateint year,month,day;today;printf(%dn,sizeof(struct date);(25)判断char型变量c1是否为小写字母的正确表达式为( D)(c1=a)&(c1=z) )。(26)当输入为Hi,Lily 时,下面程序的执行结果是( Hi,)#includemain()char c;while(c!=,) c=getchar(); putchar(c); (28)若有以下程序段:struct stint n;int *m;int a=2,b=3,c=5;struct st s3=(101,&a,102,&c,103,&b; main()struct st *p;p=s;则以下表达式中值为5的是( *(+p)-m )。(29)下列程序的运行结果是(1,1,1,1,1, )。#includevoid sub(int*s,int*y)static int m=4;*y=s0;m+;void main()in

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论