国家开放大学电大C语言程序设计综合练习答案.docx

上传人:b****3 文档编号:3945323 上传时间:2023-05-06 格式:DOCX 页数:29 大小:22.63KB
下载 相关 举报
国家开放大学电大C语言程序设计综合练习答案.docx_第1页
第1页 / 共29页
国家开放大学电大C语言程序设计综合练习答案.docx_第2页
第2页 / 共29页
国家开放大学电大C语言程序设计综合练习答案.docx_第3页
第3页 / 共29页
国家开放大学电大C语言程序设计综合练习答案.docx_第4页
第4页 / 共29页
国家开放大学电大C语言程序设计综合练习答案.docx_第5页
第5页 / 共29页
国家开放大学电大C语言程序设计综合练习答案.docx_第6页
第6页 / 共29页
国家开放大学电大C语言程序设计综合练习答案.docx_第7页
第7页 / 共29页
国家开放大学电大C语言程序设计综合练习答案.docx_第8页
第8页 / 共29页
国家开放大学电大C语言程序设计综合练习答案.docx_第9页
第9页 / 共29页
国家开放大学电大C语言程序设计综合练习答案.docx_第10页
第10页 / 共29页
国家开放大学电大C语言程序设计综合练习答案.docx_第11页
第11页 / 共29页
国家开放大学电大C语言程序设计综合练习答案.docx_第12页
第12页 / 共29页
国家开放大学电大C语言程序设计综合练习答案.docx_第13页
第13页 / 共29页
国家开放大学电大C语言程序设计综合练习答案.docx_第14页
第14页 / 共29页
国家开放大学电大C语言程序设计综合练习答案.docx_第15页
第15页 / 共29页
国家开放大学电大C语言程序设计综合练习答案.docx_第16页
第16页 / 共29页
国家开放大学电大C语言程序设计综合练习答案.docx_第17页
第17页 / 共29页
国家开放大学电大C语言程序设计综合练习答案.docx_第18页
第18页 / 共29页
国家开放大学电大C语言程序设计综合练习答案.docx_第19页
第19页 / 共29页
国家开放大学电大C语言程序设计综合练习答案.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

国家开放大学电大C语言程序设计综合练习答案.docx

《国家开放大学电大C语言程序设计综合练习答案.docx》由会员分享,可在线阅读,更多相关《国家开放大学电大C语言程序设计综合练习答案.docx(29页珍藏版)》请在冰点文库上搜索。

国家开放大学电大C语言程序设计综合练习答案.docx

国家开放大学电大C语言程序设计综合练习答案

2021年国家开放大学电大C语言程序设计综合练习答案

综合练习

1.C语言中的循环类语句有3条,它们是(  )。

正确答案是:

for,while,do

2.C语言中的跳转类语句有四条,它们是goto,return和(  )。

正确答案是:

break,continue

3.当不需要函数返回任何值时,则所使用的返回类型为(  )。

正确答案是:

void

4.在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和(  )。

正确答案是:

参数表

5.在一个程序文件的开始,若需要使用一个包含命令包含一个头文件时,则命令标识符为(  )。

正确答案是:

#include

6.在#include预处理命令中,不可以包含(  )。

正确答案是:

目标文件

7.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据占用的字符位置个数为(  )。

正确答案是:

6

8.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其小数部分占用的字符位置个数为(  )。

正确答案是:

2

9.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其整数部分占用的字符位置个数为(  )。

正确答案是:

3

10.在scanf()函数调用的格式字符串中,若使用格式符为“%f”,则对应输入的数据类型为(  )。

正确答案是:

float

11.在scanf()函数调用的格式字符串中,若使用格式符为“%Lf”,则对应输入的数据类型为(  )。

正确答案是:

double

12.每个C程序文件在编译时可能出现有严重性错误,其对应的标识符号为(  )。

正确答案是:

error

13.在VC++环境下,为运行一个程序而建立的工作区文件的扩展名为(  )。

正确答案是:

dsw

1.在C语言中,作为标识符的第一个字符可以是英文字母、数字或下划线字符。

