C语言编程新思路知到章节答案智慧树2023年山东理工大学_第1页
C语言编程新思路知到章节答案智慧树2023年山东理工大学_第2页
C语言编程新思路知到章节答案智慧树2023年山东理工大学_第3页
C语言编程新思路知到章节答案智慧树2023年山东理工大学_第4页
C语言编程新思路知到章节答案智慧树2023年山东理工大学_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

C语言编程新思路知到章节测试答案智慧树2023年最新山东理工大学第一章测试

关于一个C语言程序执行的起点和终点,以下选项正确的是

()。

参考答案:

main

main

C语句的程序一行写不下时,可以

(

)。

参考答案:

用回车换行

以下叙述不正确的是

()。

参考答案:

C程序中,可以不必包含主函数

C语言规定,在一个源程序中,main函数的位置

()。

参考答案:

可以任意

以下叙述正确的是

(

)。

参考答案:

在对C语言进行编译的过程中,不能发现注释中的错误

函数的主体部分需要用一对

(

)括起来。

参考答案:

{}

以下叙述错误的是

(

)。

参考答案:

只有一个分号的语句不是合法的C语句

计算机能够直接识别和执行的计算机语言

(

)。

参考答案:

机器语言

以下叙述错误的是

(

)。

参考答案:

一个C程序编译成功后在连接时发现错误,需要编辑修改,然后不必重新编译和连接即可直接运行。

对C程序的注释说明信息必须写在

()之间。

参考答案:

/和/

用C语言编写的源程序,必须翻译成用二进制指令表示的目标程序,才能被计算机识别,这个过程称为

(

)。

参考答案:

编译

关于C语言的特点,以下叙述错误的是

()。

参考答案:

C语言不能直接对硬件进行操作

C语言程序的基本构成单位是

(

)。

参考答案:

函数

能够在编译过程中被检查出来,并给出提示信息的是

(

)。

参考答案:

语法错误

以下叙述错误的是

(

)。

参考答案:

C语言属于汇编语言

C语言源程序文件的后缀名是

(

)。

参考答案:

.c

C语言编译程序是

(

)。

参考答案:

将C源程序编译成目标程序

以下叙述错误的是

(

)。

参考答案:

C语言程序中只要出现在“/”和“/”之间的就一定是注释内容

C语言源程序文件经过编译后的目标文件后缀名是

(

)。

参考答案:

.obj

C语言源程序编译、连接后的可执行文件后缀名是

(

)。

参考答案:

.exe第二章测试

下面4个选项中,均是不合法的用户标识符的选项的是()。

参考答案:

b+a

if

float

下面4个选项中均是合法常量的选项是()。

参考答案:

−12.8

0x98

43.56e2

‘’

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

参考答案:

在C语言中,可以使用二进制整数

在C语言中,要求运算对象必须是整型的运算符是

()。

参考答案:

%

若有说明语句:charch=‘\0x41’;则变量ch包含()个字符。

参考答案:

1

若有定义:inta=7;floatx=2.5,y=4.5;则表达式x+a%3*(x+y)/2的值是

()。

参考答案:

6.000000

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

参考答案:

double

以下叙述正确的是

()。

参考答案:

在C语言中,%是只能用于整数运算的运算符

在C语言中,int型数据在内存中的存储形式是()。

参考答案:

补码

下列选项中可作为C语言的合法整数的是

()。

参考答案:

0x4b5

字符型数据在内存中是以

()形式存储的。

参考答案:

ASCII码

下列叙述正确的是()。

参考答案:

在C语言中,’b’和”b”的含义是不同的

#includeintmain(){

charch;

inti;

i=65;

ch=“a”;

printf(“%c,%c,%d,%d”,i,ch,i,ch);

return0;}这段程序的运行结果是()。

参考答案:

编译错误,无法运行

设整型变量a=2,则执行下列语句后,实型变量b的值不是0.5的是()。

参考答案:

b=(float)(1/a)

下列叙述正确的是()。

参考答案:

赋值表达式的左边只能是变量名

#includeintmain(){

inta=b=5,c;

c=a+b;

printf(“c=%d”,c);}这段程序的运行结果是()。

参考答案:

编译错误,无法运行

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

参考答案:

必须为字母或者下划线

如果在一个C语言表达式中有多个运算符,则运算时应该()。

参考答案:

先考虑优先级,然后考虑结合性

已知字符A的ASCII值是65,若定义int

i;则执行语句i=’A’+3;后,正确的叙述是

()。

参考答案:

i的值是字符A的ASCII值加上3,即68

在C语言中常量’’和常量”ABC”在内存中占用的字节数分别是()。

参考答案:

1

4第三章测试

若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是

(

)。

参考答案:

**

a*b;**

以下选项中不是C语句的是

(

)。

