中国大学mooc慕课 高级语言程序设计(安康学院) 答案满分完整版章节测试

瑰布到叛裸迷奋蹲保侨叉洪班




作业第1章 C语言程序设计概述 第1章 C语言概述作业题

1、 C语言是一种什么样的语言?为什么既可以用来开发系统软件又可以编写应用程序?
评分规则:  C语言是目前应用最为广泛的程序设计语言之一,它层次结构分明,支持程序模块化,有丰富的数据结构和运算符,支持用户自定义函数,因为既可以访问物理地址有具有高级语言的特点,所以C语言常被用来开发系统软件和编写应用程序。

第1章 C语言程序设计概述 第1章 测试题

1、 以下叙述正确的是 。

A:C语言实现输入输出功能需要调用库函数
B:C程序中的每一条语句必须单独写在一行上
C:一个C语言程序中的main函数可以没有,但最多只能有一个
D:C程序在编译时可将注释中的错误反馈给用户
答案: C语言实现输入输出功能需要调用库函数

2、 以下叙述不正确的是 。

A: C语言中的main函数可以在程序的任意位置
B:在C程序中,注释说明只能位于一条语句的后面
C:C语言是结构化的程序设计语言,其基本组成单位是函数
D:一个C源程序有且仅有一个main函数
答案: 在C程序中,注释说明只能位于一条语句的后面

3、 一个C源程序有且仅有一个main函数

A:C语言程序由一个主程序和若干个子程序组成
B:C语言程序由若个主函数组成
C:C语言程序若干个子函数组成
D:C语言程序若干子程序组成
答案: C语言程序由一个主程序和若干个子程序组成

4、 一个C程序的执行是从 。

A:从第一个函数开始,到最后一个函数结束
B:从main函数开始到main函数结束
C:从第一个函数开始,到main函数结束
D:从main函数开始,到最后一个函数结束
答案: 从main函数开始到main函数结束

5、 以下叙述正确的是 。

A:函数是C语言的基本组成单位
B:可以在一个函数中定义另外一个函数
C:可以在一个函数中定义另外一个函数
D:可以在一个函数中定义另外一个函数
答案: 函数是C语言的基本组成单位

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

A:函数
B:文件
C:语句
D:字符
答案: 函数

7、 以下叙述正确的是 。

A:C语言源程序可以直接运行
B:C语言程序编译后产生源程序,后缀名为.c
C:C语言程序中的函数可以单独编译
D:C语言源程序编译后产生目标程序
答案: C语言源程序编译后产生目标程序

8、 以下叙述正确的是 。

A:函数的函数体必须用“{ }”括起来
B:函数的函数体如果只有一条语句,则“{ }”可以省略
C:C语言中函数必须用预处理#include将其包含进来
D:函数体可以放在程序的任意位置
答案: 函数的函数体必须用“{ }”括起来

9、 以下叙述正确的是 。

A:C语言在编译时既检查语法错误,也检查逻辑错误
B:C语言编译时若有逻辑错误,也会编译成功
C:C语言编译时若有语法错误,则会给用户反馈错误信息
D:C语言程序必须在没有语法错误和逻辑错误的情况下,才能编译成功
答案: C语言编译时若有语法错误,则会给用户反馈错误信息

10、 以下叙述正确的是 。

A:C语言程序每次执行前都要进行编译
B:C语言是解释执行的语言
C:C语言是编译执行的语言
D:C语言程序在链接后进行编译,如果有语法错误,将会给用户报错
答案: C语言是编译执行的语言

11、 以下叙述正确的是 。

A:程序是指由二进制0和1构成的代码
B:程序是人和计算机之间交流的工具
C:程序设计语言从机器语言、汇编语言向高级语言发展
D:程序设计语言从机器语言、汇编语言向高级语言发展
答案: 程序设计语言从机器语言、汇编语言向高级语言发展

12、 以下叙述正确的是 。

A:高级语言更符合人们的语言习惯
B:汇编语言是由二进制0和1表示的
C:机器语言晦涩难懂,执行速度也很慢
D:高级语言可以被计算机直接执行,所以它是高级的
答案: 高级语言更符合人们的语言习惯

13、 以下叙述错误的是 。