正确答案是:

“错”。

2.在C语言中,标识符中的非首字符可以是英文字母、数字或下划线字符。

正确答案是:

“对”。

3.当需要在程序文件中引入用户定义的头文件时,使用的不是#include命令。

正确答案是:

“错”。

4.使用#include命令只能包含头文件,不能包含其他任何文件。

正确答案是:

“错”。

5.注释语句的内容只会出现在源程序文件中,不会出现在编译后而生成的目标代码文件中。

正确答案是:

“对”。

6.一条注释语句的最后必须使用分号结束。

正确答案是:

“错”。

7.源程序文件被编译成目标文件后,其目标文件中也存在有对应的注释内容。

正确答案是:

“错”。

8.源程序文件被编译成目标文件后,源程序文件中的注释语句仍然存在。

正确答案是:

“对”。

9.在一条注释语句中,除了注释内容外,不需要使用任何特定的标记符。

正确答案是:

“错”。

10.多行注释语句的开始和结束标记符可以互换使用。

正确答案是:

“错”。

11.在执行“printf("%5d",x);”语句时,其输出的x的值所占用的显示宽度将大于等于5个字符位置。

正确答案是:

“对”。

12.在执行“printf("%6d",x);”语句时,其输出的x的值所占用的显示宽度将小于6个字符位置。

正确答案是:

“错”。

13.在执行“printf("%8.2f",x);”语句时,其输出的x的值所占用的显示宽度将大于等于8个字符位置。

正确答案是:

“错”。

14.在“scanf("%d%d",&x,&y);”语句中,x和y变量均为整数类型。

正确答案是:

“对”。

15.在“scanf("%s",x);”语句中,x变量不是字符指针类型。

正确答案是:

“错”。

16.在“scanf("%d-%d=%d",&x,&y,&z);”语句中,有语法错误。

正确答案是:

“错”。

17.在C语言程序上机操作的过程中,连接程序的操作步骤之前是编译程序。

正确答案是:

“对”。

18.在C语言程序上机操作的过程中,需要对每个用户头文件进行单独的编译操作。

正确答案是:

“错”。

19.在C语言程序上机操作的过程中,不能够对用户头文件进行单独的编译操作。

正确答案是:

“对”。

int类型的长度为(  )。

正确答案是:

4

常数-4.25的数据类型为(  )。

正确答案是:

双精度型

一个有符号字符类型的值域范围是(  )。

正确答案是:

-128到+127

字符串"Its\40\n"的长度为(  )。

正确答案是:

5

实数340.25对应的规格化浮点数为(  )。

正确答案是:

3.4025e2

要利用const保留字定义整型常量ABC的值为10,则对应的定义语句为(  )。

正确答案是:

constintABC=10;

要利用#define命令定义ABC常量的值为100,则对应的命令格式为(  )。

正确答案是:

#defineABC==100

下列数值中最大值是(  )。

正确答案是:

28%8

在下面运算符中,优先级最高的是()。

正确答案是:

!

设有语句序列为“inta=12;a+=a*a;”,则执行结束后,a的值为(  )。

正确答案是:

156

在C语言中,用于比较大小的关系运算符的总数为(  )。

正确答案是:

6

x>0&&y<=5的相反表达式为(  )。

正确答案是:

x<=0||y>5

假定x是一个逻辑量,则(x&&!

x)和(x||!

x)的值分别为()。

正确答案是:

0和1

假定x=4.6,则函数ceil(x)的值为()。

正确答案是:

5.0

表达式floor(2.3457*100+0.5)/100的值为()。

正确答案是:

2.35

常数3.26e4是双精度浮点数。

正确答案是:

“对”。

浮点数只有单精度表示,没有双精度表示。

正确答案是:

“错”。

定点数包括单精度定点数和双精度定点数两种。

正确答案是:

“对”。

定义符号常量只有一种方法,就是采用预处理命令#define的方法。

正确答案是:

“错”。

使用const语句定义一个符号常量时,则必须对它同时进行初始化。

正确答案是:

