Bootstrap

c语言程序不用编译即可被计算机识别运行,C语言程序设计-中国大学mooc-题库零氪...

第1 周 程序设计与C语言简介

1.1 程序设计基础随堂测验

1、计算机只能处理由人们编写的、解决某些问题的、事先存储在计算机存储器中的二进制指令序列。

第1周单元测验

1、通常把高级语言源程序翻译成目标程序的程序称为( )。

A、编辑程序

B、解释程序

C、汇编程序

D、编译程序

2、一个算法应该具有"确定性"等5个特性,下面对另外4个特性的描述中错误的是()。

A、有零个或多个输出

B、有穷性

C、有零个或多个输入

D、可行性

3、结构化程序由三种基本结构组成,三种基本结构组成的算法,( )。

A、只能完成一些简单的任务

B、只能完成符合结构化的任务

C、可以完成任何复杂的任务

D、只能完成部分复杂的任务

4、C语言规定,在一个源程序中,main函数的位置()。

A、必须在系统调用的库函数的后面

B、必须在最后

C、可以任意

D、必须在最开始

5、以下叙述正确的是()。

A、在对一个C程序进行编译的过程中,可发现注释中的拼写错误

B、在C程序中,main函数必须位于程序的最前面

C、C语言本身没有输入输出语句

D、C程序的每行中只能写一条语句

6、一个C程序的执行是从()。

A、本程序的main函数开始,到main函数结束

B、本程序文件的第一个函数开始,到本程序main函数结束

C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

D、本程序的main函数开始,到本程序文件的最后一个函数结束

7、以下叙述中正确的是 ()。

A、花括号"{"和"}"只能作为函数体的定界符

B、构成C程序的基本单位是函数,所有函数名都可以由用户命名

C、分号是C语句之间的分隔符,不是语句的一部分

D、C程序中注释部分可以出现在程序中任意合适的地方

8、以下叙述正确的是( )。

A、C语言允许直接访问物理地址,可以直接对硬件进行操作

B、C语言程序不用编译,即可被计算机识别运行

C、C语言不允许直接访问物理地址,不可以直接对硬件进行操作

D、C语言程序只需编译,不需连接即可被计算机运行

9、下面不是算法特征的是( )。

A、继承性

B、有穷性

C、确定性

D、可行性

10、关于C语言,下面叙述不正确的是()。

A、既具有高级语言的特点,又具有汇编语言的特点

B、既能用来编写不依赖计算机硬件的应用程序,又能用来编写各种系统程序

C、语法限制不太严格,例如,对数组下标越界不作检查

D、不用编译可以直接运行

11、下面选项()不属于结构化程序设计原则。

A、自顶向下

B、逐步求精

C、程序模块化

D、不限制GOTO语句使用

12、下面选项中,( )不属于程序的特性。

A、目的性

B、有序性

C、有限性

D、可操作性

E、实用性

13、计算机只能完成其能力范围内的计算工作,超出计算机能力范围的计算计算机将无法完成。

14、可计算问题的规模造成复杂度加大,理论上计算机可以完成的计算工作,实际计算机都可以完成。

15、程序是计算机为完成某一任务所必须执行的一系列指令的有序集合。

16、高级语言是用接近自然语言的符号,按照一定的语法规则编写程序,需要编译程序翻译成机器指令才能被计算机执行。

17、编译方式下的程序当修改源程序后,需要重新编译才能够正确运行。

18、面向对象程序设计方法具有与人们的习惯与思维方法一致,便于解决复杂问题的特性。

19、C语言属于面向过程的优秀程序设计语言,既可作为系统设计语言,也可作为应用程序设计语言。

20、算法可以分为数值算法和非数值算法两大类。

21、对于同一个问题,只能有唯一的算法去解决。

22、C语言中不区分大小写字母。

23、程序中适当地添加注释,可以增加程序的可读性和清晰性。

24、在VC++6.0环境下,任何一个C程序都必须包含在一个工程项目中,而且只能有一个main函数。

25、经过编译、连接后的可执行程序可以多次运行。

26、C语言开发工具直接输入的程序代码是____文件,经过编译后生成的是目标程序文件, 经过连接后生成的是可执行程序文件。

27、C语言源程序的基本组成单位是_____。

28、结构化程序设计所规定的三种基本控制结构是顺序结构、_____结构和循环结构。

