奥鹏作业答案 发表于 2016-12-19 02:13:19

重庆大学软件技术基础第123次作业答案参考

第1次作业
一、单项选择题(本大题共50分,共 25 小题,每小题 2 分)
1. 一个C语言程序是由( )组成 A. 主程序 B. 子程序 C. 函数 D. 过程
2. 表达式:10!=9的值是( ) A. true B. 非零值 C. 0 D. 1
3. 下述不合法的用户标识符是( ) A. 2ab B. _ab C. vid D. ab3
4. 数据库系统的最大特点是三级结构和( ) A. 缺乏统一的控制和管理 B. 可以建立用户视图 C. 方便多用户访问 D. 两级数据独立性
5. 若执行printf("%d\n", strlen("a\n\"\x41"))语句,输出结果是( ) A. 8 B. 7 C. 6 D. 4
6. 使用#include “文件名”,寻找被包含文件的方式为( ) A. 直接搜索include系统目录文件 B. 先搜索include系统目录文件,再搜索当前目录的文件 C. 先搜索当前目录的文件,再搜索include系统目录文件 D. 仅搜索当前目录的文件
7. 若有定义int(*p),则标识符p是一个( ) A. 指向整型变量的指针变量 B. 指向函数的指针变量 C. 指向有四个整型元素的一维数组的指针变量 D. 指针数组名,有四个元素,每个元素均为一个指向整型变量的指针
8. 程序设计的过程可简单地归纳为( ) A. 算法设计——编码——检查 B. 构造模型——算法设计——编码 C. 检查——算法设计——编码 D. 算法设计——构造模型——编码
9. 计算机程序是一系列有限长度( )的序列 A. 系统 B. 算法 C. 数据结构 D. 指令
10. 在16位编译系统中,定义int a,则数组某单元所占的字节数是( ) A. 4 B. 2 C. 40 D. 80
11. 下列有关共同体说法正确的是( ) A. 任一时刻,只有一个分量有效,其他分量无意义 B. 共同体变量可以用作函数参数 C. 结构变量可以出现在共同体类型中,而共同体变量不能出现在结构类型中 D. 在定义共同体变量时不能为其初始化
12. 一个顺序表第一个元素的存储地址是300,每个元素的长度为5, 则第7个元素的地址是( ) A. 334 B. 335 C. 330 D. 331
13. 在函数中,不能定义自动变量的位置是( ) A. 所有函数体外 B. 函数形参 C. 复合语句内 D. 函数体的开始部分
14. 若有以下定义和语句 :
则以下选项中错误的语句是( ) A. p=10 B. w=p C. *p=a D. *p=*w
15. 以下正确的叙述是( ) A. 在C语言中,main函数必须位于文件的开头 B. C语言每行中只能写一条语句 C. C语言本身没有输入、输出语句 D. 对一个C语言进行编译预处理时,可检查宏定义的语法错误
16. 在C程序中有如下语句:char *func(int x,int y); 它是( )。 A. 对函数func的定义 B. 对函数func的调用 C. 对函数func的原型说明 D. 不合法的
17. 在数据结构中,从逻辑上可以把数据结构分为( ) A. 动态结构和静态结构 B. 紧凑结构和非紧凑结构 C. 线性结构和非线性结构 D. 内部结构和外部结构
18. 在C语言中,不同类型数据混合运算时要先转换成同一类型后再进行运算。若一表达式中包含有int、unsigned和char类型的数据和变量,则表达式最后的运算结果类型是( ) A. int B. char C. unsigned D. long
19. 以下程序的运行结果是( )

A. 7
B.
6