A:C语言程序是面向对象的程序设计语言
B:C语言数据类型丰富
C:C语言数据类型丰富
D:C语言可以直接访问物理地址
答案: C语言程序是面向对象的程序设计语言

14、 C语言从 开始执行。

A:函数
B:头文件
C:主函数
D:定义变量的语句
答案: 主函数

15、 以下叙述正确的是 。

A:C语言程序执行效率高,但可移植性差
B:C语言程序可以包含多个预处理命令
C:连接程序只是把源程序连接成目标程序
D:C语言的源程序经过连接可直接执行
答案: C语言程序可以包含多个预处理命令

16、 计算机能够直接执行的程序是 。

A:机器语言编写的程序
B:高级语言编写的程序
C:机器语言编写的函数
D:汇编语言编写的程序
答案: 机器语言编写的程序

17、 计算机能够直接执行的是 。

A:源程序
B:目标程序
C:汇编程序
D:可执行程序
答案: 可执行程序

18、 以下叙述正确的是 。

A:C语言在编译时检查语法错误
B:C语言在编译时检查语法错误
C:C语言在编译时检查程序的完整性
D:C语言在编译时检查程序的完整性
答案: C语言在编译时检查语法错误

19、 C语言源程序要正确的执行,则必须要有 。

A:#include函数
B:main函数
C:用户自定义函数
D:输入、输出语句
答案: main函数

20、 以下叙述正确的是 。

A:C语言经过编译生成0和1组成的二进制代码
B:机器语言经过编译可以生成高级语言指令
C:机器语言虽然可移植性好,但执行速度比较慢
D:机器语言不能被计算机直接识别,所以不能用机器语言编写操作系统
答案: C语言经过编译生成0和1组成的二进制代码

21、 关于C语言以下叙述正确的是 。

A:C语言是汇编语言
B:C语言是机器语言
C:C语言是高级语言
D:C语言是低级语言
答案: C语言是高级语言

22、 以下叙述正确的是 。

A:C语言程序中的每条语句都用一个分号作为结束符
B: C语言程序中的每个函数都用一个分号作为结束符
C:C语言中的每条命令都用一个分号作为结束符
D:C语言中的语句末尾可以使用分号,也可以不使用分号
答案: C语言程序中的每条语句都用一个分号作为结束符

23、 一个C语言程序是由 。

A:一个主函数和若干个库函数组成
B:一个主函数和若干个子程序组成
C:一个主过程和若干个子过程组成
D:一个主函数和若干个函数体组成
答案: 一个主函数和若干个子程序组成

24、 在计算机中,一个字节所包含二进制位的个数是 。

A:2
B:4
C:8
D:16
答案: 8

25、 下列叙述中正确的是 。

A:C语言是低级语言,因为可以直接访问物理地址
B:C语言可以不用编译就能被计算机识别执行
C:C语言可以直接访问物理地址,但它是高级语言
D:C语言是高级语言,不能被编译成二进制
答案: C语言可以直接访问物理地址,但它是高级语言

26、 下列说法正确的是 。

A:C程序中的每一行必须书写一条语句,不能出现空行
B:C程序的每一条语句都必须书写在一行上,不能跨行
C:C程序的一行中可以书写多条语句
D:C程序的一行只能书写一条语句
答案: C程序的一行中可以书写多条语句

27、 在 C 语言中,每个语句必须以 结束。

A:回车符
B:冒号
C:逗号
D:分号
答案: 分号

28、 C语言程序的开发顺序是 。

A:编辑、编译、连接、运行
B:编译、编辑、连接、运行
C:编辑、连接、编译、运行
D:连接、编译、编辑、运行
答案: 编辑、编译、连接、运行

29、 以下叙述中正确的是 。

A:C程序中注释部分可以出现在程序中任意合适的地方
B:C程序中若用//表示注释,则注释可以跨行
C:C程序中若用//表示注释,则注释只能有一行
D:花括号”{“和”}”可以用来表示注释
答案: C程序中注释部分可以出现在程序中任意合适的地方

30、 用C语言编写的源文件经过编译,若没有产生编译错误,则系统将 。

A:生成目标文件
B:输出运行结果
C:生成可执行目标文件
D:生成源文件
答案: 生成目标文件

作业第2章 C语言的数据类型 第2章 作业题