29、算法的效率通常由_____ 复杂度和空间复杂度衡量。

30、描述算法的方法主要有_____、专用工具(传统流程图、N-S流程图)和伪代码等。

31、计算机系统由硬件系统和______系统两部分组成。

32、计算机语言分为:机器语言、汇编语言和_________语言。

33、程序的执行方式分为_________和解释两种方式。

34、衡量算法的时间复杂度是指对于相同规模的问题,算法的执行_______的长短。

第1周在线编程作业

1、Hello World!

2、我爱编程。

3、计算两个整数的乘积。

第2周 变量及表达式

2.1 变量和常量随堂测验

1、以下不合法的变量命名是( )。

A、_123

B、xfloat

C、stu_1

D、float

2.1 变量和常量随堂测验

1、字符串"\\\’\054"占用的存储空间的长度是____。

2.1 变量和常量随堂测验

1、下列哪些是C语言的合法的字符常量?

A、'10'

B、"a"

C、'\054'

D、'\085'

2.2 运算符和表达式随堂测验

1、“/”运算符,当两个整数相除时结果取整。

2.2 运算符和表达式随堂测验

1、表达式 a=3*5,a*4,a+5的值为_______。

第2周单元测验

1、关于变量定义,下面说法错误的是()。

A、变量的类型确定了变量占据的存储单元的大小

B、确定了变量的名字

C、确定了变量中的内容

D、确定了变量的表数范围

2、sizeof(float)的执行结果是()。

A、一种函数调用

B、一个浮点表达式

C、一个不合法的表达式

D、一个整型表达式

3、若有 float x=2,y=5.6; 则表达式 (int)x%(int)y将完成( )。

A、将x和y的类型转换为整型

B、将x和y的的表达式的类型转换为整型,完成求余运算

C、不能进行求余运算

D、将x的值的类型转换为整型

4、下列叙述正确的是( )。

A、C语言中的数据的类型不同,在内存中占据相同长度的存储单元

B、C语言中的数据的类型不同,在内存中占据不同长度的存储单元

C、C语言中的常量是没有类型的

D、C语言中的数据的类型不同,但取值范围都是相同的

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

A、用户标识符中可以出现下划线和中划线(减号)

B、用户标识符中不可以出现中划线,但可以出现下划线

C、用户标识符中可以出现下划线,但不可放在标识符开头

D、用户标识符中可以出现下划线和数字,它们都可放在用户标识符的开头

6、下列转义字符中,错误的是( )。

A、' \0xa5'

B、' \031'

C、' \b'

D、' \"'

7、字符串 "\\\\abcd\\\\\n"在内存中占用的字节数是( )。

A、14

B、9

C、10

D、11

8、已知梯形的上底为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.0\2*a+b*h

9、与k=n++完全等价的表达式是( )。

A、n=n+1, k=n

B、k+=n+1

C、k=++n

D、k=n, n=n+1

10、下面关于C语言标识符的命名规则叙述中不准确的是()。

A、只能由字母、数字和下划线组成

B、首字符必须为字母或下划线

C、不区分大小写字母

D、不能使用系统的保留字

11、关于定点数和浮点数的说法,下列说法错误的是()。

A、在计算机中通常用定点数表示整数和纯小数

B、用浮点数表示既有整数部分、又有小数部分的实数

C、浮点数表示的数即是数值的精确值

D、定点数表示数据的范围有限

12、以下哪种运算能从变量x中取得十进制最低位的数字( )。

A、x/10

B、x%10

C、x*10

D、10/x

13、以下哪个数字占据的空间最大( )。

A、32768

B、‘3’

C、32768.0

D、32768.0F

14、以下哪个字母不能在常量数字后面表示类型( )。

A、F

B、U

C、L

D、X

15、以下哪个数字的值最大( )。

A、10

B、010

C、0x10

D、10.0

16、下列哪个不是有效的字符常量( )。

A、‘ ’

B、‘\’‘

C、'1'

D、"1"

17、C语言的关键字是由C语言规定的、具有特定功能的固定字母组合,也称为保留字,共计32个。

18、变量是在程序执行期间其值可以改变的量,必须先定义后使用。

19、变量被定义后没有赋值,其单元内容不可以使用,是内存中的随机数。

20、变量的初始化是指在定义时对其赋值。

21、变量的名字代表内存中的存储单元;变量名和内存中的存储单元相对应,通过变量名来存、取存储单元的内容。

