雨课堂学堂在线学堂云《高级语言程序设计(C)(华北电力)》单元测试考核答案_第1页
雨课堂学堂在线学堂云《高级语言程序设计(C)(华北电力)》单元测试考核答案_第2页
雨课堂学堂在线学堂云《高级语言程序设计(C)(华北电力)》单元测试考核答案_第3页
雨课堂学堂在线学堂云《高级语言程序设计(C)(华北电力)》单元测试考核答案_第4页
雨课堂学堂在线学堂云《高级语言程序设计(C)(华北电力)》单元测试考核答案_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

第1题下列说法正确的是____?AC程序一行不能写多个语句BC程序一行只能写一个语句CC程序一个语句可以分写在多行上DC程序每个语句都必须有行号第2题在C语言中,每个语句和数据定义是用____结束。A句号B逗号C分号D大括号第3题下列叙述中正确的是____。AC语言程序总是从第一个定义的函数开始执行。B在C语言程序中,要调用的函数必须在main()函数中定义。CC语言程序总是从main()函数开始执行。DC语言程序中的main()函数必须放在程序的开始部分。第4题C语言程序的基本单位是____。A程序行B语句C函数D字符第5题一个C语言的执行是____。A从本程序的主函数开始,到本程序的主函数结束B从本程序的第一个函数开始,到本程序的最后一个函数结束C从本程序的主函数开始,到本程序的最后一个函数结束D从本程序的第一个函数开始,到本程序的主函数结束第1题以下合法的实型常数是____?A5E2.0BE-3C2.00E-01D1.3E第2题以下叙述中错误的是____。A用户所定义的标识符允许使用关键字。B用户所定义的标识符应尽量做到“见名知意”。C用户所定义的标识符必须以字母或下划线开头。D用户定义的标识符中,大、小写字母代表不同标识符。第3题以下不合法的数值常量是____。A11B1.00E01C8.0E0.5D0xabcd第4题以下错误的标识符是____。Aj2_KEYBPrintC4dD_8_第5题C语言提供的合法关键字是____。AcontinueBprocedureCbeginDend第6题下列标识符正确的是____。A_ADB9sCforD$NAME第7题已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是____。A字符AB字符aC字符eD非法的常量第8题下列变量中,哪些是合法的?____。AintB_auto_C2-orDx(1)第9题C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____。A必须为字母B必须为下划线C必须为字母或下划线D可以是字母,数字或下划线中的任意一种第10题C语言提供的合法的数据类型关键字是____。ADoubleBshortCintegerDChar选择结构第1题为了表示关系x>=y>=z,应使用C语言表达式____。

A(x>=y)&&(y>=z)B(x>=y)AND(y>=z)C(x>=y>=z)D(x>=y)&(y>=z)第2题若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是____。Aabs(x-y)<10Bx-y>-10||x-y<10C(x-y)<10&&(x-y)>-10D(x-y)*(x-y)<100第3题以下if语句书写完全正确的是____。Aif(x=0;)printf("%f",x);elseprintf("%f",-x);Bif(x>0){x=x+1;printf("%f",x);}elseprintf("%f",-x);Cif(x>0);{x=x+1;printf("%f"x);}elseprintf("%f",-x);Dif(x>0){x=x+1;printf("%f",x)}elseprintf("%f",-x);第4题判断字符型变量ch为大写字母的表达式是____。A'A'<=ch<='Z'B(ch>=A)&&(ch<=Z)C(ch>='A')&&(ch<='Z')D(ch>='A')||(ch<='Z')第5题为了避免嵌套的if-else语句的二义性,C语言规定else总是与____组成配对关系.A缩排位置相同的ifB在其之前未配对的ifC在其之前尚未配对的最近的ifD同一行上的if第6题运行下面程序后,输出是____。

void

main(void){

int

k=-3;

if

(k<=0)

printf("****\n");

else

printf("####\n")}A####B****C####****D有语法错误不能通过编译第7题有如下程序void

