0.0675

五煦查题

快速找到你需要的那道考题与答案

moocC程序设计期末答案(慕课2023课后作业答案)

71 min read

moocC程序设计期末答案(慕课2023课后作业答案)

第1讲 了解计算机的序设工作原理

课后测验:了解计算机的工作原理

1、通常所说的计期主机是指:
A、CPU
B、末答计算机机箱
C、案慕案显示器
D、课课CPU、后作内存和外存

2、业答所谓“裸机”是序设指:
A、单片机
B、计期单板机
C、末答不装备任何软件的案慕案计算机
D、只装备操作系统的课课计算机

3、CPU包含
A、后作运算器和控制器
B、业答运算器和存储器
C、序设控制器和存储器
D、运算器、控制器、存储器、输入设备和输出设备

4、在计算机系统中,一个字节的二进制位数为
A、16
B、8
C、32
D、由 CPU的型号决定

5、在计算机中,一个字长的二进制位数是
A、8
B、16
C、32
D、随CPU的型号而定

6、软件与程序的区别是∶
A、程序价格便宜、软件价格昂贵;
B、程序是用户自己编写的,而软件是由厂家提供的;
C、程序是用高级语言编写的,而软件是由机器语言编写的;
D、软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序只是软件的 一部分。

7、计算机软件可以分为:
A、操作系统和应用软件
B、系统软件和应用软件
C、常用软件和不常用软件
D、操作系统和网络软件

8、应用软件是指∶
A、所有能够使用的软件
B、能被各应用单位共同使用的某种软件
C、所有微机上都应使用的基本软件
D、专门为某一应用目的而编制的软件

9、切断计算机电源后,下列存储器中的信息会丢失的是:
A、RAM
B、ROM
C、硬盘
D、U盘

10、课程学习过程中需要使用到编程工具CodeBlocks,它属于______。
A、系统软件
B、应用软件
C、必需软件
D、支撑软件

11、计算机由运算器、_______、存储器、输入设备、输出设备五部分组成。

12、计算机中执行各种算术和逻辑运算操作的部件是_______。

13、计算机中控制执行指令,协调各部件运行,为各部件提供控制信号的部件是____________。

14、显示器和打印机都属于计算机体系结构中______部件的范畴。

15、计算机的指令包括_______和操作数两部分。

第2讲 信息在计算机中的表示

课后测验:信息在计算机中的表示

1、用8位无符号二进制数能表示的最大十进制数为
A、127?
B、128
C、255
D、256

2、十进制数127转换成二进制数是
A、11111111?
B、01111111?
C、10000000?
D、11111110

3、下列数值最大的是
A、1100000B?
B、144O?
C、64H?
D、101

4、若[x]原=10000011,则[x]补=?
A、10000011?
B、11111100?
C、01111100?
D、11111101

5、如果X为负数,由[X]补求[-X]补是将?
A、[X]补各值保持不变?
B、[X]补符号位变反,其它各位不变?
C、[X]补除符号位外,各位变反,末位加1?
D、[X]补连同符号位一起各位变反,末位加1

6、ASCII码(含扩展)可以用一个字节表示,则可以表示的ASCII码值个数为?
A、1024?
B、256?
C、128
D、80

7、英文小写字母d的ASCII码为100,英文大写字母D的ASCII码为?
A、50
B、66
C、52?
D、68

8、在计算机系统中,存储一个汉字的国标码所需要的字节数为?
A、1
B、2
C、3
D、4

9、已知某数X的原码为10110100B,它的反码是
A、10110100B
B、00110100B
C、11001011B
D、11001100B

10、用8位二进制描述数据,计算(-83)补+(-80)补的结果是?
A、01011101B
B、溢出
C、101011101B
D、001011101B

第3讲 编程的理论基础

课后测验:编程的理论基础

1、下列计算机语言中,CPU能直接识别的是
A、自然语言
B、高级语言
C、汇编语言
D、机器语言

2、可移植性最好的计算机语言是∶
A、机器语言
B、汇编语言
C、高级语言
D、自然语言

3、要把高级语言编写的源程序转换为目标程序,需要使用
A、编辑程序
B、驱动程序
C、诊断程序
D、编译程序和解释程序

4、计算机语言有许多种,其中与硬件直接相关的是
A、机器语言
B、网络语言
C、高级语言
D、自然语言

5、计算机算法指的是
A、计算方法
B、排序方法
C、解决问题的有限运算序列
D、调度方法

6、计算机算法必须具备输入、输出和( )等5个特性。
A、可行性、可移植性和可扩充性
B、可行性、确定性和有穷性
C、确定性、有穷性和稳定性
D、易读性、稳定性和安全性

7、结构化程序设计所规定的三种基本控制结构是( )。
A、输入、处理、输出
B、树形、网形、环形
C、顺序、选择、循环
D、主程序、子程序、函数

8、下面选项中不属于面向对象程序设计特征的是( )。
A、继承性
B、多态性
C、类比性
D、封装性

9、结构化程序设计的主要特征是
A、封装和数据隐藏
B、继承和重用
C、数据和处理数据的过程分离
D、把数据和处理数据的过程看成一个整体

10、面向对象程序设计将数据与( )放在一起,作为一个互相依存、不可分割的整体来处理。
A、信息
B、数据抽象
C、数据隐藏
D、对数据的操作

第4讲 编写第一个C程序

课后测验:编写第一个C程序

1、以下叙述中正确的是
A、C语言比其他语言高级
B、C语言可以不用编译就能被计算机识别执行
C、C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D、C语言出现的最晚,具有其他语言的一切优点

2、以下叙述中正确的是( )。
A、C程序中注释部分可以出现在程序中任意合适的地方
B、花括号"{ "和"}"只能作为函数体的定界符
C、构成C程序的基本单位是函数,所有函数名都可以由用户命名
D、分号是C语句之间的分隔符,不是语句的一部分

3、C程序是由 ( )组成的。
A、过程
B、函数
C、子程序
D、主程序和子程序

4、一个C程序的基本结构是( )。
A、一个主函数和若干个非主函数
B、若干个主函数和若干个非主函数
C、一个主函数和最多一个非主函数
D、若干个主函数和最多一个非主函数

5、用C语言编写的源程序文件( )。
A、可立即执行
B、是一个源程序
C、经过编译连接,正确后可以执行
D、经过编译解释才能执行

6、以下四个程序中,完全正确的是( )。
A、#include <stdio.h> int main(); { /*programming*/ printf("programming!\n"); return 0; }
B、#include <stdio.h> int main() { /*programming*/ printf("programming!\n"); return 0; }
C、include <stdio.h> void main() { /*programming*/ printf("programming!\n"); return 0; }
D、#include <stdio.h> int mian() { /*programming*/ printf("programming!\n"); return 0; }

7、C程序编译时,程序中的注释部分( )。
A、参加编译,并会出现在目标程序中
B、参加编译,但不会出现在目标程序中
C、不参加编译,但会出现在目标程序中
D、不参加编译,也不会出现在目标程序中

8、以下叙述中错误的是( )。
A、C语言源程序经编译后生成后缀为obj的目标程序
B、C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
C、用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
D、C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令

9、编写C++程序一般需经过的几个步骤依次是( )
A、编译、编辑、连接、调试
B、编辑、编译、连接、调试
C、编译、调试、编辑、连接
D、编辑、调试、编译、连接