1、 C语言中数据类型转换的方式有几种?各有什么特点?转换的规则是什么?
评分规则:  C语言中数据类型的转换方式有三种,分别是自动类型转换、赋值类型转换和强制类型转换。自动类型转换是在没有特别说明的情况下,将数据长度短的转换为数据长度长的,数据的精度不降低。赋值类型转换是发生在赋值运算时,如果赋值符两边的数据类型不同,则将赋值符右侧的类型转换为左侧变量的类型。有可能会降低数据的精度。强制类型转换是使用类型转换运算符强制使某一数据或表达式转变为特定类型,是单目运算,既可以从低级类型转换为高级类型,也可以从高级类型转换为低级类型,优势可以获得更高的数据精度。

第2章 C语言的数据类型 第2章 C语言的数据类型测试题

1、 下列关于C语言用户标识符的叙述中正确的是

A:可以出现数字、字母和其它符号
B:可以出现下划线,但必须在起始位置
C:可以有字母,但字母没有大小写之分
D:可以出现数字,但数字不能放在起始位置
答案: 可以出现数字,但数字不能放在起始位置

2、 以下不是合法的标识符的选项是 。

A:WHILE
B:0
C:_C
D:if
答案: if

3、 C语言提供的合法的数据类型关键字是( )。

A:double
B:Float
C:INT
D:Main
答案: double 

4、 下列字符串可作为合法标识符的是 。

A:double
B:9_hello
C:if
D:
!123
答案: _if

5、 下列可用作C语言程序中的标识符的是 。

A:print _do xy_z
B:wa:1 scanf_1 ty-1
C:.obj name_1 while
D:int _student a_1
答案: print _do xy_z 

6、 以下选项中,均是不合法的用户标识符的选项是 。

A:A sky_0 do
B:float yy_21 _A
C:a-b continue double
D:_123 printf INT
答案: a-b continue double

7、 下列运算符中优先级最低的运算符是______。

A:<=
B:=
C:%
D:!
答案: =

8、 下列运算符中,要求操作数必须是整型的运算符是______。

A:%
B:/
C:&&
D:!
答案: %

9、 ______是合法的C语言字符常量。

A:′x”
B:e3
C:<#>
D:〞c program〞
答案: 〞c program〞

10、 已定义c是字符型变量,则下列不合法的赋值语句是 。

A: c=′a+b′;
B:c=′\047′;
C:c=′7′;
D:c=′!′;
答案:  c=′a+b′;

11、 下列不合法的C语言转义字符的项目是______。

A:′\t′
B:′\0xg′
C:′\” ′
D:′\012′
答案: ′\0xg′ 

12、 转义字符 ‘\101’表示的是 。

A:字符a
B:字符A
C:字符e
D:非法的常量
答案: 字符A

13、 以下符合C语言语法规则的实型常量是______。

A:1.5E-0.5
B:3.14159E10
C:E-5
D:-E2
答案: 3.14159E10

14、 下面不正确的字符串常量是 。

A:’hello c’
B:”34\80″
C:”1.345″
D:”V”
答案: ‘hello c’ 

15、 如果int a=5,b=7;则条件表达式”a<b? a-b:b-a”的值是______。=”” =”” a:5=”” b:7=”” c:-2=”” d:2=”” 答案:=”” <span=””>-2</b?>

16、 设a 为整型变量,不能正确表达数学关系:5<a<10的c语言表达式是 。=”” =”” a:=”” a=””>5 && a<10
B:a= =6|| a= =7 || a= =8 || a= =9
C:5<a<10 d:!(a<=”5)” &&=”” !(a=””>=10)
答案: 5<a<10< span=””></a<10<></a<10></a<10的c语言表达式是>

17、 表达式15%6*sqrt(9.0)/3值的数据类型是______。

A: int
B: float
C:double
D:不确定
答案: double

18、 设有以下变量定义,并已赋确定的值 char c; int a; float x; double m;则表达式:c*a+m-x所求得的数据类型为______。

A:char
B:int
C:float
D:double
答案: double

19、 如果i=7,则k=(++i)+(i++)+(i++)执行过后k的值为 ,i的值为 。

A:21,7
B:22,8
C:24,8
D:24,10
答案: 24,10

20、 以下选项中非法的表达式是______。

A:i>-10&&i<10
B:(i+1)++
C:(char)(65+32)
D:i=i+=i*i
答案: (i+1)++