main(

)

void

main(

){

int

x=1,a=0,b=0;switch(x)

{

case

0:

b++;

case

1:

a++;

case

2:

a++;b++;

}

printf("a=%d,b=%d\n",a,b);}该程序的输出结果是____。

Aa=2,b=1Ba=1,b=1Ca=1,b=0Da=2,b=2第8题下列程序的执行结果是____。

void

main(void){int

x=0,y=1,z=0;

if

(x=z=y)

x=3;

printf("%d,%d\n",x,z);}A3,0B0,0C0,1D3,1第9题以下程序的执行结果是____。

void

main(void){

int

a,b,c,d,x;

a=c=0;

b=1;

d=20;

if

(a)

d=d-10;

else

if(!b)if

(!c)

x=15;else

x=25;

printf("d=%d\n",d);

}Ad=20Bd=10Cd=15D25第10题若有定义:float

x=1.5;

int

a=1,

b=3,

c=2;

则正确的switch语句是____。Aswitch(x){case1.0:printf("*\n");case2.0:printf("**\n");}Bswitch((int)x);{case1:printf("*\n");case2-1:printf("**\n");}Cswitch(a+b){case1:printf("*\n");case2+1:printf("**\n");}Dswitch(a+b){case1:printf("*\n");casec:printf("**\n");}循环结构第1题下面有关for循环的正确描述是____。Afor循环只能用于循环次数已经确定的情况Bfor循环是先执行循环体语句,后判断表达式C在for循环中,不能用break语句跳出循环体Dfor循环的循环体语句,可以包含多条语句,但必须用花括号括起来第2题以下不正确的描述是____。A使用while和do~while循环时,循环变量初始化的操作应在循环语句之前完成。Bwhile循环是先判断表达式,后执行循环语句。Cdo~while和for循环均是先执行循环语句,后判断表达式。Dwhile、do~while和for循环中的循环体均可以由复合语句完成。第3题语句while(!E);中的表达式!E等价于____。AE==0BE!=1CE!=0DE==1第4题以下正确的描述是____。Acontinue语句的作用是结束整个循环的执行。B只能在循环体内和switch语句体内使用break语句。C在循环体内使用break语句和使用continue语句的作用相同。D从多层循环嵌套中退出时,只能使用continue语句。第5题若i为整型变量,则for(i=5;i;i--)

i--;

循环执行次数是____。A无限次B0次C2次D3次第6题C语言中while和do-while循环的主要区别是____。Ado-while的循环体至少无条件执行一次Bwhile的循环控制条件比do-while的循环控制条件严格Cdo-while允许从外部转到循环体内Ddo-while的循环体不能是复合语句第7题下面程序的输出结果是____。

void

main(

)

{

int

i;

for(i=1;i<=5;i++)

{

if

(i%2)

printf("*");

else

continue;

printf("#");

}

printf("$\n");

}A*#*#*#$B#*#*#*$C#*#*$D*#*#$第8题以下程序运行后的输出结果是____。void

main()

{

int

i=10,j=0;

do

{

j=j+1;

i--;

}while(i>2);

printf("%d\n",j);

}A50B52C51D8第9题有如下程序

void

