C语言一选择题(50个):___c_Astatic B23_b1 Cstu_1t D#:__D_______A&& B+= C>= D!3已知:charstr1,str2[10];选择正确的输入语句:__D______Ascanf("%s%c",&str1,str2);Bscanf("%s%s",&str1,str2);Cscanf("%c%c",&str1,str2);Dscanf("%c%s",&str1,str2);4选择正确的运行结果:___D______#include""main(){inta=1,b=10;do{a++;b-=a;b--;}while(b>0);printf("a=%d,b=%d",a,b);}Aa=2,b=-1 Ba=2,b=-2 Ca=4,b=-1 Da=4,b=-[3][4],其第2行第3列元素的正确表示是:___B____A*(*(s+2)+3) B*(s+2)+3 Cs[2,3] Ds[3][2]:___B______Acontinue语句的作用是终止整个循环的执行。ontinue语句和break语句都可以在switch语句中使用。Dbreak语句的作用是结束本次循环的执行。,则表达式x=2,y=x+3/2的值是DA))B)3C))D),数组名做实参时,它和对应形参之间的数据传递方式是:D______A用户指定传递方式B无传递C单向值传递D地址传递9若有以下说明语句:structSTUDENT{intnum;charname[10];floatcj;}a1={1001,”liming”,},*p=&a1;不正确的输出语句是:______C___Aprintf(“%f”,);Bprintf(“%f”,p->cj);Cprintf(“%f”,(*p).cj);Dprintf(“%f”,*);10已知inta;则对指针变量正确的说明和初始化是:_A______Aint*p=a;Bintp=a;Cintp=&a;Dint*p=&a;11若有定义:intaa[8];则以下表达式中不能代表数组元aa[1]的地址的是DA)&aa[0]+1B)&aa[1]C)&aa[0]++D)aa+112若有下面的说明和定义,则sizeof(structaa)的值是32structaa{intr1;doubler2;floatr3;unionuu{charu1[5];longu2[2];}ua;}mya;A)30B)29C)24D)2213若有以下定义和语句:ints[4][5],(*ps)[5];ps=s;则对s数组元素的正确引用形式是A)ps+1B)*(ps+3)C)ps[0][2]D)*(ps+1)+314以下程序的输出结果是bmain(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++)t=t+b[i][b[j][j]];printf("%d\n",t);}A)3B)4C)1D)915假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为A)log2nB)n2C)O()D)n(n-1)/216在说明语句:int*f();中,标识符f代表的是CA)一个用于指向整型数据的指针变量B)一个用于指向一维数组的行指针C)一个用于指向函数的指针变量D)一个返回值为指针型的函数名17线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是A)每个元素都有一个直接前件和直接后件B)线性表中至少要有一个元素C)表中诸元素的排列顺序必须是由小到大或由大到小D)除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件18以下程序的输出的结果是程序不全intx=3;main(){inti;for(i=1;i}ncre(){staicintx=1;x*=x+1;printf("%d",x);}A)33B)22C)26D)2519若以下定义:structlink{intdata;strucklink*next;}a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:abdatanextdatanext┌──┬──┐┌──┬──┐│5│┼──→│9│\0│└──┴──┘└──┴──┘↑pcdatanext┌──┬──┐│7││└──┴──┘↑q指针p指向变量a,q指向变量c。则能够把c插入到a和b之间并形成新的链表的语句组是:CA)=c;=b;B
C语言知识点 来自淘豆网m.daumloan.com转载请标明出处.