C语言程序设计(山东联盟-青岛科技大学)智慧树知到答案2024年青岛科技大学_第1页
C语言程序设计(山东联盟-青岛科技大学)智慧树知到答案2024年青岛科技大学_第2页
C语言程序设计(山东联盟-青岛科技大学)智慧树知到答案2024年青岛科技大学_第3页
C语言程序设计(山东联盟-青岛科技大学)智慧树知到答案2024年青岛科技大学_第4页
C语言程序设计(山东联盟-青岛科技大学)智慧树知到答案2024年青岛科技大学_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计(山东联盟-青岛科技大学)青岛科技大学智慧树知到答案2024年第一章测试

01110011:流程图中用下列哪一个图形符号表示判断?()

A:菱形框B:矩形框C:平行四边形框D:圆形框

答案:A01110021:流程图中用下列哪种图形符号表示事情处理过程的开始?(

A:圆圈B:圆括号矩形C:矩形D:箭头

答案:B01110031:流程图中用于描述输出的是下列哪一个图形符号?

A:圆括号矩形框B:平行四边形框C:矩形框D:菱形框

答案:B01210011:以下选项中哪一个是C语言关键字()。

A:defaultB:funC:

printfD:include

答案:A01210031:下列选项中不属于C语言关键字的是()。

A:enumB:registerC:

externalD:default

答案:C01210051:C语言提供的合法关键字是(

)。

A:swithB:CaseC:defaultD:cher

答案:C01210021:下列哪一个选项不属于C语言的关键字()。

A:

breakB:whileC:integerD:static

答案:C01210041:下列四组选项中均不是C语言关健字的选项是(

)。

A:gect

char

printfB:include

scanf

caseC:while

go

powD:define

IF

type

答案:D01210061:C语言提供的合法数据类型关键字是()。

A:

floatB:IntegerC:CharD:Signed

答案:A01310011:在以下各组标识符中,均可以用作变量名的一组是()。

A:table_1,a*1B:0_a,W12C:a01,IntD:for,point

答案:C01310021:下列不合法的C语言中标识符是()。

A:

PIB:

_totalC:studentD:

#xyz

答案:D01310031:以下不合法的C语言标识符是()。

A:ABCB:

a_bcC:

abcD:ab.c

答案:D01310041:下列字符串是合法标识符的是(

)。

A:_HJB:longC:LINE1D:9_student

答案:A01310051:下列标识符组中,合法的用户标识符为()。

A:keep%与windB:list与*jer

C:_0123与ssipedD:del-word与signed

答案:C01310061:以下选项中不合法的用户标识符是(

)。

A:abc.c

B:PRINT

C:MainD:file

答案:A01310071:以下选项中不合法的用户标识符是(

)。

A:

A$

B:_123C:PrintfD:Dim

答案:A01310081:在下列C语言程序中,可以用做变量名的是(

)。

A:intB:*pC:a1D:1

答案:C01310091:以下符号中不能用作用户标识符的符号是(

)。

A:_256B:voidC:StructD:Scanf

答案:B01310101:下面四个选项中,均是不合法的用户标识符的选项是(

)。

A:_123

temp

INTB:float

lao

_AC:A

p_0

doD:b-a

goto

int

答案:D01310111:C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符(

)。

A:必须为字母或下划线B:必须为下划线C:必须为大写D:可以是字母、数字和下划线中的任一种字符

答案:A01380011:C语言规定标识符只能由字母、数字和小数点三种字符组成。()

A:对B:错

答案:B01420021:65的二进制32位定长形式是00000000000000000000000001000001

A:对B:错

答案:A01410021:下面4个选项中,均是正确的八进制数和十六进制数的选项是()。

A:0abc

-017

0xcB:0a12

-0x123

-0xa

C:

-10

0X8f

-011D:0010

-0x11

0xf1

答案:D01410011:某种数制每位上所使用的数码个数称为该数制的()。

A:位权B:指数C:基数D:数值

答案:C01410031:下面四个选项中,均是不正确的八进制或十六进制数的选项是(

)。

A:0abc

017

0xaB:0a12

7ff

-123C:010

-0x11

0x16D:016

0x8f

018

答案:B

第二章测试

02180011:C语言定义一个变量,占用内存中的一个存储空间。()

A:对B:错

答案:A02180021:C语言中,要求对所有用到的变量先定义,然后才能使用。()

A:对B:错

答案:A02210011:下面四个选项中均是合法整型常量的选项是()。

A:160

0xffff

011B:-01

986,012

0668C:-0x48a

2e5

0x02B2D:-0xcdf

01a

0xe

答案:A02210021:下面四个选项中,均是不合法整型常量的选项是(

)。

A:-018

999

5e2B:-0xcdf

017

12,456C:-0f1

-0xffff

0011D:

-0x48eg-068

03f

答案:D02210031:下列选项中表示一个正确的整型常量(

)。

A:

-20B:

1,000C:

456D:1.2

答案:A02210041:若a为整型变量,则语句a=-2;printf("%d",a);()。

A:输出为不确定值B:赋值不合法C:输出值为-2D:输出值为2

答案:C02280011:在变量声明中给变量赋初值的方法是:inta=b=c=10;()

A:错B:对

答案:A02280021:如果i的原值为3,则:j=++i;j的值为3。()

A:错B:对

答案:A02280031:设C语言中一个int型数据在内存中占2个字节,则int数据的取值范围为-32768~32767。()

A:对B:错

答案:A02310011:下面四个选项中,均是不合法浮点数的是(

)。

A:123

2e4.2

.e5B:-e3

.234

1e3C:-018

123e4

0.0D:

160

0.12

e3

答案:A02310031:以下每个选项都代表一个常量,其中不正确的实型常量是()。

A:

0.8103e2B:2.607E-1C:4.6e-2D:

-77.77

答案:A02310041:设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为(

)。

A:intB:doubleC:floatD:不确定

答案:B02310051:设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为(

)。

A:floatB:

intC:doubleD:

char

答案:C02310062:以下变量定义中,合法的是(

)。

A:float3_four=3.4;B:doublea=1+4e2.0;C:shortdo=15;D:int_abc_=2;

答案:D02310072:已定义x为float型变量x=213.82631;printf("%-4.2f\n",x);则以上语句()。

A:输出为213.83B:输出为-213.82C:输出为213.82D:输出格式描述符的域宽不够,不能输出

答案:A02410031:C语言中,char型数据在内存中的存储形式是(

)。

A:补码B:反码C:ASCII码D:原码

答案:C02410041:下面正确的字符常量是(

)。

A:

'\\''B:

"c"C:

'W'D:

'

答案:B02410081:下面四个选项中,均是正确的数值常量或字符常量的选项是()。

A:0.0

0f

8.9e

'&'B:+001

0xabcd

2e2

50C:'3'

011

0xFF00

0aD:"a"

3.9E-2.5

1e1

'"'

答案:B02480011:字符型变量用来存放字符常量,注意只能放2个字符。()

A:错B:对

答案:A02480021:C语言中可以把一个字符串赋给一个字符变量。()

A:错B:对

答案:A02480031:C语言使字符型数据和整型数据在一定范围内之间可以通用。一个字符数据既可以以字符形式输出,也可以以整数形式输出。()

A:错B:对

答案:B02480041:C的字符常量是用双引号括起来的一个字符。()

A:对B:错

答案:B02510011:下面不正确的字符串常量是(

)。

A:

""B:"12'12"C:

"0"D:'abc'

答案:D02510021:下面4个选项中均是非法常量的是(

)。

A:-0x18

01177

0xfB:0xabc

'\0'

"a"C:'as'

-0fff

'\0xa'D:'\\'

\01

12,456

答案:C02580011:字符串常量是一对单引号括起来的字符序列。()

A:对B:错

答案:B02610011:intk=8567;printf("|%-6d|",k);结果是(

)。

A:输出为|-08567|B:输出格式描述不合法C:输出为|008567|D:输出为|8567

|

答案:D02610021:若在scanf函数语句中没有非格式字符作输入数据的间隔,则不可用(

)作为输入数据的间隔。

A:逗号B:回车C:空格D:TAB

答案:A02610031:使用scanf函数时,在源程序开头(

)。

A:书写#include<scanf.h>B:书写#include<stdio.h>C:书写#include<math.h>D:不必写#include

答案:B02610041:doublex=213.82631;printf("%-6.2e\n",x);则以上语句(

)。

A:输出为2.14e+02B:输出为21.38e+01C:输出格式描述符的域宽不够,不能输出D:输出为-2.14e2

答案:A02610051:若输入4位整数到整型变量a中,可用(

)。

A:scanf("M",a);B:scanf("M",&a);C:

scanf("M");D:scanf("%d",&a);

答案:D02610061:a为整型变量,输入5,执行printf("a=%d",a)后输出为(

)。

A:a=5B:5C:a=%5D:a=a=5

答案:A02610072:下列能正确输入字符数组a的语句是(

)。

A:scanf("%c",a);B:循环执行scanf("%c",&a[i]);C:

scanf("%s",&a);D:scanf("%s",a);

答案:D02610082:在输入时,字符变量的值必须使用空格间隔,其输入函数可为(

)。

A:scanf("<",&a,&b,&c);B:循环执行getchar()C:scanf("%c,%c,%c",&a,&b,&c);D:scanf("%c

%c

%c",&a,&b,&c);

答案:D02680011:若intx=3;printf("%d",&x);则系统会报错,没有任何结果。()

A:错B:对

答案:A02680021:输入语句scanf("%d,%d,%d",a,b,c);的格式是正确的。()

A:错B:对

答案:A02680031:在scanf("%d,%d,%d",&a,&b)函数中,当输入为1,2,3时,将1赋给a,将2赋给b。()

A:错B:对

答案:A02680041:printf函数是一个标准库函数,它的函数原型在头文件"string.h"中。()

A:对B:错

答案:B02680051:在printf函数中,输出列表的各输出项之间可用冒号分隔。()

A:对B:错

答案:B02680061:若intx=3;printf("%d",&x);则系统不会报错,会输出x的地址。()

A:错B:对

答案:B02680071:输入语句的格式为:scanf("%d%d%d",&a,&b,&c);是正确。()

A:对B:错

答案:A02680081:在scanf("%d,%d",&a,&b)函数中,可以使用一个或多个空格作为两个输入数之间的间隔。()

A:对B:错

答案:B02680091:printf函数是一个标准库函数,它的函数原型在头文件stdio.h中。()

A:对B:错

答案:A02680111:在scanf("%c%c",&c1,&c2)函数中,当输入为字符a,b时,将a赋给c1,将b赋给c2。()

A:错B:对

答案:A02680121:printf函数中的格式字符,既可以是大写形式也可以是小写形式。()

A:错B:对

答案:A02680131:使用printf函数时,格式控制字符串和各输出项应一一对应。()

A:对B:错

答案:A02680141:在printf函数中,格式字符f的意义是:以小数形式输出单精度实数。()

A:错B:对

答案:B02680161:输入语句的格式为:scanf("%d,%d,%d",&a;&b;&c)是正确的。()

A:错B:对

答案:A02680171:在printf函数中,不同系统对输出表列的求值顺序不一定相同,VC是按从右到左进行的。()

A:错B:对

答案:B

第三章测试

03110011:已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为()。

A:DB:CC:68D:不确定的值

答案:A03110021:若有定义intk=7,x=12;,则能使值为3的表达式是()。

A:x%=(k%=5)B:x%=(k-k%5)C:x%=k-k%5D:(x%=k)-(k%=5)

答案:D03110031:设intn=3;则有表达式++n,n的结果是()。

A:3B:4C:5D:2

答案:B03110041:表达式18/4*sqrt(4.0)/8值的数据类型为(

)。

A:floatB:不确定C:doubleD:

int

答案:C03110051:设intn=3;则n++的指是()。

A:5B:3C:2D:4

答案:B03110061:若有intk=11;则表达式(k++*1/3)的值是()。

A:11B:0C:3D:12

答案:C03110071:下列表达式的值,那一个等于0(

)。

A:5/6.0B:5%6C:5/6D:5-6

答案:C03110082:已知inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()。

A:2.750000B:

2.500000C:

0.000000D:3.500000

答案:B03180011:在C语言中,要求参加运算的数必须是整数的运算符是%。()

A:错B:对

答案:B03180021:若有intm=5,y=2;则执行下面表达式y+=y-=m*=y后,y的值为-16。(

)

A:错B:对

答案:B03210012:判断char型变量c1是否为小写字母的正确表达式为()。

A:(c1>='a')&&(c1<='z')B:'a'<=c1<='zC:

(c1>=A.&&(c1<='z')D:('a'>=c1)||('z'<=c1)

答案:A03210021:下列运算符中,不属于关系运算符的是()。

A:<B:!C:!=D:>=

答案:B03210032:设intn=2;则++n+1==4的结果是(

)。

A:0B:1

C:trueD:false

答案:C03310011:在C语言的逻辑运算中,逻辑值"真"用()表示。

A:

trueB:TC:整型值1D:TURE

答案:A03310021:在C语言的混合运算中,非逻辑值转化为逻辑值的原则是()。

A:非0为真,0为假B:1为真,0为假C:正数为真,负数为假D:非“零”为真,“零”值为假

答案:D03310031:在逻辑运算中,逻辑运算符两侧的运算对象数据类型是()。

A:可以是任何合法的类型数据B:只是0或1C:只能是0或非0正数D:只能是整型或字符型数据

答案:A03310052:设a=2,b=3,c=4,则表达式a+b>c&&b==c&&a||b+c&&b+c的值为()。

A:0B:8C:1D:5

答案:C03380011:逻辑运算符的优先级别高于算术运算符。()

A:错B:对

答案:A03380021:inta=0,b=1,c=2;则表达式a||b+c&&b==c的值为0。()

A:对B:错

答案:A03380031:inta=0,b=1,c=2,x,y;则!(x=a)&&(y=b)&&c的值为1。()

A:错B:对

答案:B03410011:已知各变量的类型说明如下:intk,a,b;unsignedlongw=5;doublex=1.42;下列表达式中不符合C语言语法的是(

)。

A:k=(a=2,b=3,a+b)B:w+=-2C:a+=a-=(b=4)*(a=3)D:

x%(-3)

答案:D03410021:设n=10,i=4,则赋值运算n%=i+1执行后,n的值是(

)。

A:0B:1C:2D:3

答案:A03410031:以下叙述中正确的是(

)。

A:a是实型变量,C语言允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值。B:在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式。C:执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0。D:已有a=3,b=5当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3。

答案:B03410051:设有intp,q;以下不正确的语句是()。

A:p&&=q;B:p/=q;C:p+=3;D:p*=3;

答案:A03410061:已知intx,y,z;执行语句x=(y=(z=10)+5)-5;后x、y、z的值是()。

A:x=10y=15z=10B:x=10y=10z=15C:x=10y=10z=10D:x=10y=5z=10

答案:A03480011:由赋值运算符将一个变量和一个表达式连接起来的式子称为"赋值表达式"。()

A:对B:错

答案:A03480021:a=b=c=d=10;是一个合法的赋值语句。()

A:错B:对

答案:B03610021:sizeof(float)是(

)。

A:一个整型表达式B:一个不合法的表达式C:一个双精度表达式D:一种函数调用

答案:A03610031:C语言中int、char和short三种类型数据在内存中占用的字节数()。

A:是任意的B:由用户自己定义C:由所用机器的机器字长决定D:均为2个字节

答案:C03610041:逗号表达式(a=3*5,a*4),a+15的值为(

)。

A:15B:60C:30D:不确定

答案:C03610062:以下变量均为int类型,则值不等于7的表达式是()。

A:(x=y=6,x+y,x+1)B:(y=6,y+1,x=y,x+1)C:(x=y=6,x+y,y+1)

D:(x=6,x+1,y=6,x+y)

答案:C03610072:以下符合C语言语法的赋值表达式是()。

A:d=9+e,f=d+9B:d=9+e+f=d+9C:d=e=f+7D:d=9+e,e++,d+9

答案:C03610083:以下使i的运算结果为4的表达式是()。

A:inti=0,j=0;(i=3,(j++)+i);B:inti=0,j=1;(j==1)?(i=1):(i=3);C:inti=1,j=1;i+=j+=2;D:inti=1,j=0;j=i=((i=3)*2);

答案:C

第四章测试

04210012:以下程序的输出结果是()。intmain(){intm=5;if(m++>5)printf("%d",m);elseprintf("%d",m--);return0;}

A:6B:4C:5D:7

答案:A04210022:以下程序的输出结果为()。int

main(){inti=0,j=0,a=6;if((++i>0)&&(++j>0))a++;printf("i=%d,j=%d,a=%d\n",i,j,a);return0;}

A:i=0,j=1,a=7B:i=1,j=0,a=7C:i=1,j=1,a=7D:i=0,j=0,a=6

答案:C04210032:以下程序的输出结果为()。intmain(){inta=2,b=-1,c=2;if(a)if(b<0)c=0;else

c++;printf("%d",c);return0;}

A:1B:2C:3D:0

答案:D04210042:若i为int型,且有程序如下,则输出结果是()。i=111;if(i%3==0)printf("####");printf("****");

A:####****B:无输出结果C:

****D:

####

答案:A04280011:变量a,b,c已赋初值,则语句if((a=b;)>0)c=a;是正确的。()

A:错B:对

答案:A04280021:变量x,y,z已赋初值,则语句if((x=y+5)>0)z=x;是正确的。()

A:对B:错

答案:A04280031:else语句总是和靠它最近的if匹配。()

A:错B:对

答案:B04310012:若运行时x=12,则运行结果为()。intmain(){

intx,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);return0;}

A:0B:22C:10D:12

答案:A04310023:以下程序的输出结果是(

)。intmain(){inti=0,j=0,k=6;if((++i>0)||(++j>0))k++;printf("%d,%d,%d\n",i,j,k);return0;}

A:1,1,7B:0,1,7C:1,0,7D:0,0,6

答案:C04310032:若变量都已正确说明,则以下程序段输出为()。inta=1,b=2,c=3;if(a>b)a=b;b=c;c=a;printf("a=%db=%dc=%d\n",a,b,c);

A:a=2b=3c=2B:a=1b=3c=1C:a=1b=2c=1D:a=1b=2c=3

答案:B04310042:以下不正确的语句为()。

A:

if(x>y);B:if(x!=y)scanf("%d",&x);elsescanf("%d",&y);

C:if(x)D:if((x==y)&&(x!=0))x+=y;

答案:C04410012:写出下面程序输出结果(

)。intmain(){

intx=1,y=0,a=0,b=0;switch(x){case1:

switch(y){case0:a++;case1:b++;}case2:a++;b++;}printf("a=%d,b=%d\n",a,b);}

A:a=2,b=1B:a=1,b=0C:

a=2,b=2D:a=1,b=1

答案:C04480012:switch语句中一定有default分支。()

A:对B:错

答案:B04480021:case后只能跟常量,不能跟变量。()

A:错B:对

答案:B

第五章测试

05210012:现已定义整型变量inti=1;执行循环语句while(i++<5);后,i的值为()。

A:5B:其余选项均不正确C:6D:1

答案:C05210022:有程序段intk=10;while(k=0)k=k-1;则下面描述正确的是()。

A:循环是无限循环B:while循环执行10次C:循环体语句一次也不执行D:循环体语句执行一次

答案:C05210032:下列程序段的运行结果是(

)。intn=0;while(n++<3);printf("%d",n);

A:其余选项都不对B:4C:3D:2

答案:C05210042:设有程序段t=0;while(printf("*")){t++;if(t<3)break;}printf("t=%d",t);下面描述正确的是(

)。

A:其中循环控制表达式与0等价B:其中循环控制表达式是不合法的C:其余选项都不对D:其中循环控制表达式与'0'等价

答案:C05310012:以下程序段()。x=-1;do{x=x*x;}while(!x);

A:是死循环B:有语法错误C:循环执行2次D:循环执行一次

答案:D05310022:下面程序的运行结果是(

)。intmain(){inty=10;do{y--;}

while(--y);printf("%d\n",y--);}

A:1B:-1C:8D:0

答案:D05310032:有语句intx=3;do{printf("%d\n",x-=2);}while(!(--x));则上面程序段(

)。

A:输出的是1和-2B:输出的是3和0C:输出的是1

D:是死循环

答案:A05510013:有以下程序:intmain(){

chari;for(;(i=getchar())!='\n';){

switch(i-'a'){

case0:putchar(i);case1:putchar(i+1);break;case2:putchar(i+2);case3:break;default:putchar(i);break;}}printf("\n");}输入abcde后,程序的输出结果是()。

A:abbdeB:abccddC:abceeD:abcde

答案:C05480011:do-while语句构成的循环不能用其它语句构成的循环来代替。()

A:对B:错

答案:B05480021:用do-while语句构成循环时,只要while后的表达式为0时就结束循环。()

A:错B:对

答案:B05480031:while循环的while()后没有分号,而do-while循环的while()后一定要有一个分号。()

A:错B:对

答案:B05510021:C语言的for语句中的表达式可以部分或全部省略,但两个(

)不可省略。但当三个表达式均省略后,因缺少判断条件,循环会无限制地进行下去,形成死循环。

A:++B:,C:;D:<

答案:C05510031:下面有关for循环的正确描述是()。

A:for循环是先执行循环体语句,后判定表达式。B:在for循环中,不能用break语句跳出循环体。C:for循环体语句中,可以包含多条语句,但要用花括号括起来。D:for循环只能用于循环次数已经确定的情况。

答案:C05510052:以下不是无限循环的语句为()。

A:for(y=0,x=1;x>++y;x=i++)i=x;

B:for(;;x++=i);

C:for(i=10;

;i--)sum+=i;

D:while(1){x++;}

答案:A05580011:for(表达式1;表达式2;表达式3)中,表达式1和表达式3不能同时都是逗号表达式。()

A:对B:错

答案:B05580021:for循环中,如果表达式2为空,则该循环一定是死循环。()

A:错B:对

答案:A05580031:for(i=0,j=10;i<=j;i++,j--)k=i+j;执行完后,k的值为50。()

A:错B:对

答案:A05580041:若a、b均为int型变量,且a=100,则for(b=100;a!=b;++a,b++)printf("----\n")是死循环。()

A:错B:对

答案:A05580051:执行语句:for(i=1;i++<4;++i);后;变量i的值是5。(

A:对B:错

答案:B05610012:以下程序输出结果为()。intmain(){inti,b,k=0;for(i=1;i<=5;i++){b=i%2;while(b-->=0)k++;}printf("%d,%d\n",k,b);return0;}

A:8,-1B:8,-2C:3,0D:3,-1

答案:B05610021:以下程序段中循环体总的执行次数是()。inti,j;for(i=7;i;i--)for(j=0;j<6;j++){......}

A:13B:36C:42D:21

答案:C05710012:以下正确的描述是()。

A:从多层循环嵌套中退出时,只能使用goto语句B:continue语句的作用是结束整个循环的执行C:只能在循环体内和switch语句内使用break语句D:在循环体内使用break语句或continue语句的作用相同

答案:A05710021:以下不正确的描述是()。

A:在循环语句中使用continue是为了结束本次循环,而不是终止整个循环的执行。B:在switch语句中使用break语句或continue语句的作用相同。C:在循环语句中使用break是为了使流程跳出循环体,提前结束循环。D:break语句不能用于循环语句和switch语句外的任何其他语句

答案:B05780011:break语句的作用就是结束本层循环。()

A:对B:错

答案:A

第六章测试

06110011:C语言中,数组名代表()。

A:数组元素的个数

B:数组第一个元素的值

C:数组首地址D:数组全部元素的值

答案:C06110021:以下关于数组的描述正确的是()。

A:数组的大小是固定的,但可以有不同的类型的数组元素B:数组的大小是固定的,所有数组元素的类型必须相同C:数组的大小是可变的,可以有不同的类型的数组元素D:数组的大小是可变的,但所有数组元素的类型必须相同

答案:B06110031:在C语言中,引用数组元素时,其数组下标的数据类型允许是()。

A:任何类型的表达式B:整型常量C:整型常量或整型表达式D:整型表达式

答案:C06110041:设array为一数组,则表达式sizeof(array)/sizeof(array[0])的结果为()。

A:array数组中元素个数B:

array数组中每个元素所占的字节数C:array数组占的总字节数D:

array数组首地址

答案:A06210011:以下对一维数组a的正确说明是()。

A:chara(10);B:intk=5,a[k];C:chara[]={'a','b','c'};D:inta[];

答案:C06210021:下面程序中有错误的行是()。1、intmain(

)2、{3、

intx[3]={1};4、

intk;5、

scanf("%d",&x);6、

for(k=1;k<3;k++)7、

x[0]=x[0]+x[k];8、

printf("x[0]=%d",x[0]);9、

return0;10、}

A:7B:5C:6D:3

答案:B06210031:若有以下语句,则正确的描述是()。charx[]="12345";chary[]={'1','2','3','4','5'};

A:x数组等价于y数组B:x数组长度大于y数组长度C:

x数组与y数组的长度相同D:x数组长度小于y数组长度

答案:B06210041:以下不正确的数组定义语句是()。

A:charch2[]={'\x10','\xa','\x8'};B:doublex[5]={2.0,4.0,6.0,8.0,10.0};C:inty[5]={0,1,3,5,7,9};D:charch1[]={'1','2','3','4','5'};

答案:C06210051:以下正确的数组定义语句是()。

A:intb[2][]={{1},{2}};B:floatc[][3]={1,2,3,4,5};C:chara[5]={'1','2','3','4','5','\0'};D:chard[5]="CHINA";

答案:B06210061:下列一维数组正确初始化是()。

A:inta[5]={,,1,2};B:inta[5]={1,2};C:

inta[2]={12,3,4,5};D:int*a={12,3,4,5};

答案:B06210071:不能对以下数组进行初始化的语句的是()。

A:inta[2]={0};B:

inta[2]={10*1};C:

inta[2]=[1,2];

D:int

a[2];a[0]=1;a[1]=2;

答案:C06210081:若定义intm[10]={9,4,12,8,2,10,7,5,1,3};则m[m[4]+m[8]]的值是()。

A:10B:7C:8D:12

答案:C06210091:以下对一维数组a的定义正确的是()。

A:intk=10;inta[k];B:

inta[0..100];C:chara(10);

D:inta[5];

答案:D06210101:若有说明inta[10];则对数组元素正确的引用是()。

A:a[10]B:a(0)C:a[0]D:a[3.5]

答案:C06210111:对说明语句inta[10]={6,7,8,9,10};理解正确的是()。

A:因为数组长度与初值个数不同,所以语句不正确。B:将5个初值依次赋给a[1]至a[5]。C:将5个初值依次赋给a[0]至a[4]。D:将5个初值依次赋给a[6]至a[10]。

答案:C06210121:下列程序的输出结果是()。intmain(){inta=0,b[3];b[0]=3;printf(“%d,%d”,b[0];b[1]);return0;}

A:3,不定值B:0,3C:3,0D:30

答案:A06210132:以下程序运行后,输出结果是()。intmain(){intn[5]={0,0,0},i,k=2;for(i=0;i<k;i++)

n[i]=n[i]+1;printf("%d\n",n[k]);return0;}

A:1B:0C:2D:不确定值

答案:B06210141:以下对一维整型数组a的正确说明是(

)。

A:intn=10,a[n];

B:intn;scanf("%d",&n);inta[n];

C:#defineSIZE10inta[SIZE];D:inta(10);

答案:C06210152:执行下面的程序段后,变量k中的值为()。intk=3,s[2];s[0]=k;k=s[1]*10;

A:10B:30C:不确定值D:33

答案:C06210161:已知shortint类型变量在内存在占两个字节,有如下定义shortintarray[10]={0,2,4}则数组array在内存所占的字节数为()。

A:6B:10C:3D:20

答案:D06310011:下列二维数组的初始化哪一个不针对三行四列二维数组()。

A:inta[][4]={{1},{0,6},{0,0,11}};B:inta[][4]={1,0,0,0,5,6};C:inta[][4]={{1},{5},{9}};D:inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

答案:B06310021:若有说明语句:inta[2][4];则对a数组元素的正确引用是()。

A:a[0][4]B:a[2][2]

C:a[2][2+1]D:a[0][3]

答案:D06310031:以下能对二维数组y进行初始化的语句是()。

A:staticinty[2][]={{1,0,1},{5,2,3}};B:staticinty[][3]={{1,2,3},{4,5,6}};C:staticinty[][3]={{1,0,1,0},{},{1,1}};D:staticinty[2][4]={{1,2,3},{4,5},{6}};

答案:B06310041:若有说明语句:inty[][4]={0,0};则下面叙述不正确的是()。

A:二维数组y的行数为1。B:数组y的每个元素都可得初值0。C:只有元素y[0][0]和y[0][1]可得到初值0,其余元素均得不到初值0。D:该说明等价于inty[][4]={0};

答案:C06310051:以下各组选项中,均能正确定义二维实型数组s的选项是()。

A:floats[3][4];floats[][4];floats[3][]={{1},{0}};B:floats[3][4];floats[3][];floats[][4];C:floats(3,4);floats[][]={{0},{0}};floats[3][4];D:floats[3][4];staticfloats[][4]={{0},{0}};autofloats[][4]={{0},{0},{0}};

答案:D06310061:若有说明语句:inta[][3]={1,2,3,4,5,6,7,8};则a数组的行数为()。

A:无确定值B:1C:2D:3

答案:D06310071:若二维数组y有m列,则在y[i][j]前的元素个数为()。

A:

i*m+j-1B:j*m+i

C:i*m+j+1D:

i*m+j

答案:D06310081:以下定义语句错误的是()。

A:

intx[][3]={{0},{1},{1,2,3}};B:intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C:intx[][3]={{1,2,3,4}};D:intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

答案:B06310091:若有以下定义:inta[][2]={1,2,3,4,5,6,7};则数组a第一维大小是()。

A:3B:5C:4D:不确定

答案:C06310101:以下对二维数组的定义中正确的是()。

A:inta[][3]={1,2,3,4,5,6};B:inta[4][]={1,2,3,4,5,6};C:

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

答案:A06310111:以下程序的输出结果是()。intmain(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d",a[0][3],a[1][2],a[2][1],a[3][0]);return0;}

A:0650B:不确定C:5430D:1470

答案:B06410011:与charstr[]={“china”};初始化赋值不等价的是()。

A:charstr[]={‘c’,’h’,’i’,’n’,’a’};B:charstr[]={‘c’,’h’,’i’,’n’,’a’,’\o’};C:charstr[6]={‘c’,’h’,’i’,’n’,’a’,’\o’};D:

charstr[]=“china”;

答案:A06410021:chararray[]={'c','h','i','n','a'};数组array占用的内存空间是()个字节。

A:5B:不确定C:6D:1

答案:A06410031:判断字符串str1是否大于字符串str2,应当使用()。

A:if(strcmp(str2,str1)>0)B:if(strcmp(str1,str2)>0)C:

if(str1>str2)D:if(strcmp(str1,str2))

答案:B06410051:有两个字符数组a,b,则以下能正确为a,b进行赋值的语句是()。

A:scanf("%s%s",&a,&b);B:getchar(a);getchar(b);C:gets(a);gets(b);D:gets(a,b);

答案:C06410061:有字符数组s1[80]和s2[80],则以下能正确对s1,s2进行输出的语句是()。

A:puts(s1),puts(s2);B:putchar(s1,s2);C:puts(s1,s2)D:printf("%s,%s",s1,s2);

答案:D06410071:以下程序段的运行结果是()。chara[7]="abcdef";charb[4]="ABC";strcpy(a,b);printf("%c",a[5]);

A:\0

B:eC:fD:└┘

答案:B06410081:以下描述正确的是()

A:字符串"That"小于字符串"The"B:两个字符串所包含的字符个数相同时,才能比较字符串C:字符个数多的字符串比字符个数少的字符串大D:字符串"STOP└┘"与"STOP"相等

答案:A06410091:以下对字符数组的描述中错误的是()。

A:字符数组中的字符串可以整体输入、输出B:不可以用关系运算符对字符数组中的字符串进行比较C:字符数组中可以存放字符串D:可以在赋值语句中通过赋值运算符"="对字符数组整体赋值

答案:D06410101:若有语句:chars1[10],s2[10]={"books"},则能将字符串books赋给数组s1的正确语句是()。

A:strcpy(s2,s1);B:

strcpy(s1,s2);C:

s1=s2;D:s1={"books"};

答案:B06410121:下面程序的功能是将字符串s中所有的字符c删除。请选择填空。()#include<stdio.h>intmain(

){

chars[80];

inti,j;

gets(s);

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

if(s[i]!='c')

;

s[j]='\0';

puts(s);return0;}

A:s[++j]=s[i]B:s[j++]=s[i]C:;D:s[j]=s[i]

答案:B06410141:下面程序的运行结果是()。#include<stdio.h>

#include<string.h>

intmain(

){charx[80]="AB",y[80]="LMNP";

intn=0;

strcat(x,y);

while(x[n++]!='\0')

y[n]=x[n];

puts(y);return0;

}

A:LBB:ABLMNPC:

ABD:LBLMNP

答案:D

第七章测试

07110011:C程序的基本结构单位是()

A:函数B:文件

C:表达式D:语句

答案:A07110021:一个C语言程序的执行是()

A:从程序的主函数main()开始到主函数main()结束B:从程序的主函数卖main()开始到最后一个函数结束C:从程序的第一个函数开始到最后一个函数结束D:从程序的第一个函数开始到程序的主函数main()结束

答案:A07210011:下列函数定义正确的是()

A:

doublefun(intx,y)

B:doublefun(intx,y;)C:doublefun(intx,inty)

D:doublefun(intx;inty)

答案:C07210021:下面说法不正确的是()

A:在源文件中可以用不同的顺序定义函数B:Dummy(){}是无用的函数C:通常调用函数前函数必须被定义或声明D:通常C程序是由许多小函数组成的,而不是由少量的大函数组成的

答案:B07310011:若函数的形参为一维数组,则下列说法中正确的是()

A:形参数组的元素个数必须多于实参数组的元素个数B:形参数组的元素个数必须等于实参数组的元素个数C:调用函数时的对应实参必为数组名D:形参数组可以不指定大小

答案:D07310021:有以下函数调用语句:func(rec1,rec2+rec3,rec4);该函数调用语句中含有的实参个数是()

A:有语法错B:5C:4D:3

答案:D07510011:下面程序的结果是()#include<stdio.h>increment(){

staticintx=0;

x+=1;

printf(“%d”,x);}voidmain(){increment();increment();increment();}

A:123

B:111C:012D:000

答案:A07510021:下面叙述正确的是()

A:全局变量的定义它的文件中的任何地方都是有效的B:全局变量在程序的全部执行过程中一直占用内存单元C:使用全局变量有利于程序的模块化和可读性的提高D:同一文件中的变量不能重名

答案:B07510031:在C语言中,局部变量的隐含存储类别是()

A:无存储类别B:autoC:staticD:register

答案:B

第八章测试

08110012:有以下说明语句,则下面的叙述不正确的是()。typedefstructstu{inta;floatb}stutype;

A:structstu是用户定义的结构体类型名B:stutype是用户定义的结构体类型名C:struct是结构体类型的关键字D:a和b都是结构体成员名

答案:B08110021:当说明一个结构体变量时系统分配给它的内存是()。

A:结构体中最后一个成员所需内存量

B:各成员所需内存量的总和C:成员中所占内存量最大者所需的容量D:结构体中第一个成员所需内存量

答案:B08110032:下列输出字符‘M’的语句是()。structperson{charname[9];intage;};structpersonclass[10]={"John",17,"paul",19,"Mary",18,"Adam",16};

A:

printf("%c",class[3].name);B:

printf("%c",class[2].name[1]);C:printf("%c",class[2].name[0]);D:printf("%c",class[3].name[1]);

答案:C08110042:下列关于结构体变量操作中正确的是()。structstudent{

charnum[10];

charname[20],sex;

intage;

floatscore[3];

floatave;};

A:if(stu1==stu2)B:structstudentstu1={"2008001","LiNing",'M',19,84.3,82.5,89.4,85.4};C:

stu2={"2008002","GaoPing",'M',18,86.3,80.5,89.4,85.4};D:

printf("%10s%20s%c%3d%4.1f%4.1f%4.1f%4.1",stu1);

答案:B08110052:以下定义结构体类型的变量st1,其中不正确的是()。

A:

typedefstructstudent{intnum;intage;}STD;STDst1;

B:

struct{

intnum;floatage;}st1;

C:

structstudent{intnum,age;}st1;

D:

structstudent{

intnum;intage;};studentst1;

答案:D08110062:已知职工记录描述为:structworkers{

int

no;

charname[20];charsex;struct{

intday;intmonth;intyear;}birth;};structworkersw;设变量w中的“生日”应是“1993年10月25日”,下列对“生日”的正确赋值方式是()。

A:w.birth.day=25;w.birth.month=10;w.birth.year=1993;B:day=25;month=10;year=1993;C:w.day=25;w.month=10;w.year=1993;D:birth.day=25;birth.month=10;birth.year=1993;

答案:A08210012:当说明一个共用体变量则系统分配给它的内存是(

)。

A:部分成员驻留在内存中B:所有成员一直驻留在内存中C:没有成员驻留在内存中D:只有一个成员驻留现在内存中

答案:D08310012:设有枚举类型定义:enumcolor={red=3,yellow,blue=10,white,black};其中枚举量black的值是()。

A:7B:14C:12D:15

答案:C08310022:关于下面变量赋值不正确的是()。enumNUM{zero,first,second}num1;intnum2;

A:scanf(“%d%d”,&num1,&num2);B:num1=zero;num2=0;C:num1=0;num2=zero;D:num1=0;num2=0;

答案:D08310032:如下说明语句:enumA{A0=1,A1=3,A2,A3,A4,A5};enumAb;执行b=A3;printf(“%d”,b);输出是()。

A:3B:2C:5D:编译出错

答案:C

第九章测试

09110011:变量的指针,其含义是指该变量的()。

A:名

B:值C:地址

D:一个标志

答案:C09110022:已有定义intk=2;int*ptr1.*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是()。

A:k=*ptr1+*ptr2;B:ptr=k;C:ptr1=ptr2;D:k=*ptr1*(*ptr2);

答案:B09110032:若有以下说明和定义,则叙述正确的是()。

typedef

in

温馨提示

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

评论

0/150

提交评论