main(

){

int

n=9;while(n>6)

{n--;printf("%d",n);

}该程序段的输出结果是____。A987B876C8765D9876第10题下面程序的运行结果是____。

void

main(

){

int

i,

j,

a=0;

for

(i=0;

i<2;

i++){

for

(j=0;

j<4;

j++){

if(j%2)

break;a++;}

a++;}printf("%d\n",

a);}A4B5C6D7运算符与表达式第1题表达式3.6-5/2+1.2+5%2的值是____。A4.3B4.8C3.3D3.8第2题已知ch是字符型变量,下面不正确的赋值语句是____。Ach='\n'Bch='a+b'Cch='7'+9Dch=7+9第3题C语言中,运算对象必须是整型数的运算符是____。

A%B/C%和/D+第4题下列运算符中优先级最高的是____。A>B+C&&D!=第5题设有定义:inta=2,b=3,c=4;,则以下选项中值为0的表达式是____。A(!a==1)&&(!b==0)B(aCa&&bDa||(b+b)&&(c-a)第6题若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是____。Aabs(x-y)<10Bx-y>-10||x-y<10C(x-y)<10&&(x-y)>-10D(x-y)*(x-y)<100第7题表达式5!=3的值是____。ATB非零值C0D1第8题若有定义inta=12,n=5,则表达式a%=(n%2)运算后,a的值____。A0B1C12D6第9题表达式:

10!=9的值是____。ATRUEB非零值C0D1第10题设

int

a=12,则执行完语句a+=a-=a*a后,a的值是____。A552B264C144D-264数组课后作业第1题若有说明int

a[

][4]={0,0};则下列叙述不正确的是_______。A数组a的每个元素都可以得到初值0B二维数组a的第一维的大小为1C数组a的行数为1D只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值第2题有如下程序void

main(){

char

ch[80]="123abcdEFG*&";int

j;long

s=0;puts(ch);for(j=0;ch[j]>'\0';j++)if(ch[j]>='A'&&ch[j]<='Z')ch[j]=ch[j]+'e'-'E';puts(ch);

}该程序的功能是_______.A测字符数组ch的长度B将数字字符串ch转换成十进制数C将字符数组ch中的小写字母转换成大写D将字符数组ch中的大写字母转换成小写第3题以下定义语句中,错误的是_______.Ainta[]={1,2};Bchara={"test"};Cchars[10]={"test"};Dinta[]={'a','b','c'};第4题以下程序的输出结果是________.

void

main(){int

a[4][4]={{1,3,5},{2,4,6},{3,5,7}};

printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);

}A0650B1470C5430D输出值不定第5题对两个数组a和b进行如下初始化char

a[

]="ABCDEF";char

b[

]={

'A',

'B',

'C',

'D',

'E',

'F'};

则以下叙述正确的是_______。Aa和b数组完全相同Ba和b长度相同Ca和b中都存放字符串Da数组比b数组长度长第6题给出以下定义:char

x[

]="abcdefg";char

y[

]={'a','b','c','d','e','f','g'};则正确的叙述为

________.A数组x和数组y等价B数组x和数组y的长度相同C数组x的长度大于数组y的长度D数组x的长度小于数组y的长度第7题运行下面程序段的输出结果是________.voidmain(){char

s1[10]={'S','e','t','\0','u','p','\0'};

printf("%s",s1);}ASetBSetupCSetupD'S''e''t'第8题若有如下定义:

int

a[3][3]={1,2,3,4,5,6,7,8,9},i

;则下列语句的输出结果是:_______。for

(i=0;

i<=2;

i++)

printf("%d",

a[i][2-i]);A357B369C159D147第9题下列程序的输出结果是________.

void

main(){char

b[]="ABCDEFG";

char

p=0;

while(p<5)putchar(b[++p]);

putchar('\n');

}AABCDEBABCDEFCBCDEFDBCDEFG第10题下面几个字符串处理表达式中能用来把字符串str2连接到字符串str1后的一个是_______。Astrcat(str1,str2);Bstrcat(str2,str1);Cstrcpy(str1,str2);Dstrcmp(str1,str2);第11题要求下面的程序运行后,显示如下结果:

2

1046152324785132

则程序中的划线处应填入________.void

main(

){

int

a[4][4]={

________

};

int

i,j;

for(i=0;i<4;i++)

{for(j=0;j<4;j++)

printf("%4d",a[i][j]);

printf("\n");

}

}A{1,5,2,3},{2,4,7,8},{5,1,3,2}B{2,10,4,6},{1,5,2,3},{2,4,7,8},{5,1,3,2}C{5,1,3,2},{2,4,7,8},{1,5,2,3}D{2,1,2,5},{10,5,4,1},{4,2,7,3},{6,3,8,2}第12题以下程序输出的结果是_________.

void

main(

){char

str[

]="1a2b3c";

int

i;

for(i=0;str[i]!='\0';i++)

if(str[i]>='0'&&str[i]<='9')

printf("%c",str[i]);

printf("\n");}A123456789B1a2b3cCabcD123第13题在执行语句:

int

a[

][3]={1,2,3,4,5,6};

后,a[1][0]的值是________.A4B1C2D5第14题以下程序输出的结果是________.

void

main(

){

int

a[

]={1,2,3,4,5},i,j,s=0;

for(i=0;i<5;i++)

s=s*10+a[i];

printf("s=%d\n",s);}As=12345Bs=12345Cs=54321Ds=54321第15题设有如下定义:char

aa[2][20]={

"abcd",

"ABCD"};则以下说法中错误的是________.Aaa是个二维数组,可以存放2个19个字符以下的字符串Baa是个二维数组,每行中分别存放了字符串"abcd"和"ABCD"Caa[0]可以看作是一维数组名Daa[0][0]可以看作是一维数组名第16题以下程序的输出结果是________.

void

main(){

int

i,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)

printf("%d,",x[i][i]);printf("\n");

}A1,5,9,B1,4,7,C3,5,7,D3,6,9,第17题若希望下面的程序运行后输出45,程序空白处的正确选择是________.