“对”。

在一条变量定义语句中,定义的变量和赋给它的初值之间只能使用等号(=)。

正确答案是:

“对”。

假定x=5,则表达式2+x++的值为7。

正确答案是:

“对”。

表达式(int)14.6%5的值为0。

正确答案是:

“错”。

表达式x=x+1表示成增量表达式为x++。

正确答案是:

“错”。

假定x=5,则执行“a=(x?

10:

20);”语句后a的值为10。

正确答案是:

“对”。

逻辑表达式(a>b||b==5)的相反表达式为(a>b&&b==5)。

正确答案是:

“错”。

在C语言中,求一个整数的绝对值的数学函数为abs(x)。

正确答案是:

“对”。

在C语言中,退出程序运行的系统函数为exit()。

正确答案是:

“对”。

若x的值为15,则执行“if(x>10)x++;elsex--;”语句后,x的值为()。

正确答案是:

16

若x的值为-10,则执行“if(!

x)x++;elsex--;”语句后,x的值为()。

正确答案是:

-11

若x的值为10,则执行“switch(x%3){case0:

x++;case1:

x++;case2:

x++;}”语句后,x的值为()。

正确答案是:

12

若x的值为10,则执行“switch(x%3){case0:

x++;break;case1:

x++;default:

x++;}”语句后,x的值为()。

正确答案是:

12