21、 下列关于自增运算符++、自减运算符–的叙述中正确的是______。

A:它们的运算对象可以是任何变量、常量和表达式。
B:它们的运算对象可以是char型变量和int型变量,但不能是float型变量。
C:它们的操作数可以是一个,也可以是两个。
D:它们的运算对象可以是char型变量、int型变量和float型变量。
答案: 它们的运算对象可以是char型变量、int型变量和float型变量。

22、 以下选项中,与k=i++完全等价的表达式是______。

A:i=i+1,k=i
B:k=i,i=i+1
C:k=++i,i=i+1
D:k+=i+1
答案: k=i,i=i+1 

23、 设 int x=0,y=1; 表达式(–x||y–)的值是______。

A:-1
B:0
C:1
D:2
答案: 1

24、 设有语句int a=0,b=1,c=2;则下面表达式中,值为0的表达式是______。

A:a||b
B:a<=b
C:a||b+c&&b-c
D:!((c>b>a&&!c||1)
答案: !((c>b>a&&!c||1)

25、 若有以下定义,则能使值为0的表达式是 。int a=9,b=2;

A:a%=(a/b)
B:a%=(a/=b)
C:a=(b-a%=b)
D:b*=(b=a%b)
答案: a%=(a/=b)

26、 float a=2.5,b=3.5,则表达式(int)a+b/b的值是______。

A:3.500000
B:3.000000
C:2.000000
D:3
答案: 3.000000

27、 已有定义:int x=3,y=4,z=5;,则表达式!x-y||(y-z)-1的值是______。

A:-1
B:0
C:1
D:2
答案: 1

28、 已有定义: int x=3,y=4,z=5; 则表达式!(x-y)&&y-z-1的值是___。

A:-1
B:0
C:1
D:2
答案: 0

29、 已知a,b,c都是已定义的整型变量,则符合C语言语法规定的表达式是 。

A:(a+1)=a-=b-=0
B:!a=a3c=2
C:a=a-(b-c)!
D:a=a-c!(b+a)
答案: a=a-c
!(b+a)

30、 若a为int类型,且其值为6,则执行完表达式a+=a-=a*a后,a的值是______。

A:-60
B:0
C:1
D:60
答案: -60

作业第3章 顺序结构程序设计 第3章 作业题

1、 什么是算法?如何评价算法?
评分规则:  算法是程序的灵魂,是对操作步骤的描述,算法设计是编写程序之前的“打草稿”过程。一个算法的优劣要从正确性、可读性、健壮性、时间复杂度和空间复杂度多个方面评价,算法要能满足具体问题的需求,对任何合法的输入算法都会得出正确的结果。算法创建后要便于他人阅读、理解、使用和修改。对非法输入的抵抗能力,当输入的数据非法时,算法能有效识别并处理,避免产生错误的操作而造成死机或系统瘫痪。算法运行所需要的时间和耗费的计算机资源大小也是判断算法的重要指标。

第3章 顺序结构程序设计 第3章 测试题

1、 关于算法的描述,下列正确的是 。

A:一个算法可以没有输入,但必须有输出
B:一个算法必须要有输入,但可以没有输出
C:一个算法有几个输入就必须有几个输出
D:一个算法如果没有输入,则此算法是错误的
答案: 一个算法可以没有输入,但必须有输出

2、 算法的每一个步骤都应是确切定义的,不能有二义性,相同的输入应该得到相同的输出,这是算法的 。

A:可行性
B:确定性
C:正当性
D:有穷性
答案: 确定性

3、 下列叙述错误的是 。

A:C程序中的#include行不是C语句
B:C程序中,i++是赋值语句,末尾要加分号
C:getchar()函数的参数是从输入终端获得的字符
D:printf()是C语言的输出语句
答案: printf()是C语言的输出语句

4、 关于算法的优劣性,下列说法正确的是 。

A:一个算法的优劣性取决于空间复杂度和时间复杂度
B:一个算法的优劣性取决于空间复杂度和时间复杂度
C:一个算法如果没有输入,则这个算法是不成功的
D:算法的健壮性是指算法对于正确的输入要有正确的输出
答案: 一个算法的优劣性取决于空间复杂度和时间复杂度

5、 关于算法的描述方法,下列说法正确的是 。

A:算法可以用自然语言来描述
B:流程图可以用来描述算法,也称为盒图
C: N-S图由很多特殊图形和流程线组成
D:伪代码是程序设计语言的一种
答案: 算法可以用自然语言来描述

6、 关于printf()函数下列正确的是 。

A: printf()函数是库函数,使用时要用#define命令将其包含进来
B:printf()函数是格式化输入函数,由格式控制符来控制输出格式
C:printf()与scanf()函数必须一起使用
D:printf()函数每次只能输入一个对象
答案: printf()函数是格式化输入函数,由格式控制符来控制输出格式

7、 scanf()函数中的地址列表由 组成。

A:变量
B:表达式
C:地址项
D:&
答案: 地址项

8、 下列关于getchar()函数的描述正确的是 。

A:getchar()函数可以有参数也可以省略
B:getchar()函数每次可以从输入设备上读取一个字符
C:getchar()函数每次从输入设备上读取的字符个数取决于格式控制符的格式
D:getchar()函数读取的字符可以是整型、实型、字符型
答案: getchar()函数每次可以从输入设备上读取一个字符

9、 下列关于getchar()函数的描述错误的是 。

A:使用getchar()函数时必须用#include命令将stdio.h文件包含进来
B:getchar()函数的参数为空
C:getchar()函数从键盘上获取字符时以回车作为结束标记
D:getchar()函数从键盘上获取字符时若输入了多个字符,则程序会报错
答案: getchar()函数从键盘上获取字符时若输入了多个字符,则程序会报错

10、 下列关于putchar()函数的说法正确的是 。

A:putchar()函数的参数可以是整型、实型、字符型
B:putchar()函数的参数可以是表达式
C:putchar()函数的参数若是表达式,则直接以表达式的形式 ,而不进行值的计算
D:putchar()函数可以直接使用,而不用#include将stdio.h文件包含进来
答案: putchar()函数的参数可以是表达式

11、 以下程序片段:int x=2,y=3;printf();的运行结果是 。

A:输出为:x=2,y=3
B:什么都不输出
C:输出为:y=3
D:输出为:x=2
答案: 什么都不输出

12、 已知a,b,c为int型变量,若从键盘输入:2,3,4<回车>,使a的值为2,b的值为3,c的值为4,以下选项中合法的输入语句是 。

A:scanf(“%2d%3d%4d”,a,b,c);
B:scanf(“%d,%d,%d”,&a,&b,&c);
C:scanf(“%dV%dV%d”,&a,&b,&c);
D:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);
答案: scanf(“%d,%d,%d”,&a,&b,&c);

13、 若int a,b; double x;以下不合法的scanf函数调用语句是 。

A:scanf(“%d%o%f”, &a,&b,&x);
B:scanf(“%3d%*3d%lf”,&a,&b,&x);
C:scanf(“%o%f%lo”,&a,&b);
D:scanf(“%ld%lo%o”,&a,&b,&x);
答案: scanf(“%o%f%lo”,&a,&b);

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

A:整型变量表达式值
B:字符或字符型变量值
C:字符串
D:实型变量值
答案: 字符或字符型变量值

15、 getchar()函数的参数个数是 。

A:0
B:1
C:2
D:任意
答案: 0

16、 用getchar()函数可以从键盘读入一个 。

A:整型变量表达式的值
B:浮点型变量的值
C:字符串
D:字符或字符型变量
答案: 字符或字符型变量

17、 printf函数中用到格式符 %8s,其中数字8表示输出的字符占用8列。如果字符串长度等于5,则输出按方式 。

A:右对齐输出该字符串,左补空格
B:从左起输出该字符串,右补空格
C:当字符串长度小于格式中规定的长度时,格式中的规定被忽略
D:当字符串长度小于格式中规定的长度时,格式中的规定被忽略
答案: 右对齐输出该字符串,左补空格

18、 以下说法正确的是 。

A:scanf()函数的输入项可以是整型、实型、字符型等变量
B:若省略了scanf()函数中的格式控制字符,则用户在输入终端输入数据时类型不受限制
C:scanf()函数输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(”% 4.2f “,&f);
D:scanf()函数输入数据时,必须指明变量的地址
答案: scanf()函数输入数据时,必须指明变量的地址 

19、 若有以下定义和语句: int a=010 ,b=0x10 ,c=10 ; printf(”%d ,%d ,%d” ,a ,b ,c) ; 则输出结果是: 。

A:10 ,10 ,10
B:8 ,8 ,10
C:8 ,10 ,10
D:8 ,16 ,10
答案: 8 ,16 ,10

20、 printf()函数中格式控制符%5s,其中数字5表示 。

A:输出项的个数为5
B:表示输出的字符串占用5列
C:表示输出的实型数据保留5位小数
D:输出错误
答案: 表示输出的字符串占用5列

21、 有以下程序段: main(){char c; c=getchar();},若在键盘上输入hello,则c获得的数据为 。}

