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

付费下载

下载本文档

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

文档简介

C语言程序设计(山东联盟-青岛科技大学)智慧树知到课后章节答案2023年下青岛科技大学青岛科技大学

第一章测试

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

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

答案:菱形框

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

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

答案:圆括号矩形

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

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

答案:平行四边形框

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

A:includeB:funC:defaultD:

printf

答案:default

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

A:enumB:

externalC:registerD:default

答案:

external

01210051:C语言提供的合法关键字是(

)。

A:swithB:CaseC:cherD:default

答案:default

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

A:staticB:whileC:

breakD:integer

答案:integer

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

)。

A:define

IF

typeB:include

scanf

caseC:while

go

powD:gect

char

printf

答案:define

IF

type

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

A:IntegerB:SignedC:CharD:

float

答案:

float

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

A:table_1,a*1B:a01,IntC:0_a,W12D:for,point

答案:a01,Int

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

A:

#xyzB:

_totalC:studentD:

PI

答案:

#xyz

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

A:ABCB:ab.cC:

a_bcD:

abc

答案:ab.c

01310041:下列字符串是合法标识符的是(

)。

A:longB:9_studentC:_HJD:LINE1

答案:_HJ

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

A:keep%与windB:del-word与signedC:_0123与ssipedD:list与*jer

答案:_0123与ssiped

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

)。

A:abc.c

B:fileC:MainD:PRINT

答案:abc.c

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

)。

A:

A$

B:DimC:PrintfD:_123

答案:

A$

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

)。

A:*pB:a1C:1D:int

答案:a1

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

)。

A:ScanfB:voidC:StructD:_256

答案:void

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

)。

A:b-a

goto

intB:_123

temp

INTC:A

p_0

doD:float

lao

_A

答案:b-a

goto

int

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

)。

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

答案:必须为字母或下划线

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

A:错B:对

答案:错

01420021:65的二进制32位定长形式是00000000000000000000000001000001

A:对B:错

答案:对

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

A:0010

-0x11

0xf1B:0abc

-017

0xcC:0a12

-0x123

-0xa

D:

-10

0X8f

-011

答案:0010

-0x11

0xf1

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

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

答案:基数

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

)。

A:0abc

017

0xaB:016

0x8f

018C:010

-0x11

0x16D:0a12

7ff

-123

答案:0a12

7ff

-123

第二章测试

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

A:对B:错

答案:对

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

A:对B:错

答案:对

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

A:-01

986,012

0668B:-0x48a

2e5

0x02B2C:160

0xffff

011D:-0xcdf

01a

0xe

答案:160

0xffff

011

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

)。

A:-0xcdf

017

12,456B:

-0x48eg-068

03fC:-018

999

5e2D:-0f1

-0xffff

0011

答案:

-0x48eg-068

03f

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

)。

A:

1,000B:

-20C:1.2D:

456

答案:

-20

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

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

答案:输出值为-2

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

A:对B:错

答案:错

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

A:错B:对

答案:错

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

A:错B:对

答案:对

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

)。

A:

160

0.12

e3B:-e3

.234

1e3C:123

2e4.2

.e5D:-018

123e4

0.0

答案:123

2e4.2

.e5

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

A:

0.8103e2B:4.6e-2C:

-77.77D:2.607E-1

答案:

0.8103e2

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

)。

A:不确定B:intC:floatD:double

答案:double

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

)。

A:

charB:doubleC:

intD:float

答案:double

02310062:以下变量定义中,合法的是(

)。

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

答案:int_abc_=2;

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

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

答案:输出为213.83

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

)。

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

答案:ASCII码

02410041:下面正确的字符常量是(

)。

A:

"c"B:

'C:

'\''D:

'W'

答案:

"c"

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

A:"a"

3.9E-2.5

1e1

'"'B:0.0

0f

8.9e

'&'C:+001

0xabcd

2e2

50D:'3'

011

0xFF00

0a

答案:+001

0xabcd

2e2

50

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

A:对B:错

答案:错

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

