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,则对应的定义语句为()。
正确答案是:const int ABC=10;
要利用#define命令定义ABC常量的值为100,则对应的命令格式为()。
正确答案是:#define ABC==100
下列数值中最大值是()。
正确答案是:28%8
在下面运算符中,优先级最高的是()。
正确答案是:!
设有语句序列为“int a=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++; else x--;”语句后,x的值为()。
正确答案是:16
若x的值为-10,则执行“if(!x) x++; else x--;”语句后,x的值为()。
正确答案是:-11
若x的值为10,则执行“switch(x%3){case0: x++; case 1:x++; case 2: x++;}”语句后,x的值为()。
正确答案是:12
若x的值为10,则执行“switch(x%3){case0: x++; break; case 1:x++; default: x++;}”语句后,x的值为()。
正确答案是:12
若n的值为10,则执行“for(i=1;i<n; i++) S;”语句的过程中,表达式i=1共被执行的次数为()。
正确答案是:1
若n的值为10,则执行“for(i=0;; i++) if(i>n/3) break;”语句后,i的值为()。
正确答案是:4
若n的值为10,则执行“for(i=1;i<n; i++) S;”语句的过程中,表达式i++共被执行的次数为()。
正确答案是:n-1
若n的值为10,则执行“for(i=0;i<n; i++) for(j=i; j<n; j++) S;”语句后,内层循环体S语句的执行总次数为()。正确答案是: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,则执行“do s+=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<stdio.h>
void main() {
int a=5,b=8,c=6,d=15,x,y;
if(a>=b) x=a; else x=b;
if(c>=d) y=c; else y=d;
if(x>=y) printf("%d\n",x);
else printf("%d\n",y);
}
正确答案是:15
#include<stdio.h>
void main() {
int x=5,y=8,z=12;
if(x>y && x>z) printf("%d\n",x);
else if(y>x && y>z) printf("%d\n",y);
else printf("%d\n",z);
}
正确答案是:12
#include<stdio.h>
void main() {
int a=5,b=8,c;
if(3*a>2*b) c=2*a+3*b;
else if(a==b) c=a*a+b*b;
else c=a*b+3;
printf("c=%d\n",c);
}
正确答案是:c=43
#include<stdio.h>
void main() {
int x=5,y=0;
switch(2*x-3) {
case 4: y+=x;
case 7: y+=2*x+1;
case 10: y+=3*x;
}
printf("y=%d\n",y);
}
正确答案是:y=26
#include<stdio.h>
void main() {
char ch;
int a,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); }
正确答案是:3 5=15
#include<stdio.h>
void main() {
int i,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<stdio.h>
void main() {
int i,x,y,s=0;
scanf("%d %d",&x,&y);
if(x>y) {i=x; x=y; y=i;}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。