C. 5
D. 4
20. 编译程序主要执行三个主要步骤:编译、连接和( ) A. 装入 B. 分配资源 C. 解释并执行程序语句 D. 执行程序
21. 操作系统主要执行三种功能:分配系统资源、调度计算机资源和进程管理以及 ( ) A. 提供内存 B. 监督和管理计算机系统的活动 C. 虚拟存储 D. 时间共享
22. 已定义x为float型变量, x=-213.82131; printf("%-3.2f\n",x);则以上程序段输出 ( ) A. ***** B. 3.82 C. 213.82 D. -213.82
23. 循环语句的循环体中执行continue语句,其作用是( ) A. 立即终止程序执行 B. 继续执行continue语句之后的循环体内各语句 C. 跳过continue语句之后的循环体内各语句,继续循环 D. 跳出循环
24. 若有int max(), (*p)(); 为使函数指针变量p指向函数max,正确的赋值语句是( ) A. p=max B. *p=max C. p=max(a, b) D. *p=max(a, b)
25. 以下对C语言函数的有关描述中,不正确的是( ) A. 调用函数时,只能把实参的值传递给形参,形参的值不能传送给实参 B. C函数不能嵌套定义,但可以递归调用 C. 函数必须有返回值,否则就无法使用 D. 一个函数的源代码必须放在一个源程序文件中
二、填空题(本大题共20分,共 4 小题,每小题 5 分)
1. 实型变量的类型说明符有: ______
2. 一个程序是一个指令或语句的序列。一个运行中的程序称为 ______ .
3. 在面向对象方法中,类的实例称为 ______
4. 数组 int a;共定义了 ______ 个数组元素。

三、程序阅读题(本大题共20分,共 2 小题,每小题 10 分)
1. 以下程序的输出结果是?

2. 以下程序的运行结果是什么?


四、程序设计题(本大题共10分,共 1 小题,每小题 10 分)
编程序,输入三个不相等的实数,输出其中的最小值。

第2次作业
一、单项选择题(本大题共50分,共 25 小题,每小题 2 分)
1. 下面的程序执行后,文件test中的内容是( )
A. new world B. worldhello, C. hello, D. hello, rld
2. 建立函数的目的的正确说法是( ) A. 提高程序的执行效率 B. 支持模块化程序设计 C. 减少程序的长度 D. 减少程序文件的存储空间
3. 写出程序运行结果( )
A. 0 B. 1 C. 3 D. 6
4. 算法是解决一个问题的方法和步骤。其中,计算方法是可行的,计算步骤是( ) A. 有穷的 B. 无限的 C. 可读的 D. 可行的
5. 下列描述中正确的是( ) A. 程序就是软件 B. 软件开发不受计算机系统的限制 C. 软件既是逻辑实体,又是物理实体 D. 软件是程序、数据与相关文档的集合
6. 以下程序段的描述,正确的是( )
A. 是死循环 B. 循环执行两次 C. 循环执行一次 D. 有语法错误
7. C语言中,以下叙述正确的是( ) A. 一条语句可分为几行书写 B. 复合语句中不能定义变量 C. break语句只能用于switch结构中 D. main函数必须位于源程序的开头
8. 下列程序的输出结果为 ( )
void main() { int a=14, b=1; printf("%d\n", (a&b)&&b); } A. 0 B. 1 C. true D. false
9. 已知教师记录定义为:
若要把变量t中的生日赋值为“2004年2月23日”,则正确的赋值方式为( ) A. y=2004;m=2;d=23 B. t.y=2004;t.m=2; t.d=23 C. t.birthday.y=2004; t.birthday.m=2; t.birthday.d=23 D. t(birthday)y=2004; t(birthday)m=2; t(birthday)d=23
10.以下正确的叙述是( ) A. 在C语言中,main函数必须位于文件的开头 B. C语言每行中只能写一条语句 C. C语言程序由函数组成 D. 注释不能在一行的开头
11. 在下面的函数声明中,正确的是( ) A. void BC( int a , b ) B. void BD( int x , int y ) C. void BE( int , int=5 ) D. void BF( int x ; int y )
12. 说明语句int (*p)(); 的含义是( ) A. p是一个指向一维数组的指针变量 B. p是指针变量,它指向一个整型数据的指针 C. p是一个指向函数的指针变量,该函数的返回值为整型数 D. p是一个指针函数,该函数的返回值为指针值
13. 设各变量的类型说明如下: int k,a,b; unsigned long w= 5; double x=1.42; 则以下不符合C语言语法的表达式是( ) A. x%(-3) B. w+= -2 C. k=(a=2,b=3,a+b) D. a+= a-=(b=4)*(a=3)
14. 下列程序段的运行结果为 ( )
A. continue B. CONTINUE C. CONT D. contINUE
15. 字符串”\\Hello\tWorld\n”的长度为( ) A. 12 B. 13 C. 14 D. 11
16. 有以下程序运行后的输出结果是( )
A. 0 1 2 B. 1 2 3 C. 2 3 4 D. 3 4 5
17. 若有定义typedef char STRING; STRING s; 则s是( ) A. 字符指针数组变量 B. 字符数组变量 C. 字符变量 D. 字符指针变量
18. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为( ) A. 地址传递 B. 单向值传递 C. 由实参传给形参,再由形参传回给实参 D. 由用户指定传递方式
19. 若定义float a;现要从键盘输入a的数据,其整数位为3位,小数位为2位,则选用( ) A. scanf(“%f”,&a) B. scanf(“%5.2f”,a) C. scanf(“%6.2f”,&a) D. scanf(“%f”,a)
20. 以下对数据结构有关知识的描述错误的是( ) A. 在顺序存储结构中插入元素需要移动大量数据 B. 在顺序存储结构中删除元素需要移动大量数据 C. 在链式存储结构中只需改变节点指针即可插入删除元素(不考虑节点的动态生成和释放) D. 链式存储结构不需要额外空间存放指针
21. 有以下程序运行后的输出结果是( )