void

main(

){

int

i,j=10,a[

]={1,3,5,7,9,11,13,15};

for(

____________

)

j+=a[i];

printf("%d\n",j);}Ai=5;i>1;i--Bi=0;i<7;++i<>Ci=5;i>=1;--iDi=2;i<6;++i<>第18题若有以下语句:int

a[4]={1,2,3},i;i

=

a[0]*a[1]+a[2]*a[3];

i的值为______。A2B5C3D以上都不对第19题有两个字符数组a、b,则以下正确的输入语句是_______。Agets(a,b)Bscanf("%s%s",a,b)Cscanf("%s%s",&a,&b)Dgets("a"),gets("b")第20题假设a是一个有10个元素的整型数组,则下列写法中正确的是_______。A、a[0]=10B、a=0C、a[10]=0D、a[-1]=0函数课后作业第1题调用函数时,当实参和形参都是简单变量时,它们之间数据传递的过程是________.A实参将其地址传递给形参,并释放原先占用的存储单元B实参将其地址传递给形参,调用结束时形参再将其地址回传给实参C实参将其值传递给形参,调用结束时形参再将其值回传给实参D实参将其值传递给形参,调用结束时形参并不将其值回传给实参第2题以下叙述中,不正确的是________.A在同一C程序文件中,不同函数中可以使用同名变量B在main函数体内定义的变量是全局变量C形参是局部变量,函数调用完成即失去意义D若同一文件中全局变量和局部变量同名,则全局变量在局部变量作用范围内不起作用第3题若函数调用时参数为基本数据类型的变量(俗称简单变量),以下叙述正确的是________.A实参与其对应的形参共占存储单元B只有当实参与对应的形参同名时才共占存储单元C实参与其对应的形参分别占用不同的存储单元D实参将数据传递给形参后,立即释放原先占用的存储单元第4题在以下叙述中,不正确的选项是________。A在C语言程序中,被调用的函数必须在main()函数中定义BC程序是函数的集合,在这个函数集中包括标准函数和用户自定义函数C在C语言程序中,函数的定义不能嵌套,但函数的调用可以嵌套DC语言程序总是从main()函数开始执行第5题C语言中,若未说明函数的类型,则系统默认该函数的类型是________。A、float型B、long型C、int型D、double型第6题对于C语言的函数,下列叙述中正确的是______.A函数的定义不能嵌套,但函数调用可以嵌套B函数的定义可以嵌套,但函数调用不能嵌套

C函数的定义和调用都不能嵌套

