moocC语言章节答案(mooc2023课后作业答案)

分类: 慕课习题发布于:2024-06-02 12:33:19ė93748次浏览638条评论

moocC语言章节答案(mooc2023课后作业答案)

第一章 C语言概述

第一章单元测验

1、语言章业答一个C程序可能出现的节答错误有
A、语法错误
B、案m案逻辑错误
C、后作运行错误
D、语言章业答以上都包括

2、节答C程序中一般可以包含几个函数
A、案m案只有1个
B、后作必须多于2个
C、语言章业答0个
D、节答至少1个

3、案m案C语言属于程序设计语言的后作哪个类别
A、高级语言
B、语言章业答汇编语言
C、节答机器语言
D、案m案面向对象语言

4、以下关于C语言描述错误的是
A、一个C程序总是从main函数开始执行
B、一个C程序可以包含多个main函数
C、每个语句的最后必须有一个分号
D、C语言的注释符是以"/*"开始并以"*/"结束

5、在调试过程中,逻辑错误是指
A、所书写的语句,不符合C的语法
B、在exe文件的执行过程中,产生运行异常
C、程序的运行结果不符合题目要求
D、在从obj生成exe文件的过程中,如果函数名书写错误,可能产生的错误

第二章 数据类型与表达式

第二章单元测试

1、类型修饰符unsigned不能修饰
A、char
B、int
C、long int
D、float

2、16位的二进制数可以表示的整数的范围是
A、[-32768,32767]
B、[-32767,32768]
C、[-32768,32768]
D、[-32767,32767]

3、C语言中的实型数据包括
A、int和float
B、float和double
C、int和double
D、float和char

4、以下不合法的字符常量是
A、'2'
B、'ab'
C、'A'
D、'\n'

5、在以下各组标识符中,均是合法的C语言标识符是
A、abc,A_4d,_student,xyz_abc
B、auto,12-a,a_b,ab5.x
C、A_4d,_student,xyz_abc,if
D、abc,a_b,union,scan

6、在C语言中,要求参加运算的数必须是整数的运算符是
A、/
B、*
C、%
D、++

7、若有定义:char a;int b;float c;double d; 则表达式a*b+d-c值的类型为
A、float
B、double
C、char
D、int

8、设有定义:int a=7;float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是
A、2.75
B、3.5
C、0.0
D、2.5

9、若有定义:double x=1,y; 执行语句y=x+3/2;,则y的值是
A、1
B、2
C、2.0
D、2.5

10、设int a=1,b=2;以下选项中不正确的语句是
A、a*3=3
B、a/=1
C、a+=3
D、a=a+b

第三章 基本程序结构

第三章单元测试

1、算法描述可以有多种表达方法,下面( )方法不可以描述算法
A、N-S图
B、自然语言
C、伪代码
D、机器语言

2、执行以下程序后k的值是( )int i,j=10,k=0; for(i=0;i<=j;i++) { k=i+j; j--; }
A、8
B、9
C、10
D、11

3、设int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为( )
A、0
B、1
C、2
D、3

4、表示y在(-∞,3]和[23,+∞)范围内为真的表达式为( )
A、(y<=3)&&(y>=23)
B、(y<=3)||(y>=23)
C、(y<3)&&(y>23)
D、(y<3)||(y>23)

5、已知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

6、设有声明语句:int a=1,b=0; 则执行以下语句后输出结果为( ) switch(a) { case 1: switch(b) { case 0:printf("**0**");break; case 1:printf("**1**");break; } case 2:printf("**2**");break; }
A、**0**
B、**0****2**
C、**0****1****2**
D、有语法错误

7、设有以下程序,若要使程序的输出值为2,则应该从键盘给n输入的值是( )void main() { int s=0,a=1,n; scanf("%d",&n); do { s=s+1; a=a-2; }while(a!=n); printf("%d ",s); }
A、0
B、-1
C、-3
D、-5

8、for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是( )
A、9
B、8
C、3
D、2

9、以下程序段的输出结果是( )int x=5; if(x--<5) printf("%d",x); else printf("%d",x++);
A、6
B、5
C、4
D、3

10、对下面程序段,描述正确的是( )for(t=1;t<=100;t++) { scanf("%d",&x); if(x<0) continue; printf("%d ",x); }
A、最多允许输出100个非负整数
B、printf函数永远也不执行
C、当x>=0时,什么也不输出
D、当x<0时,整个循环结束

第四章 数组

第四章单元测试

1、C语言中,由固定数目的同类型的变量按一定顺序排列而构成的是( )。
A、队列
B、链表
C、结构体
D、数组

2、当数据已知的情况下,可以在定义数组时,对数组进行初始化,但不可( )。
A、对全部元素赋初值
B、对部分元素赋初值
C、对数组元素赋同一初值
D、在方括号中写入变量表达式