A:hello
B:h
C:(hello)
D:无数据
答案: h

22、 以下程序段的输出结果是int a=1234;printf(“a=%2d”,a);

A: a=12
B: a=34
C: a=1234
D:提示出错、无结果
答案:  a=1234 

23、 以下选项中属于C语言的数据类型是

A:复合型
B:双精度型
C:逻辑型
D:集合型
答案: 双精度型

24、 指出下面正确的输入语句

A:scanf(“a=b=%d”,&a,&b);
B:scanf(“%d,%d”,&a,&b);
C:scanf(“%c”,c);
D:scanf(“%f%d”,&f);
答案: scanf(“%d,%d”,&a,&b);

25、 若有定义:int x=6,n=5;则计算x+=++n后x的值为

A:10
B:11
C:12
D:13
答案: 12

26、 若有定义:int x=6,n=5;则计算x+=++n后n的值为

A:4
B:6
C:5
D:3
答案: 6

27、 设x=5,y=(++x)+(x–);那么y的值为

A:12
B:13
C:10
D:11
答案: 12

28、 假设所有变量均为整型,则表达式(a=2,b=5,a+b)的值是

A:7
B:6
C:5
D:8
答案: 7

29、 设有语句int a=1;则执行了语句a+=a-=a*a后,变量a的值是