10、在C语言中,main函数默认返回一个( )类型的值。
A、int
B、float
C、char
D、void

11、以下不属于C语言语法允许使用的字符集合的是( )
A、汉字
B、大小写字母
C、数字
D、空白符

12、以下属于C语言语法保留字的是( )
A、return
B、Int
C、value
D、main

13、以下属于合法的C语言标识符的是( )
A、Main
B、short
C、npu-2015
D、8849

14、C语言源程序文件的后缀名为( )
A、.c
B、.h
C、.cpp
D、.res

15、以下说法正确的是( )
A、大型C程序可以包含多个源程序文件,并且每个源程序文件可以单独编译。
B、一个C程序只能包括一个源程序文件。
C、C程序中main函数必须放在其他函数之前。
D、C程序的函数可以不书写函数头,而只编写包括声明和执行语句的函数体。

第5讲 将简单数据引入C程序中

课后测验:将简单数据引入C程序中

1、( )是C语言的数据类型说明保留字。
A、Float
B、signed
C、integer
D、Char

2、类型修饰符unsigned不能修饰( )。
A、char
B、int
C、long int
D、float

3、下列选项中,均是合法的C语言整型常量的是( )。
A、160 -0xffff 0011
B、–0xcdf 01a 0xe
C、–01 986,012 0668
D、–0x48a 2e5 0x

4、下列选项中,均是合法的C语言实型常量的是( )。
A、+1e+1 5e-9.4 03e2
B、-.60 12e-4 -8e5
C、123e 1.2e-.4 +2e-1
D、–e3 8e-4 5.e-0

5、设char a='\70';则变量a( )。
A、包含1个字符
B、包含2个字符
C、包含3个字符
D、说明不合法

6、( )是非法的C语言转义字符。
A、'\b'
B、'\0xf'
C、'\037'
D、'\''

7、以下选项中( )不是C语言常量。
A、e-2
B、012
C、"a"
D、'\n'

8、以下不是C语言支持的存储类别的是( )。
A、auto
B、static
C、dynamic
D、register

9、以下叙述中错误的是( )。
A、C语言的标识符允许使用保留字。
B、C语言的标识符应尽量做到“见其名知其意”。
C、C语言的标识符必须以字母或下划线开头。
D、C语言的标识符中,大、小写字母代表不同标识。

10、在以下各组标识符中,合法的C语言标识符是( )。
A、B01 Int
B、table_1 t*.1
C、0_t W10
D、k% point

11、下面关于符号常量的说法正确的是()
A、符号常量是以标识符形式出现的常量,一经定义,它所代表的常量值在其作用域内不能改变。
B、可以将圆周率这个常量值定位为符号常量,定义方法为:#define PI=3.1415926
C、符号常量名可以不遵循C语言的标识符命名规则。
D、使用符号常量不仅便于程序的调试和维护,还能大大提高程序的运行速度。

12、已定义ch为字符型变量,以下赋值表达式中错误的是( )。
A、ch='\'
B、ch=62+3
C、ch=NULL
D、ch='\xaa'

第6讲 数值数据的运算与处理

课后测验:数值数据的运算和处理

1、在C语言中,要求参加运算的数必须是整数的运算符是( )。
A、/
B、*
C、%
D、=

2、表达式0x13 ^ 0x17的值是( )
A、0x04
B、0x13
C、0xe8
D、0x17

3、表达式3.6-5/2+1.2+5%2的值是( )。
A、4.3
B、4.8
C、3.3
D、3.8

4、在位运算中,操作数每右移一位,其结果相当于( )。
A、操作数乘以2
B、操作数除以2
C、操作数除以4
D、操作数乘以4

5、若有定义char c1=92,c2=92;则以下表达式中值为零的是( )。
A、~c2
B、c1&c2
C、c1^c2
D、c1|c2

6、设x,y,u,v均为浮点型,与数学公式 不等价的C语言表达式是( )。
A、x*y/u*v
B、x*y/u/v
C、x*y/(u*v)
D、x/(u*v)*y

7、若变量a、b已经正确定义并赋值,符合C语言语法的表达式是( )。
A、
B、a*a+b
C、a×a+b
D、a?a+b

8、以下不能正确计算数学公式 值的C语言表达式是( )。
A、1/3*sin(1/2)*sin(1/2)
B、sin(0.5)*sin(0.5)/3
C、pow(sin(0.5),2)/3
D、1/3.0*pow(sin(1.0/2),2)

9、若有定义int x=2,y=3;则x & y的值是( )。
A、0
B、2
C、3
D、5

第7讲 逻辑数据的运算与处理

课后测验:逻辑数据的运算和处理

1、关于C程序关系运算、逻辑运算后得到的逻辑值的表述中,正确的是( )。
A、假为0,真为随机的一个非0值
B、假为0,真为1
C、假为-1,真为1
D、假为0,真为不确定的值

2、下列运算符中,优先级从高到低依次为( )。
A、&& ! ||
B、|| && !
C、&& || !
D、! && ||

3、设int i=10;表达式30-i<=i<=9的值是( )。
A、0
B、1
C、9
D、20

4、表达式!x等效于( )。
A、x==1
B、x==0
C、x!=1
D、x!=0

5、已有定义int x=3,y=4,z=5;则表达式!(x+y)+z-1 && y+z/2的值是( )。
A、6
B、2
C、1
D、0

6、以下运算符优先级最低的是( )。
A、&&
B、&
C、||
D、|

7、若x和y为整型数,以下表达式中不能正确表示数学关系 的是( )。
A、abs(x-y)<10
B、x-y>-10 && x-y<10
C、!(x-y)<-10 || !(y-x)>10
D、(x-y)*(x-y)<100

第8讲 赋值和类型转换

课后测验:赋值与类型转换

1、下列运算符中,优先级最高的是( )。
A、( )
B、%
C、++
D、,

2、设int a=0,b=0,m=0,n=0;则执行(m=a==b)||(n=b==a)后m和n的值是( )。
A、0,0
B、0,1
C、1,0
D、1,1

3、若有int i=5,j=4,k=6;float f;执行语句f=(i<j&&j<k)?i:(j<k)?j:k;后f的值为( )。
A、4.0
B、5.0
C、6.0
D、7.0

4、以下选项中非法的表达式是( )。
A、0<=x<100
B、i=j==0
C、(char)(x<100)
D、x+1=x+1

5、设 int m1=5,m2=3;表达式m1>m2 ? (m1=1):(m2=-1)运算后,m1和m2的值分别是()。
A、1和3
B、1和-1
C、5和-1
D、5和3

6、以下叙述中错误的是( )。
A、表达式a&=b等价于a=a&b
B、表达式a|=b等价于a=a|b
C、表达式a∧=b等价于a=a∧b
D、表达式a!=b等价于a=a!b

7、假设某表达式中包含int、long、unsigned、char类型的数据,则表达式最后的运算结果是( )类型。
A、int
B、long
C、unsigned
D、char

8、若int k=7,x=12;则值为3的表达式是( )。
A、x%=(k%=5)
B、x%=(k-k%5)
C、x%=k-k%5
D、(x%=k)-(k%=5)