3、数组元素下标可从( )开始。
A、1
B、0
C、任意自然数
D、用户指定

4、冒泡排序中,若有n个数,第一趟最多需要比较( )次。
A、n
B、n-1
C、2n
D、2(n-1)

5、利用冒泡排序得到升序排列,每一趟中从前到后遍历数组,将相邻两个数作比较,如果前面的数小于后面的数,则( )。
A、交换两个数的位置
B、将当前数据后移
C、将当前数据前移
D、不做操作

6、若不允许函数修改数组元素,则可以用( )限定符作为数组参数的前缀,这样数组元素就成为函数中的常量。
A、const
B、include
C、define
D、fix

7、在定义int m[ ][3]={ 1,2,3,4,5,6};后,m[1][0]的值是( )。
A、4
B、1
C、2
D、5

8、若给出以下定义: char x[ ]="abcdefg"; char y[ ]={ 'a','b','c','d','e','f','g'}; 则正确的叙述为( )。
A、数组x和数组y等价
B、数组x和数组y的长度相同
C、数组x的长度大于数组y的长度
D、数组x的长度小于数组y的长度

9、函数调用语句为: int a[10],maxnum; … maxnum=max(a); 函数定义首部应为( )。
A、int max(int b)
B、int max(int b[])
C、int max(int a)
D、double max(int b[])

10、若有定义:int b[3][4]=;则下述正确的是( )。
A、此定义语句不正确
B、没有元素可得初值0
C、数组b中各元素均为0
D、数组b中各元素可得初值但值不一定为0

第五章 函数

第五章单元测试

1、包含标准库函数scanf声明的头文件是( )
A、stdio.h
B、stdlib.h
C、math.h
D、time.h

2、以下关于函数的叙述中正确的是( )
A、C语言程序将从源程序中第一个函数开始执行
B、可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C、main可作为用户标识符,用以定义任意一个函数
D、C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束

3、以下关于函数的叙述中不正确的是( )
A、在C语言程序中,被调用的函数必须在main函数中定义
B、C程序是函数的集合,包括标准库函数和用户自定义函数
C、在C语言程序中,函数的定义不能嵌套
D、在C语言程序中,函数的调用可以嵌套

4、以下不正确的说法是( )
A、在不同函数中可以使用相同名字的变量
B、形式参数是局部变量
C、在函数内定义的变量只在本函数范围内可以使用
D、在主函数内定义的变量可在其余函数中通用

5、以下正确的函数定义是( )
A、double fun(int x,int y) { z=x+y; return z; }
B、fun(int x,y) { int z; return z; }
C、fun(x,y){ int x,y; double z; z=x+y; return z; }
D、double fun(int x,int y) { double z; z=x+y; return z; }

6、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( )
A、地址传递
B、单向值传递
C、由实参传给形参,再由形参传回实参
D、由用户指定传递方式

7、下列程序的运行结果是( ) #include <stdio.h> void fun(); int main() { int a=10; fun(); printf("%5d",a); return 0; } void fun() { int a=20; printf("%5d",a); }
A、10 10
B、20 10
C、20 20
D、10 20

8、下列程序的运行结果是( ) #include <stdio.h> void fun(); int a=5; int main() { int a=10; fun(); printf("%5d",a); return 0; } void fun() { a=a+5; printf("%5d",a); }
A、10 10
B、5 10
C、10 5
D、5 5

9、以下正确的描述是( )
A、函数的定义可以嵌套,但函数的调用不可以嵌套
B、函数的定义不可以嵌套,但函数的调用可以嵌套
C、函数的定义和函数的调用均不可嵌套
D、函数的定义和函数的调用均可以嵌套

10、下列程序的运行结果是( ) #include <stdio.h> int fun1(int x); void fun2(); int x=5; int main() { int x=1; x=fun1(x); printf("%d",x); return 0; } int fun1(int x) { x++; fun2(); return x; } void fun2() { x++; }
A、2
B、6
C、7
D、5

第七章 指针

第七章单元测试

1、系统根据( )为变量分配内存单元。
A、类型
B、数据
C、大小
D、名称

2、程序编译后,对变量的访问通过( )来进行的。
A、地址
B、变量名
C、函数
D、文件

3、int a[5]={ 10,20,30,40,50 }, *p=a; printf("%d\n",*p+1); 结果是( )。
A、10
B、11
C、20
D、21

4、若int *p[4],则p的含义是( )。
A、整型变量
B、指针数组
C、指向整型的指针
D、指向一维分数组的指针

5、请正确的填充语句:void main( int argc, char ( ))。
A、argv
B、argv[ ]
C、*argv[ ]
D、**argv[ ]

6、定义p为指向函数的指针变量,应该采用( )方式。
A、int p( int x );
B、int p ( int *x );
C、int *p ( int *x);
D、int (*p)( int x );

7、获取指针变量所指向的值时所用的运算符是( )。
A、*
B、%
C、&
D、!