A:1
B:2
C:3
D:0
答案: 0

30、 C语言中,合法的字符型常数是

A:‘A’
B:“A”
C:66
D:A
答案: ‘A’ 

作业第4章 选择结构程序设计 第4章 测试题

1、 用Switch结构设计有两个操作数的数学运算。
评分规则:  写出完整程序得8分,语法语义完全正确得10分。

第4章 选择结构程序设计 第4章 测试题

1、 下列条件语句中,功能与其他语句不同的是 。

A:下列条件语句中,功能与其他语句不同的是 。
B:if(a==0) prinff(“%d”,y); else printf(“%d”,x);
C:if(a!=0) printf(“%d”,x); else printf(“%d”,y);
D:if(a==0) printf(“%d”,x); else printf(“%d”,y);
答案: if(a==0) printf(“%d”,x); else printf(“%d”,y);

2、 假定所有变量均已正确说明,下列程序段运行后x的值是______。 a=b=c=0;x=12; if(!a)x–; else x=5; if(c) x=3; else x=4;

A:11
B:4
C:12
D:3
答案: 4

3、 下列叙述中正确的是 。

A:下列叙述中正确的是 。
B:在switch语句中必须使用default
C:break语句必须与switch语句中的case配对使用
D:break语句必须与switch语句中的case配对使用
答案: break语句必须与switch语句中的case配对使用

4、 假定所有变量均已正确说明,以下程序段运行后的输出结果是 。int a=1,b=3,c=5; if(c=a+b) printf(“yes”); else printf(“no”);

A:2
B:3
C:5
D:1
答案: 3

5、 当把以下4个表达式用作if语句的控制表达式时,有一个选项与其他3个选项含义不同,这个选项是 。

A: k%2
B: k%2==1
C:(k%2)!=0
D: !k%2==1
答案:  !k%2==1

6、 假定所有变量均已正确说明,以下程序段运行后的输出结果是 。int n=0,m=l,x=2; if(!n) x-=l; if(!m) x-=2; if(!x) x-=3; printf (” %d”,x);

A:2
B:1
C:3
D:6
答案: 1

7、 假定所有变量均已正确说明,以下程序段运行后的输出结果是 。int a=3,b=5,c=7; if(a>b) a=b; c=a; if(c!=a) c=b; printf(“%d,%d,%d”,a,b,c);