D函数的定义和调用都可以嵌套第7题以下程序的输出结果是_________.

int

a,b;

void

fun()

{

a=100;b=200;

}

void

main()

{

int

a=5,b=7;

fun();

printf("%d%d\n",a,b);

}A100200B57C200100D75第8题设有以下函数:

int

f(int

a)

{int

b=0,c;

c=3;

b++

;

c++;

return

(a+b+c);

}

如果在下面的程序中调用该函数,则输出结果是_____.

void

main()

{

int

i;for(i=0;i<3;i++)printf("%d\n",f(a));}A、579B、567C、345D、333第9题设有以下函数:

int

f(int

a)

{

int

b=0;

static

intc=3;

b++

;

c++;return

(a+b+c);}

如果在下面的程序中调用该函数,则输出结果是______.

void

main()

{

int

a=2,i;

for(i=0;i<3;i++)

printf("%d\n",f(a));}A、789B、7911C、71013D、777第10题C语言规定,除主函数外,程序中各函数之间______.A既允许直接递归调用也允许间接递归调用B不允许直接递归调用也不允许间接递归调用C允许直接递归调用不允许间接递归调用D不允许直接递归调用允许间接递归调用第11题C语言中,凡未指定存储类别的局部变量的隐含存储类别是________.A、autoB、staticC、externD、register第12题在C语言中,全局变量的存储类别是_________.A、staticB、autoC、voidD、register第13题下面的函数调用语句中func函数的实参个数是()。func

(f2(v1,

v2),

(v3,

v4,

v5),

(v6,

max(v7,

v8)));A、3B、4C、5D、8第14题下面程序的输出是________.

int

fun3(int

x)

{

static

int

a=3;

a+=x;

return();

}

void

main()

{

int

k=2,m=1,n;

n=fun3();

n=fun3();

printf("%d\n",n);}A、3B、4C、6D、9第15题C语言中规定函数的返回值的类型是由________.Areturn语句中的表达式类型所决定B调用该函数时的主调用函数类型所决定

C在定义该函数时所指定的类型所决定D调用该函数时系统临时决定第16题以下程序的输出结果是__________.

fun(int

x,int

y,int

z)

{

z=x*x+y*y;

}

void

main()

{

int

a=31;

fun(5,2,a);

printf("%d",a);

}A、0B、29C、31D、无定值第17题请读程序:f(int

b[

],

int

n){int

i,

r=1;

for(i=0;

i<=n;

i++)

r=r*b[i];

return

r;

}void

main(){int

x,

a[]={

2,3,4,5,6,7,8,9};

x=f(a,

3);

printf("%d\n",x);}A、720B、120C、24D、6第18题请读程序:

f(char

s[

]){int

i,j;

i=0;j=0;

while(

s[j]!=

'\0')

j++;

return

(j-i);}void

main(){

printf("%d\n",f("ABCDEF"));}上面程序的输出结果是________.A、0B、6C、7D、8第19题若函数调用时用数组名作为函数参数,以下叙述中,不正确的是________.A实参数组与其对应的形参数组共占用同一段存储空间B实参将其地址传递给形参,结果等同于实现了参数之间的双向值传递C实参数组与其对应的形参数组分别占用不同的存储空间D实参数组与其对应的形参数组占用相同的存储空间第20题以下叙述中,不正确的是_________.A、使用staticfloata定义的外部变量存放在内存中的静态存储区B、使用floatb定义的外部变量存放在内存中的动态存储区C、使用staticfloatc定义的内部变量存放在内存中的静态存储区D、使用floatd定义的内部变量存放在内存中的动态存储区第21题C语言中,若在一个复合语句和复合语句所在的函数中都定义了一个同名的变量,则该两变量()。A、实际是同一变量B、是不同变量但作用域相同C、是不同变量且作用域不同D、是同一变量,但作用域不定第22题以下程序的输出结果是________.

void

