您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页2020年秋冬智慧树知道网课《C语言程序设计(海南科技职业大学)》课后章节测试答案

2020年秋冬智慧树知道网课《C语言程序设计(海南科技职业大学)》课后章节测试答案

来源:尚车旅游网


第一章测试

1

【单选题】(2分) C语言是一种()。

A.

汇编语言

B.

高级语言

C.

机器语言

D.

低级语言

2

【单选题】(2分) C语言程序总是从()。

A.

源代码的第一条可执行语句

B.

源代码的第一个函数

C.

主函数

D.

源代码的第一行

3

【单选题】(2分)

C语言程序是由()构成。

A.

若干过程

B.

若干对象

C.

若干子程序

D.

一个主函数和若干函数

4

【单选题】(2分)

在C语言程序中,主函数的位置()。

A.

一定放在所有代码最后

B.

一定放在所有代码最前面

C.

一定放在所有代码中间

D.

可以放在代码的任何位置

5

【单选题】(2分) 以下叙述正确的是()。

A.

C语言程序一行只能写一条语句

B.

C语言程序不区分大小写

C.

C语言程序每个语句结束都要写分号

D.

C语言程序每行结束都要写分号

6

【单选题】(2分)

要把高级语言编写的源程序转换为目标程序,需要使用()。

A.

诊断程序

B.

驱动程序

C.

编辑程序

D.

编译程序

7

【单选题】(2分)

若有说明语句:inta,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是()。

A.