8、int a[10], *p;则让p指向数组的首地址的语句是( )。
A、p=a[0];
B、p=&a[0];
C、a=p;
D、*p=a;

9、数组名是表示数组首地址的( )。
A、常量
B、变量名
C、结构体
D、别名

10、int a[3][5], *p; p=a[0]; 则p++后的值代表了( )。
A、第一个元素的首地址
B、第二行的首地址
C、第一个元素的值
D、第一行第二个元素的首地址

第八章 文件

第八章单元测试

1、将文件分为ASCII码文件和二进制码文件两种,是从文件的( )来区分的。
A、读写方式
B、存盘方式
C、编码方式
D、打开方式

2、文本文件在磁盘存放时,每个字符对应一个字节,用来存放( )码。
A、二进制
B、ASCII
C、字符
D、数字

3、文件操作流程中的最后一个步骤是( )文件。
A、打开
B、读取
C、存储
D、关闭

4、文件的变量类型名是( )。
A、char
B、int
C、file
D、FILE

5、在fopen函数中,“rb”表示为输入打开一个( )文件。
A、文本
B、二进制
C、头文件
D、目标文件

中国大学C语言

中国大学C语言,是指中国大学中普遍采用的一种编程语言教学,也是计算机科学专业中必修的一门课程。C语言是一门面向过程和结构化编程的语言,它具有高效、跨平台和易学易用等特点,成为了计算机科学领域中最重要的编程语言之一。

C语言的背景与历史

C语言的历史可追溯到20世纪60年代末期,当时贝尔实验室的计算机科学家丹尼斯·里奇(Dennis Ritchie)和肯·汤普逊(Ken Thompson)在开发UNIX操作系统时,为了方便编程,发明了一种新的编程语言——B语言。B语言是一种面向过程的编程语言,但由于B语言的语法和特性较为简单,存在很多缺陷,因此里奇和汤普逊又在B语言的基础上进行了改进,并于1972年正式发布了C语言。C语言一经推出就受到了广泛的欢迎和认可,不仅因为它比B语言更灵活、更强大,而且由于C语言的跨平台特性,使得它能够在不同的操作系统中运行,因此成为了当时计算机科学领域中最重要的编程语言之一。

中国大学C语言的发展历程

中国大学C语言的教学,最早可以追溯到20世纪80年代末期。当时,中国大学计算机科学专业的课程设置还很简单,只有计算机基础、程序设计和汇编语言等几门课程。但随着计算机技术的飞速发展和互联网的普及,计算机科学专业的课程设置也逐渐扩大和深化,C语言也成为了计算机专业中必修的一门课程。在教学过程中,许多教师和学生都致力于编写C语言的教材和教学资源,为C语言的教学和普及做出了重要的贡献。

中国大学C语言的教学内容和教学方法

中国大学C语言的教学内容主要包括语法基础、控制语句、函数、数组、指针、结构体、文件操作等内容。在教学方法上,一般采用理论课和实验课相结合的方式进行。理论课主要讲解C语言的语法特点、基本语法结构和常用函数等,实验课则通过编写程序来加深对C语言的理解和掌握。在实验课中,学生需要按照教师的要求完成一些小的编程任务,例如编写计算器、猜数字游戏等,通过实践来掌握C语言的使用技巧和编程思路。

中国大学C语言的教材和参考书目

中国大学C语言的教材和参考书目非常丰富,主要包括以下几本著作:

  • 《C程序设计语言》(The C Programming Language):由Dennis Ritchie和Brian Kernighan编写的经典C语言教材,是C语言学习者必读的一本书。
  • 《C和指针》(C Pointers and Memory Management):这本书由美国计算机科学家比尔·克朗特(Bill Carlford)等人编写,主要讲解C语言中指针的使用和内存管理,对于学习C语言的指针部分非常有用。
  • 《C Primer Plus》:这本书由美国计算机科学家斯蒂芬·普拉塞斯基(Stephen Prata)编写,主要介绍C语言的基本语法和特点,适合初学者入门使用。

中国大学C语言的应用领域和前景

C语言在计算机领域中应用广泛,尤其在操作系统、编译器、嵌入式系统以及游戏开发等领域中占有重要地位。随着人工智能、物联网等新兴领域的发展,C语言的应用前景也越来越广阔。同时,随着计算机科学领域中其他编程语言的涌现,C语言也在不断地更新和完善,现代C语言也逐渐趋向于面向对象和泛型编程,以满足不同领域的需求。

结语

C语言是计算机科学领域中非常重要的一门编程语言,也是中国大学计算机科学专业必修的一门课程。通过学习C语言,可以提高计算机编程的能力和技巧,更好地适应计算机科学领域的发展和变化。因此,我们应该认真对待C语言的学习,并不断探索和研究C语言在各个领域中的应用和发展。



Ɣ回顶部