丘魔够变炒森繁拓冗翰褪沦切
点击这里,复制通过码
第一章 绪论 第一章单元测验
1、 通常把高级语言源程序翻译成目标程序的程序称为( )。
A:编译程序
B:链接程序
C:编辑程序
D:解释程序
答案: 编译程序
2、 关于C语言,下面叙述不正确的是()。
A:不用编译可以直接运行。
B:既能用来编写不依赖计算机硬件的应用程序,又能用来编写各种系统程序
C:既具有高级语言的特点,又具有汇编语言的特点
D:语法限制不太严格,例如,对数组下标越界不作检查
答案: 不用编译可以直接运行。
3、 程序的开发步骤中不包括( )。
A:编辑(编写代码)
B:编译链接
C:程序测试
D:撰写文档
答案: 编译链接
4、 zzuliOJ的1000:从今天开始入坑C语言 通过码
答案: ikJ3Wx00syCxTCfJJpvCjVRSePQ
5、 zzuliOJ的1001: 整数a+b 通过码
答案: jkJ2W0pnsnCxTCfJJpvCjVRSePU
6、 zzuliOJ1002: 简单多项式求值 通过码
答案: g0QlCkxntSyxTCfJJpvCjVRSePY
第二章 简单C程序设计 第二单元测验
1、 关于定点数和浮点数的说法,下列说法错误的是()。
A:定点数表示数据的范围有限
B:用浮点数表示既有整数部分、又有小数部分的实数
C:浮点数表示的数即是数值的精确值
D:浮点数不能准确表示实数是因为小数部分由十进制转换为二进制时经常需要截断造成的
答案: 浮点数表示的数即是数值的精确值
2、 以下哪种运算能从变量x中取得十进制最低位的数字( )。
A:x*10
B:x/10
C:x % 10
D:10/x
答案: x % 10
3、 以下哪个数字的值最大( )。
A:0x10
B:1e2
C:10
D:010
答案: 1e2
4、 设有变量定义:float x=2.5;double y=6.0;则表达式 (int)x / y的值为( )。(如果结果是浮点类型,用小数点后一位数字表示)
A:2
B:2.0
C:3
D:3.0
答案: 3.0
5、 变量的名字代表内存中的存储单元;变量名和内存中的存储单元相对应,通过变量名来存、取存储单元的内容。
A:正确
B:错误
答案: 正确
6、 变量被定义后没有赋值,其值不可以使用,是内存中残留的垃圾值。
A:正确
B:错误
答案: 正确
7、 变量是在程序执行期间其值可以改变的量,必须先定义后使用。
A:正确
B:错误
答案: 正确
8、 当赋值语句右边表达式类型与左边变量类型不一致时,以右边表达式的值作为赋值表达式的值。
A:正确
B:错误
答案: 错误
9、 zzuliOJ1003:两个整数的四则运算 通过码
答案: ikcgXkln5yyxTCfJJpvCjVRSePc
10、 zzuliOJ1004:三位数的数位分离 通过码
答案: iUUkWxg2s3CxTCfJJpvCjVRSePA
11、 zzuliOJ1005:整数幂 通过码
答案: gx5zX082t3SxTCfJJpvCjVRSePE
12、 zzuliOJ1006:求等差数列的和 通过码
答案: 2B8gCk5k5SKxTCfJJpvCjVRSePI
13、 zzuliOJ1007:鸡兔同笼 通过码
答案: iUNzXx015nCxTCfJJpvCjVRSePM
14、 zzuliOJ1008:美元和人民币 通过码
答案: ihJzCkoyvXGxTCfJJpvCjVRSePw
15、 zzuliOJ1009:求平均分 通过码
答案: 2BFyWhs2vHexTCfJJpvCjVRSeP0
16、 zzuliOJ1010:求圆的周长和面积 通过码
答案: jBRzD043syWxTCfJJpvCjVRSefQ
17、 zzuliOJ1011:圆柱体表面积 通过码
答案: ixcjXxxnsHaxTCfJJpvCjVRSefU
18、 zzuliOJ1012:求绝对值 通过码
答案: iRV2UR8x5iSxTCfJJpvCjVRSefY
19、 zzuliOJ1013:求两点间距离 通过码
答案: 2hEgXEczsCyxTCfJJpvCjVRSefc
20、 zzuliOJ1014:求三角形的面积 通过码
答案: 2BF1Xkg74iexTCfJJpvCjVRSefA
21、 zzuliOJ1015:计算时间间隔 通过码
答案: 2RMnWUk6sXSxTCfJJpvCjVRSefE
22、 zzuliOJ1015:银行利率 通过码
答案: 3xZxWBswvCSxTCfJJpvCjVRSefI
第二章 简单C程序设计 小练习-不计分
1、 以下哪种运算能从变量x中取得十进制最低位的数字( )。
A:x*10
B:x/10
C:x % 10
D:10/x
答案: x % 10
2、 以下哪个数字的值最小( )。
A:0x10
B:1e1
C:10
D:010
答案: 010
3、 设有变量定义:float x=2.5;double y=5.0;则表达式 (int)x / y的值为( )。(若为浮点类型,则用小数点后一位数字表示)
A:2
B:2.5
C:3
D:2.0
答案: 2.5
第三章 分支结构 第三章单元测验
1、 判断年份y为闰年的表达式为( )。
A:y%4 == 0
B:y%4 == 0 && y % 100 != 0
C:(y%4 == 0) || (y%400 == 0 && y % 100 != 0)
D:(y%4 == 0 && y % 100 != 0) || (y%400 == 0)
答案: (y%4 == 0 && y % 100 != 0) || (y%400 == 0)
2、 以下代码段,作者本意是如果x<y,则交换二者的值,但由于作者的笔误,没有对if的控制范围加{},请分析以下程序段的输出结果( )。int x = 2, y = 5;
int tmp;
if(x > y)
tmp = x;
x = y;
y = tmp;
printf(“%d %d”, x, y);
A:5和一个垃圾值
B:2和一个垃圾值
C:2
D:5
答案: 5和一个垃圾值
3、 int x = 7, y =5;
int max = x;
if(y > max) ;
max = y;
printf(“%d”, max);以上代码段,作者本意是输出x和y的最大值,但由于作者的笔误,在if的括号后多写了一个分号,如下说法正确的是( )。
A:有编译错误,指出if(y > max)之后不能加分号。
B:无语法错误,输出为7。
C:无语法错误,但if之后的分号会造成逻辑上的错误,输出为5。
D:无语法错误,输出为5或者7。
答案: 无语法错误,但if之后的分号会造成逻辑上的错误,输出为5。
4、 int x = 2, y =5;
int max;
if(x > y) ;
max = x;
else
max = y;以上代码段,作者本意是输出x和y的最大值,但由于作者的笔误,在if的括号后多写了一个分号,如下说法正确的是( )。
A:有编译错误,指出else子句也没有可匹配的if.
B:无语法错误,但结果不正确。
C:无语法错误,结果也正确。
D:有编译错误,指出if(x > y)之后不能加分号
答案: 有编译错误,指出else子句也没有可匹配的if.
5、 #include<stdio.h>
int main(void)
{
int a, b;
scanf(“%d %d”, &a, &b);
printf(“%d”, a > b ? a : b);
return 0;
}从键盘输入以下数据:3<回车>5<回车>则程序输出为( )。
A:3
B:5
C:0
D:垃圾值
答案: 5
6、 从键盘输入一个字符,判别它是否为大写字母。如果是,将它转换成小写字母,如果不是,不转换。在屏幕上输出最后得到的字符。程序代码如下,为实现上述功能,请将第8行标号处缺少的语句填写完整。下面给出的选项中,哪个是错误的。#include<stdio.h>
include<ctype.h>
int main()
{
char c;
printf(“Please input a character:”);
scanf(“%c”,&c);
if(c >=’A’&&c <= ‘Z’)
c =___;
printf(“%c”,c);
return 0;
}
A:c = c + 32
B:c = c – ‘A’ + ‘a’
C:c = tolower(c)
D:c = c – 32
答案: c = c – 32
7、 我们知道,用浮点数来表示实数可能会有精度损失, 对于double类型的数据,常用一个常量eps = 1e-10进行精度控制。两个浮点数的差的绝对值在这个范围内,我们就会认为他们是相等的。如下哪个表达式能正确判断两个double类型的变量x和y是相等的。
A:x == y
B:fabs(x-y) < 1e-10
C:!fabs(x-y)
D:fabs(x) – fabs(y) < 1e-10
答案: fabs(x-y) < 1e-10
8、 程序功能: 从键盘输入一个字符,判断该字符是否是字母、数字字符或其他字符。分别输出对应的提示信息: 如果该字符是字母,则输出“alpha”;若是数字字符,则输出“digit”;若是其他字符,则输出“other”。程序代码如下,为实现上述功能,请选择合适的代码填写在第10行标记处。#include<stdio.h>
include<ctype.h>
int main(void)
{
char ch;
scanf (“%c”, &ch);
if(isalpha(ch)) //判断是否是英文字母
printf (“alpha”);
____ //判断是否是数字
printf(“digit”);
else //其它字符
printf(“other”);
return 0;
}
A:if( isdigit(ch) )
B:else if( isdigit(ch) )
C:else if( ch >= 0 && ch <= 9 )
D:if( ‘0’ <= ch <= ‘9’ )
答案: else if( isdigit(ch) )
9、 下列语句中,不能实现两数交换的是( )。
A:a = b, b = a;
B:b = a * b, a = b / a, b = b / a;
C:t = a, a = b, b = t;
D:a = a + b, b = a – b, a = a – b;
答案: a = b, b = a;
10、 下列说法错误的是( )。
A:若所有的case常量都不能与表达式的值相匹配,那么就执行default后面的语句。通常用于处理不在合理区间内的非法数据。
B:case后面的表达式不能是含有变量的关系表达式和逻辑表达式,它不能像if语句那样起到判断表达式真假的作用。
C:每个case后的“常量表达式”的类型应该与switch后括号内表达式的类型一致。
D:若case后面的语句省略不写,则表示它什么也不做,直接跳出switch。
答案: 若case后面的语句省略不写,则表示它什么也不做,直接跳出switch。
11、 以下程序运行后的输出结果是( )。#include <stdio.h>
int main()
{
int a = 5, b = 4, c = 3, d;
d = (a > b> c);
printf(“%d”, d);
return 0;
}
A:0
B:1
C:5
D:3
答案: 0
12、 执行下列程序,k输入为2时的输出结果是( )。#include <stdio.h>
int main()
{
int k;
scanf(“%d”,&k);
switch(k)
{
case 1: printf(“%d”,k);
case 2: printf(“%d”,k);
case 3: printf(“%d”,k);
default: printf(“Full!”);
}
return 0;
}
A:22
B:23
C:Full!
D:22Full!
答案: 22Full!
13、 有以下程序段:char c1=’1′,c2=’2′;
c1=getchar();
c2=getchar();
putchar(c1);
putchar(c2);运行时从键盘上输入:a↙ 后,以下叙述中正确的是( )。
A:变量c1被赋予字符a,c2中将无确定值。
B:变量c1被赋予字符a,c2中仍是原有字符’2’。
C:变量c1被赋予字符a,c2被赋予换行符”。
D:程序将等待用户输入第2个字符。
答案: 变量c1被赋予字符a,c2被赋予换行符”。
14、 zzuliOJ1019:公园门票 通过码
答案: jB8iXkYwtnOxTCfJJpvCjVRSef0
15、 zzuliOJ1021:三个整数的最大值 通过码
答案: 3h8gDU4wtyyxTCfJJpvCjVRSevU
16、 zzuliOJ1022:三整数排序 通过码
答案: jRR5URpn5nGxTCfJJpvCjVRSevY
17、 zzuliOJ1023:大小写转换 通过码
答案: gh4kChg64SGxTCfJJpvCjVRSevc
18、 zzuliOJ1025:最大字符 通过码
答案: 2RdyDEczt3SxTCfJJpvCjVRSevE
19、 zzuliOJ1026:字符类型判断 通过码
答案: jkUgXk875yKxTCfJJpvCjVRSevI
20、 zzuliOJ1027:判断水仙花数 通过码
答案: jREnDB1gtyaxTCfJJpvCjVRSevM
21、 zzuliOJ1028:I love 闰年! 通过码
答案: g0dwXEswvCexTCfJJpvCjVRSevw
22、 zzuliOJ1033: 五级制成绩 通过码
答案: 3xZ2X0Yw5XCxTCfJJpvCjVRSe/c
23、 zzuliOJ1037:四则运算 通过码
答案: iBR1XBw05ySxTCfJJpvCjVRSe/M
第四章 循环结构(基础篇) 第四章单元测试(1)
1、 要求通过 while 循环不断输出字符,当读入字母 N 时结束循环。若变量已正确定义,下列程序段正确的是( )。
A:while ((ch = getchar()) == ‘N’)
printf(“%c”, ch);
B:while (ch = getchar() == ‘N’)
printf(“%c”, ch);
C:while ((ch = getchar()) != ‘N’)
printf(“%c”, ch);
D:while (ch = getchar() != ‘N’)
printf(“%c”, ch);
答案: while ((ch = getchar()) != ‘N’)
printf(“%c”, ch);
2、 执行以下循环语句时,下列说法正确的是()。x = -1;
do
{
x = x * x;
} while (x == 0);
A:循环体将执行一次
B:循环体将执行两次
C:循环体将执行无限次
D:系统将提示有语法错误
答案: 循环体将执行一次
3、 请问下面哪个程序段会造成死循环?
A:for(n=0;;n++)
if(n>10)break;
B:n=0;
do{
n++;
}while(n<=0);
C:n=10;
while(n>0) ;
n–;
D:n=0;
while(n)
n++;
答案: n=10;
while(n>0) ;
n–;
4、 下列说法错误的是()。
A:逗号运算符也称为顺序求值运算符,由逗号运算符构成的表达式称为逗号表达式。
B:多数情况下,我们并不使用整个逗号表达式的值,主要用它来顺序求得到各个子表达式的值。
C:逗号表达式主要用在循环语句中同时对多个变量赋初值等。
D:在逗号表达式中,其第一个表达式的值就是整个逗号表达式的值。
答案: 在逗号表达式中,其第一个表达式的值就是整个逗号表达式的值。
5、 for(i=0;i<10;i++);循环结束后,i的值是()
A:9
B:10
C:11
D:12
答案: 10
6、 以下程序的输出结果是( )int main()
{
int i;
for(i=4;i<=10;i++)
{
if(i%3==0) continue;
printf(“%d”,i);
}
return 0;
}
A:45
B:457810
C:69
D:678910
答案: 457810
7、 以下程序的输出结果是( )int main()
{
int num = 0;
while(num<=2)
{
num++;
printf(“%d”,num);
}
}
A:1
B:12
C:123
D:1234
答案: 123
8、 程序运行后的输出结果是#include <stdio.h>
int main()
{
int i;
for(i=0;i<3;i++)
switch(i)
{
case 0: printf(“%d”,i);
case 2: printf(“%d”,i);
default: printf(“%d”,i);
}
return 0;
}
A:000122
B:02
C:012
D:021021
答案: 000122
9、 若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( )。
A:i=1;
p=1;
do {
p=i;
i++;
} while ( i<=5 );
B:for(i=1,p=1;i<=5;i++) p=i;
C:i=1;
p=1;
while ( i<=5 )
{
p=i;
i++;
}
D:for( i=1; i<=5; i++ )
{
p=1;
p=i;
}
答案: for( i=1; i<=5; i++ )
{
p=1;
p*=i;
}
10、 以下程序的功能是计算:s= 1+1/2+1/3+……+1/10, 程序运行后输出结果错误,导致错误结果的程序行是( )。(如果不能凭经验看出,建议调试方法1:在循环中加入printf,输出中间结果;方法2:单行执行程序,观察运行中的变量变化)#include <stdio.h>
int main()
{
int n;
double s;
s = 1.0;
for(n=10; n>1; n–)
{
s = s + 1/n;
}
printf(“%6.4f”, s);
return 0;
}
A:for(n=10; n>1; n–)
B:s = 1.0;
C:printf(“%6.4f”, s);
D:s = s + 1/n;
答案: s = s + 1/n;
11、 1040 数列求和1 的通过码
答案: 2RcnDUY3vSGxTCfJJpvCjVRSfPQ
12、 1043 最大值 的通过码
答案: gh53UEhhtyOxTCfJJpvCjVRSfPc
13、 1046 奇数的乘积 的通过码
答案: j0AiXR1nvHexTCfJJpvCjVRSfPI
14、 1048 阶乘表 的通过码
答案: 2hd0WRw7vCSxTCfJJpvCjVRSfPw
15、 1050 阶乘的累加和 通过码
答案: jhV1XktmtHOxTCfJJpvCjVRSffQ
16、 1051 平方根的和 通过码
答案: 3kRyXBhksCWxTCfJJpvCjVRSffU
17、 1053 正弦函数 通过码
答案: 2UVxCxxht3axTCfJJpvCjVRSffc
18、 1055 兔子繁殖问题 通过码
答案: iUMnXk40sCOxTCfJJpvCjVRSffE
19、 1057 素数判定 通过码
答案: ixclD0Y1tyOxTCfJJpvCjVRSffM
20、 1064 加密字符 通过码
答案: jh5yDB8w5iexTCfJJpvCjVRSfvA
上方为免费预览版答案,如需完整答案,请点击下方红字购买:
查看更多中国大学mooc慕课答案,请点击下方红字:
打开手机微信,扫一扫下方二维码,关注微信公众号:萌面人APP
本公众号可查看各种网课答案,还可免费查看大学教材答案
为了方便下次阅读,建议在浏览器添加书签收藏本网页
添加书签方法:
1.电脑按键盘的Ctrl键+D键即可收藏本网页
2.手机浏览器可以添加书签收藏本网页
脸菏仟你坡纳舜秽率轮卿蠢型