22、定义变量时的变量的类型决定变量占据存储单元的大小和数据的表数范围。

23、变量中只能存放指定类型的数据,程序运行过程中可以改变变量的类型。

24、当存储单元溢出时,数据的值不会受到影响,只会丢掉超过的部分。

25、当有若干运算符同时出现在表达式中时,运算符的优先级规定了运算的先后次序。

26、当若干具有相同优先级的运算符相邻出现在表达式中时,结合性规定了运算的先后次序。

27、在C语言中,对于整型变量采用有符号数和_________数两种存储形式。

28、当赋值语句右边表达式类型与左边变量类型不一致时,以_______类型为准。

29、若有定义:char c='\010'; 则变量C中包含的字符个数为_____个。

30、若有变量定义: char w; int x; float y; double z; 则表达式w*x+z-y的结果为_____类型。

31、设int w=5;w+=-2; 则w的值为_____。

32、已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是_____。

33、在C语言中的实型变量分为float型和double型,按浮点数进行存储,分为数符、_______和尾数几部分。

34、设k=a=5,b=3,a*b,则表达式的值为_____。

35、设有变量定义: int i=3,j=5; float x=2.5; double y=5.0; 则表达式 y+=i-=j*=++x;的计算结果为________。

36、设有变量定义: char a='a'; int i=3, j=5; 则表达式 a=a+i, a+j 的值为________。

37、C语言中用一个符号代表一个常量的量称为________常量。

38、设有变量定义: float x=2.5; double y=5.0; 则表达式 (int)x / (int)y+y的值为______。

第2周编程作业

1、计算圆的面积

2、输出逆序数

第3周 数据的输入与输出

3.1 数据的格式化输出随堂测验

1、在调用printf函数输出数据时,当数据的实际位宽大于printf函数中格式指定宽度时,将按照数据的实际宽度输出数据。

3.2 数据的交互式输入随堂测验

1、输入时可以指定数据的宽度,但不允许指定精度。

3.3 单个字符的输入输出随堂测验

1、单个字符既可以以c格式符也可以以d格式符输出,前者是输出这个字符,后者是输出这个字符的ASCII码值。

第3周单元测验

1、若变量已正确定义,执行语句scanf("%d,%d,%d ",&k1,&k2,&k3);时,正确的数据输入方法是( )。

A、20,30,40

B、2030,40

C、20, 30 40

D、20 30 40

2、printf("a\rHappi\by");在屏幕上正确的输出形式是( )。

A、aHappy

B、Happy

C、Happi

D、aHappi

3、若定义字符变量c1的值是'A',c2的值是'D',执行语句printf("%d,%d",c1,c2-2);后,输出结果是( )。

A、65,66

B、65,68

C、A,68

D、A,B

4、以下程序的输出结果是()。 int main() { float x=3.6; int i; i=(int)x; printf("x=%f,i=%d\n",x,i); return 0; }

A、x=3.600000,i=4

B、x=3 i=3.600000

C、x=3,i=3

D、x=3.600000,i=3

5、已定义double a; int i;选择正确的输入格式为( ) 。

A、scanf("%6.2f%3d", &a,&i);

B、scanf("%lf%s", &a,&i);

C、scanf("%6lf%3d",&a,&i);

D、scanf("%f%d", a,i);

6、已有定义char s1,s2;,下面正确的语句是( )。

A、scanf ("%s%c", s1,s2);

B、scanf ("%s%c", s1,&s2);

C、scanf ("%c%c", &s1,&s2);

D、scanf ("%c%c",s1,s2);

7、为下面的程序输入数据,使得i=10,k='a' ,j=15,正确的键盘输入方法是( )。 #include int main( ) { int i,j,k; scanf("%d%c%d",&i,&k,&j); printf("i=%d,j=%c,k=%d\n",i,k,j); return 0; }

A、10,a,15

B、10a15

C、10'a'15

D、10a15

8、运行下面的程序,正确的输出结果是( )。 #include int main( ) { double x=68.7563, y= -789.127; printf ("%f, %10.2f\n", x,y); return 0; }

A、68.756300, □□□-789.12

B、68.756300, □□□-789.13

C、68.75, □□□-789.13

D、68.75, -789.12

9、已知float x=2.23,y=4.35;,根据下面的输出结果,正确的程序段是( )。 x=2.230000,y=4.350000 y+x=6.58,y-x=2.12