A. 192
B. 29
C. 25
D. 编译出错
22. 以下叙述中正确的是()
A. 一个变量的作用域完全取决于变量定义语句的位置
B. 全局变量可以在函数以外的任何部位进行定义
C. 局部变量的“生存期”可以贯穿于该函数的多次调用中
D. 一个变量说明为static存储类是为了限制其他编译单位的引用
23. 队列是一种操作受限的线性表,其最主要的特点是( ) A. 仅在表的一端操作 B. 只允许插入元素 C. 后进先出 D. 先进先出
24. 下列程序的输出结果是 ( )
A. a=20,b=32 B. a=32,b=20 C. a=20,b=20 D. a=32,b=32
25. 要使以下程序中t的输出结果是4,则输入a和b应满足的选择是( )

A. a>0并且a<b
B. a>0并且a>b
C. a<0并且a==b
D. a<0并且a<=b
二、填空题(本大题共20分,共 4 小题,每小题 5 分)
1. 有语句:char A[ ]=“I am a student”;该字符串的长度是 ______ ,A= ______
2. 数据结构指的是数据的组织形式,一般有 ______ 结构和 ______ 结构
3. 下述程序的输出是 ______

4. 要使以下程序段输出10个偶数,请在空白处填入一个合适的整数。
for(i=0;i<= ______ ;) printf(“%d\n”,i+=2);

三、程序阅读题(本大题共20分,共 2 小题,每小题 10 分)
1. 以下程序的输出结果是?

2. 以下程序的输出结果是?


四、程序设计题(本大题共10分,共 1 小题,每小题 10 分)
设计与调用求素数函数,打印1~1000之间的所有素数。

第3次作业
一、单项选择题(本大题共50分,共 25 小题,每小题 2 分)
1. 以下程序的运行结果是 ( )。
   A. 10,-2,5 B. 10,5,7 C. 10,-2,7 D. 5,-2,7