A:错B:对

答案:错

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

A:错B:对

答案:对

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

A:错B:对

答案:错

02510011:下面不正确的字符串常量是(

)。

A:

""B:

"0"C:'abc'D:"12'12"

答案:'abc'

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

)。

A:'\'

1

12,456B:'as'

-0fff

'xa'C:0xabc

''

"a"D:-0x18

01177

0xf

答案:'as'

-0fff

'\0xa'

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

A:对B:错

答案:错

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

)。

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

|D:输出为|008567|

答案:输出为|8567

|

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

)作为输入数据的间隔。

A:空格B:回车C:TABD:逗号

答案:逗号

02610031:使用scanf函数时,在源程序开头(

)。

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

答案:书写#include<stdio.h>

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

)。

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

答案:输出为2.14e+02

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

)。

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

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

答案:scanf("%d",&a);

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

)。

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

答案:a=5

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

)。

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

scanf("%s",&a);

答案:scanf("%s",a);

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

)。

A:scanf("%c

%c

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

答案:scanf("%c

%c

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

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

A:对B:错

答案:错

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

A:对B:错

答案:错

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

A:对B:错

答案:错

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

A:对B:错

答案:错

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

A:对B:错

答案:错

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

A:对B:错

答案:对

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

A:错B:对

答案:对

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

A:对B:错

答案:错

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

A:错B:对

答案:对

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

A:对B:错

答案:错

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

A:错B:对

答案:错

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

A:对B:错

答案:对

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

A:对B:错

答案:对

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

A:错B:对

答案:错

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

A:对B:错

答案:对

第三章测试

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

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

答案:D

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

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

答案:(x%=k)-(k%=5)

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

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

答案:4

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

)。

A:floatB:doubleC:

intD:不确定

答案:double

03110051:设intn=3;则n++的指是()。

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

答案:3

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

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

答案:3

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

)。

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

答案:5/6

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

A:

0.000000B:2.750000C:3.500000D:

2.500000

答案:

2.500000

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

A:对B:错

答案:对

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

)

A:错B:对

答案:对

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

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

(c1>=A.&&(c1<='z')

答案:(c1>='a')&&(c1<='z')

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

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

答案:!

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

)。

A:1

B:trueC:0D:false

答案:true

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

A:TUREB:整型值1C:TD:

true

答案:

true

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

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

答案:非“零”为真,“零”值为假

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

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

答案:可以是任何合法的类型数据

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

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

答案:1

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

A:对B:错

答案:错

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

A:对B:错

答案:对

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

A:错B:对

答案:对

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

)。

A:w+=-2B:

x%(-3)C:a+=a-=(b=4)*(a=3)D:k=(a=2,b=3,a+b)

答案:

x%(-3)

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

)。

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

答案:0

03410031:以下叙述中正确的是(

)。

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

答案:在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式。

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

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

答案:p&&=q;

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

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

答案:x=10y=15z=10

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

A:对B:错

答案:对

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

A:对B:错

答案:对

03610021:sizeof(float)是(

)。

A:一个双精度表达式B:一种函数调用

C:一个整型表达式D:一个不合法的表达式

答案:一个整型表达式

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

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

答案:由所用机器的机器字长决定

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

)。

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

答案:30

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

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

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

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

答案:(x=y=6,x+y,y+1)

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

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

答案:d=e=f+7

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

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

答案:inti=1,j=1;i+=j+=2;

第四章测试

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

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

答案:6

04210022:以下程序的输出结果为()。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=0,j=0,a=6D:i=1,j=1,a=7

答案:i=1,j=1,a=7

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

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

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

答案:0

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

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

****D:

####

答案:####****

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

A:对B:错

答案:错

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

A:错B:对

答案:对

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

A:对B:错

答案:对

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

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

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

答案:0