fun(){static

int

a=0;

a+=2;

printf("%d",a);}void

main(){int

cc;

for(cc=1;cc<4;cc++)

fun(

);

printf("\n");}A、2222B、2468C、222D、246第23题若已定义实参数组int

a[3][4]={2,4,6,8,10};,则在被调用函数f的下述定义中,对形参数组b定义正确的选项是________.A、f(intb[][6])B、f(intb[][4])C、f(intb[3][])D、f(b)intb[4][5]第24题以下函数func()的功能是:使具有n个元素的一维数组b的每个元素的值都增加2,划线处应填入_______.

fun(intb[],intn){inti;for(i=1;i<n;i++)_______;}A、b[i++]B、b[i]++C、b[i+=2]D、b[i]+=2第25题请读程序:

f(int

b[

],

int

n){int

i,

r=0;

for(i=0;

i<=n;

i++)

r=r+b[i];

return

r;}void

main(){int

x,

a[]={

2,3,4,5,6,7,8,9};

x=f(a,

3);

printf("%d\n",x);}A、20B、14C、9D、5指针练习第1题int

x[8]={8,7,6,5,0,0},*s;s=x+3;printf("%d\n",s[2]);执行后输出结果是_______。A、随机值B、0C、5D、6第2题下面运算符中,优先级最低的是__________。A、()B、.C、->D、*第3题若有以下定义,则对a数组元素地址的正确引用是_______。

int

a[5],

*p=a;A、p+5B、﹡a+1C、&a+1D、&a[0]第4题下列语句组中,正确的是()。A、char*s;s="Olympic";B、chars[7];s="Olympic";C、char*s;s={"Olympic"};D、chars[7];s={"Olympic"};第5题设有下面的程序段:char

s[

]=

"china";char

*p;

p=s;

则下列叙述正确的是_______。A数组s中的内容和指针变量p中的内容相等Bs数组长度和p所指向的字符串长度相等

Cs和p完全相同D﹡p与s[0]相等第6题以下程序的输出结果是()。void

main(){

char

str[][20]={"One*World","One*Dream!"},*p=str[1];

printf("%d,",strlen(p));

printf("%s\n",p);}A9,One*WorldB9,One*Dream!

C10,One*WorldD10,One*Dream!第7题已有定义int

k=2,

*ptr1,*ptr2;且ptr1和ptr2均已指向同一个变量k,下面不正确执行的赋值语句是_______。A、k=*ptr1+*ptr2;B、ptr2=k;C、ptr1=ptr2;D、k=*ptr1*(*ptr2);第8题若有说明:int

i,

j

,

*p=&i

;则下面语句中与i

=j;等价的语句是_______。A、*p=*&jB、i=*pC、i=&jD、i=**p第9题有下列程序:

voidmain(

){int

a[

]={2,4,6,8,10},y=0,x,*p;

p=&a[1];

for(x=1;x<3;x++)

y+=p[x];

printf("%d\n",y);}程序运行后的输出结果是()。A10B11C14D15第10题若有说明:int

*p,m=5,n;以下正确的程序段是_______。A、p=&n;scanf("%d",&p);B、p=&n;scanf("%d",*p);

C、p=&n;*p=m;D、scanf("%d",&n);p=n;第11题若有以下定义,则对a数组元素的正确引用是_______。

int

a[5],

*p=a;A、*(++a)B、a+2C、*(p+5)D、*(a+2)第12题执行下面代码段,选择出

i的正确结果_______。

int

i;char

﹡s="a\045+045\tb";for

(

i=0;*(s++);i++)

;A、5B、8C、11D、12结构体练习第1题有如下定义:

struct

date{

int

year,month,day;}struct

worklist{

char

name[20];char

sex;struct

date

birthday;}

person;

对结构体变量person的出生年份进行赋值时,下面正确的赋值语句是__________。

Abirthday.year=1978

Bperson.year=1958Cyear=1978Dperson.birthday.year=1958第2题struct

abcd