A:程序段有语法错
B:3,5,3
C: 3,5,5
D:3,5,7
答案: 3,5,3

8、 假定所有变量均已正确说明,执行以下程序段时,从键盘上输入1和2,则结果是 。int a,b,s; scanf(“%d%d”,&a,&b); s=a; if(a<b) s=”b;” printf(“%d”,s);=”” =”” a:1=”” b:4=”” c:2=”” d:9=”” 答案:=”” <span=””>4</b)>

9、 有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不等于3的是 。

A:if(c<3)x=1; else if(b<2)x=2; else x=3;
B: if(a<2)x=3; else if(a<1)x=2; else x=1;
C:if(a<3)x=3; if(a<2)x=2; if(a<1)x=1;
D:if(a<2)x=b; if(b<3)x=c; if(c<1)x=a;
答案: if(a<3)x=3; if(a<2)x=2; if(a<1)x=1;

10、 下面选项if语句形式不正确的是 。

A:if (x>y&&x!=y);
B:if (x==y) x+=y,
C:if(x!=y) scanf(“%d”,&x); else scanf(“%d”,&y);
D:if(x<y) {x++;y++;}=”” 答案:=”” <span=””>if (x==y) x+=y,</y)>

11、 为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与 配对。

A:缩排位置相同的if
B:其之前最近的没有else配对的if
C:其之后最近的if
D:同一行上的if
答案: 其之前最近的没有else配对的if

12、 在下面的条件语句中,只有一个在功能上与其它三个语句不等价,它是 。

A:if (a) 语句1 else 语句2
B:if (a==0) 语句2 else 语句1
C:if (a!=0) 语句1 else 语句2
D:if (a==0) 语句1 else 语句2
答案: if (a==0) 语句1 else 语句2

13、 在C语言语句中,用来决定分支流程的表达式是 。

A:可用任意表达式
B:只能用逻辑表达式或关系表达式
C:只能用逻辑表达式
D:只能用关系表达式
答案: 可用任意表达式

14、 假定所有变量均已正确说明,以下程序段运行后的输出结果是 。int k; k=-3; if(k<=0) printf(“####”); else printf(“&&&&”);

A:####
B:&&&&
C:####&&&& 
D:有语法错误,无输出结果
答案: ####

15、 以下程序的输出结果是 。#include main(){ int x=0,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf(“a=%d,b=%d”,a,b);}

A:a=2,b=1
B:a=1,b=1
C:a=1,b=0
D:a=2,b=2
答案: a=2,b=2

16、 假定所有变量均已正确说明,以下程序段运行后的输出结果是 。int a=1,b=5,c=3;if(a>b)a=b;b=c;c=a;printf(“a=%d b=%d c=%d”,a,b,c);

A: a=1 b=5 c=1
B: a=1 b=3 c=1
C:a=5 b=3 c=1
D:a=5 b=3 c=5
答案:  a=1 b=3 c=1

17、 有以下程序#include main(){ int a=5,b=4,c=3,d=2; if(a>b>c) printf(“%d”,d); else if((c-1>=d)==1) printf(“%d”,d+1); else printf(“%d”,d+2);}执行后输出结果是 。

A:2
B:3
C:4
D:编译时有错,无结果
答案: 3

18、 对下述程序, 是正确的判断。 #include main ( ) { int x,y;scanf(“%d,%d”,&x,&y);if (x>y) x=y;y=x;else x++;y++;printf(“%d,%d”,x,y); }

A:有语法错误,不能通过编译
B:若输入3和4,则输出4和5
C:若输入4和3,则输出3和4
D:若输入4和3,则输出4和5
答案: 有语法错误,不能通过编译 

19、 下述程序的输出结果是 。#include main ( ){ int a=0,b=0,c=0; if (++a>0 | | ++b>0) ++c; printf(“%d,%d,%d”,a,b,c);}

A:0,0,0
B:1,1,1
C:1,0,1
D:0,1,1
答案: 1,0,1

20、 在C语言中,多分支选择结构语句为:switch(c){ case 常量表达式1:语句1; …… case 常量表达式n-1:语句n-1; default 语句n;}其中括号内表达式c的类型: 。

A:可以是任意类型
B:只能为整型
C:可以是整型或字符型
D:可以为整型或实型
答案: 可以是整型或字符型

21、 若有以下定义:float x; int a,b; 则正确的switch语句是 。

A:switch(x) { case 1.0: printf(““); case 2.0: printf(““); }
B:switch(x) { case 1,2: printf(“*”); case 3: printf(“
“); }
C:switch(a+b) { case 1: printf(“
“); case 1+2: printf(““); }
D: switch(a+b); { case 1: printf(“*”); case 2: printf(“
“); }
答案: switch(x) { case 1.0: printf(““); case 2.0: printf(“*”); }

22、 以下程序中与语句k=a>b? (b>c?1:0):0功能等价的是 。

A: if((a>b)&&(b>c)) k=1; else k=0;
B: if((a>b)||(b>c)) k=1; else k=0;
C: if (a<=b) k=0; else if (b<=c) k=1; else if (b<c) k=”1;” else=”” d:=”” if(a=””>b) k=1;
答案:  if((a>b)&&(b>c)) k=1; else k=0; </c)>