A、printf("x=%8.2f,y=%8.2f",x,y); printf("y+x=%4.2f,y-x=%4.2f\n",y+x,y-x);

B、printf("x=%8.6f,y=%8.6f\n",x,y); printf("y+x=%4.2f,y-x=%4.2f\n",y+x,y-x);

C、printf("x=%7.2f,y=%7.2f\n",x,y); printf("y+x=%3.2f,y=%3.2f\n",y+x,y-x);

D、printf("x=%f,y=%f\n",&x,&y); printf("y+x=%f,y=%f\n",y+x,y-x);

10、C语言中本身没有提供专门的输入输出语句,输入输出通过调用函数完成。

11、输入数据时不能指定数据的精度。

12、输入数据时不可以指定数据的宽度。

13、混合输入数值型数据和字符型数据时,数据之间不能加空格。

14、使用getchar()函数可以一次接受多个字符。

15、在使用标准的输入/输出库函数时,应该在程序的开头使用编译预处理命令“#include ”。

16、字符型数据存储其ASCII码值,占一个字节,在ASCII范围内与整数通用。

17、输入数据时可以有多种方法分隔多个输入数据。

18、程序的顺序结构是指按照解决问题的顺序写出相应的语句,程序执行顺序按照自上而下,依次按顺序执行。

19、若在输入格式控制字符串中包含普通字符,则输入时必须照原样输入普通字符,否则将导致输入错误。

20、getchar()函数只能接收一个_____。

21、下列语句输出的结果是_____。 char ch='b'; printf("%c,%d",ch,ch);

22、用scanf函数输入数据,使得x=1.23, y=67.1234。 #include #include int main( ) { double x,y,z; scanf(" ", &x,&y ); z=2*x+y/sin(3.1415/4); printf("z=%6.2f",z); return 0; }

23、完善下列程序: #include < > int main( ) { char str; str=getchar(); putchar(str); return 0; }

24、根据下面的输出结果, 完善程序。 s1=C,ASCII is 67 x=655.35,y=765.43 #include int main( ) { double x=655.3524,y=765.4271; char s1='C'; printf( , s1,s1,x,y); return 0; }

25、用scanf函数输入数据,使得下面程序运行结果为a=2,b='x',c='z' #include int main( ) { int a, b; scanf("%d%c", &a,&b ); printf(" ",a,b,b+2); return 0; }

26、下面程序的运行结果是: 。 #include int main( ) { char str=65; printf("str=%c,ASCII=%d",str,str ); return 0; }

27、在格式说明符中,当%后边出现______,表示要跳过相应的数据,是附加说明符。

28、若要将数据以指数形式输出,应该选择______格式符。

第3周编程作业

1、交换两个变量

2、输出字符ASCII码

第4周 选择结构程序设计

4.1 关系运算与逻辑运算随堂测验

1、算术运算符的优先级高于关系运算符。

4.2 程序分支结构—if-else语句随堂测验

1、写出下列程序段的输出结果: int a = 56; if ( a>50 ) printf("A"); if ( a>40 ) printf("B"); if ( a>30 ) printf("C");

4.3 多重分支结构-switch语句随堂测验

1、写出下列程序段的输出结果:_______。 int i=1; switch ( i%3 ) { case 0: printf("zero"); case 1: printf("one"); case 2: printf("two"); }

第9周 函数的定义及调用

9.2 函数的参数传递随堂测验

1、关于函数调用的值传递,下列正确的是( )。

A、值传递的传输方向是单向的,从主调函数到被调函数

B、值传递的传输方向是单向的,从被调函数到主调函数

C、值传递的数据传输方向是双向的

D、值传递时,实参和形参使用相同的存储空间

9.2 函数的参数传递随堂测验

1、关于函数调用的地址传递,下列正确的是( )。

A、地址传递的传输方向是单向的,从主调函数到被调函数

B、地址传递的传输方向是单向的,从被调函数到主调函数

C、地址传递的实参和形参使用相同的变量名

D、地址传递时,实参和形参使用相同的存储空间

C语言程序设计期末考试

C语言程序设计课程期末考试-- 编程题

1、输入一个三位数,将该数逆序输出。

2、输出水仙花数

3、求矩阵主对角线和副对角线元素之和

4、用循环语句实现判断并求和。

;