参考答案:

a=5,c=10

以下程序的输出结果是

(

)。#include

“stdio.h”intmain(){

intx=100,y=30;printf(“%d”,y=x/y);return(0);}

参考答案:

3

若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是

(

)。

参考答案:

scanf(“%d%d%d”,&a,&b,&c);

以下程序段的输出结果是(

)#includeintmain(void){

inti;

floatx;

doubley;

y=x=i=10/4;

printf(“y=%.2f,x=%.2f,i=%d”,y,x,i);

return(0);}

参考答案:

y=2.00,x=2.00,i=2

若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是

(

)。

参考答案:

a=t;t=b;b=a;

以下程序的输出结果是

(

)。

#include

intmain(void){

int

a=4,b=8;printf(“a=%%d,b=%%d”,a,b);

/*注意转义字符的作用*/return(0);}

参考答案:

a=%d,b=%d

已知字母A的ASCII值为十进制数65,下面程序的输出是

(

)。#include“stdio.h”intmain(void){

charch1,ch2;ch1=‘A’+‘5’−‘3’;ch2=‘A’+‘6’−‘3’;printf(“%d,%c”,ch1,ch2);return(0);

}

参考答案:

67,D

若从终端输入以下数据,要给变量c赋以340.25,则正确的输入语句是(

)。

参考答案:

scanf(%f”,&c)

以下程序运行时输入:25,执行后输出的结果是

(

)。#includeintmain(void){

charch1,ch2;intn1;ch1=getchar();ch2=getchar();n1=ch2-ch1;printf(“%d”,n1);return(0);}

参考答案:

3

有以下程序#includeintmain(void){

charc1,c2,c3,c4,c5,c6;

scanf(“%c%c%c%c”,&c1,&c2,&c3,&c4);

c5=getchar();

c6=getchar();

putchar(c1);

putchar(c2);

printf(“%c%c”,c5,c6);

return(0);}程序运行后,若从键盘输入(从第一列开始)abc回车>def回车>则输出结果是(

)。

参考答案:

abde

以下程序段的输出结果是(

)。#includeintmain(void){

charc1=‘a’,c2=‘c’;printf(“%d,%c”,c2-c1,c2-c1+‘B’);return(0);}

参考答案:

2,D

若变量已正确定义为float类型,要通过语句scanf(“%f%f%f”,&a,&b,&c);给a赋值10.0,b赋值20.0,c赋值30.0,不正确的输入形式是(

)。

参考答案:

10,20,30

以下程序的输出结果是()。#includeintmain(void){

inta,b;

a=10;

b=20;

printf(“a=%d=%d”,a,b);

return(0);}

参考答案:

a=10b=20

若变量已正确说明,要求用以下语句给a赋值2.0,给c1赋值字符#,给b赋值4.0,则不正确的输入形式是(

)。scanf(“%f%c%f”,&a,&c1,&b);

参考答案:

2.0

#

4.0

以下说法错误的是

(

)。

参考答案:

若floatx=5;可以对变量x进行%操作,如x%2的值是1。结构化程序设计由三种基本结构组成,下面哪个选项不属于三种基本结构

(

)。

参考答案:

回溯下面程序段功能是先输入一个整数,然后将输入的整数输出,请指出哪部分有错(

)。

#include

//1intmain(void){

inti;

//2

scanf(“%d”,i);//3

printf(“i=%d”,i);//4

return(0);}

参考答案:

3

设inta=10,b;,执行下列语句后,b的值不是2的是(

)。

参考答案:

b=a/4.0

putchar()函数可以向终端输出一个(

)。

参考答案:

字符第四章测试

表示关系x≤y≤z的c语言表达式为(

)。

参考答案:

(x

若a=5;b=6;c=7;d=8;m=2;n=2;则执行(m=a>b)&&(n=c>d)后,m和n的值分别为()。

参考答案:

0,2

在以下一组运算符中,优先级最高的运算符是(

)。

参考答案:

%

若有intx,a,b;则下面if语句中,(

)是错误的。

参考答案:

if(a<>b)

x=x+1;

下列表达式中,(

)不满足“当x的值为偶数时值为真,为奇数时值为假”的要求。

参考答案:

!x%2!=0

关于以下程序,正确的说法是(

)。#includeintmain(void){intx=0,y=0,z=0;

if(x=y+z)

printf(“*“);

else

printf(”###“);return(0);}

参考答案:

输出:###**

下列程序的输出结果是(

)。#includeintmain(void){

floatx=4,y=1;

if(x

elseif(x

elsey=10;

printf(“%f”,y);

return(0);}

参考答案:

0.250000

执行以下程序时,若输入3和4,则输出结果是(

)。#includeintmain(void){

int

a,b,s;

scanf(“%d%d”,&a,&b);

s=a;

if(as=b;

s=s*s;

printf(“%d”,s);

return(0);}

参考答案:

16

下列程序的输出结果是(

)。#includeintmain(void){intx=1,a=0,b=0;switch(x){case0:b=b+1;case1:a=a+1;case2:a=a+1;b=b+1;}printf(“a=%d,b=%d”,a,b);return(0);}

参考答案:

a=2,b=1若有定义:inta=3,b=2,c=1;并有表达式:①a%b、②a>b>c、③b&&c+1、④c+=1,则表达式值相等的是(

)。

参考答案:

①和③当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是(

)。

if(a

if(c

else

if(a

if(b

else

x=3;

else

x=6;

else

x=7;

参考答案:

2在下面的条件语句中(其中S1和S2表示C语言语句),只有一个在功能上与其他3个语句不等价(

)。

参考答案:

if(a==0)

S1;

else

S2;若有inta=3,b;则执行下面程序段后b的值是(

)

if(a>0)

b=1;

else

b=-1;

b=b+1;

参考答案:

2假定所有变量均已正确定义,下面程序段执行后的x的值是(

)。

a=b=0;

x=35;

if(!a)x=x-1;

if(b)x=3;

elsex=4;

参考答案:

4若有说明语句inti=4,j=5,k=6;floatf;则执行f=(i>k)?i:(j语句后,f的值为(

)。

参考答案:

5.0下述程序的输出结果是(

)#includeintmain(void){

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

if((a+1)>0||(b>0))

c=c+1;

printf(“%d,%d,%d”,a,b,c);

return(0);

}

参考答案:

0,0,1若x=0,则执行下面程序段后,屏幕上会显示(

)。

if(x=0)printf(“*“);

else

printf(”&&&“);

参考答案:

&&&**若有inta=10,b=20,c=30;,执行下面程序段后a、b、c的值分别是()。

if(a>b)

c=a;

a=b;

b=c;

参考答案:

20、30、30下列程序的输出结果是(

)。

#include

intmain(void)

{intk=8;

switch(k)

{

case7:k+=1;

case8:k+=1;

case9:k+=1;break;

default:k+=1;

}

printf(“%d”,k);

return(0);

}

参考答案:

10若有float

x;

int

a,b;,下面四条switch语句中正确的有(

)条。switch(x){

case

x=1.0:printf(“Y”);

case

x=2.0:printf(“N”);

}switch(a)

{

case

a=1:printf(“Y”);

case

a=2:printf(“N”);

}switch(b)

{

case

b==1:printf(“Y”);

case

b==2:printf(“N”);

}switch(x){

case

1.0:printf(“Y”);

case

2.0:printf(“N”);

}

参考答案:

1第五章测试

以下程序段中while循环执行的次数是(

)。

intk=0;

while(k=1)k++;

参考答案:

无限次以下描述中正确的是(

)。

参考答案:

在do-while循环中,循环体至少执行一次在C语言中有关for循环,以下正确的说法是(

)。

参考答案:

for循环的循环体语句中,可以包含多条语句,但必须用大括号括起来以下下面程序的运行结果是(

)。#includeintmain(){

inta=1,b=2,c=2,t;while(a{t=a;a=b;b=t;

c–;}printf(“%d,%d,%d”,a,b,c);}

参考答案:

1,2,0若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是(

)。for(i=5;i;i–)for(j=0;j

参考答案:

20下面程序的输出结果是(

)。#includeintmain(){

int

i,j;

for(i=0,j=10;i

;printf(“%d%d”,i,j);}

参考答案:

8

6下面关于switch语句和break语句的结论中,说法正确的是(

)。

参考答案:

在switch语句中,可以根据需要使用或者不使用break语句以下不是死循环的语句是(

)。

参考答案:

for(;(c=getchar())!=’’;)printf(“%c”,c);与语句头while(!x)等价的语句头是(

)。

参考答案:

while(x==0)在while(x)语句中的x与下列条件表达式等价的是(

)。

参考答案:

x!=0下面程序的功能是:在输入的一批正数中求最大者,输入0结束循环,选择(

)填空。#includeintmain(){

inta,max=0;

scanf(“%d”,&a);

while(

)

{

if(max

scanf(“%d”,&a);

}

printf(“%d”,max);}

参考答案:

a

下面程序的功能是从键盘输入一行字符,从中统计大写字母和小写字母的个数,选择(

)填空。#includeintmain(){

intm=0,n=0;

charc;

while((

)!=‘’)

{

if(c>=‘A’&&c

if(c>=‘a’&&c

}

printf(“m=%d,n=%d”,m,n);}

参考答案:

c=getchar()下面程序的输出结果是(

)。#includeintmain(){

intk=0,m=0,i,j;

for(i=0;i

{

for(j=0;j

k++;

k-=j;

}

m=i+j;

printf(“k=%d,m=%d”,k,m);}

参考答案:

k=0,m=5下面程序的输出结果是(

)。#includeintmain(){

charc=‘A’;

intk=0;

do

{switch(c++)

{case‘A’:k++;break;

case‘B’:k–;

case‘C’:k+=2;break;

case‘D’:k%=2;continue;

case‘E’:k*=10;break;

default:k/=3;

}

k++;

}while(c

printf(“k=%d”,k);}

参考答案:

k=4下面程序的运行结果是(

)。#includeintmain(){

inti;

for(i=1;i{

if(i%2)printf(“*”);

else

continue;printf(“#”);}

printf(“$\n”);}参考答案:***#*#*#$**下面程序段的运行结果是(

)。intx=3;do{printf(”%d“,x-=2);}while(!(–x));

参考答案:

输出的是1和-2下面程序段的运行结果是(

)。x=y=0;while(xy++,x+=++y;printf(“%d,%d”,y,x);

参考答案:

20,8下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,请选择(

)填空:#indudeintmain(){inta,b,t;scanf(“%d%d”,&a,&b);while(【1】){if(a>b){t=a;a=b;b=t;}printf(“%d,%d”,a,b);scahf(“%d%d”,&a,&b);人}

参考答案:

a!=b对for(表达式1;;表达式3)可理解为(

)。

参考答案:

for(表达式1;1;表达式3)若i为整型变量,则以下循环执行次数是(

)。for(i=2;i==0;)printf(“%d”,i–);

参考答案:

0次第六章测试

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

)。

参考答案:

整型常量或整型表达式

以下程序的输出结果是(

)。intmain(){inta[5]={1,2,3};printf(“%d”,a[3]);}

参考答案:

0以下程序的输出结果是(

)。int

main(

){

int

i,

k,a[10]={1,5,3,4,2,8,9,6,7,0};

for

(i=0,k=0;

i

参考答案:

6以下程序的输出结果(

)。int

main(

){int

i,j,s=0,a[2][3]={1,2,3,4,5,6};for

(i=0;

i

参考答案:

21有以下程序运行后的输出结果是(

)。int

main(

){int

aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};

int

i,s=0;for(i=0;i

参考答案:

19数组定义为inta[3][2]={1,3,4,6,8,10},数组元素(

)的值为6。

参考答案:

a[1][1]

定义inta[10][11],则数组a有(

)个元素。

参考答案:

110以下不能对二维数组a进行正确初始化的语句是(

)。

参考答案:

inta[2][3]={{1,2},{3,4},{5,6}};若有定义语句:inta[3][5];,按在内存中的存放顺序,a数组的第8个元素是(

)。

参考答案:

a[1][2]若有定义

int

a[10];则对a数组元素的正确应用是

(

)。

参考答案:

a[1+2]以下能对一维数组a进行正确初始化的语句是()。

参考答案:

inta[]={0};

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

参考答案:

doublea[1][4];

若有说明:inta[3][4]={0};则下面正确的叙述是(

)。

参考答案:

数组a中每个元素均可得到初值0

若有定义:ints[3][4]={{1,2},{0},{3,4,5}};则s[2][1]的值为(

)。

参考答案:

4若有定义inta[2][3];则合法引用数组元素的是(

)。

参考答案:

a[1][2]在以下数组定义中,错误的是(

)。

参考答案:

inta[2][]={1,2,3,4,5};以下程序段执行后p的值是(

)。int

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

int

j,k,p=1;for(j=0;j

参考答案:

12以下程序段执行后p的值是(

)。

int

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

int

j,k,p=1;for(j=0;j

参考答案:

108以下程序段运行后s的值是(

)。

int

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

i,j,s=1;for(i=0;i

参考答案:

7下面程序段的运行结果是(

)。

int

m[]={5,8,7,6,9,2},i=1;for(i=0;i

参考答案:

518716912第七章测试

变量的指针,其含义是指变量的(

)。

参考答案:

地址

以下叙述错误的是(

)。

参考答案:

指针变量不占用存储空间

已知指针变量P的指向如图1所示,则表达式*P++的值是(

)。

参考答案:

20已知指针变量P的指向如图1所示,则表达式*++P的值是(

)。

参考答案:

30已知指针变量P的指向如图1所示,则表达式++(*P)的值(

)。

参考答案:

21假设整型变量a的值为12,变量a的地址为2000,若欲使p为指向a的指针变量,则以下赋值正确的是(

)。

参考答案:

p=若有定义:intb,*pb;则下面正确的赋值表达式是(

)。

参考答案:

pb=&b设inta[10],*p=a;,则下面(

)不是对a[3]的正确引用。

参考答案:

p+3若有如下定义:inta[10]={10,20,30,40,50,60,70,80,90,100},p=a;,则执行p=p+5后,p的值是(

)。

参考答案:

60若intp,i;执行i=100;p=i=p+10;后,*p的值是(

)。

参考答案:

110以下程序的输出结果是(

)。#includeintmain(){

inta[]={2,4,6,8,10},y=0,i,p;

p=a;

for(i=0;i

y+=(p+i);

printf(“%d”,y);}

参考答案:

12

以下程序的输出结果是(

)。#includeintmain()

{inta=1,b=2,c=3,p1,p2,p3;

p1=p2=

p3=

p3=p1;

p1=p2;

p2=*p3;

printf(“a=%d,b=%d,c=%d”,a,b,c);

}

参考答案:

a=2,b=1,c=3以下程序的输出结果是

)。#includeintmain(){intk=2,m=4,n=6;intpk=&k,pm=&m,p;(p=&n)=pk(*pm);printf(“%d”,n);return0;}

参考答案:

8以下程序的输出结果是(

)。#includeintmain(){int**k,*a,b=100;a=k=printf(“%d”,k);return0;}

参考答案:

100**对于基类型相同的两个指针变量之间,不能进行的运算时(

)。

参考答案:

+若有inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

int(p)[3]=a;,则能正确表示数组元素a[1][2]的是(

)。

参考答案:

**(*(p+1)+2)**对于语句int*p[5];的正确描述是(

)。

参考答案:

p是一个具有5个元素的指针数组,每个元素都是一个指向int型对象的指针变量。若有inta[10],p=a;,下列不能表示a数组首元素地址的是(

)。

参考答案:

p下列程序的运行结果是(

)。#includeintmain(){inta[5]={1,2,3,4,5},*p,**pp;

p=a;

pp=

printf(“%d”,*(p+3));

printf(“%d”,pp);

return0;}

参考答案:

4

1**若有inta[10],*p;,则下列语句中正确的是(

)。

参考答案:

for(p=a;p第八章测试函数strcmp(“ABCDDCBA”,“ABCDE”)的返回值是(

)。

参考答案:

负数以下程序运行后的输出结果是(

)。intmain(){inti,j;chara[]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’,‘\0’};i=sizeof(a);//sizeof返回数组a在内存分配字节数j=strlen(a);printf(“%d,%d”,i,j);}

参考答案:

9,8下列选项中,不正确的赋值方式是(

)。

参考答案:

charstr1[10];str1=“string”;若有以下的说明和语句,则它与(

)中的说明是等价的。chars[3][5]={“aaaa”,“bbbb”,“cccc”};

参考答案:

chars3[][5]={“aaaa”,“bbbb”,“cccc”};有以下程序:#include“stdio.h”#include“string.h”intmain()

{

inti,j;

chart[10],p[5][10]={“abc”,“aabdfg”,“abbd”,“dcdbe”,“cd”};

for(i=0;i

for(j=i+1;j

if(strcmp(p[i],p[j])>0)

{

strcpy(t,p[i]);strcpy(p[i],p[j]);

strcpy(p[j],t);

}

printf(“%d”,strlen(p[0]));}程序运行后的输出结果是(

)。

参考答案:

6

下列选项正确的语句组是(

)。

参考答案:

**char*s;s=“China”;**下面程序的运行结果是(

)。charc[6]={‘a’,‘b’,‘\0’,‘c’,‘d’,‘\0’};printf(“%s”,c);

参考答案:

ab有两个字符数组a、b,则以下正确的输入语句是(

)。

参考答案:

scanf(“%s%s”,a,b);下面程序段的运行结果是(

)。chara[7]=“abcdef”;charb[4]=“ABC”;strcpy(a,b);printf(“%c”,a[5]);

参考答案:

f下面程序段的输出结果是(

)。#include

int

main(){

char

str[]=“I

like

swimming!

”,*p=str;

p=p+7;

printf(“%s”,p);}

参考答案:

swimming!

下面哪个选项不能将”hello”字符串存入字符数组str中(

)。

参考答案:

charstr[30];str=“hello”;

有以下定义,不能表示字符

‘C’

的表达式是(

)。char

str[]=“ABCDEFG”,p=str;

参考答案:

p+2程序段char

c[]=“abcdefg

”;

printf(“%s”,c+4);的运行结果是(

)。

参考答案:

efg有如下定义,不能给数组a输入字符串的是(

)。char

a[20],*p=a;

参考答案:

gets(a[0])下面说法正确的是(

)。

参考答案:

函数strcpy(str1,str2);的功能是将str2中字符串复制到str1中。接受用户输入含有空格的字符串时,应使用(

)。

参考答案:

gets()列描述中错误的是

)。

参考答案:

不能对字符数组存储的字符串进行更改。执行以下程序段后,输出结果是(

)。

char

str[20]=“door”,t;

int

i,j;

i=0;

j=strlen(str)-1;

t=str[i];

str[i]=str[j];

str[j]=t;

puts(str);

参考答案:

rood若有如下定义chara[30],b[30],则以下正确的输入语句是(

参考答案:

gets(a);gets(b);执行以下程序段后,输出结果是(

)。chars[20]=“Good”,t[]=“Moring!”;strcat(s,t);puts(s);

参考答案:

GoodMoring!第九章测试在c语言中以下不正确的说法是(

)。

参考答案:

形参可以是常量、变量或表达式以下程序有语法性错误,有关错误原因的正确说法是(

)。 #includeint main(void)    {  int G=5,k; void  prt_char(); 

……   k=prt_char(G);   ……return0;} 

参考答案:

函数说明和函数调用语句之间有矛盾下述函数定义形式正确的是(

)。

参考答案:

int

f(intx,inty)以下所列的各函数首部中,正确的是(

)。

参考答案:

void play(int a,int b)若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(

)。

参考答案:

函数调用可以作为一个函数的形参在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(

)。

参考答案:

单向值传递有以下程序:#includevoidfun(inta,intb,intc){a=11;b=22;c=33;}intmain(void){

intx=10,y=20,z=30;

fun(x,y,z);printf(“%d,%d,%d”,x,y,z);

return0;}该程序输出结果是(

)。

参考答案:

10,20,30关于函数参数,说法正确的是(

)。

参考答案:

实参与其对应的形参各自占用独立的内存单元一个函数的返回值由(

)确定。

参考答案:

被调用函数的类型下列程序的输出结果是(

)。fun(inta,intb,intc){c=a+b;}intmain(void){

intc;

fun(2,3,c);

printf(“%d”,c);

return0;}

参考答案:

不定有以下程序:#includeintfun(intx){

printf(“x=%d”,++x);}intmain(){

fun(12+5);

return0;}程序的输出结果是(

)。

参考答案:

x=18有如下程序:#includeinti=1;intmain(){

inti=i;printf(“%d”,i);return0;}程序的输出结果是(

)。

参考答案:

不确定有如下程序:#includeintf(intx){returnx+3;}intmain(void){

inta=1;

while(f(a)

return0;}程序执行后,变量a的值是(

)。

参考答案:

7以下说法中正确的是(

)。

参考答案:

形参是局部变量,其作用范围仅限于函数内部定义为void类型的函数,其含义是(

)。

参考答案:

调用函数后,被调用的函数没有返回值当全局变量和函数内部的局部变量同名时,在函数内部(

)。

参考答案:

局部变量有效有如下程序:#includefun(inta){autointb=0;

staticintc=3;

b=b+1;c=c+1;

return(a+b+c);}intmain(void){

inta=2,i;

for(i=0;i

return0;}它的输出结果是(

)。

参考答案:

7

8

9有如下程序:#includevoidfun(intx,inty){intt;

if(x>y){t=x;x=y;y=t;}}intmain(void){inta=4,b=7,c=5;

fun(a,b);fun(a,c);fun(b,c);

printf(“%d,%d,%d”,a,b,c);

return0;}它的输出结果是(

)。

参考答案:

4,7,5有如下程序:#includef(inta){intb=0;

staticintc=3;

a=c++;b++;

return(a);}intmain(void){inta=2,i,k;

for(i=0;i

printf(“%d”,k);

return0;}该程序的输出结果是(

)。

参考答案:

4凡是未指明存储类别的局部变量,其隐含的存储类别是(

)。

参考答案:

auto第十章测试若有数组名作为函数调用的实参,传递给形参的是(

)。

参考答案:

数组的首地址若使用一维数组名作为函数实参,则以下描述中正确的是(

)。

参考答案:

在被调用函数中,不需要考虑形参数组的大小以下叙述正确的是(

参考答案:

C语言中各函数(除主函数外)之间既允许直接递归调用也允许间接递归调用下列程序的输出结果是(

)。#includevoidsub(intx,inty,intz){z=y-x;}intmain(){

inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf(“%d,%d,%d”,a,b,c);return0;}

参考答案:

-5,-12,-7下列程序的输出结果是(

)。#includevoidprtv(intx){printf(“%d”,++x);}intmain(){

inta=25;prtv(&a);return0;}

参考答案:

26下列程序的输出结果是(

)。

#include

void

fun(int

a,int

b){int

w;

a=a+a;

w=a;

a=b;

b=w;}int

main(){

int

x=2,

y=3,px=&x,*py=;fun(px,py);printf(“%d,%d”,x,y);return

0;}

参考答案:

3,4以下程序运行时,若输入5103,则输出结果是(

)。#includevoidswap(intp1,intp2){intt;

t=p1;

p1=p2;

p2=t;

return;}intmain(){inta,b,c;

scanf(“%d%d%d”,&a,&b,&c);

if(a>b)swap(&a,&b);

if(a>c)swap(&a,&c);

if(b>c)swap(&b,&c);

printf(“%d,%d,%d”,a,b,c);

return0;}

参考答案:

3,5,10以下程序运行时,若输入5,则输出结果是(

)。#includeintfac(intn){staticintk=1;

k=k*n;

returnk;}intmain(){intm,i,f;

scanf(“%d”,&m);

for(i=1;i

{f=fac(i);

printf(“%d”,f);

}}

参考答案:

12624120下列程序的输出结果是(

)。#includeintfun(inta){intb;

if(a==0||a==1)

return3;

b=a*a-fun(a-2);

returnb;}intmain(){intx,y;

x=fun(3);

y=fun(4);

printf(“%d,%d”,x,y);

return0;}

参考答案:

6,15下列程序的输出结果是(

)。#includeintfun(int(*p)[3]){inti,j,n;

n=p[0][0];

for(i=0;i

for(j=0;j

if(p[i][j]>n)

n=p[i][j];

returnn;}intmain(){inta[2][3]={11,32,13,44,5,6},m;

m=fun(a);

printf(“%d”,m);

return0;}

参考答案:

44下列程序的运行结果是(

)。#includevoidfun(intx,inty,intcp,intdp){cp=x+y;dp=x-y;}intmain(){inta,b,c,d;a=4;b=3;fun(a,b,&c,&d);printf(“%d,%d”,c,d);return0;}

参考答案:

7,1下列程序的运行结果是(

)。#includevoidop(int(*p)[3]){inti,j;

for(i=0;i

for(j=0;j

if(p[i][j]%3==0)

printf(“%d”,p[i][j]);}intmain(){ints[3][3]={1,2,3,4,5,6,7,8,9};

op(s);

return0;}

参考答案:

369以下程序运行时,若输入5,则程序的输出结果是(

)。#includeintfun(intn){if(n==1)

return1;

else

returnn+fun(n-1);}intmain(){intm;

scanf(“%d”,&m);

m=fun(m);

printf(“%d”,m);}

参考答案:

15以下程序运行时,若输入ab012kd99pk8,则程序的输出结果是(

)。#includevoidfun(chars[]){inti,j;

for(i=0,j=0;s[i]!=‘\0’;i++)

if(s[i]>=‘0’&&s[i]

s[j++]=s[i];

s[j]=‘\0’;}intmain(){charstr[80];

gets(str);

fun(str);

puts(str);

return0;}

参考答案:

012998若有以下程序:#includevoidf(intq,intn){inti;

for(i=0;i

(q)++;

return;}intmain(void){inta[5]={1,2,3,4,5},i;

f(a,5);

for(i=0;i

printf(“%d,”,a[i]);

return0;}则程序的输出结果是(

)。

参考答案:

6,2,3,4,5,形参数组与实参数组,在内存空间中是(

)的。

参考答案:

完全重叠若有以下程序:#includeintfun(ints,intt){if(s

s=t;

returns;}intmain(void){inta=3,b=6,p=&a,q=&b,r;

r=fun(p,q);

printf(“%d,%d,%d”,p,q,r);

return0;}则程序的输出结果是(

)。

参考答案:

3,6,6若有以下程序:#includeintfun(intx){

if(x>10)

{printf(“%d-”,x%10);

fun(x/10);

}

else

printf(“%d”,x);

return;}intmain(void){

intz=123456;

fun(z);

return0;}则程序的输出结果是(

)。

参考答案:

6-5-4-3-2-1第十一章测试以下叙述不正确的是(

)。

参考答案:

C程序在执行过程中对预处理命令行进行处理在宏定义#definePI3.1415926中,用宏名PI代替一个(

)。

参考答案:

字符串以下叙述正确的是(

)。

参考答案:

宏替换不占用运行时间,只占编译时间以下在任何情况下计算平方数时,都不会引起二义性的宏定义是(

)。

参考答案:

**#definePOWER(x)

((x)*(x))**在“文件包含”预处理语句的使用形式中,当#include后面的文件名用””(双引号)括起时,寻找被包含文件的方式是(

)。

参考答案:

现在源程序所在目录搜索,再按系统设定的标准方式搜索有以下程序:#defineADD(x)

x+x#include“stdio.h”intmain(void){

intm=1,n=2,k=3;

intsum=ADD(m+n)*k;

printf(“sum=%d”,sum);

return0;}该程序的运行结果是(

)。

参考答案:

sum=10若有如下宏定义:#define

X

5#define

Y

X+1#define

Z

Y*X/2则执行以下printf语句后,输出结果是(

)。inta;

a=Y;printf(“%d”,Z);printf(“%d”,--a);

参考答案:

7

5以下程序的运行结果是(

)。

#define

MAX(A,B)

(A)>(B)?(A):(B)

#define

PRINT(Y)

printf(“Y=%d”,Y)

#include“stdio.h”

intmain(void)

{

inta=1,b=2,c=3,d=4,t;

t=MAX(a+b,c+d)

PRINT(t);

return0;

}

参考答案:

Y=7以下程序的输出结果是(

)。#include#define

MUL(x,y)

(x)*y#include“stdio.h”intmain(void){

inta=3,b=4,c;

c=MUL(a++,b++);

printf(“%d”,c);

return0;}

参考答案:

12用宏替代计算多项式4xx+3*x+2之值的函数f,正确的宏定义是(

)。

参考答案:

**#define

f(a)

(4(a)(a)+3*(a)+2)**第十二章测试C语言规定结构体变量系统分配给它的存储空间是(

)。

参考答案:

该结构体中所有成员所需存储空间的总和以下对结构体变量s中成员age的合法法引用是(

)。#includestructstudent{intage;intnum;}s,*p;p=

参考答案:

p->age有如下定义:structdate{inty;intm;intd;};structperson{

charname[20];

charsex;

structdatebirthday;}a;对结构体变量a的出生年份进行赋值时,下面正确的赋值语句是(

)。

参考答案:

a.birthday.y=1958设有以下说明语句struct

stu{

inta;floatb;}stutype;则以下叙述不正确的是(

)。

参考答案:

structstu是用户定义的结构体类型名以下结构体类型说明和变量定义中正确的是(

)。

参考答案:

typedef

struct{intn;charc;}REC;REC

x,y;下面程序的运行结果是(

)。

struct

st

{int

n;

int

a[20];

};voidf(int

*a,intn){

inti;for(i=0;i

a[i]+=I;}intmain(){

inti;

structst

x={10,{2,3,1,6,8,7,5,4,10,9}};f(x.a,x.n);for(i=0;i

printf(”%d,”,x.a[i]);}

参考答案:

2,4,3,9,12,12,11,11,18,18,以下关于typedef的叙述错误的是(

)。

参考答案:

用typedef可以增加新类型下面程序的运行结果是(

)。#include#includetypedefstruct{charname[9];charsex;floatscore[2];}stu;stuf(stua){stub={“zhao”,’m’,85.0,90.0};

inti;strcpy(,);a.sex=b.sex;for(i=0;ia.score[i]=b.score[i];returna;}intmain(){stuc={“qian”,‘f’,95.0,92.0},d;d=f(c);printf(“%s,%c,%2.0f,%2.0f”,,d.sex,d.score[0],d.score[1]);}

参考答案:

zhao,m,85,90以下程序运行后的输出结果是(

)。#includestructS{intn;inta[20];};voidf(structS*p){

inti,j,t;for(i=0;in-1;i++)

for(j=i+1;jn;j++)

if(p->a[i]>p->a[j])

{t=p->a[i];p->a[i]=p->a[j];p->a[j]=t;}}intmain(){

inti;structSs={10,{2,3,1,6,8,7,5,4,10,9}};f(&s);for(i=0;i

printf(”%d,”,s.a[i]);}

参考答案:

1,2,3,4,5,6,7,8,9,10,有以下程序段typedefstructnode{

intdata;structnodenext;}NODE;NODE

p;以下叙述正确的是(

)。

参考答案:

p是指向structnode结构体变量的指针若定义如下结构,则能打印出字母M的语句是(

)。structperson{charname[9];intage;};structpersonclass[10]={“Wujun”,20,“Liudan”,23,“Maling”,21,“zhangming”,22};

参考答案:

printf(“%c”,class[2].name[0]);以下程序段的运行结果是(

)。union{intn;charstr[2];}t;t.n=80;t.str[0]=‘a’;t.str[1]=0;printf(“%d”,t.n);

参考答案:

97以下对C语言中共用体类型数据的叙述正确的是(

)。

参考答案:

一个共用体变量中不能同时存放其所有成员若有以下说明和定义语句,则下面引用形式中不正确的是(

)。structstudent{intage;intnum;};structstudentstu[3]={{1001,20},{1002,19},{1003,21}};structstudent*p;p=stu;

参考答案:

p=&stu.age以下scanf函数调用语句中,对结构体变量成员的不正确引用是(

)。structpupil{charname[20];intage;intsex;}pup[5],*p;p=pup;

参考答案:

scanf(“%d“,&sex);当说明一个共用体变量时系统分配给它的内存是(

)。

参考答案:

成员中占内存量最大者所需的容量设有以

温馨提示

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

评论

0/150

提交评论