9、对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,( )是正确的。
A、语法错误
B、f为5.0
C、f为0.0
D、f为2.0

10、设变量n为float类型,m为int型,则以下( )表达式能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算。
A、n=(n*100+0.5)/100.0
B、m=n*100+0.5,n=m/100.0
C、n=n*100+0.5/100.0
D、n=(n/100+0.5)*100.0

11、假定有变量定义:int k=6,x=12;则能使x、k值为5、6的表达式是( )。
A、x%=++k%10
B、x%=k+k%5
C、x-=++k%5
D、x-=k++%5

12、若变量a为int类型,且其值为3,则执行表达式a+=a-=a*a后,a的值是( )。
A、-3
B、9
C、-12
D、6

13、sizeof(char)的值是( )。
A、1
B、2
C、非法
D、8

14、若变量已正确定义并赋值,下面符合C语言语法的表达式是( )。
A、a:=b+1
B、a=b=c+2
C、int(18.5%3)
D、a=a+7=c+b

15、判断年份y是否为闰年的表达式为()
A、y%4==0
B、y%4==0 && y%100!=0
C、(y%4==0&&y%100!=0)||(y%400==0)
D、(y%4==0)||(y%400==0&&y%100!=0)

16、判断整型变量n是否是负的偶数的C语言表达式为( )
A、n<0 &&n%2==0
B、n<0 ||n%2==0
C、n%-2==0
D、n<0&&n/2==0

17、已知x、y分别为a、b、c中的最大值和最小值,下面表达式能求出a、b、c中中间值的是( )
A、(x==a||y==a) ? a : (x==b||y==b) ? b : c
B、(a+b+c)-(x+y)
C、(a*b*c)/x/y
D、(a+b+c)/3

18、若int x=0123,则表达式(5+(int)(x))&(~2)的值是______________。

19、表达式((4|1)&3)的值是________。

20、表达式10<<3+1的值是_____。

21、已知A=7.5,B=2,C=3.6,表达式A>B && C>A || A<B && !C>B的值是_____。

22、设int a=-3,b=7,c=-1;则执行(a==0)&&(a=a%b<b/c)后变量a的值是_____。

第9讲 编写程序语句

课后测验:编写程序语句

1、以下叙述中错误的是( )。
A、C语言的简单语句必须以分号结束
B、空语句出现在任何位置都不会影响程序运行
C、复合语句在语法上被看作一条语句
D、赋值表达式末尾加分号就构成赋值语句

2、C语言的语句类型不包括()
A、简单语句
B、控制语句
C、复合语句
D、预处理命令

3、以下不是C语言简单语句的是( )
A、表达式语句
B、函数调用语句
C、声明语句
D、跳转语句

4、下面是C语言合法的复合语句的是( )
A、{ int t,a=4,b=7; t=a,a=b,b=t };
B、{ double v1,r=5; v1=4*3.14*r*r*r/3; { double v2,h=12; v2=3.14*r*r*h; } printf("%lf,%lf",v1,v2); }
C、{ #define PI=3.14; double v1,r=3; v1=PI*r*r; }
D、{ double s,a=5,b=10,h=8 s=(a+b)*h/2.0 printf(“area=%lf”,s) }

5、以下关于C语言注释的说法正确的是()
A、可以采用/*……*/的形式书写多行注释,其中的注释内容可以是任何字符。
B、//注释表示从//开始直到本行末尾的所有字符均是注释内容。
C、C语言的注释将参与编译器编译,并形成指令。
D、写C语言程序时必须书写注释,否则会对程序的功能造成影响。

6、关于C语言语句书写格式的说法错误的是()
A、C语言程序必须一行一个语句。
B、C语言允许一行书写多个语句。
C、C语言允许将一个语句分成多行书写。
D、编写C程序时,建议使用空格或Tab来做合理的间隔、缩进或对齐,使得程序形成逻辑相关的块状结构。

7、使用getchar和putchar函数进行单个字符输入输出时,必须使用预处理命令”#include”包括()文件。
A、stdio.h
B、stdlib.h
C、math.h
D、string.h

8、以下关于使用C语言实现输入输出的说法错误的是()
A、C语言自身具备输入输出语句,可以直接实现输入输出功能。
B、输入指从外部输入设备(如键盘、鼠标等)向计算机输入数据。
C、输出指将数据从计算机送到外部输出设备(如打印机、显示器等)。
D、C语言输入输出操作本质上是函数调用语句。

9、要使用putchar函数实现向显示器输出字符’A’,则可以使用()。
A、putchar(A)
B、putchar(“A”)
C、putchar(65)
D、putchar(‘\65’)

10、有以下程序段: char c1='1',c2='2'; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); 运行时从键盘上输入:a↙ 后,以下叙述中正确的是( )。
A、变量c1被赋予字符a,c2被赋予回车符
B、程序将等待用户输入第2个字符
C、变量c1被赋予字符a,c2中仍是原有字符'2'
D、变量c1被赋予字符a,c2中将无确定值

第10讲 编程实现简单数据的输出

课后测验:编程实现简单数据的输出

1、以下叙述中正确的是( )。
A、调用printf函数时,必须至少有一个输出项。
B、使用printf函数时,必须在之前包含头文件stdio.h
C、在C语言中,整数可以以多种进制。例如十二进制、八进制或十六进制的形式输出。
D、调用printf函数时,可以省略格式控制串。

2、下面程序段执行后的输出结果是()。注:└┘符号代表空格 int a=123; printf(“[%4d],[%-4d],[%04d]”,a,a,a);?
A、[123],[└┘123],[1230]
B、[123└┘ ],[└┘123],[0123]
C、[└┘123],[123└┘],[0123]
D、[└┘123],[123└┘],[173]

3、设有int a=123;执行语句printf(“%*d”,5,a);的输出结果是()。
A、*123
B、5123
C、└┘└┘123
D、编译错误

4、下面程序段执行后的输出结果是( )。 float x=-1023.012; printf("%8.3f,",x); printf("%10.3f",x);
A、1023.012,-1023.012
B、–1023.012,-1023.012
C、1023.012, └┘-1023.012
D、–1023.012, └┘-1023.012

5、下面程序段执行后的输出结果是( )。 int x=13,y=5; printf("%d",x%=(y/=2));
A、3
B、2
C、1
D、0

6、下面程序段执行后的输出结果是( )。 int x='f'; printf("%c",'A'+(x-'a'+1));
A、G
B、H
C、I
D、J

7、设int a=1234;执行语句printf("%2d",a);后的输出结果是( )。
A、12
B、34
C、1234
D、出错

8、设int a=7,b=8;执行语句printf("%d,%d",(a+b,a),(b,a+b));后的输出结果是( )。
A、出错
B、8,15
C、15,7
D、7,15

9、执行语句printf("a\bre\'hi\'y\\\bou");后的输出结果是( )。
A、abre'hi'ybou
B、a\bre\'hi\'y\\\bou
C、re'hi'you
D、abre'hi'y\bou

10、下面程序段执行后的输出结果是( )。 int x=102,y=012; printf("%2d,%2d",x,y);
A、10,01
B、02,12
C、102,10
D、102,12

11、下面程序段执行后的输出结果是( )。 int m=0256,n=256; printf("%o└┘%o",m,n);
A、0256└┘0400
B、0256└┘256
C、256└┘400
D、400└┘400