{int

m

;

int

n

;}

cm[2]={1,2,3,7

};printf("%d\n

",cm[0].n/cm[0].m*cm[1].m);运行结果是__________。A、0B、1C、3D、6第3题设有如下定义,若使指针p1指向dt中的m域,正确的语句是__________。struct

student{

int

m;

float

n;

}dt

;int*p1;A、p1=&mB、p1=dt.mC、p1=&dt.mD、*p1=&dt.m第4题设有如下定义,下面各输入语句中错误的是__________。struct

ss{

charname[10];int

age;

char

sex;}

std[3],

*p=std;Ascanf("%d",&(*p).age);Bscanf("%s",&);Cscanf("%c",&std[0].sex);Dscanf("%c",&(p->sex));第5题在C语言中,当定义一个结构体类型,并定义该结构体类型的变量后,系统分配给该变量的内存大小是__________。

A、第一个成员所占内存空间B、成员中所有成员空间最大者C、成员中所有成员空间最小者D、原则是各成员所占内存空间的总和第6题若有如下语句:struct

stu{

int

age;

int

num;};struct

stu

s[3]={{20,1001},{18,1002},{19,1003}};void

main(

){

struct

stu

*p;p=s;…}则下面不正确的引用是__________。A、(p++)->numB、p[2].ageC、(*p).numD、p.age第7题有下列结构体说明、变量定义和赋值语句:

struct

STD{char

name[10];

int

age;

char

sex;}s[5],*ps;ps=&s[0];则下列scanf函数调用语句中错误引用结构体变量成员的是()。Ascanf("%s",s[0].name);Bscanf("%d",&s[0].age);Cscanf("%c",&(ps->sex));Dscanf("%d",ps->age);第8题struct

date

{

int

day,mon,year;

};

struct

person{

char

name[20];

int

age;

struct

date

birthday;}

s,*ps=&s;以下引用错误的是__________。A、s.birthday.dayB、ps->birthday.monC、[4]D、ps->name[6]第9题以下对结构体成员变量引用非法的是__________。

struct

student{

int

age;int

num;}

stu1,*p=&stu1;A、stu1.numB、student.ageC、p->numD、(*p).age;第10题下面对结构体变量s定义合法的是__________。A、structs{doublem;charn;};B、struct{floatm;charn;};structs;C、structstu{doublea;charb;}s;D、stu{doublea;charb;};stus;共同体与枚举类型练习题第1题有以下程序段;float

x;union

{inti;charch;

floatf;

}a,b;则不正确的赋值语句是()。Aa.i=1;a.ch=‘a’;a.f=1.5;Bb=a;

Cx=a.f;

Dx=b;第2题定义了枚举类型及变量如下:enumweekday

{Sun,Mon,Tue,Web,Thu,Fri,Sat};enumweekdaya;则以下选项不合法的是()。Aa=Sun;Ba="Sun";Ca=0;Da=(enumweekday)0;动态内存分配与链表第1题关于C语言中动态内存分配的以下叙述中,不准确的选项是(

)。A动态内存分配是按需分配的;而静态内存分配是在程序运行前就确定了内存的大小,属于按计划分配;B动态内存分配比静态内存分配更加灵活多变,更有优势。C动态内存分配需要指针或引用数据类型的支持,而静态内存分配不需要。D动态内存分配是把内存的控制权交给了程序员,而静态内存分配则是把内存的控制权交给了编译器。第2题标准C语言中,实现内存动态分配函数所在函数库是()。Astdio.hBstdlib.hCmath.hDstring.h第3题标准C语言中能实现内存动态分配的函数不包括()。Amalloc()Bfree()Ccalloc()Dexit()第4题关于链表的叙述中不正确的是()。A链表必须有头有尾。B链表的为是Null。C链表必须从头单向逐一查找其中节点。D链表中节点个数可以动态增删。第5题有以下程序:#inc

温馨提示

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

评论

0/150

提交评论