若n的值为10,则执行“for(i=1;i

正确答案是:

1

若n的值为10,则执行“for(i=0;;i++)if(i>n/3)break;”语句后,i的值为()。

正确答案是:

4

若n的值为10,则执行“for(i=1;i

正确答案是:

n-1

若n的值为10,则执行“for(i=0;i

正确答案是:

n(n+1)/2

若n的值为10,则执行“while(n-->0)s+=n;”语句的过程中,循环体被执行的次数为()。

正确答案是:

10

若n的值为5,s的值为0,则执行“while(n-->0)s+=n;”语句后,s的值为()。

正确答案是:

10

在下列的语句中,必须以分号作为结束的语句是()。

正确答案是:

do

若n的值为5,s的值为0,则执行“dos+=n--;while(n>0);”语句后,s的值为()。

正确答案是:

15

要结束任一种循环语句或switch语句的执行,则在其中使用的语句为()。

正确答案是:

break

在if语句中,必须带有else子句,不能省略它。

正确答案是:

“错”。

在for循环语句的头部,for后面括号内共有3个表达式位置。

正确答案是:

“对”。

for循环语句不能够被转换为while循环语句。

正确答案是:

“错”。

while循环语句中的循环体可能不会被执行。

正确答案是:

“对”。

while循环语句的循环体,只能是复合语句,不能是简单语句。

正确答案是:

“错”。

do-while循环语句中的循环体可能不会被执行。

正确答案是:

“错”。

do-while循环语句的循环体,只能是复合语句,不能是简单语句。

正确答案是:

“错”。

do-while循环语句是以循环体结尾的。

正确答案是:

“错”。

break语句可以使用在switch语句中。

正确答案是:

“对”。

return语句中可以带有返回表达式。

正确答案是:

“对”。

continue只能使用在任一种循环语句的循环体中。

正确答案是:

“对”。

#include

voidmain(){

inta=5,b=8,c=6,d=15,x,y;

if(a>=b)x=a;elsex=b;

if(c>=d)y=c;elsey=d;

if(x>=y)printf("%d\n",x);

elseprintf("%d\n",y);

}

正确答案是:

15

#include

voidmain(){

intx=5,y=8,z=12;

if(x>y&&x>z)printf("%d\n",x);

elseif(y>x&&y>z)printf("%d\n",y);

elseprintf("%d\n",z);

}

正确答案是:

12

#include

voidmain(){

inta=5,b=8,c;

if(3*a>2*b)c=2*a+3*b;

elseif(a==b)c=a*a+b*b;

elsec=a*b+3;

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

}

正确答案是:

c=43

#include

voidmain(){

intx=5,y=0;

switch(2*x-3){

case4:

y+=x;

case7:

y+=2*x+1;

case10:

y+=3*x;

}

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

}

正确答案是:

y=26

#include

voidmain(){

charch;

inta,b,c;

scanf("%c",&ch);

scanf("%d%d",&a,&b);

switch(ch){

case'+':

c=a+b;break;

case'-':

c=a-b;break;

case'*':

c=a*b;break;

case'/':

c=a/b;break;

default:

printf("Error!

\n");

}

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

}

正确答案是:

35=15

#include

voidmain(){

inti,s=0;

for(i=16;i>0;i-=2)

if(i%3==0||i%4==0)s+=i;

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

}

正确答案是:

s=46

#include

voidmain(){

inti,x,y,s=0;

scanf("%d%d",&x,&y);

if(x>y){i=x;x=y;y=i;}

for(i=x;i<=y;i++)

if(i%2==1)s+=i*i;

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

}

正确答案是:

奇数

#include

constintN=100;

voidmain(){

inta,b;

for(a=2;a<=N;a++){

for(b=2;b*b<=a;b++)

if(a%b==0)break;

if(b*b>a)printf("%d",a);

}

}

正确答案是:

素数(质数)

#include

voidmain(){

inti=0,s=0;

while(s<50){i+=2;s+=i*i;}

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

}

正确答案是:

s=56

#include

voidmain(){

intx,p=2;

scanf("%d",&x);

while(x>=p)

if(x%p==0){printf("%d=%d*%d\n",x,p,x/p);break;}

elsep++;

}

正确答案是:

35=57

#include

voidmain(){

intx,y,a,p=1;

scanf("%d%d",&x,&y);

if(x

if(x%y==0){printf("%d\n",y);return;}

a=2;

while(y>=a)

if(x%a==0&&y%a==0){x=x/a;y=y/a;p*=a;}

elsea++;

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

}

正确答案是:

公约数

#include

voidmain(){

intx=36,y=48,z;

do{z=x%y;x=y;y=z;}while(y>0);

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

}

正确答案是:

x=12

#include

voidmain(){

intx,i=0,s=0;

scanf("%d",&x);

do{i+=2;s+=i*i;}while(s

printf("n=%d\n",i-2);

}

正确答案是:

最大

#include

voidmain(){

intx=37,k=2;

do{if(x%k==0)break;k++;}while(k*k<=x);

if(k*k>x)printf("Yes!

\n");

elseprintf("No!

\n");

}

正确答案是:

Yes!

假定有一个元素类型为int的数组a[10],它所占用的存储空间的字节数为()。

正确答案是:

40

假定一维数组的定义为“char*a[8];”,则该数组所占用的存储空间的字节数为()。

正确答案是:

32

假定有一个定义语句为“inta[10]={3,4,2,8,6};”,则元素a[5]的值为()。

正确答案是:

0

在下面的一维数组定义语句中,有语法错误的是()。

正确答案是:

inta[];

假定二维数组的定义语句为“inta[3][5];”,则该数组所含元素的个数为()。

正确答案是:

15

假定有一个定义语句为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为()。

正确答案是:

6

对于一个长度为n的字符串,保存它至少需要占用的存储字节数为()。

正确答案是:

n+1

对于一个二维字符数组a[M][N],存储每个字符串的长度至多为()。

正确答案是:

N-1

若需要比较两个字符串的大小,则选用的函数是()。

正确答案是:

strcmp

一维数组元素带有两个下标。

正确答案是:

“错”。

对于二维数组元素,数组名后使用两对中括号。

正确答案是:

“对”。

在一维数组的定义语句中,给数组赋初值的部分是用一对花括号括起来的数据表。

正确答案是:

“对”。

在一维数组的定义语句中,数组名前为元素类型关键字。

正确答案是:

“对”。

在二维数组的定义语句中,数组名后带有两对圆括号。

正确答案是:

“错”。

假定二维数组的定义语句为“doublea[M][N];”,则每个数组元素的列下标取值范围在1~N之间。

正确答案是:

“错”。

使用“typedefcharBB[10];”语句定义标识符BB为含有10个元素的一维字符数组。

正确答案是:

“错”。

使用“typedefcharBB[10][50];”语句定义标识符BB为含有10行50列共500个元素的二维字符数组类型。

正确答案是:

“对”。

一个二维字符数组a[10][20]中存储每个字符串的最大长度为19。

正确答案是:

“对”。

#include

voidmain(){

inta[8]={10,8,6,15,9,21,8,16};

inti,x=a[0];

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

if(a[i]>x)x=a[i];

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

}

正确答案是:

x=21

#include

voidmain(){

inta[8]={12,15,20,8,5,9,16,10};

inti,s[3]={0};

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

s[a[i]%3]+=a[i];

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

}

正确答案是:

362633

#include

voidmain(){

inta[3][3]={{3,8,6},{5,9,2},{8,5,12}};

inti,j,b[3]={0};

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

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

b[j]+=a[i][j];

for(j=0;j<3;j++)printf("%d",b[j]);

}

正确答案是:

162220

#include

voidmain(){

inta[3][4]={{60,75,83,52},{76,94,88,35},{80,74,46,90}};

inti,j,x=a[0][0],y=-1;

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

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

if(a[i][j]>x){y=x;x=a[i][j];}

elseif(a[i][j]>y)y=a[i][j];

printf("%d%d\n",x,y);

}

正确答案是:

9490

#include

#include

voidmain(){

chara[10],b[10],c[10];

intc1,c2,c3;

scanf("%s%s%s",a,b,c);

c1=strlen(a);c2=strlen(b);c3=strlen(c);

if(c1>c2&&c1>c3)printf("%s",a);

elseif(c2>c1&&c2>c3)printf("%s",b);

elseprintf("%s",c);

}

正确答案是:

xucong

#include

voidmain(){

chara[]="abcdbfbgacd";

inti=0,i1=0,i2=0,i3=0;

for(i=0;a[i]!

='\0';i++){

switch(a[i]){

case'a':

i1++;break;

case'b':

i2++;break;

case'c':

i3++;break;

}

}

printf("%d%d%d%d\n",i1,i2,i3,i);

}

正确答案是:

211

#include

voidmain(){

chara[]="12342345342356";

inti,c[7]={0};

for(i=0;a[i]!

='\0';i++)

c[a[i]-48]++;//48为数字字符0的ASCII码

for(i=1;i<7;i++)printf("%d",c[i]);

}

正确答案是:

4

一个指针指向一个数据对象,它保存着该数据对象的地址,若数据对象为DataType类型,则该指针的类型为()。

正确答案是:

DataType*

NULL是一个符号常量,通常作为空指针值,它的取值为()。

正确答案是:

0

若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为()。

正确答案是:

(char*)p

若要定义整型指针p并初始指向x,则所使用的定义语句为()。

正确答案是:

int*p=&x;

假定p所指对象的值为25,p+1所指对象的值为42,则表达式*p++的值为()。

正确答案是:

25

假定p是一个指针变量,则该变量的地址表示为()。

正确答案是:

&p

已知“char*s="Helloworld!

";”,要使变量p指向s所指向的同一个字符串,则p应定义为()。

正确答案是:

char*p=s;

假定a为一个数组名,则下面表达式中错误的是()。

正确答案是:

*a++

已知“charb[10]=”12345”,*p=b;”,则*(p+2)的值为()。

正确答案是:

'3'

已知“inta[6][5];”,则元素a[2][4]的地址比该数组的首地址大()。

正确答案是:

56个字节

要使p指向二维整型数组a[10][20],p应定义为()。

正确答案是:

int(*p)[20]=a;

执行“int*p=malloc(sizeof(double)*2);”语句后得到的动态存储空间的字节数为()。

正确答案是:

16

利用动态存储分配创建具有10个字节的一维数组空间的正确语句是()。

正确答案是:

char*p=malloc(10);

在定义指针变量的语句中,对指针变量不允许赋初值。

正确答案是:

“错”。

在定义指针变量的语句“int*p,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2