12、下面程序段执行后的输出结果是( )。 int a; char c=10; float f=100.0; double x; a=f/=c*=(x=6.5); printf("%d└┘%d└┘%3.1f└┘%3.1f",a,c,f,x);
A、1└┘65└┘1└┘6.5
B、1└┘65└┘1.5└┘6.5
C、1└┘65└┘1.0└┘6.5
D、2└┘65└┘1.5└┘6.5

13、设 char c1=’A’,执行语句printf(“%%”,c1);的输出结果是()。
A、执行异常
B、A
C、%%
D、%

14、下面程序段执行后的输出结果是( )。 char a='1',b='2'; printf("%c,",b++); printf("%d",b-a);
A、3,2
B、2,2
C、50,2
D、2,50

第11讲 编程实现简单数据的输入

课后测验:编程实现简单数据的输入

1、以下叙述中错误的是( )。
A、调用scanf函数时,每个输入项必须为地址形式。
B、使用scanf函数时,必须在之前包含头文件stdio.h
C、在C语言中,整数可以以多种进制例如十进制、八进制或十六进制的形式输入。
D、调用scanf函数时,如果输入项个数比给定的格式说明符多,将会出现编译错误。

2、关于scanf函数的格式控制字符串,()是错误的说法。
A、格式说明必须包括%和type字符,其他域可以省略。
B、type类型字符可以描述应输入的信息类型,可以支持整数的任意进制输入。
C、*禁止字符是指从输入数据中读取类型相当的数据,但不将它保存在输入项中。
D、宽度说明控制从输入数据中读出的最大字符数,有可能实际执行时读入的字符个数少于宽度说明的个数。

3、已知如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是( )。 int a1,a2; char c1,c2; scanf("%d%d",&a1,&a2); scanf("%c%c",&c1,&c2);
A、1020AB↙
B、10└┘20↙ AB↙
C、10└┘20└┘AB↙
D、10└┘20AB↙

4、有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,正确的数据输入方式是( )。
A、132↙
B、1,3,2↙
C、a=1└┘b=3└┘c=2↙
D、a=1,b=3,c=2↙

5、若定义x为double型变量,则能正确输入x值的语句是( )。
A、scanf("%f",x);
B、scanf("%f",&x);
C、scanf("%lf",&x);
D、scanf("%5.1f",&x);

6、下面程序段运行时从键盘上输入:12345678↙,其输出结果是( )。 int a , b ; scanf("%2d%*2d%3d",&a,&b); printf("%d",a+b);
A、46
B、579
C、5690
D、出错

第12讲 编程实现选择分支

课后测验:编程实现选择分支

1、C语言对嵌套if语句的规定是else总是与( )配对。
A、之前最近的尚未配对的if
B、第一个if
C、缩进位置相同的if
D、最前面的if

2、关于goto语句的说法错误的是()
A、goto语句的作用是使程序无条件跳转到别的位置。
B、goto语句的语法形式为:goto 标号;
C、goto语句可以跳转到程序中的任意位置,不受函数界限限制。
D、goto语句无条件的跳转破坏了程序的结构化,应该少用或不用。

3、“if(表达式) ”中的“表达式”( )。
A、只能是逻辑表达式
B、只能是关系表达式
C、只能是算术表达式
D、逻辑表达式、关系表达式和算术表达式都可以

4、对于下面程序,( )是正确的判断。 #include <stdio.h> int main() { int x,y; scanf("%d%d",&x,&y); if (x>y) x=y;y=x; else x++;y++; printf("%d,%d",x,y); return 0; }
A、有语法错误,不能通过编译
B、若输入3和4,则输出4和5
C、若输入4和3,则输出3和4
D、若输入4和3,则输出4和5

5、对于下面程序段,( )是正确的判断。 int x=0,y=0,z=0; if (x=y+z) printf("***"); else printf("###");
A、有语法错误,不能通过编译
B、输出:***
C、可以编译,但不能通过连接,所以不能运行
D、输出:###

6、若int i=10;执行下面程序段后,变量i的值是( )。 switch (i) { case 9: i+=1 ; case 10: i+=1 ; case 11: i+=1 ; default: i+=1 ; }
A、10
B、11
C、12
D、13

7、若int i=1;执行下面程序段后,变量i的值是( )。 switch (i) { case '1': i+=1 ; case '2': i+=1 ; case '3': i+=1 ; default : i+=1 ; }
A、2
B、3
C、4
D、5

8、若有定义:float w; int a,b;则合法的switch语句是( )。
A、switch (w) { case 1.0:printf("*\n"); case 2.0:printf("**\n"); } ?
B、switch (a); { case 1:printf("*\n"); case 2:printf("**\n"); }
C、switch (b) { case 1:printf("*\n"); default:printf("\n"); case 1+2:printf("**\n"); }?
D、switch (a+b); { case 1:printf("*\n"); case 2:printf("**\n"); default:printf("\n"); }

9、无条件转移语句的一般形式是:goto语句标号;其中的语句标号可以是( )。
A、整型数
B、标识符
C、保留字
D、实型数

10、关于if语句的说法正确的是()。
A、作为if语句条件的表达式只能是关系表达式或者逻辑表达f式。
B、if-else语句的语法格式为 if (表达式1)语句1;else (表达式2) 语句2;
C、if语句中的子语句可以是简单语句或复合语句,但不能是控制语句。
D、if语句完全可以实现条件运算符的功能。

11、关于switch语句的说法正确的是()。
A、switch语句的每个case分支中只能设置一个语句。
B、switch语句中各个case分支顺序没有规定,但是default分支必须处在所有case分支之后,否则会影响程序执行效果。
C、switch语句中default分支是可选的。
D、switch语句后边的圆括号可以省略。

12、switch语句语法中的case分支必须是常量表达式且互不相同,值不能为()类型。
A、整型
B、字符型
C、枚举型
D、浮点型

13、switch语句可以用if语句完全代替。

14、switch语句的case表达式中可以包括变量。

15、条件表达式可以取代if语句。

16、switch语句中case分支和default分支的个数都是任意的。

17、switch中多个case分支可以执行相同的程序段。

18、内层break语句可以终止嵌套的switch,使最外层的switch结束。

19、switch语句的case分支可以使用复合语句、多个语句序列。

20、switch语句的表达式与case表达式的类型必须一致。

第13讲 编程实现嵌套的选择分支

课后测验:编程实现嵌套的选择分支

1、若a=1,b=3,c=5,d=4,则执行下面程序段后x的值是( )。 if (a<b) if (c<d) x=1 ; else if (a<c) if (b<d) x=2 ; else x=3 ; else x=6 ; else x=7 ;
A、1
B、2
C、3
D、4

2、执行语句序列 int x; scanf("%d",&x); if(x>250) printf("X"); if(x<250) printf("Y"); else printf("X"); 时,不可能出现的情况是()。
A、显示:X
B、显示:Y
C、显示:XY
D、显示:XX

3、与y=(x>0 ? 1: x<0 ? -1:0);的功能相同的if语句是( )。
A、y=0; if (x>=0) if (x>0) y=1; else y=-1;
B、if (x) if (x>0) y=1; else if (x<0) y=-1; else y=0;
C、y=-1; if (x) if (x>0) y=1; else if (x==0) y=0; else y=-1;
D、if (x>0) y=1; else if (x<0) y=-1; else y=0;