04310023:以下程序的输出结果是(

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

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

答案:1,0,7

04310032:若变量都已正确说明,则以下程序段输出为()。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=1b=2c=3B:a=1b=3c=1C:a=2b=3c=2D:a=1b=2c=1

答案:a=1b=3c=1

04310042:以下不正确的语句为()。

A:if(x)B:if((x==y)&&(x!=0))x+=y;C:if(x!=y)scanf("%d",&x);elsescanf("%d",&y);

D:

if(x>y);

答案:if(x)

04410012:写出下面程序输出结果(

)。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=1

C:a=1,b=0D:

a=2,b=2

答案:

a=2,b=2

04480012:switch语句中一定有default分支。()

A:对B:错

答案:错

04480021:case后只能跟常量,不能跟变量。()

A:错B:对

答案:对

第五章测试

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

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

答案:6

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

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

答案:循环体语句一次也不执行

05210032:下列程序段的运行结果是(

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

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

答案:3

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

)。

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

答案:其余选项都不对

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

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

答案:循环执行一次

05310022:下面程序的运行结果是(

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

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

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

答案:0

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

)。

A:输出的是1和-2B:是死循环C:输出的是1

D:输出的是3和0

答案:输出的是1和-2

05510013:有以下程序: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:abceeB:abcdeC:abccddD:abbde

答案:abcee

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

A:对B:错

答案:错

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

A:错B:对

答案:对

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

A:对B:错

答案:对

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

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

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

答案:;

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

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

答案:for循环体语句中,可以包含多条语句,但要用花括号括起来。

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

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

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

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

D:for(i=10;

;i--)sum+=i;

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

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

A:错B:对

答案:错

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

A:错B:对

答案:错

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

A:对B:错

答案:错

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

A:错B:对

答案:错

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

A:错B:对

答案:错

05610012:以下程序输出结果为()。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,-2B:8,-1C:3,-1D:3,0

答案:8,-2

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

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

答案:42

05710012:以下正确的描述是()。

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

答案:从多层循环嵌套中退出时,只能使用goto语句

05710021:以下不正确的描述是()。

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

答案:在switch语句中使用break语句或continue语句的作用相同。

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

A:对B:错

答案:对

第六章测试

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

A:数组首地址B:数组第一个元素的值

C:数组元素的个数

D:数组全部元素的值

答案:数组首地址

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

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

答案:数组的大小是固定的,所有数组元素的类型必须相同

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

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

答案:整型常量或整型表达式

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

A:

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

array数组首地址D:array数组中元素个数

答案:array数组中元素个数

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

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

答案:chara[]={'a','b','c'};

06210021:下面程序中有错误的行是()。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:3B:5C:6D:7

答案:5

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

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

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

答案:x数组长度大于y数组长度

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

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

答案:inty[5]={0,1,3,5,7,9};

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

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

答案:floatc[][3]={1,2,3,4,5};

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

A:int*a={12,3,4,5};B:

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

答案:inta[5]={1,2};

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

A:

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

a[2];a[0]=1;a[1]=2;C:inta[2]={0};D:

inta[2]=[1,2];

答案:

inta[2]=[1,2];

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

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

答案:8

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

A:intk=10;inta[k];B:chara(10);

C:inta[5];

D:

inta[0..100];

答案:inta[5];

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

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

答案:a[0]

06210111:对说明语句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]。

答案:将5个初值依次赋给a[0]至a[4]。

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

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

答案:3,不定值

06210132:以下程序运行后,输出结果是()。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:不确定值C:2D:0

答案:0

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

)。

A:inta(10);B:#defineSIZE10inta[SIZE];C:intn;scanf("%d",&n);inta[n];

D:intn=10,a[n];

答案:#defineSIZE10inta[SIZE];

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

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

答案:不确定值

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

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

答案:20

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

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

答案:inta[][4]={1,0,0,0,5,6};

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

A:a[0][3]

B:a[2][2+1]C:a[2][2]

D:a[0][4]

答案:a[0][3]

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

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

答案:staticinty[][3]={{1,2,3},{4,5,6}};

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

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

答案:只有元素y[0][0]和y[0][1]可得到初值0,其余元素均得不到初值0。

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

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