23、 若欲表示在if后a不等于0的关系,则能够正确表示这一关系的表达式为 。

A:a<>0
B:!a
C:a=0
D:a
答案: a

24、 下列各语句序列中,能够将变量a和b中的较大值赋值到变量t中的是 。

A:if(a>b) t=a ; t=b;
B:t=b; if(a>b) t=a;
C:t=b; if(a>b) t=a;
D:t=a ; if(a>b) t=b;
答案: t=b; if(a>b) t=a;

25、 有以下程序 #include main() { int x; scanf(“%d”,&x); if(x<=3) ; else if(x!=10) printf(“%d”,x); } 程序运行时,输入的值在______范围才会有输出结果。

A:不等于10的整数
B:大于3且不等10的整数
C:大于3或等于10的整数
D:小于3的整数
答案: 大于3且不等10的整数

26、 以下4个选项中,不能看作一条语句的是______。

A:{;}
B:a=0,b=0,c=0;
C: if(a>0);
D: if(b==0)m=1;n=2;
答案:  if(b==0)m=1;n=2;

27、 有以下程序#include main() { int a=0,b=4,c=0,d=10,x; if(a) d=d-10; else if(!b) if(!c) x=15; else x=25; printf(“%d”,d); }程序运行后的输出结果是______。

A:5
B:3
C:20
D:10
答案: 10

28、 若变量已正确定义,有以下程序段 int a=3,b=5,c=7; if(a>b)a=b; c=a; if(c!=a)c=b; printf(“%d,%d,%d”,a,b,c); 其输出结果是______。

A:程序段有语法错
B:3,5,3
C:3,5,5
D:3,5,7
答案: 3,5,3 

29、 有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是______。

A:if (c<a) x=”1;   else” if=”” (b<a)=””    else=”” b:if=”” (a<3)=”” c:if=””    if=”” (a<2)=”” (a<1)=”” d:if=”” (a<b)=”” (b<c)=”” (c<a)=”” 答案:=”” <span=””>if (a<3) x=3;    if (a<2) x=2;   if (a<1) x=1;</a)>

30、 当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为______。 if(a<b) if(c<d)=”” x=”1;” else=”” if(a<c)=”” if(b<d)=”” elsex=”3;” =”” a:1=”” b:2=”” c:3=”” d:6=”” 答案:=”” <span=””>2</b)>


上方为免费预览版答案,如需购买完整答案,请点击下方红字

点击这里,购买完整版答案


为了方便下次阅读,建议在浏览器添加书签收藏本网页

添加书签方法:

1.电脑按键盘的Ctrl键+D键即可收藏本网页

2.手机浏览器可以添加书签收藏本网页

中国大学mooc慕课 高级语言程序设计(安康学院)  答案满分完整版章节测试第1张

中国大学mooc慕课 高级语言程序设计(安康学院)  答案满分完整版章节测试第2张


我们的公众号

打开手机微信,扫一扫下方二维码,关注微信公众号:萌面人APP

本公众号可查看各种网课答案,还可免费查看大学教材答案

点击这里,可查看公众号功能介绍

中国大学mooc慕课 高级语言程序设计(安康学院)  答案满分完整版章节测试第3张


 

镜漓昏施疽冗酪莱鼎剁侩爽旅