2. 下列程序的输出结果为 ( )
A. 7 B. 6 C. 5 D. 8
3. 以下程序运行后的输出结果是( )
A. 42 B. 45 C. 56 D. 60
4. 能正确表示a和b同时为正或同时为负的逻辑表达式是( ) A. (a>=0||b>=0)&&(a=0 && b>=0)&&(a0)&&(a+b<=0) D. a*b>0
5. 以下程序的运行结果是 ( )
A. 13579 B. 7531 C. 3579 D. 97531
6. 在一棵非空二叉树的中序遍历序列中,根结点的右边( ) A. 只有右子树上的所有结点 B. 只有右子树上的部分结点 C. 只有左子树上的部分结点 D. 只有左子树上的所有结点
7. 在C语言中,非法的八进制数是( ) A. 018 B. 016 C. 017 D. 0257
8. 若有定义char *language[]={"FORTRAN", "BASIC", "PASCAL", "JAVA", "C"}; 则language的值是( ) A. 一个字符 B. 一个地址 C. 一个字符串 D. 不定值
9. 下列程序的输出结果为 ( )
A. a=1, b=0 B. a=2, b=1 C. a=1, b=1 D. a=2, b=2
10. 设有下列程序段,则scanf函数调用语句中对结构体变量成员的不正确引用为 ( ) struct student { char name; int age; char sex; }stu, *p; p=stu; A. scanf("%s", stu.name) B. scanf("%d", p->age) C. scanf("%c", &(p->sex)) D. scanf("%d", &stu.age)
11. 若变量已正确定义并赋值,对库函数错误调用的是( ) A. k=scanf("%d%d",&i,&j) B. printf("\\%d\\\n",k) C. getchar(ch) D. putchar(ch)
12. 以下程序的输出结果是( )
A. 12 B. xy C. 12xy89 D. 1289
13. 已知:int x=-1,y=-1,z=0;表达式:z+=-x+++y的值为( ) A. 2 B. 1 C. 0 D. -1
14. 若float型数据占4个字节,int型数据占2个字节,char型数据占1个字节,以下程序运行结果是( )
A. 25 B. 12 C. 3 D. 22
15. 以下程序的正确运行结果是( )
A. 12,2 B. 不确定 C. 5,25 D. 1,12
16. 以下程序运行后的输出结果是( )
A. 1 2 3 B. 2 3 4 C. 2 2 3 D. 2 3 3
17. 若有说明int *ptr1, *ptr2, m=5,n;,下面正确的语句组是( ) A. ptr1=&m; ptr2=&ptr1 B. ptr1=&m; ptr2=n; *ptr2=*ptr1 C. ptr1=&m; ptr2=ptr1 D. ptr1=&m; *ptr2=*ptr1
18. 以下程序的输出结果是( )
A. 11 B. 20 C. 21 D. 31
19. 如果有FILE *fp;fp=fopen(“test.c”,“r”);则以下描述错误的是( ) A. fopen以只读方式打开文件test.c B. 文件指针fp指向文件test.c的磁盘首地址 C. 可以通过fp对文件test.c进行读操作 D. 以用fclose( fp )关闭test.c文件
20. 以下程序的输出结果是( )
A. 10 B. 1 C. 9 D. 0
21. 现已定义整型变量int i=1; 执行循环语句 while(i++<5);后,i的值为 ( ) A. 1 B. 5 C. 6 D. 以上三个答案均不正确
22. 堆栈是一种特殊的线性表,其最主要的特点是( ) A. 先进先出 B. 后进后出 C. 后进先出 D. ABC描述均对
23. 有以下程序段:
试判断输出结果是( ) A. 产生语法错 B. 随机值 C. A D. 65
24. 下列程序的输出结果为 ( )
A. str[]=abcdef B. str[]=abcdf C. str[]=abde D. str[]=abdef
25. 以下程序运行后的输出结果是( )
A. 4,3,7 B. 3,4,7 C. 5,2,7 D. 2,5,7
二、程序阅读题(本大题共20分,共 4 小题,每小题 5 分)
1. 以下程序运行后,文件test中的内容是?

2. 以下程序的输出结果是:

3. 以下程序的输出结果是 :

4. 以下程序的输出结果是:


三、程序设计题(本大题共30分,共 2 小题,每小题 15 分)
1. 编写程序计算100至1000之间有多少个数其各位数字之和是5。例如,122,131是满足要求的数的两个例子。
2. 已知函数原型:char *myStrMade(char *s1,char *s,int n);其功能是将串s重复n次得到一个新串s1,返回这个新串的指针。请设计该函数代码。


**** Hidden Message *****

命运旅者 发表于 2017-3-31 21:56:03

嗯,感谢楼主
页: [1]
查看完整版本: 重庆大学软件技术基础第123次作业答案参考