大学MOOC 计算机程序设计(王婷)(湘潭大学)1450292514 最新慕课完整章节测试答案
第1周程序设计与C语言
第1周单元测验程序设计与C语言
1、单选题:
以下叙述中正确的是( )。
选项:
A: C程序中注释部分可以出现在程序中任意合适的地方
B: 花括号“{“和”}”只能作为函数体的定界符
C: 构成C程序的基本单位是函数,所有函数名都可以由用户命名
D: 分号是C语句之间的分隔符,不是语句的一部分
答案: 【 C程序中注释部分可以出现在程序中任意合适的地方】
2、单选题:
任何一个C语言的可执行程序都是从( )开始执行的.
选项:
A: 程序中的第一个函数
B: main( )函数的入口处
C: 程序中的第一条语句
D: 编译预处理语句
答案: 【 main( )函数的入口处】
3、单选题:
C语言的基本构成单位是( )。
选项:
A: 函数
B: 函数和过程
C: 超文本过程
D: 子程序
答案: 【 函数】
4、单选题:
C语言的程序一行写不下时,可以( )。
选项:
A: 用逗号换行
B: 用分号换行
C: 用续行符号换行
D: 用回车符换行
答案: 【 用续行符号换行】
5、单选题:
以下叙述不正确的是( )。
选项:
A: 在C程序中,语句之间必须要用分号";"分隔
B: 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数
C: 在C程序中,无论是整数还是实数都能正确无误地表示
D: 在C程序中,%是只能用于整数运算的运算符
答案: 【 在C程序中,无论是整数还是实数都能正确无误地表示】
6、单选题:
C语言规定,在一个源程序中,main函数的位置( )
选项:
A: 必须在最开始
B: 必须在系统调用的库函数后面
C: 可以任意
D: 必须在最后面
答案: 【 可以任意】
7、单选题:
一个C语言程序有且仅有一个( )。
选项:
A: include
B: 主函数
C: 过程
D: 函数
答案: 【 主函数】
8、单选题:
关于C程序的叙述正确的是( )。
选项:
A: 从//开始的程序都是注释
B: 一行只能写一条语句
C: /* */只能写在一行,其中的内容为注释
D: 一条语句可以写成多行,多条语句也可以写在一行
答案: 【 一条语句可以写成多行,多条语句也可以写在一行】
9、单选题:
以下程序输出结果为( )。int a=3;int b=5;int c=a+b;printf("a+b=%d",c);
选项:
A: 3
B: 5
C: a+b=8
D: 8
答案: 【 a+b=8】
10、单选题:
以下程序中有( )处错误。#include<stdio.h>int main[]{ printf("Hello World!n") return 0;}
选项:
A: 1
B: 2
C: 3
D: 4
答案: 【 2】
11、多选题:
运行一个C语言程序主要包括( )步骤。
选项:
A: 编译
B: 链接
C: 执行
D: 编辑
答案: 【 编译;
链接;
执行;
编辑】
12、多选题:
常见的C语言编译器有( )。
选项:
A: Dev C++
B: Visual Studio
C: Visual C++
D: Code::Blocks
答案: 【 Dev C++;
Visual Studio;
Visual C++;
Code::Blocks】
13、多选题:
以下选项中属于高级语言的有( )。
选项:
A: Python
B: Java
C: C
D: C++
答案: 【 Python;
Java;
C;
C++】
14、多选题:
一个C语言程序通常包括以下哪些内容( )。
选项:
A: 编译预处理命令
B: 函数
C: 注释
D: 语句
答案: 【 编译预处理命令;
函数;
注释;
语句】
15、多选题:
关于C语言,以下说法正确的是( )。
选项:
A: C语言是一种面向对象的语言
B: 一个C语言程序有且仅有一个主函数
C: C语言中的一条语句可以占据多行
D: C语言程序中必须要有注释
答案: 【 一个C语言程序有且仅有一个主函数;
C语言中的一条语句可以占据多行】
16、判断题:
一个C语言程序可以拥有多个函数,但有且仅有一个主函数。
选项:
A: 正确
B: 错误
答案: 【 正确】
17、判断题:
C语言中一条语句只能写在一行。
选项:
A: 正确
B: 错误
答案: 【 错误】
18、判断题:
C语言每条语句以分号“;”结束。
选项:
A: 正确
B: 错误
答案: 【 正确】
19、判断题:
C语言中主函数只能位于程序的起始位置。
选项:
A: 正确
B: 错误
答案: 【 错误】
20、判断题:
C语言是一种面向过程的程序设计语言。
选项:
A: 正确
B: 错误
答案: 【 正确】
第2周计算
小测验
1、填空题:
写出以下代码执行后,t1和t2的值,以空格隔开:int a=14;int t1 = a++;int t2 = ++a;
答案: 【 14 16】
2、填空题:
写出以下表达式的结果,结果之间间隔一个空格:6 + 5 / 4 - 22 + 2 * (2 * 2 - 2) % 2 / 310 + 9 * ((8 + 7) % 6) + 5 * 4 % 3 * 2 + 3 1 + 2 + (3 + 4) * ((5 * 6 % 7 / 8) - 9) * 10
答案: 【 5 2 44 -627】
第2周单元测试计算
1、单选题:
int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为 ()
选项:
A: 1
B: 2
C: 3
D: 4
答案: 【 2】
2、单选题:
下列数据中属于"字符串常量"的是()
选项:
A: ABC
B: "ABC"
C: 'ABC'
D: 'A'
答案: 【 "ABC"】
3、单选题:
以下标识符中,不能作为合法的C用户定义标识符的是()
选项:
A: a3_b3
B: IF
C: _123
D: void
答案: 【 void】
4、单选题:
下列叙述正确的是()
选项:
A: C语言中的数据类型不同,在内存中占据不同长度的存储单元
B: C语言中的数据类型不同,在内存中占据相同长度的存储单元
C: C语言中的常量是没有类型的
D: C语言中的数据类型不同,但取值范围都是相同的
答案: 【 C语言中的数据类型不同,在内存中占据不同长度的存储单元】
5、单选题:
下列转义符中,错误的是()
选项:
A: 'xa5'
B: '31'
C: 'b'
D: ' '"
答案: 【 ' '"】
6、单选题:
以下选项中合法的用户标识符是( )
选项:
A: long
B: _2Test
C: 3Dmax
D: A.dat
答案: 【 _2Test】
7、单选题:
下面不正确的字符串常量是()。
选项:
A: 'abc'
B: "12'12"
C: "0"
D: " "
答案: 【 'abc'】
8、单选题:
以下叙述中错误的是()
选项:
A: 用户所定义的标识符允许使用关键字
B: 用户所定义的标识符应尽量做到"见名知意"
C: 用户所定义的标识符必须以字母或下划线开头
D: 用户定义的标识符中,大、小写字母代表不同标识
答案: 【 用户所定义的标识符允许使用关键字】
9、单选题:
已知梯形的上底为a,下底为b,高为h ,用C语言写的正确的面积公式是( )
选项:
A: 1/2*(a+b)*h
B: 1.0/2*(a+b)*h
C: 1.0/2.0(a+b)h
D: 1.02*a+b*h
答案: 【 1.0/2*(a+b)*h】
10、单选题:
若有定义:double x; ,则能正确输入x值的语句是()
选项:
A: scanf("%f",x);
B: scanf("%f",&x);
C: scanf("%lf",&x);
D: scanf("%5.1f",&x);
答案: 【 scanf("%lf",&x);】
11、单选题:
以下常量中,能够代表逻辑“真”值的常量是()
选项:
A: ''
B: 0
C: '0'
D: NULL
答案: 【 '0'】
12、单选题:
已知year为整型变量,不能使表达式(year%4==0&&year%100!=0)||year%400==0的值为“真”的数据是()。
选项:
A: 1990
B: 1992
C: 1996
D: 2000
答案: 【 1990】
13、单选题:
为表示关系x≥y≧z,应使用C语言表达式( )
选项:
A: (x>=y)&&(y>=z)
B: (x>=y)AND(y>=z)
C: (x>=y>=z)
D: (x>=z)&(y>=z)
答案: 【 (x>=y)&&(y>=z)】
14、单选题:
设有说明:char c;int x; double z;则表达式c*x+z值的数据类型为( )
选项:
A: float
B: int
C: char
D: double
答案: 【 double】
15、单选题:
能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是( )
选项:
A: a>=10 or a<=0
B: a>=0| a<=10
C: a>=10 && a<=0
D: a>=10||a<=0
答案: 【 a>=10||a<=0】
16、单选题:
已知x=43 ,ch=’A’,y='o';则表达式(x>=y&&ch<’B’&&!y)的值是( )
选项:
A: 0
B: 语法错
C: 1
D: "假"
答案: 【 0】
17、单选题:
如果int a =2,b=3,c=0,下列描述正确的是( )
选项:
A: a>b!=c和a>(b!=c)的执行顺序是一样的
B: !a!=(b!=c)表达式的值为1
C: a||(b=c)执行后b的值为0
D: a&&b>c的结果为假
答案: 【 !a!=(b!=c)表达式的值为1】
18、单选题:
下列运算符中,不属于关系运算符的是( )
选项:
A: <
B: >
C: >=
D: !
答案: 【 !】
19、单选题:
表达式18/4*sqrt(4.0)/8值的数据类型为( )
选项:
A: int
B: float
C: double
D: 不确定
答案: 【 double】
20、单选题:
下列符号中优先级最高的是( )
选项:
A: <
B: +
C: &&
D: !=
答案: 【 +】
21、单选题:
先用语句定义字符型变量s,然后要将小写字母 a 赋给 s,则下列语句中正确的是( )。
选项:
A: char s;s="a";
B: char s;s='a';
C: char s;s='97';
D: char s;s="97";
答案: 【 char s;s='a';】
22、单选题:
如果 int y=3, x=3, z=1, 语句printf("%d %dn", ++y, z+2)的输出结果是( )
选项:
A: 3 4
B: 3 3
C: 4 3
D: 3 2
答案: 【 4 3】
23、单选题:
假定x和y均为double型数据,则表达式 x=2, y=x+3/2的值是( )
选项:
A: 3.500000
B: 3
C: 2.000000
D: 3.000000
答案: 【 3.000000】
24、单选题:
下面四个选项中,均是正确的数值常量或字符常量的选项是( )
选项:
A: 5.7e-3.4 "k" 1e3 '"'
B: 1.2 0a 4.2e 's'
C: '67' 011 0b 0xffcc
D: +051 0x45cd 2e3 67.
答案: 【 +051 0x45cd 2e3 67.】
25、单选题:
下面程序段输出结果是short int i=32769;printf("%dn",i);
选项:
A: 输出的值不确定
B: -32767
C: 32767
D: 32769
答案: 【 -32767】
26、单选题:
若变量x和k已经正确定义,且k已经赋值,下面合法的语句是( )
选项:
A: x=x++=8;
B: x=int(k);
C: k==1;
D: x==1
答案: 【 k==1;】
27、单选题:
下面程序段输出的结果是( )int s, k=5;k==1;printf("%dn",k);
选项:
A: 1
B: True
C: 输出不是确定的数
D: 5
答案: 【 5】
28、单选题:
int i=3, k;k=(++i)+(++i)+(i++);printf("%d,%d",k,i);该程序段的输出结果是( )
选项:
A: 12,5
B: 12,6
C: 14,6
D: 15,6
答案: 【 15,6】
29、单选题:
若有定义:double x; ,则能正确输入 x 值的语句是( )
选项:
A: scanf("%5.1f",&x);
B: scanf("%f",&x);
C: scanf("%lf",&x);
D: scanf("%f",x);
答案: 【 scanf("%lf",&x);】
30、单选题:
下面程序段执行后的输出结果是( )int x='f';printf("%c n", 'A'+(x-'a'+1));
选项:
A: G
B: I
C: J
D: H
答案: 【 G】
31、单选题:
若有说明语句 int a; float b; 以下输入语句正确的是( )
选项:
A: scanf("%f%f",&a,&b);
B: scanf("%f%d",&a,&b);
C: scanf("%d,%f",&a,&b);
D: scanf("%6.3f6.2%f",&a,&b);
答案: 【 scanf("%d,%f",&a,&b);】
32、单选题:
下面程序段为x,y赋值时,不能作为数据分隔符的是( )int x,y;scanf("%d%d",&x,&y);
选项:
A: 空格
B: Tab键
C: 回车
D: 逗号
答案: 【 逗号】
33、单选题:
执行下面程序是,想将32和3.2分别赋值给x和y,正确的输入方法是( )int x;float y;scanf("x=%d,y=%f",&x,&y);
选项:
A: 32(空格)3.2
B: 32,3.2
C: x=32,y=3.2
D: x=32(空格)y=3.2
答案: 【 x=32,y=3.2】
34、单选题:
在C语言中,要求运算数必须是整型的运算符是( )
选项:
A: /
B: ++
C: !=
D: %
答案: 【 %】
35、单选题:
若定义int k=7,x=12;则能使值为3的表达式是( )
选项:
A: x%=(k%=5)
B: (x%=k)-(k%=5)
C: x%=k-k%5
D: x%=(k-k%5)
答案: 【 (x%=k)-(k%=5)】
36、单选题:
下面正确的字符常量是( )
选项:
A: "c"
B: '\''
C: 'W'
D: ''
答案: 【 'W'】
37、单选题:
假设所有变量均为整数,则表达式(a=2,b=5,b++,a+b)的值是( )
选项:
A: 8
B: 7
C: 2
D: 6
答案: 【 8】
38、单选题:
若变量已正确定义并赋值,下面符合C语言语法的表达式是( )
选项:
A: a=b=c+2
B: int 18.5%3
C: a=a+7=c+b
D: a:=b+1
答案: 【 a=b=c+2】
39、单选题:
当输入数据的形式为:25,13,10(回车),下面程序段的输出结果为( )void main(){int x,y,z;scanf("%d%d%d",&x,&y,&z);printf("x+y+z=%dn",x+y+z);}
选项:
A: x+y+z=48
B: 无法确定
C: x+y+z=35
D: x+y+z=38
答案: 【 无法确定】
40、单选题:
已定义int x; float y; 且执行scanf("%3d%f",&x,&y)语句时,假定输入数据为12345(空格)678,则x,y的值分别为( )
选项:
A: 12345 678.000000
B: 123 678.000000
C: 123 45.678000
D: 123 45.000000
答案: 【 123 45.000000】
第3周判断与循环
小测验
1、单选题:
以下哪个循环和其他三条循环不等价(假设循环体都是一样的)?
选项:
A: for ( i=0; i<10; i++ ) {...}
B: for ( i=0; i<10; ++i ) {...}
C: for ( i=0; i++<10; ) {...}
D: for ( i=0; i<=9; i++ ) {...}
答案: 【 for ( i=0; i++<10; ) {...}】
2、判断题:
while循环的条件满足的时候循环继续,而do-while的条件满足的时候循环就结束了
选项:
A: 正确
B: 错误
答案: 【 错误】
3、填空题:
以下代码片段执行结束后,变量i的值是多少?int i =10;
while ( i>0 ) {
i /=2;
}
答案: 【 0】
4、填空题:
以下代码片段执行结束后,变量i的值是多少?int i = 1;
do {
i += 5;
} while (i<17);
答案: 【 21】
5、填空题:
以下代码段的输出是什么?for ( int i=10; i> 1; i /=2 ) {
printf("%d ", i++);
}
答案: 【 10 5 3 2】
第3周单元测验判断与循环
1、单选题:
已知int x=10, y=20, z=30; 以下语句执行后,x, y, z的值是()if (x>y) z=x; x=y; y=z;
选项:
A: x=10, y=20, z=30
B: x=20, y=30, z=30
C: x=20, y=30, z=10
D: x=20, y=30, z=20
答案: 【 x=20, y=30, z=30】
2、单选题:
以下if语句语法正确的是 ( )
选项:
A: if (x>0) printf(“%f”,x) else printf(“%f”, -x);
B: if (x>0) { x=x+y; printf(“%f”,x); }else printf(“%f”, -x);
C: if (x>0) { x=x+y; printf(“%f”,x); };else printf(“%f”, -x);
D: if (x>0) { x=x+y; printf(“%f”,x) }else printf(“%f”, -x);
答案: 【 if (x>0) { x=x+y; printf(“%f”,x); }else printf(“%f”, -x);】
3、单选题:
请阅读以下程序: int main() { int a=5, b=5, c=0; if (a==b+c) printf(“***n”); else printf(“$$$n”); }以下程序( )
选项:
A: 有语法错误不能通过编译
B: 可以通过编译但不能通过连接
C: 输出***
D: 输出$$$
答案: 【 输出***】
4、单选题:
若希望当A的值为奇数时,表达式的值为“真”,A 的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是( )
选项:
A: A%2==1
B: !(A%2==0)
C: !(A%2)
D: A%2
答案: 【 A%2】
5、单选题:
以下程序的运行结果是( ) int main() { int m=5; if (m++>5) printf(“%dn”, m); else printf(“%dn”, m--);}
选项:
A: 4
B: 5
C: 6
D: 7
答案: 【 6】
6、单选题:
执行下面程序得到的结果是( )#include<stdio.h> int main() { int a=10, b=0; if (a=12) { a=a+1; b=b+1; } else { a=a+4; b=b+4; } printf(“%d, %dn”, a, b);}
选项:
A: 11,1
B: 13,1
C: 14,4
D: 10,0
答案: 【 13,1】
7、单选题:
执行下面程序得到的结果是( )#include<stdio.h> int main() { int a=2, b=-1, c=2; if (a<b) if (b<0) c=0; else c+=1; printf(“%dn”,c); }
选项:
A: 0
B: 3
C: 2
D: 1
答案: 【 2】
8、单选题:
以下程序段( )int x=-1; do{ x=x*x; } while(!x);
选项:
A: 是死循环
B: 循环执行二次
C: 循环执行一次
D: 有语法错误
答案: 【 循环执行一次】
9、单选题:
下列语句段中不是死循环的是( )
选项:
A: i=100;while (1) { i= i%100+1;}
B: for (i=1; ; i++) sum=sum+1;
C: k=0;do { ++k; } while (k==0);
D: s=3379;while (s++%2+3%2) s++;
答案: 【 k=0;do { ++k; } while (k==0);】
10、单选题:
若有以下程序:int main( ){ int y=10; while (y--); printf(“y=%dn”,y);}程序运行后的输出结果是( )
选项:
A: y=0
B: y=-1
C: y=1
D: while构成无限循环
答案: 【 y=-1】
11、单选题:
设有以下程序段: int x=0, s=0; while(!x!=0) s+=++x; printf(“%d”, s);则 ( )
选项:
A: 运行程序段后输出0
B: 运行程序段后输出1
C: 程序段中的控制表达式是非法的
D: 程序段执行无数次
答案: 【 运行程序段后输出1】
12、单选题:
下面程序段的运行结果是( )int x=0,y=0;while(x<15) {y++; x+=++y; }printf(“%d,%d”, y, x);
选项:
A: 20,7
B: 6,12
C: 20,8
D: 8,20
答案: 【 8,20】
13、单选题:
若有如下程序: int x=3; do{ printf(“%dn”, x-=2);}while(!(--x));则上面程序段( )
选项:
A: 输出的是1
B: 输出的是1和-2
C: 输出的是3和0
D: 是死循环
答案: 【 输出的是1和-2】
14、单选题:
下面程序的运行结果为( )#include<stdio.h>int main(){ int i, b, k=0; for(i=1; i<=5; i++) { b=i%2; while (b-- >= 0) k++; } printf(“%d, %d”, k, b); }
选项:
A: 3,-1
B: 8,-1
C: 3,0
D: 8,-2
答案: 【 8,-2】
15、单选题:
下面程序的运行结果是 ( ) int main() { int y=2, a=1,b=3; while (y--!=-1) { a+=y; a++;b--;} printf(“a=%d, y=%d,b=%dn”, a, y, b); }
选项:
A: 4,-1,0
B: 4,-2,0
C: 3,-1,1
D: 3,-2,1
答案: 【 4,-2,0】
16、单选题:
请阅读以下程序: int main( ) { int a=10,b=9,c=3;if(a>b>c) a=b;else a=c;return 0;}该程序运行后a的值为( )
选项:
A: 10
B: 9
C: 3
D: 0
答案: 【 3】
17、单选题:
下列条件语句中,功能与其他语句不同是( )
选项:
A: if(a) printf(“%dn”,x); else printf(“%dn”,y);
B: if(a==0) printf(“%dn”,y); else printf(“%dn”,x);
C: if(a!=0) printf(“%dn”,x); else printf(“%dn”,y);
D: if(a==0) printf(“%dn”,x); else printf(“%dn”,y);
答案: 【 if(a==0) printf(“%dn”,x); else printf(“%dn”,y);】
18、单选题:
为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与( )配对。
选项:
A: 缩排位置相同的if
B: 其之前最近的if
C: 其之后最近的if
D: 同一行上的if
答案: 【 其之前最近的if】
19、单选题:
在if(x)语句中的x与下面条件表达式等价的是( )
选项:
A: x!=0
B: x==1
C: x!=1
D: x==0
答案: 【 x!=0】
20、单选题:
有以下程序:int main( ) { int i=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d",i,j,k); return 0;}执行后输出结果是( )
选项:
A: 1 2 3
B: 2 3 4
C: 2 2 3
D: 2 3 3
答案: 【 2 3 3 】
21、单选题:
有以下程序:int main( ) { int n=0,m=1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3; printf("%dn",x); return 0;}执行后输出结果是( )
选项:
A: -1
B: -2
C: -3
D: -4
答案: 【 -4】
22、单选题:
C语言中while和do...while循环的主要区别是( )
选项:
A: do-while的循环体至少无条件执行一次
B: while的循环控制条件比do-while的循环控制条件严格
C: do-while允许从外部转到循环体内
D: do-while的循环体不能是复合语句
答案: 【 do-while的循环体至少无条件执行一次】
23、单选题:
以下能正确计算1*2*3*……*10的程序是( )
选项:
A: do{ i=1;s=1; s=s*i; i++; }while(i<=10);
B: do{ i=1;s=0; s=s*i; i++; }while(i<=10);
C: i=1;s=1;do{ s=s*i; i++; }while(i<=10);
D: i=1;s=0;do{ s=s*i; i++; }while(i<=10);
答案: 【 i=1;s=1;do{ s=s*i; i++; }while(i<=10); 】
24、单选题:
以下有关for循环是( )for(x=0,y=0;(y!=123)&&(x<4);x++)
选项:
A: 无限循环
B: 循环次数不确定
C: 执行4次
D: 执行3次
答案: 【 执行4次】
25、单选题:
下面程序的运行结果是( )int main( ){ int y=10; do {y--;}while(--y); printf("%dn”,y--); return 0;}
选项:
A: -1
B: 1
C: 8
D: 0
答案: 【 0】
26、单选题:
下面程序段的运行结果是( ) for(y=1;y<10;) y=((x=3*y,x+1),x-1); printf("x=%d,y=%d", x,y);
选项:
A: x=27,y=27
B: x=12,y=13
C: x=15,y=14
D: x=y=27
答案: 【 x=15,y=14】
27、单选题:
以下不构成无限循环的语句或语句组是( )
选项:
A: n=0;do{++n} while(n<0);
B: n=0;while(1){n++}
C: n=10;while(n){n--}
D: for(n=0,i=1; ;i++) n+=1;
答案: 【 n=0;do{++n} while(n<0);】
28、单选题:
若变量已正确定义,则以下能正确计算f=4!的程序段是( )
选项:
A: f=0;for(i=1;i<=4;i++) f*=i;
B: f=1;for(i=1;i<4;i++) f*=i;
C: f=1;for(i=4;i>1;i++) f*=i;
D: f=1;for(i=4;i>=2;i--) f*=i;
答案: 【 f=1;for(i=4;i>=2;i--) f*=i;】
29、单选题:
阅读以下程序: int main(){ int x; for(x=5;x>0;x--) if(x--<5) printf("%d,",x); else printf("%d,",x++); return 0;}程序运行后的输出结果是( )
选项:
A: 4,2,1
B: 4.3.1
C: 5,4,2
D: 5,3,1
答案: 【 4.3.1】
30、单选题:
阅读以下程序: int main(){ unsigned int num,k; num=26; k=1; do{ k*=num%10; num/=10; }while(num); printf("%dn",k); return 0;}
选项:
A: 2
B: 12
C: 60
D: 18
答案: 【 12】
31、填空题:
程序补充完整:实现数字的逆序输出,即从键盘输入123,输出321。#include <stdio.h>int main(){ int number, reminder; /* number为从键盘输入的数,reminder为逆序输出的数 */ printf(“请输入一个十进制整型数:”); scanf(“%d”, &number); printf(“逆向输出数字是:”); while(_____________) { _______________________ printf("%d", reminder); number/=10; } return 0;}
答案: 【 number>0
reminder=number%10;##%_YZPRLFH_%##0<number
reminder=number%10;】
32、填空题:
程序填空:从键盘输入三个数,实现输出其中最大的一个数。int main() { int a,b,c,max; printf(“请输入三个整数: ”); //a, b, c为三个从键盘输入的数 scanf("%d%d%d",&a,&b,&c); if (a>=b) ______________ else _______________ if( c>max) max=c; printf("最大的数为:%dn",max); return 0; }
答案: 【 max=a;
max=b;】
33、填空题:
从键盘输入三个数,然后按从小到大的顺序进行输出。#include<stdio.h>int main() { float a,b,c,t; /*a, b, c 为从键盘输入的3个数,t为两个变量值交换的中间变量*/ printf(“请输入三个实数 (以逗号分隔)”); scanf(“%f,%f,%f”,&a,&b,&c); if(a>b) { _____________________ } if(a>c) {_______________________} if(b>c) {_______________________ } printf("%10.2f,%10.2f,%10.2fn",a, b, c); return 0; }
答案: 【 t=a; a=b; b=t;
t=a; a=c; c=t;
t=b; b=c; c=t;##%_YZPRLFH_%##t=b; b=a;a=t;
t=a; a=c; c=t;
t=b; b=c; c=t;##%_YZPRLFH_%##t=a; a=b; b=t;
t=c; c=a; a=t;
t=b; b=c; c=t;##%_YZPRLFH_%##t=a; a=b; b=t;
t=a; a=c; c=t;
t=c; c=b; b=t;##%_YZPRLFH_%##t=b; b=a; a=t;
t=c; c=a; a=t;
t=b; b=c; c=t;##%_YZPRLFH_%##t=b; b=a; a=t;
t=a; a=c; c=t;
t=c; c=b; b=t;##%_YZPRLFH_%##t=a; a=b; b=t;
t=c; c=a; a=t;
t=c; c=b; b=t;##%_YZPRLFH_%##t=b; b=a; a=t;
t=c; c=a; a=t;
t=c; c=b; b=t;】
34、填空题:
程序填空计算出s=1-3+5-7…-99+101的值。 #include <stdio.h> int main() { int i,t=1,s=0; /* t为中间变量 */ for (i=1;i<=101;i+=2) { t=t*i; s=s+t; ______________ /*正1,负1交叉*/ } printf(″%dn″,s); return 0; }
答案: 【 t=(-t)/i;##%_YZPRLFH_%##t=-t/i;】
35、填空题:
程序填空:有1024个西瓜,第一天卖了一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完? #include<stdio.h> int main() { int day=0, x1=1024, x2; //x1为当天西瓜初始数量,x2为剩余西瓜数