答案:floats[3][4];staticfloats[][4]={{0},{0}};autofloats[][4]={{0},{0},{0}};

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

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

答案:3

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

A:j*m+i

B:

i*m+jC:i*m+j+1D:

i*m+j-1

答案:

i*m+j

06310081:以下定义语句错误的是()。

A:intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};B:

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

答案:intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

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

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

答案:4

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

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];

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

06310111:以下程序的输出结果是()。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:5430B:0650C:不确定D:1470

答案:不确定

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

A:charstr[]={‘c’,’h’,’i’,’n’,’a’};B:

charstr[]=“china”;C:charstr[]={‘c’,’h’,’i’,’n’,’a’,’o’};D:charstr[6]={‘c’,’h’,’i’,’n’,’a’,’o’};

答案:charstr[]={‘c’,’h’,’i’,’n’,’a’};

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

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

答案:5

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

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

if(str1>str2)

答案:if(strcmp(str1,str2)>0)

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

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

答案:gets(a);gets(b);

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

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

答案:printf("%s,%s",s1,s2);

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

A:

B:└┘C:eD:f

答案:e

06410081:以下描述正确的是()

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

答案:字符串"That"小于字符串"The"

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

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

答案:可以在赋值语句中通过赋值运算符"="对字符数组整体赋值

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

A:

s1=s2;B:

strcpy(s1,s2);C:s1={"books"};D:strcpy(s2,s1);

答案:

strcpy(s1,s2);

06410121:下面程序的功能是将字符串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:s[j]=s[i]D:;

答案:s[j++]=s[i]

06410141:下面程序的运行结果是()。#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:LBLMNPB:LBC:

ABD:ABLMNP

答案:LBLMNP

第七章测试

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

A:函数B:文件

C:表达式D:语句

答案:函数

07110021:一个C语言程序的执行是()

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

答案:从程序的主函数main()开始到主函数main()结束

07210011:下列函数定义正确的是()

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

C:

doublefun(intx,y)

D:doublefun(intx;inty)

答案:doublefun(intx,inty)

07210021:下面说法不正确的是()

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

答案:Dummy(){}是无用的函数

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

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

答案:形参数组可以不指定大小

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

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

D:5

答案:3

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

staticintx=0;

x+=1;

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

A:000B:012C:111D:123

答案:123

07510021:下面叙述正确的是()

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

答案:全局变量在程序的全部执行过程中一直占用内存单元

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

A:无存储类别B:registerC:staticD:auto

答案:auto

第八章测试

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

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

答案:stutype是用户定义的结构体类型名

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

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

答案:各成员所需内存量的总和

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

A:

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

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

答案:printf("%c",class[2].name[0]);

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

charnum[10];

charname[20],sex;

intage;

floatscore[3];

floatave;};

A:

stu2={"2008002","GaoPing",'M',18,86.3,80.5,89.4,85.4};B:if(stu1==stu2)C:

printf("%10s%20s%c%3d%4.1f%4.1f%4.1f%4.1",stu1);D:structstudentstu1={"2008001","LiNing",'M',19,84.3,82.5,89.4,85.4};

答案:structstudentstu1={"2008001","LiNing",'M',19,84.3,82.5,89.4,85.4};

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

A:

struct{

intnum;floatage;}st1;

B:

structstudent{intnum,age;}st1;

C:

typedefstructstudent{intnum;intage;}STD;STDst1;

D:

structstudent{

intnum;intage;};studentst1;

答案:

structstudent{

intnum;intage;};studentst1;

08110062:已知职工记录描述为:structworkers{

int

no;

charname[20];charsex;struct{

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

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

答案:w.birth.day=25;w.birth.month=10;w.birth.year=1993;

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

)。

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

答案:只有一个成员驻留现在内存中

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

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

答案:12

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

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

答案:num1=0;num2=0;

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

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

答案:5

第九章测试

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

A:一个标志B:地址

C:值D:名

答案:地址

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

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

答案:ptr=k;

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

typedef

int

*INT

温馨提示

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

评论

0/150

提交评论