4、下面程序段表示以下( )式子。 if(a<b) { if(c==d) x=1;} else x=2;
A、
B、
C、
D、

5、下面程序执行后的输出结果是( )。 #include <stdio.h> int main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch (y) { case 0 : a++ ; break ; case 1 : b++ ; break ; } case 2: a++; b++; break ; case 3: a++ ; b++ ; } printf("a=%d,b=%d",a,b); return 0; }?
A、a=1,b=0
B、a=2,b=1
C、a=1,b=1
D、a=2,b=2

6、#include <stdio.h> int main() { int n=0,m=1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3; printf("%d",x); return 0; } 的运行结果是( )。?
A、1
B、0
C、2
D、-4

第14讲 编程实现循环

课后测验:编程实现循环

1、有以下程序段: int k=2; while (k=0) { printf("%d",k) ; k-- ; } 则下面描述中正确的是( )。
A、while循环执行10次
B、循环是无限循环
C、循环体语句一次也不执行
D、循环体语句执行一次

2、下面程序段执行后的输出结果是( )。 int a=1,b=2,c=3,t; while (a<b<c){ t=a;a=b;b=t;c--; } printf("%d,%d,%d",a,b,c);?
A、1,2,0
B、2,1,0
C、1,2,1
D、2,1,1

3、下面程序段执行后的输出结果是( )。 #include <stdio.h> int main() { int x=0,y=5,z=3; while(z-->0&&++x<5) y=y-1; printf("%d,%d,%d",x,y,z); return 0; }?
A、3,2,0
B、3,2,-1
C、4,3,-1
D、5,-2,-5

4、下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择 ( )填入到【 】中。 #include <stdio.h> int main() { int m=0,n=0; char c; while ((【 】)!='\n') { if (c>='A' && c<='Z') m++ ; if (c>='a' && c<='z') n++ ; } return 0; }
A、c=getchar()
B、getchar()
C、c==getchar()
D、scanf("%c",&c)

5、语句while (!E){ ......}; 中的表达式!E等价于( )。
A、E==0
B、E!=1
C、E!=0
D、E==1

6、以下程序段( )。 x=-1; do{ x=x*x; }while (!x);
A、是死循环
B、循环执行2次
C、循环执行1次
D、有语法错误

7、以下叙述正确的是( )。
A、do-while语句构成的循环不能用其它语句构成的循环来代替
B、do-while语句构成的循环只能用break语句退出
C、用do-while语句构成的循环,在while后的表达式为非零时结束循环
D、用do-while语句构成的循环,在while后的表达式为零时结束循环

8、有以下程序段: int n=0,p; do { scanf("%d",&p); n++; } while (p!=12345 && n<3); 此处do—while循环的结束条件是( )。
A、p的值不等于12345并且n的值小于3
B、p的值等于12345并且n的值大于等于3
C、p的值不等于12345或者n的值小于3
D、p的值等于12345或者n的值大于等于3

9、已知:int i=5,下列do-while循环语句的循环次数为( )。 do{ printf("%d\n",i--); i--; }while(i!=0);
A、0
B、1
C、5
D、无限