scanf(\"%d%d%d\

B.

scanf(\"%d%d%d\

C.

scanf(\"%d%d%d\

D.

scanf(\"%d%d%d\

8

【单选题】(2分)

以下选项中合法的用户标识符是()。

A.

_2Test

B.

3Dmax

C.

long

D.

dat

9

【单选题】(2分) 下列说法中正确的是()。

A.

C程序书写时,一个语句可分成几行书写

B.

C程序书写时,一行只能写一个语句

C.

C程序书写时,不区分大小写字母

D.

C程序书写时每行必须有行号

10

【单选题】(2分)

英文小写字母d的ASCII码为100,英文大写字母D的ASCII码为()。

A.

52

B.

66

C.

50

D.

68

第二章测试

1

【单选题】(2分) C语言中的注释()。

A.

其他情况

B.

有的运行有的不运行

C.

运行

D.

不运行

2

【单选题】(2分)

设变量定义为“inta,b;”,执行下列语句时,输入(),则a和b的值都是10。 scanf(\"a=%d,b=%d\;

A.

a=10,b=10

B.

a=10b=10

C.

1010

D.

10,10

3

【单选题】(2分)

()是不正确的字符常量。

A.

’’

B.

’n’

C.

”a”

D.

’1’

4

【单选题】(2分)

若变量已正确定义并赋值,表达式()。

A.

2,b

B.

a/b/c

C.

3.14%2

D.

a*b/c

5

【单选题】(2分)

()是合法的用户自定义标示符。

A.

_isw

B.

C.

b-b

D.

float

6

【单选题】(2分)

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

A.

Float

B.

integer

C.

Char

D.

signed

7

【单选题】(2分)

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

A.

%

B.

/

C.

=

D.

*

8

【单选题】(2分)

与代数式(x*y)/(u*v)不等价的C语言表达式是()。

A.

x*y/u*v

B.

x*y/u/v

C.

x/(u*v)*y

D.

x*y/(u*v)

9

【单选题】(2分)

对于charcx=' 9';语句,正确的是()。

A.

cx的值为四个字符

B.

不合法

C.

cx的ASCII值是33

D.

cx的值为三个字符

10

【单选题】(2分)

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

A.

x%=k-k%5

B.

x%=(k%=5)

C.

(x%=k)-(k%=5)

D.

x%=(k-k%5)

第三章测试

1

【单选题】(2分)

若变量已正确定义,表达式()的值不是2。

A.

a=2

B.

5%3

C.

7/3

D.

1<1+1

2

【单选题】(2分)

在C程序中,用()表示逻辑值“真”。

A.

非1的数

B.

大于1的数

C.

0

D.

非0的数

3

【单选题】(2分)

下面程序的正确输出结果是()。 main() {

inta=2,b=-1,c=2; if(aprintf(“%d”,c); }

A.

0

B.

3

C.

2

D.

1

4

【单选题】(2分)

下面程序的正确输出结果是()。 main()

{

inta=1,b=3,c=5,d=4,x; if(aprintf(“%d”,x); }

A.

0

B.

2

C.

6

D.

3

5

【单选题】(2分)

下面程序的正确输出结果是()。 main() {

intx=1,y=0,a=0,b=0;

switch(x) {

case1:switch(y) {

case0:a++;break; case1:b++;break;

}

case2:a++;b++;break; case3:a++;b++; }

printf(“%d%d\\n”,a,b); }

A.

21

B.

22

C.

11

D.

10

6

【单选题】(2分)

能正确表示\"当x的值在[1,10]和[200,210]范围内为真,否则为假\"的是()。

A.

(x>=1)&&(x<=10)||(x>=200)&&(x<=210)

B.

(x>=1)||(x<=10)&&(x>=200)||(x<=210)

C.

(x>=1)||(x<=10)||(x>=200)||(x<=210)

D.

(x>=1)&&(x<=10)&&(x>=200)||(x<=210)

7

【单选题】(2分)

判断char型变量ch是否为大写字母的正确表达式是()。

A.

(ch>='A')&&(ch<='Z')

B.

(ch>='A')&(ch<='Z')

C.

'A'<=ch<='Z'

D.

('A'<=ch)AND('Z'>=ch)

8

【单选题】(2分) 请阅读以下程序: main(){

inta=5,b=0,c=0;

if(a=b+c)printf(\"***\"); elseprintf(\"$$$\"); }

以上程序()。

A.

可以通过编译但不能通过连接

B.

有语法不能通过编译

C.

输出***

D.

输出$$$

9

【单选题】(2分)

阅读以下程序,程序运行后,如果从键盘上输 人5,则输出结果是()。 main(){

intx;scanf(\"%d\",&x); if(x--<5)printf(\"%d\",x); elseprintf(\"%d\",x++); }

A.

4

B.

3

C.

6

D.

5

10

【单选题】(2分)

若执行以下程序时从键盘上输入9,则输出结果是()

A.

8

B.

9

C.

10

D.

11

第四章测试

1

【单选题】(2分)

下列for循环语句书写格式中,的是()

A.

for(i=9;i<20;i++){......}

B.

i=9;for(;i>=1;){i--;}

C.

for(i=9;i>1;i--);{......}

D.

i=9;for(;i<20;i++){......}

2

【单选题】(2分)

程序执行后输出的结果是: voidmain() { inti;

for(i=1;i<20;i=i+2) printf(\"%d\ }

A.

135791113151719

B.

2461012141618

C.

123456710111213141516171819

D.

12345671011121314151617181920

3

【单选题】(2分)

求0+5+10+15+...+55的结果,下列循环语句中条件设置正确的是()

A.

inta=0,s=0;do{s=s+a;a=a+5;}while(a<=55);

B.

inta,s=0;for(a=0;a<55;a=a+5){s=s+a;}

C.

inta,s=1;for(a=0;a<=55;a++){s=s+a;}

D.

inta=1,s=0;while(a<55){s=s+a;a++;}

4

【单选题】(2分)

关于循环嵌套的描述,的是()

A.

外层循环每走一步,内层循环走一圈

B.

循环次数=外层循环次数*内层循环次数

C.

走得慢的循环放在外层,走得快的放内层

D.

内层循环每走一步,外层循环走一圈

5

【单选题】(2分)

关于break语句和continue语句的使用结果,正确的是()

A.

inta=1;while(a<10){while(a>6){continue;}printf(\"%d\执行结果是1234567

B.

inta=1;for(;a<10;a++){if(a%3==0)continue;printf(\"%d\执行结果是124578

C.

inta=1;for(;a<10;a++){if(a%3==0)break;printf(\"%d\执行结果是123

D.

inta=1;while(a<10){while(a>6){break;}printf(\"%d\执行结果是123456

6

【单选题】(2分) 以下程序的输出结果是() main(){

intx=10,y=10,i; for(i=0;x>8;y=++i) printf(\"%d,%d\ }

A.

10,19,2

B.

10,109,1

C.

10,99,0

D.

9,87,6

7

【单选题】(2分) 以下程序的输出结果是() main(){intn=4;

while(n--)printf(\"%d\

A.

31

B.

321

C.

210

D.

20

8

【单选题】(2分) 以下程序的输出结果是() main(){ inti;

for(i=1;i<6;i++){

if(i%2){printf(\"#\");continue;} printf(\"*\"); } }

A.

#####

B.

#*#*#

C.

*#*#*

D.

*****

9

【单选题】(2分)

以下循环体的执行次数是() main(){ inti,j;

for(i=0,j=1;i<=j+1;i+=2,j--) printf(\"%d\ }

A.

3

B.

2

C.

0

D.

1

10

【单选题】(2分)

以下程序段的执行结果是() inta,y;a=10;y=0; do{ a+=2;y+=a;

printf(\"a=%dy=%d\ if(y>20)break; }while(a=14);

A.

a=12y=12a=14y=26

B.

a=12y=12 a=14y=16 a=16y=20

C.

a=12y=12a=14y=44

D.

a=12y=12 a=16y=28 a=18y=24

第五章测试

1

【单选题】(2分)

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

A.

整型表达式

B.

整型常量

C.

整型常量或整型表达式

D.

任何类型的表达式

2

【单选题】(2分)

下面正确的定义语句是()。

A.

doubley[][3]=0;

B.

longb[2][3]={{1},{1,2},{1,2,3}}

C.

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

D.

floatx[3][2]={{1},{2},{3}}

3

【单选题】(2分)

inta[10];则对a数组元素的正确引用是()。

A.

a[3.5]

B.

a(5)

C.

a[10]

D.

a[10-10]

4

【单选题】(2分)

下面的程序有,发生在()。 main() {

floata[3]={3*0}; inti;

for(i=0;i<3;i++) scanf(“%d”,&a[i]); for(i=1;i<3;i++) a[0]=a[0]+a[i]; printf(“%d”,a[0]); }

A.

第三行

B.

没有

C.

第五行

D.

第七行

5

【单选题】(2分)

若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为()。

A.

j*m+i

B.

i*m+j-1

C.

i*m+j+1

D.

i*m+j

6

【单选题】(2分)

inta[4]={5,3,8,9};其中a[3]的值为()。

A.

9

B.

5

C.

3

D.

8

7

【单选题】(2分)

以下4个字符串函数中,()所在的头文件与其他3个不同。

A.

strcpy

B.

strcmp

C.

strlen

D.

gets

8

【单选题】(2分)

对字符数组进行初始化,()形式是。

A.

charc3[]={'1','2','3',''};

B.

charc4[]=\"123\";

C.

charc1[]={'1','2','3'};

D.

charc2[]=123;

9

【单选题】(2分)

若有以下说明,则数值为4的表达式是()。 inta[12]={1,2,3,4,5,6,7,8,9,10,11,12}; charc=’a’,d,g;

A.

a['d'-'c']

B.

a['d'-c]

C.

a[4]

D.

a[g-c]

10

【单选题】(2分)

下列定义的字符数组中,输出printf(\"%s\的输出是()。 staticstr[3][20]={\"basic\

A.

windows

B.

输出语句出错

C.

basic

D.

foxpro

第六章测试

1

【单选题】(2分)

下列程序的输出结果是()。 fun(inta,intb,intc) {c=a*b;} voidmain() { intc; fun(2,3,c); printf(”%d”,c);

}

A.

6

B.

无法确定

C.

1

D.

0

2

【单选题】(2分)

C语言中,函数返回值的类型是由()。

A.

return语句中的表达式类型所决定

B.

在定义该函数时所指定的函数类型所决定

C.

调用该函数时的主调函数类型所决定

D.

调用该函数是系统决定

3

【单选题】(2分)

以下不正确的说法是()。

A.

如果形参和实参的类型不一致,以形参类型为准

B.

实参和形参的个数要一致

C.

形参可以是常量、变量或表达式

D.

实参可以是常量、变量或表达式

4

【单选题】(2分) 以下正确的说法是()。

A.

函数的定义和调用都不可以嵌套

B.

函数的定义和调用都可以嵌套

C.

函数的定义可以嵌套,函数的调用不可以嵌套

D.

函数的定义不可以嵌套,函数的调用可以嵌套

5

【单选题】(2分)

以下正确的函数定义是()。

A.

doublefun(intx,y)

{intz;returnz;}

B.

doublefun(intx,inty)

{doublez;returnz;}

C.

doublefun(intx,inty)

{z=x+y;returnz;}

D.

fun(x,y)

{intx,y;doublez; z=x+y;returnz;}

6

【单选题】(2分)

以下关于函数的叙述中不正确的是()。

A.

在C语言程序中,被调用的函数必须在main函数中定义

B.

在C语言程序中,函数的定义不能嵌套

C.

在C语言程序中,函数的调用可以嵌套

D.

C程序是函数的集合,包括标准库函数和用户自定义函数

7

【单选题】(2分) 在一个C程序中,()。

A.

main函数必须出现在所有函数之后

B.

main函数可以在任何地方出现

C.

main函数必须出现在固定位置

D.

main函数必须出现在所有函数之前

8

【单选题】(2分)

若在C语言中未说明函数的类型,则系统默认该函数的数据类型是()。

A.

int

B.

long

C.

double

D.

float

9

【单选题】(2分)

C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是()。

A.

参数的形实结合

B.

函数返回值

C.

同名的局部变量

D.

全局变量

10

【单选题】(2分)

定义一个void型函数意味着调用该函数时,函数()。

A.

没有返回值

B.

返回一个不确定的值

C.

返回一个系统默认值

D.

通过return返回一个用户所希望的函数值

第七章测试

1

【单选题】(2分)

若需要建立如图所示的存储结构,且已有说明double*p,x=0.2345;则正确的赋值语句是()。

A.

*p=x;

B.

*p=&x;

C.

p=x;

D.

p=&x;

2

【单选题】(2分)

若有说明语句:inta,b,c,*d;c=100;d=&c;则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是()。

A.

scanf(\"%d,%d,%d\

B.

scanf(\"%d,%d,%d\

C.

scanf(\"%d,%d,%d\

D.

scanf(\"%d,%d,%d\

3

【单选题】(2分) 下面代码 #include voidmain(){ inta=511; int*b; b=&a; printf(\"%p\}的输出结果为:

A.

a的地址

B.

无确定值

C.

512

D.

511

4

【单选题】(2分)

下面程序段的运行结果是()。 char*s=\"abcde\"; s+=2;

printf(\"%d\

A.

cde

B.

字符'c'

C.

字符'c'的地址

D.

无确定的输出结果

5

【单选题】(2分)

下列程序的输出结果是()。 #include\"stdio.h\" voidmain() {

inta[]={1,2,3,4,5,6,7,8,9,0},*p; p=a;

printf(\"%d\}

A.

1

B.

3

C.

9

D.

0

6

【单选题】(2分)

若有说明:inta=2,*p=&a,*q=p;,则以下非法的赋值语句是()。

A.

a=*q;

B.

q=a;

C.

*p=*q;

D.

p=q;

7

【单选题】(2分)

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

A.

一个标志

B.

地址

C.

D.

8

【单选题】(2分)

若有语句int*p,a=10;p=&a;下面均代表地址的一组选项是()。

A.

&*a,&a,*p

B.

a,p,*&a

C.

&a,&*p,p

D.

*&p,*p,&a

9

【单选题】(2分)

有如下语句:intm=6,n=9,*p,*q;p=&m;q=&n;如图1所示,若要实现下图所示的存储结构,可选用的赋值语句是()。

A.

p=*q;

B.

p=q;

C.

*p=q;

D.

*p=*q;

10

【单选题】(2分)

以下程序中调用scanf函数给变量a输入数值的方法是的,其原因是()。 #include main()

{

int*p,*q,a,b; p=&a;

printf(\"inputa:\"); scanf(\"%d\",*p); … }

A.

*p只能用来说明p是一个指针变量

B.

*p表示的是变量a的值,而不是变量a的地址

C.

*p表示的是指针变量p的地址

D.

*p表示的是指针变量p的值

第八章测试

1

【单选题】(2分)

根据下面的定义,能输出Mary的语句是()。

structperson{

charname[9];intage;};

structpersonclass[5]={\"John\

A.

printf(\"%s\

B.

printf(\"%s\

C.

printf(\"%s\

D.

printf(\"%s\

2

【单选题】(2分) 定义以下结构体数组 structc {intx; inty;

}s[2]={1,3,2,7};

语句printf(\"%d\的输出结果为()

A.

14

B.

21

C.

2

D.

6

3

【单选题】(2分)

下面程序的运行结果是()。 structKeyWord{ charKey[20];intID;

}kw[]={\"void\ printf(\"%c,%d\

A.

i,3

B.

f,4

C.

l,4

D.

n,3

4

【单选题】(2分) 若有如下声明: uniondata{char*p;intn;}; 以下初始化正确的是()。

A.

uniondataa={\"Mary\

B.

uniondataa=10;

C.

uniondataa={10};

D.

uniondataa=\"Mary\";

5

【单选题】(2分)

以下对枚举类型名的定义中正确的是()

A.

enums{′a′,′b′,′c′}

B.

enums={a,b,c}

C.

enums{a=9,b=2,c}

D.

enums={′a′,′b′,′c′}

6

【单选题】(2分) 设有以下说明语句 structex

{intx; floaty; charz; }example;

则下面的叙述中不正确的是()

A.

x,y,z都是结构体成员名

B.

struct是结构体类型的关键字

C.

structex是结构体类型

D.

example是结构体类型名

7

【单选题】(2分)

已知字符0的ASCII码为十六进制的30,下面程序的输出是()。 main()

{union{unsignedcharc; unsignedinti[4]; }z;

z.i[0]=0x39; z.i[1]=0x36; printf(\"%c\

A.

9

B.

0

C.

6

D.

3

8

【单选题】(2分) 有以下程序: #include unionpw

{inti;charch[2];}a; main()

{a.ch[0]=13;a.ch[1]=0;printf(\"%d\

程序的输出结果是()。(注意:ch[0]在低字节,ch[1]在高字节。)

A.

13

B.

208

C.

14

D.

209

9

【单选题】(2分)

枚举类型中的每个枚举常量的值都是一个( )。

A.

整数

B.

逻辑值

C.

浮点数

D.

字符

10

【单选题】(2分) 设有如下枚举类型定义

enumlanguage{Basic=3,Assembly=6,Ada=100,COBOL,Fortran}; 枚举量Fortran的值为()。

A.

4

B.

103

C.

7

D.

102

第九章测试

1

【单选题】(2分)

程序流程图中带有箭头的线段表示的是()。

A.

图元关系

B.

控制流

C.

数据流

D.

调用关系

2

【单选题】(2分)

以下叙述中正确的是()。

A.

算法必须要有输入和输出

B.

算法可以没有输入但必须要有输出

C.

算法可以既没有输入又没有输出

D.

算法可以没有输出但必须要有输入

3

【单选题】(2分) 算法是指()。

A.

数字的加工步骤

B.

为解决一个问题而采取的方法和步骤

C.

运算的方法

D.

计算的方法

4

【单选题】(2分)

以下不属于表示算法的方法是()。

A.

用A-S方法表示算法

B.

用计算机语言表示算法

C.

用自然语言表示算法

D.

用伪代码表示算法

5

【单选题】(2分) 算法的特点不包括()。

A.

确定性

B.

有效性

C.

简易性

D.

有穷性

6

【单选题】(2分)

描述或表示算法有多种方法,()不是常用的表示方法。

A.

伪代码

B.

效果图

C.

自然语句

D.

流程图或N-S图

7

【单选题】(2分)

一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中的是()。

A.

有穷性

B.

有零个或多个输出

C.

有零个或多个输入

D.

可行性

8

【单选题】(2分) 算法分析的目的是()。

A.

研究算法中的输入和输出的关系

B.

找出数据结构的合理性

C.

分析算法的易懂性和文档性

D.

分析算法的效率以求改进

9

【单选题】(2分) 下面叙述正确的是()

A.

算法的空间复杂度是指算法程序中指令(或语句)的条数

B.

算法的执行效率与数据的存储结构无关

C.

算法的有穷性是指算法必须能在执行有限个步骤之后终止

D.

其余选项描述都不对

10

【单选题】(2分)

求1至20之间所有偶数和的算法描述如下 ①将1赋值给变量i;

②判断i是否能被2整除,若是,将该数累加到变量sum中; ③将变量i加1,若i还小于或等于20,转②; ④输出sum的值; ⑤结束。

该算法采用的描述方法属于()。

A.

计算机语言

B.

流程图

C.

伪代码

D.

自然语言

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务