10、下面程序段( )。 x=3; do { y=x--; if(!y) { printf("%d",x); continue; } printf(”#”); }while(x>=1 && x<=2);
A、将输出##
B、将输出###
C、是死循环
D、含有不合法的控制表达式.

11、下面程序执行后的输出结果是( )。 #include <stdio.h> int main(){ char c='A'; int k=0; do{ switch(c++){ case'A':k++; break; case 'B':k--; case 'C':k+=2; break; case 'D':k%=2; continue; case 'E':k*=10; break; default:k/=3; } k++; }while (c<'G'); printf("k=%d",k); return 0; } ?
A、k=3
B、k=4
C、k=2
D、k=0

12、下面for循环语句( )。 int i,k; for (i=0,k=-1; k=1 ; i++,k++ ) printf("***");?
A、判断循环结束的条件非法
B、是无限循环
C、只循环一次
D、一次也不循环

13、下面程序执行后的输出结果是( )。 #include <stdio.h> int main() { int x=9; for(;x>0;x--){ if(x%3==0){ printf("%d",--x); continue; } } return 0; }?
A、741
B、852
C、963
D、875421

14、下面程序段的循环次数是( )。 for (i=2; i==0; ) printf("%d",i--);?
A、无限次
B、0次
C、1次
D、2次

15、下面程序执行后的输出结果是( )。 #include <stdio.h> int main() { int i,sum=0; for(i=1;i<6;i++) sum+=i; printf("%d",sum); return 0; }
A、不确定
B、0
C、14
D、15

16、若有以下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0) s=a; for(b=1;b<=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是( )。
A、s=a+b;
B、s=a+c;
C、s=s+c;
D、s=b+c;

17、下面程序执行后的输出结果是( )。 #include <stdio.h> int main() { int a=0,i; for(i=1;i<5;i++) switch(i) { case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; } printf("%d",a); return 0; }?
A、31
B、13
C、10
D、20

18、若变量已正确定义,不能完成求5!的程序段是( )。
A、for(i=1,p=1;i<=5;i++) p*=i;
B、for(i=1;i<=5;i++){ p=1; p*=i;}
C、i=1;p=1;while(i<=5){ p*=i; i++;}
D、i=1;p=1;do{ p*=i; i++;}while(i<=5);

19、下面程序段中,( )与其他三个程序段的作用不同。
A、k=1;s=0; while (1) { s+=k ; k=k+1; if (k>100) break ; } printf("%d",s);?
B、k=1;s=0; Repeat : s+=k ; if (++k<=100) goto Repeat; printf("%d",s);?
C、int k,s=0; for (k=1;k<=100;s+=++k); printf("%d",s);?
D、k=1;s=0; do s+=k; while (++k<=100); printf("%d",s);

20、以下不是死循环的程序段是( )。
A、int i=100; while (1) { i=i%100+1 ; if (i>100) break ; }
B、for ( ; ; ) ;
C、int k=0; do { ++k ; } while (k>=0);
D、int s=36; while (s) ; --s ;

21、以下是死循环的程序段是( )。
A、for (i=1;;) { if (i++%2==0) continue ; if (i++%3==0) break ; }
B、for (i=1;;) if (++i<10) continue ;
C、i=32767; do { if (i<0) break ; } while (++i) ;
D、i=1 ; while (i--);

22、do-while允许从外部转到循环体内。

23、do-while循环中,根据情况可以省略while。

24、for循环中三个表达式可以任意省略,while、do-while的表达式也是如此。

25、continue语句只能用于三个循环语句中。

26、for循环的循环体语句中,可以包含多条语句,但必须用大括号括起来。

27、写出下面程序执行后的运行结果。 #include <stdio.h> int main() { int i,k=19; while (i=k-1) { k-=3 ; if (k%5==0) { i++ ; continue ; } else if (k<5) break ; i++; } printf("i=%d,k=%d",i,k); return 0; } ?#include <stdio.h> int main() { int i,k=19; while (i=k-1) { k-=3 ; if (k%5==0) { i++ ; continue ; } else if (k<5) break ; i++; } printf("i=%d,k=%d",i,k); return 0; }#include <stdio.h> int main() { int i,k=19; while (i=k-1) { k-=3 ; if (k%5==0) { i++ ; continue ; } else if (k<5) break ; i++; } printf("i=%d,k=%d",i,k); return 0; }#include <stdio.h> int main() { int i,k=19; while (i=k-1) { k-=3 ; if (k%5==0) { i++ ; continue ; } else if (k<5) break ; i++; } printf("i=%d,k=%d",i,k); return

28、下面程序运行时从键盘上输入:420↙,写出程序的运行结果。 #include <stdio.h> int main() { char c; while ((c=getchar())!='\n') switch(c-'0') { case 0: case 1:putchar(c+2); case 2:putchar(c+3);break; case 3:putchar(c+4); default:putchar(c+1);break; } return 0; }

29、写出下面程序执行后的运行结果。 #include <stdio.h> int main() { int k=1,n=263 ; do { k*=n%10 ; n/=10 ; } while (n) ; printf("%d",k); return 0; }

30、写出下面程序执行后的运行结果。 #include <stdio.h> int main() { int i=5 ; do { switch (i%10) { case 4: i-- ; break ; case 6: i-- ; continue ; } i-- ; i-- ; printf("%d",i); } while (i>0); return 0; }

31、写出下面程序执行后的运行结果。 #include <stdio.h> int main() { int x,i ; for (i=1 ; i<=100 ; i++) { x=i; if (++x%2==0) if (++x%3==0) if (++x%7==0) printf("%d,",x); } return 0; }

32、写出下面程序执行后的运行结果。 #include <stdio.h> int main() { int i; for(i=0; i<5; i++) switch(i%2) { case 0: printf("1"); break; case 1: printf("0"); break; } return 0; }

33、下面程序按公式 求和并输出结果。请填空使程序完整、正确。 #include <stdio.h> int main(){ int k ; double s=0; for (k=1 ; k<=100 ; k++) s+=k ; for (k=1 ; k<=50 ; k++) s+=______; for (k=1 ; k<=10 ; k++) s+=1.0/k; printf("sum=%f",s); return 0; }

第15讲 循环的终止、加快和嵌套

课后测验:循环的终止、加快和嵌套

1、下面关于循环语句的描述中,( )是错误的。
A、循环体内可以包含有循环语句
B、循环体内必须同时出现break语句和continue语句
C、循环体内可以出现选择语句
D、循环体内可以是空语句

2、C语言的跳转语句中,对于break和continue说法正确的是( )
A、break语句只应用与循环体中
B、continue语句只应用于循环体中
C、break是无条件跳转语句,continue不是
D、break和continue的跳转范围不够明确,容易产生问题

3、下面程序段运行时从键盘上输入:2473↙,其输出结果是( )。 #include <stdio.h> int main() { int c; while ((c=getchar())!='\n') switch (c-'2') { case 0: case 1: putchar(c+4); case 2: putchar(c+4); break ; case 3: putchar(c+3); default: putchar(c+2); break ; } printf("\n"); return 0; }?
A、668977
B、668966
C、66778777
D、6688766

4、下面程序段中while循环的循环次数是( )。 int i=0; while (i<10) { if (i<1) continue; if (i==5) break; i++; }?
A、1
B、10
C、6
D、死循环,不能确定次数

5、下面程序执行后的输出结果是( )。 #include <stdio.h> int main() { int i=0,s=0; for (;;) { if(i==3||i==5) continue; if (i==6) break; i++; s+=i; }; printf("%d",s); return 0; } ?#include <stdio.h> int main() { int i=0,s=0; for (;;) { if(i==3||i==5) continue; if (i==6) break; i++; s+=i; }; printf("%d",s); return 0; }#include <stdio.h> int main() { int i=0,s=0; for (;;) { if(i==3||i==5) continue; if (i==6) break; i++; s+=i; }; printf("%d",s); return 0; }#include <stdio.h> int main() { int i=0,s=0; for (;;) { if(i==3||i==5) continue; if (i==6) break; i++; s+=i; }; printf("%d",s); return 0; }
A、10
B、13
C、21
D、死循环

6、下面程序执行后的输出结果是( )。 #include <stdio.h> int main() { int k=0,m=0,i,j; for (i=0; i<2; i++) { for (j=0; j<3; j++) k++ ; k-=j ; } m = i+j ; printf("k=%d,m=%d",k,m); return 0; }
A、k=0,m=3
B、k=0,m=5
C、k=1,m=3
D、k=1,m=5

第16讲 编程实现枚举算法

课后测验:编程实现枚举算法

1、下面程序的功能是计算两个整数的( )。 #include <stdio.h> int main() { int m,n,w; scanf("%d,%d",&m,&n); while (n) { w=m; m=n; n=w%n; } printf("%d",m); return 0; }
A、最大公约数
B、最小公倍数
C、m和n值交换
D、m和n的乘积

2、下面程序的功能是计算s=1+12+123+1234+12345+……+123456789,下划线处应填写( )。 #include <stdio.h> int main() { int t=0,s=0,i; for( i=1; i<=9; i++) { t=____________; s=s+t; } printf("s=%d",s); return 0; }
A、10*t+i
B、t+i
C、10*i+t
D、s*10+i

3、一个三位整数(100~999),若各位数的立方和等于该数自身,则称其为“水仙花数”(如:153=13+53+33),下面程序的功能是找出所有的这种数,下划线处应填写()。 #include <stdio.h> int main() { int n, a, b, c; /*n、a、b和c分别为三位数及其个位、十位和百位*/ scanf("%d",&n); for(c=1;c<=9;c++) for (b=0;b<=9;b++) for( 1 ?;a++) { n= 2 ; if(a*a*a+b*b*b+c*c*c== 3 ) printf("%d\n",n); } return 0; }
A、【1】 a=0;a<9 【2】 c*100+b*10+a 【3】 n
B、【1】 a=1;a<9 【2】 c*100+b*10+a 【3】 n
C、【1】 a=0;a<9 【2】 a*100+b*10+c 【3】 n
D、【1】 a=b+1;a<9 【2】 c*100+b*10+a 【3】 n

4、下面程序段的功能是计算1000!的末尾有多少个零。请填空使程序完整、正确。 提示:只要偶数乘5就会产生0,因为1000!中有一半是偶数,所以求1000!的末尾 有多少个零,其方法就是统计1000!中有多少5的因子。例如10有1个5的因子, 25有2个5的因子,100有2个5的因子等。 #include <stdio.h> int main() { int i,k,m; for (k=0,i=5; i<=1000; i+=5) { m = i ; while (_______________) { k++; m=m/5 ; } } return 0; } ?#include <stdio.h> int main() { int i,k,m; for (k=0,i=5; i<=1000; i+=5) { m = i ; while (【1 】) { k++; m=m/5 ; } } return 0; }

5、写出下面程序执行后的运行结果。 #include <stdio.h> int main() { int i=0,a=0; while(i<40) { for(;;) { if((i%10)==0) break; else i--; } i+=11; a+=i; } printf("%d",a); return 0; }

第17讲 调用函数-返回与参数传递

课后测验: 调用函数-返回与参数传递

1、以下关于函数的叙述中正确的是( )。
A、每个函数都可以被其它函数调用(包括main函数)
B、每个函数都可以被单独编译
C、每个函数都可以单独运行
D、在一个函数内部可以定义另一个函数

2、对于函数,正确的说法是( )。
A、必须有形式参数
B、必须有返回信息
C、必须有返回语句
D、必须包含函数体

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

4、以下叙述中正确的是( )。
A、C语言编译时不检查语法
B、C语言的子程序有过程和函数两种
C、C语言的函数可以嵌套定义
D、C语言所有函数本质上都是外部函数

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

6、若调用一个函数int f(),且此函数中没有return语句,则正确的说法是( )。
A、该函数没有返回值
B、该函数返回一个系统默认值
C、该函数返回一个确定的值
D、该函数返回一个不确定的值

7、若定义函数: fun(int a,float b) { return a+b; } 则该函数的返回类型是( )。
A、void
B、int
C、float
D、不确定

8、C语言规定,函数返回值的类型是由( )决定的。
A、return语句中的表达式类型
B、调用该函数时的主调函数
C、调用该函数时由系统临时
D、在定义函数时所指定的函数类型

9、对于函数返回类型,不正确的说法是( )。
A、可以是int类型
B、可以是数组类型
C、可以是char类型
D、可以是void类型

10、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。
A、函数调用可以作为独立的语句存在
B、函数调用可以作为一个函数的实参
C、函数调用可以出现在表达式中
D、函数调用可以作为一个函数的形参

11、基本类型变量做实参时,它和对应的形参之间的数据传递方式是( )。
A、值传递
B、地址传递
C、由实参传给形参,再由形参传给实参
D、由函数定义指定传递方式

12、以下叙述中错误的是( )。
A、实参可以是常量、变量或表达式
B、形参可以是常量、变量或表达式
C、实参可以为任意类型
D、如果形参与实参的类型不一致,以形参类型为准

13、以下函数调用语句中,含有的实参个数是( )。 Fcalc(exp1,(exp3,exp4,exp5));
A、1
B、2
C、3
D、4

14、在函数调用时,以下叙述中正确的是( )。
A、函数调用后必须带回返回值
B、实际参数和形式参数可以同名
C、函数间的数据传递不可以使用全局变量
D、主调函数和被调函数总是在同一个文件里

15、下面程序执行后的输出结果是( )。 #include <stdio.h> void F(int x) { return (3*x*x); } int main(){ printf("%d",F(3+5)); return 0; }
A、192
B、29
C、25
D、编译出错

16、设函数f的定义形式为: void f(char ch, float x ) { ...... } 则以下对函数f的调用语句中,正确的是( )。
A、f("abc",3.0);
B、t=f('D',16.5);
C、f('65',2.8);
D、f(32,32);

17、C语言函数返回类型的默认定义类型是__________(使用类型标识符描述)。

18、可以将被调函数中获得的值返回给主调函数的语句是__________(使用C语言保留字描述)。

19、函数fun的功能是计算 double fun(double x,int n) { int i; double y=1; for(i=1;i<=n;i++) y=y*x; return y; } 主函数中已经正确定义m,a,b变量并赋值,调用fun函数计算: 的调用语句为 ______________________________(注意保持原算式的各操作数和运算符顺序,不添加非必需的运算符)。

20、若函数定义为: int data() { float x=9.9; return(x); } 则函数返回的值是__________。

第18讲 调用函数-原型与声明

课后测验:调用函数-原型与声明

1、若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是( )。
A、int main() { …… x=fun(2,10); ……} float fun(int a,int b){ ……}
B、float fun(int a,int b){ ……} int main() { …… x=fun(i,j); ……}
C、float fun(int,int); int main() { …… x=fun(2,10); ……} float fun(int a,int b){ ……}
D、int main() { float fun(int i,int j); …… x=fun(i,j); ……} float fun(int a,int b){ ……}

2、若程序中定义了以下函数: double f(double a,double b) { return (a+b); } 并将其放在调用语句之后,则在调用之前应该对该函数进行函数原型说明,以下选项 中错误的说明是( )。
A、double f(double a,b);
B、double f(double,double);
C、double f(double b,double A);
D、double f(double x,double y);

3、关于函数原型声明,以下叙述中错误的是( )。
A、如果函数定义出现在函数调用之前,可以不必加函数原型声明
B、如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函数原型声明
C、函数在调用之前,一定要给出函数原型或函数定义,保证编译系统进行调用检查
D、标准库函数不需要函数原型声明

4、在C语言中,计算 正确的是( )。
A、x^y
B、pow(x,y)
C、x**y
D、power(x,y)

5、有以下程序: #include <stdio.h> void f(int n); int main() { void f(int n); f(5); return 0; } void f(int n) { printf("%d\n",n);} 以下叙述中错误的是( )。
A、若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f
B、若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f
C、对于以上程序,编译时系统会提示出错信息:“提示对f函数重复说明”。
D、函数f无返回值,所以可用void将其类型定义为无值型

第19讲 调用函数-调用形式

课后测验:调用函数-调用形式

1、下列哪个类型函数不适合声明为内联函数( )。
A、函数体语句较多
B、函数体语句较少
C、函数执行时间较短
D、函数调用比较频繁

2、在( )情况下适宜采用inline定义内联函数。
A、函数体含有循环语句
B、函数体含有递归语句
C、需要加快程序的执行速度
D、函数代码多、不常调用

3、在函数调用过程中,如果函数A调用了函数 B,函数B又调用了函数A,则( )。
A、称为函数的直接递归调用
B、称为函数的间接递归调用
C、称为函数的循环调用
D、C语言中不允许这样的调用

4、下面程序执行后的输出结果是( )。 #include <stdio.h> char f(char x , char y) { if(x>y) return y; else return x; } int main() { char a='9',b='8',c='7',d='6'; printf("%c",f(f(a,b),f(c,d))); return 0; }
A、9
B、8
C、7
D、6

5、有以下程序段: int fun1(double a) { return a*=a;} int fun2(doubl

学习通C程序设计

C语言是一门广泛应用于系统软件与应用软件开发的编程语言,也是学习编程的入门语言之一。学习通C程序设计是学习C语言编程的好选择,下面将介绍如何在学习通上学习C程序设计。

学习通C程序设计课程简介

学习通C程序设计是由浙江大学计算机学院编写的一门课程,共分为12个章节,涵盖了C语言的基本语法、数组、指针、结构体、文件操作等方面的内容。该课程具有以下特点:

  • 课程内容详细,涵盖了C语言的基本知识点;
  • 课程讲解生动易懂,帮助学生轻松掌握知识;
  • 课程设置了足够的练习题和实验,让学生进行实践操作,加深理解;
  • 课程难度适中,适合初学者入门。

学习通C程序设计课程内容

学习通C程序设计课程共分为12个章节,具体内容如下:

  • 第一章:C语言概述
  • 介绍C语言的历史背景,C语言的优点和缺点,C语言的应用领域等。

  • 第二章:C语言基础语法
  • 介绍C语言的基本语法,包括变量、数据类型、常量、运算符、表达式、语句等。

  • 第三章:分支结构
  • 介绍C语言中的if语句、switch语句等分支结构,讲解如何进行分支选择。

  • 第四章:循环结构
  • 介绍C语言中的while循环、do-while循环、for循环等循环结构,讲解如何进行循环操作。

  • 第五章:数组
  • 介绍C语言中的数组,包括一维数组、多维数组等,讲解如何进行数组操作。

  • 第六章:指针
  • 介绍C语言中的指针,包括指针的定义、运算、指针和数组的关系等。

  • 第七章:字符串
  • 介绍C语言中的字符串,包括字符串的定义、字符串的输入输出、字符串的处理等。

  • 第八章:函数
  • 介绍C语言中的函数,包括函数的定义、函数的调用、函数的参数传递等。

  • 第九章:结构体
  • 介绍C语言中的结构体,包括结构体的定义、结构体的初始化、结构体的成员访问等。

  • 第十章:动态内存分配
  • 介绍C语言中的动态内存分配,包括malloc函数、free函数等。

  • 第十一章:文件操作
  • 介绍C语言中的文件操作,包括文件的打开、关闭、读写等。

  • 第十二章:C语言的扩展
  • 介绍C语言的一些扩展功能,包括预处理器指令、位运算、枚举等。

如何学习学习通C程序设计

学习通C程序设计是一门在线课程,需要在学习通平台上学习。学习通平台是由阿里云和中国大学MOOC联合开发的一款在线学习平台,具有以下特点:

  • 学习资源丰富:学习通平台上有各种学习资源,包括课程、视频、文章、真题等;
  • 学习方式灵活:学习通平台支持多种学习方式,包括在线视频、在线测试、在线讨论等;
  • 学习社区互动:学习通平台上有丰富的学习社区,可以与其他学生交流学习经验。

以下是如何学习学习通C程序设计的步骤:

  1. 注册学习通账号:如果没有学习通账号,需要先注册一个学习通账号;
  2. 搜索学习通C程序设计课程:在学习通平台上搜索学习通C程序设计课程,找到课程后点击进入;
  3. 学习课程:学习课程内容,包括观看课程视频、完成练习题、进行实验操作等;
  4. 参加考试:课程学习结束后,可以参加考试,获得课程证书。

学习通C程序设计的注意事项

学习通C程序设计是一门较为基础的编程课程,但学习时仍需要注意以下事项:

  • 学习基础语法:C语言的基础语法是学习C程序设计的基础,需要仔细学习;
  • 多做练习题:学习C程序设计需要进行实践操作,多做练习题可以加深理解;
  • 注重代码规范:编写C程序时需要注意代码规范,包括缩进、注释、命名规则等;
  • 参加讨论:学习通平台上有丰富的讨论,可以与其他学生交流学习经验,提高学习效果。

结语

学习C程序设计是学习编程的好选择,通过学习通C程序设计课程,可以轻松掌握C语言编程知识,为后续的编程学习打下基础。希望大家能够认真学习,取得好成绩。


基本形式造型要素有(   )。

A.可以使用 HTML 的 _______ 标签引用jQuery 库。
B.关于血红素的合成,正确的是( )。
C.对某药有过敏史的患者,再次使用该药时
D.四行程六缸发动机曲轴各曲拐之间的夹角是( )。


在液体动压向心滑动轴承中,轴颈直径d和轴承孔的直径 D的公称尺寸

A.“T”字型人才理论需求当代大学生应该突破学科界限,广泛涉猎,多元化学习。
B.A mineral should be ( ).
C.测量婴幼儿脉搏时,检查者将 置于婴幼儿手腕处的动脉上
D.企业网是在()范围内的网络


马克思主义认为,实践是理性自主的道德活动。

A.如果不考虑优先股,筹资决策中联合杠杆系数的性质包括( )。
B.5.什么是逾期接受 什么样的逾期接受仍然有效\
C.分析一个声母的发音方法,要从以下几个方面进行。
D..“通过计算机虚拟现实,而不去进行昂贵的度假"是利用了40个发明原理中的( )


川端康成读小学时是一个遵守校规校纪的好学生。

A.决定Bi(V)具有强氧化性的是
B.静电喷涂优点有哪些( )。
C.配载运输指的是()搭配。
D.在王弼之前,“道”的本体是()


下列哪种广域网连接方式是电路交换( )

A.氨基酸具有下列哪些理化性质:( )
B.设计凸轮廓线时,若减小凸轮的基圆半径,则凸轮压力角将 。
C.实验中,要避免激光射入人眼,需要利用毛玻璃屏观察等倾干涉圆环。
D.广义教学设计与狭义教学设计的区别主要是狭义教学设计不涉及对方案的试行和评估。


商店里出售的各种商品,都有价格标签。这些价格标签表明货币是在:

A.高技术的三个技术层次包括技术创新、技术综合与技术
B.下列啤酒与啤酒杯对应正确的是()
C.红掌能够很好吸收甲苯、二甲苯。
D.课堂上教师批评学生“没有注意”是因该生根本就没有产生注意。


关于接口和抽象类的描述正确的是:

A.设为阶矩阵,为阶单位矩阵,且,则( ).
B.华支睾吸虫的主要感染途径是:
C.( )停顿的时间较短;停时声停气未尽;停之前的声音稍上扬或者平拉开。
D.重力加速度对测量结果没有影响。


资本和资本服务都可以买卖

A.关于所有制结构的调整,( )提出了“三个主体,三个补充”的设想。
B.稳压管稳压电路属于( )
C.客厅是待客处,要尽且保持宽敞、空间感强,陈设以( )为主。
D.以下哪种情况不需要涂防晒霜( )


如果企业的效益不好,那么可以不为职工缴纳五险一金。

A.( )四肢骨折的病人,在固定时一定要将(指)趾末端露出。
B.下列属于抽象表达的是( )
C.供应商评价方法主要有:()
D.下列哪项不属于闭合性损伤( )


点穴防治感冒的基本选穴有:

A.传统的体育学习评价标准忽略了学生的( )。
B.胃内盐酸对壁细胞的泌酸活动起负反馈作用
C.《桨声灯影里的秦淮河》的作者是叶圣陶。
D.下列有关组织沟通的陈述中,错误的陈述是


可分泌穿孔素的细胞、颗粒酶的细胞

A.黄瓜的畸形瓜主要有( )
B.防火墙技术主要用来( )
C.古本易筋经预备势的作用是宁静心神、调整呼吸、内安五脏、端正身形是吗
D.泥浆在泥浆护壁成孔灌注桩施工中的作用只是防止塌孔。()


画面中能看到人物头顶,摄影机所在的位置是()

A.松解或去除病人衣、裤、鞋和头盔的护理技巧正确的是
B.在( )中,气体对外不做功,气体与外界的热交换用于增加或减少气体的热力性能
C.《黄雀记》的现代叙事技巧主要表现在( )。
D.“鸡”字的甲骨、小篆正确书写依次是:


下列类型的生物碱中可采用酸提取碱沉淀方法分离的是( )

A.不属于原核细胞型微生物的是( )
B.交换机的基本原理是( )。(选两项)(2分)
C.以下属于数据误差检查方法的是()。
D.对流传热仅发生在( )中。


收益法是又称为重置成本法。

A.我国室内氡的分布规律与房屋类型和结构有关,一般为()
B.双参数普遍化压缩因子图的建立是基于 。
C.古典主义在艺术上主要是指,对包含古希腊、()古典时代文化的高度认同。
D.彭城之战让我们了解承担收拾善后的重要性。