总体上必须清楚的:1)程序结构是三种:________,________(三个循环结构),________(if和switch)2)读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。3)计算机的数据在电脑中保存是以二进制[1]的形式.数据存放的位置就是他的地址.4)bit是位是指为0或者1。byte是指字节,一个字节=八个位.5)一定要记住二进制如何划成十进制[2]。概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。C语言编译的程序称为源程序[3],它以ASCII数值存放在文本文件中。2、每个C语言程序中main函数是有且只有一个。3、在函数中不可以再定义函数。4、算法的是一定要有输出的,他可以没有输入。5、break可用于循环结构和switch语句。6、逗号运算符的级别最低。第一章1)合法的用户标识[4]符考查:合法的要求是由字母,数字,下划线组成。有其它元素就错了。并且第一个必须为字母或则是下划线。第一个为数字就错了。关键字不可以作为用户标识符号。main define scanf printf都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。2)实型数据的合法形式:2.333e-1就是合法的,且数据是2.333×10-1。考试口诀:e前e后必有数,e后必为整数。.3)字符数据的合法形式:: '1'是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。'0'的ASCII数值表示为48,'a'的ASCII数值是97,'A'的ASCII数值是65。4)整型一般是两个字节,字符型是一个字节,双精度[5]一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。碰到这种情况,不要去管,一样做题。掌握整型一般是两个字节,字符型是一个字节,双精度一般是4个字节就可以了。5)转义字符[6]的考查: 在程序中int a = 0x6d,是把一个十六进制[7]的数给变量a注意这里的0x必须存在。 在程序中int a = 06d,是一个八进制[8]的形式。在转义字符中,’x6d’才是合法的,0不能写,并且x是小写。 ‘141’是合法的,0是不能写的。‘108’是非法的,因为不可以出现8。6)算术运算符号的优先级别: 同级别的有的是从左到右,有的是从右到左。7)强制类型转换: 一定是(int)a不是 int(a),注意类型上一定有括号的。 注意(int)(a+b)和(int)a+b的区别。前是把a+b转型,后是把a转型再加b。8)表达式的考查: ________ 赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5,常量[9]不可以赋值。 自加、自减表达式:假设a=5,++a(是为6),a++(为5);运行的机理:++a是先把变量的数值加上1,然后把得到的数值放到变量a中,然后再用这个________________________,而a++是________________,然后再把a的数值加上1为6,再放到变量a中。进行了++a和a++后在下面的程序中再用到a的话都是变量a中的6了。 考试口诀:++在前先加后用,++在后先用后加。逗号表达式:优先级别最低;表达式的数值逗号________的那个表达式的数值。(2,3,4)的表达式的数值就是4。9)位运算的考查:会有一到二题考试题目。总的处理方法:几乎所有的位运算的题目都要按这个流程来处理(先把十进制变成二进制再变成十进制)。例1:char a = 6, b;b = a<<2; 这种题目的计算是先要把a的十进制6化成二进制,再做位运算。例2: 一定要记住,例3: 在没有舍去数据的时候,<<左移一位表示乘以2;>>右移一位表示除以2。10)018的数值是非法的,八进制是没有8的,逢8进1。11)%符号两边要求是整数。不是整数就错了。12)三种取整丢小数的情况:1、int a =1.6; 2、(int)a; 3、 第二章1)printf函数的格式考查: %d对应整型;%c对应字符;%f对应单精度等等。宽度的,左对齐等修饰。 %ld对应long int;%lf对应double。2)scanf函数的格式考察: 注意该函数的第二个部分是________这样的地址,不是________; Scanf(“%d%d%*d%d”,a,b,c);跳过输入的第三个数据。3)putchar ,getchar函数的考查: char a = getchar()是没有参数的,从键盘得到你输入的一个字符给变量a。 putchar(‘y’)把字符y输出到屏幕中。4)如何实现两个变量x,y中数值的互换(要求背下来) 不可以把x=y ,y=x;要用中间变量t=x;x=y;y=t。5)如何实现保留三位小数,第四位四舍五入的程序,(要求背下来) 这个有推广的意义,注意x =(int)x这样是把小数部分去掉。 第三章特别要注意:c语言中是用非0表示逻辑真的,________________表示逻辑假的。1)关系表达式: 表达式的数值只能为1(表示为真),或0(表示假) 当关系的表达是为真的时候得到1。如9>8这个是真的,所以表达式的数值就是1;2)逻辑表达式: 只能为1(表示为真),或0(表示假)a) 共有 || !三种逻辑运算符号。b) !>>|| 优先的级别。c) 注意短路现象。考试比较喜欢考到。d) 要表示x是比0大,比10小的方法。0<10是不可以的(一定记住)。是先计算0<10)表示比0大比10小。3)if语句 else是与最接近的if且没有else的相组合的。4)条件表达式: 表达式1?表达式2:表达式3 注意是当非0时候是表达式2的数值,当为0是就是表达式2的数值。考试口诀:真前假后。5)switch语句:a)一定要注意有break和没有break的差别,书上(34页)的两个例子,没有break时候,只要有一个case匹配了,剩下的都要执行,有break则是直接跳出了swiche语句。b)switch只可以和break一起用,不可以和continue用。 第四章1)三种循环结构: a)for();while(); do- while()三种。 b)for循环当中必须是两个分号,千万不要忘记。 c)写程序的时候一定要注意,循环一定要有结束的条件,否则成了死循环。 d) do-while()循环的最后一个while();的分号一定不能够丢。(当心上机改错)2) break和 continue的差别 记忆方法:break:是打破的意思,(破了整个循环)所以看见break就退出真个一层循环。continue:是继续的意思,(继续循环运算),但是要结束本次循环,就是循环体内剩下的语句不再执行,跳到循环开始,然后判断循环条件,进行新一轮的循环。3)嵌套循环 就是有循环里面还有循环,这种比较复杂,要一层一层一步一步耐心的计算,一般记住两层是处理二维数组的。4) while((c=getchar())!=’n’)和while(c=getchar() !=’n’)的差别先看a = 3 != 2 和(a=3)!=2的区别:(!=号的级别高于=号所以第一个先计算3!=2)第一个a的数值是得到的1;第二个a的数值是3。考试注意点:括号在这里的重要性。 第五章函数:是具有一定功能的一个程序块[10];1)函数的参数,返回数值(示意图): main()(int a = 5,b=6,c; c =________ printf(“%d”,c);)调用函数a,b是实参[11]整个函数得到一个数值就是Add函数的返回数值。int add ( int x, int y)(int z; z=x+y; return z;)被调用函数x,y是形式参数[12]函数返回数值是整型z就是这个add函数计算后得到的结果,就是函数返回给主程序的返回数值。程序是在从上往下顺序执行,当碰到了函数add后,把a,b的数值穿给调用函数,程序暂时中断等待返回数值。当得到了返回数值后,再顺序的往下执行2)一定要注意参数之间的传递 实参和形参之间传数值,和传地址的差别。(考试的重点) 传数值的话,形参的变化不会改变实参的变化。 传地址的话,形参的变化就会有可能改变实参的变化。3)函数声明的考查:一定要有:函数名,函数的返回类型,函数的参数类型。不一定要有:形参的名称。第六章________是用来放地址,而________是放数值的。int *p中 *p和p的差别:*p可以当做变量来用;*的作用是取后面地址p里面的数值p是当作地址来使用。*p++和(*p)++的之间的差别:改错题目中很重要 *p++是地址会变化。 (*p)++是数值会要变化。 三名主义:(考试的重点) 数组名:表示第一个元素的地址。数组名不可以自加,他是地址常量名。(考了很多次) 函数名:表示该函数的入口地址。 字符串常量名:表示第一个字符的地址。第七章1一维数组的重要概念:对a[10]这个数组的讨论。1、a表示数组名,是第一个元素的地址,也就是元素a[10]的地址。2、a是地址常量,所以只要出现a++,或者是a=a+2赋值的都是错误的。3、a是一维数组名,所以它是列指针,也就是说a+1是跳一列。对a[3][3]的讨论。1、a表示数组名,是第一个元素的地址,也就是元素a[10]的地址。2、a是地址常量,所以只要出现a++,或者是a=a+2赋值的都是错误的。3、a是二维数组名,所以它是行指针,也就是说a+1是跳一行。4、a[0]、a[1]、a[2]也都是地址常量,不可以对它进行赋值操作,同时它们都是列指针,a[0]+1,a[1]+1,a[2]+1都是跳一列。5、注意a和a[0]、a[1]、a[2]是不同的,它们的基类型是不同的。前者是一行元素,后三者是一列元素。二维数组做题目的技巧:如果有a[3][3]=(1,2,3,4,5,6,7,8,9)这样的题目。步骤一:把他们写成: 第一列 第二列 第三列a[0]à1 2 3 ->第一行a[1]à 4 5 6—>第二行a[2]à 7 8 9->第三行步骤二:这样作题目间很简单:*(a[0]+1)我们就知道是第一行的第一个元素往后面跳一列,那么这里就是a[0][1]元素,所以是1。*(a[1]+2)我们就知道是第二行的第一个元素往后面跳二列。那么这里就是a[1][2]元素,所以是6。一定记住:只要是二维数组的题目,一定是写成如上的格式,再去做题目,这样会比较简单。数组的初始化,一维和二维的,一维可以不写,二维第二个一定要写 int a[]=(1,2)合法。 int a[][4]=(2,3,4)合法。 但int a[4][]=(2,3,4)非法。二维数组中的行指针int a[1][2];其中a现在就是一个行指针,a+1跳一行数组元素。 搭配(*)p[2]指针 a[0],a[1]现在就是一个列指针。a[0]+1跳一个数组元素。搭配*p[2]指针数组使用还有记住脱衣服法则: a[2] 变成 *(a+2) a[2][3]变成*(a+2)[3]再可以变成 *(*(a+2)+3)这个思想很重要!
专家系统的核心组成部分是?A. 知识库和推理机B. 数据库和用户界面C. 硬件和操作系统D. 算法和数据结构
47,以下哪些技术属于机器学习的范畴A. 监督学习B. 无监督学习C. 规则推理D. 强化学习
在深度学习中,卷积神经网络(CNN)的卷积层主要用于提取图像的局部特征,而池化层(PoolingLayer)则用于降低特征的空间维度A. 正确B. 错误
有以下语句:int b;char c[10];,则正确的输入语句是______。A. scanf("% d % s", &b, &c);B. scanf("% d % s", &b, c);C. scanf("% d % s", b, c);D. scanf("% d % s", b, &c);
网络安全,是指通过采取必要措施,防范对网络的攻击,侵入以及_等因素,使网络处于稳定可靠运行的状态。A. 干扰B. 破坏C. 非法使用D. 意外事故
关于幻灯片版式的叙述,不正确的有()。A. 幻灯片的大小可以改变B. 幻灯片应用的模板一旦选定,以后不可改变C. 同一演示文稿允许使用多种模板D. 幻灯片的方向可以改变
第七章关于函数的定义,以下正确的描述是________。 (A) 如果函数不返回值,可以省略类型说明符 (B) 可以在同一程序中定义同名的函数,只要保证它们的返回值类型或形参列表不相同即可 (C) 同一函数中的形参名必须唯一,但可以与其他函数中的变量同名 (D) 如果函数体为空,则函数最外层的一对花括号可以省略若有函数定义:int fun()(double x=23.5; return x;),则函数的返回结果是________。 (A) 23 (B) 23.0 (C) 23.5 (D) 24在函数调用[1]过程中,如果函数A调用函数B,函数B又调用函数A,则这种函数调用被称为________。 (A) 间接递归调用[2] (B) 直接递归调用 (C) 间接循环调用 (D) 直接循环调用以下程序的输出结果是________。 #include<stdio.h> int fun(int x)(return ++x;) void main()( int i=0; while(fun(i)<10) i++; printf("%dn",i); ) (A) 11 (B) 10 (C) 8 (D) 9关于函数调用时的参数传递[3],以下错误的描述是________。 (A) 实参[4]可以是常量[5]、变量或表达式 (B) 形参可以是常量、变量或表达式 (C) 实参与形参的个数相等、类型一致 (D) 实参必须有确定的赋值若有以下程序,则下划线所在位置应填入的语句是________。 #include<stdio.h> void main()( double res; __________ res=fun(3.7f,4.5f); printf("%fn",res); ) double fun(float x,float y) (return x*y;) (A) double fun(float); (B) double fun(); (C) float fun(float,float); (D) double fun(float,float);用一维数组名作为函数的实参时,传递给对应形参的是________。 (A) 整个数组 (B) 第一个数组元素的地址 (C) 数组的首地址 (D) (B)和(C)都是正确的以下程序的输出结果是________。 #include<stdio.h> void fun(int b[5],int n)( int i,t; for(i=0;i<n;i++){t=b[i]; b[i]=b[n-i-1]; b[n-i-1]=t;) } void main()( int a[5]={9,7,5,3,1),i; fun(a,5); for(i=0;i<5;i++) printf("%d ",a[i]); } (A) 1 3 5 7 9 (B) 3 1 9 7 5 (C) 9 7 5 3 1 (D) 编译时[6]报错在C语言程序中定义全局变量[7],如果该变量使用关键字static作为存储类别说明符,则它的作用域[8]是________。 (A) 整个程序范围 (B) 定义该变量的源文件范围 (C) main函数内部 (D) 从定义该变量的位置开始直至程序结束若有数组定义语句int a[6];和函数调用语句fun(a); 则在fun函数的定义中,对形参数组array的错误定义方式是________。 (A) void fun(int array[int N=6]) (B) void fun(int array[10]) (C) void fun(int array[]) (D) void fun(int array[3])以下程序执行完毕后,变量res的值是________。 #include<stdio.h> int X=35; int fun(int n)( int X=15; return X%n?++X:--X; ) void main()( double res; res=X/fun(3); ) (A) 1.0 (B) 2.1875 (C) 2.0 (D) 2.5以下说法正确的是________。 (A) 在函数中可以使用多条return语句来返回多个处理结果 (B) 在函数中最多只能有一条return语句 (C) 一个函数不可能既是被调用函数,又是主调函数 (D) 如果函数值的类型与返回值的类型不一致,以函数值类型为准以下程序执行完毕后,变量s的值是________。 #include<stdio.h> int fun(int n)( static int k=1; k*=n; return k; ) void main()( int i,s=0; for(i=1;i<5;i++) s+=fun(i); ) (A) 10 (B) 33 (C) 15 (D) 153以下程序的输出结果是________。 #include<stdio.h> int fun(int n)( if(n==2) return n; else return n*fun(n-2); ) void main()(printf("%dn",fun(7));) (A) 105 (B) 2 (C) 35 (D) 递归无法正常结束以下说法错误的是________。 (A) 局部变量[9]使用static作为存储类别说明符,其生存期将得到延长 (B) 自动变量一定是局部变量 (C) 全局变量使用static作为存储类别说明符,其作用域将被扩大 (D) 寄存器[10]变量的分配方式采用动态分配[11]下列程序在运行时,若通过键盘输入的数据为“24”,则输出结果是________。 #include<stdio.h> int isprime(int n)( int i; for(i=2;i<=n/2;i++) if(n%i==0) return 0; return 1; ) int fun(int n)( int i; for(i=3;i<=n/2;i++) if(isprime(i)isprime(n-i)) return i; return 0; ) void main()( int x; scanf("%d",x); if(x%2==0x>=6) printf("%d,%dn",fun(x),x-fun(x)); ) (A) 5,19 (B) 7,17 (C) 0,0 (D) 11,13以下说法正确的是________。 (A) 在函数定义时,如果不明确指定函数的返回值类型,则默认返回值类型为“void” (B) 所有的函数都是平行的,一个函数并不从属于另一个函数 (C) 属于一个C语言程序的不同文件中不允许定义同名的全局变量 (D) 函数被调用时形参才分配存储单元[12],函数调用结束后形参不释放占据的存储单元判断题B 在C语言中定义无参函数时,函数名后的一对圆括号可以保留,也可以省略。A. 被调用函数执行过程中形参值的变化不会影响主调函数中的实参值。 B. 以下函数的功能是计算1+1/2+1/3+...+1/n。 double fun(int n)( int i; double s=0.0; for(i=1;i<=n;i++) s+=1/i; return s; ) C. 如果被调用函数的定义出现在主调函数之前,必须使用函数[13]原型对其进行声明。 D. 以下程序的输出结果是:2 3 4 5 6 7。 #include<stdio.h> void fun(int E. [3])( int i; for(i=0;i<6;i++) b[i]++; ) void main()( int a[6],i; for(i=0;i<6;i++) a[i]=i+1; fun(a); for(i=0;i<6;i++) printf("%d ",a[i]); ) F. 在函数中使用全局变量,可以得到一个以上的处理结果。 G. 语言不允许嵌套定义函数,因此在main函数内部不可能出现“double fun(int a,float b);”这样的语句。在定义静态局部变量时如果不对其进行初始化,则系统会自动为该变量赋默认初值。以下程序的功能是输出二维数组中每行元素的平均值,则在下划线所在位置应填入的代码是“avg(x)”。 #include<stdio.h> double avg(int a[5])( int i; double s=0; for(i=0;i<5;i++) s+=a[i]; return s/5; ) void main()( int x[3][5]={{8,12,1,7,5),(4,14,6),(2,9,3,3)},i; for(i=0;i<3;i++) printf("%fn",__________); }以下函数的功能是输出m和n(m>n)两个正整数的最大公约数,则在下划线所在位置应填入的代码是“gcd(n,m%n)”。 int gcd(int m,int n)( if(n==0) return m; else return __________;)若有函数定义:static int fun()(......),表明fun函数只能被所在文件内的函数调用,而不能被其他文件内的函数所调用。[ 嵌套调用]。[ s+=t*i ]; t=-t;} return s; } void main()(printf("%dn",fun(50));)[ fun(a[i]) ]; }[ 8 ]。 #include<stdio.h> int fun(int n)(return n>2?fun(n-1)+fun(n-2):1;) void main()(int x=fun(6);)[ 4 5 6 1 2 3 ]。 #include<stdio.h> #define N 6 int cnt=0; void fun(int n)(while(cnt<n/2) cnt++;) void main()( int a[N],i,t; for(i=0;i<N;i++) scanf("%d",a[i]); fun(N-1); for(i=cnt;i>=0;i--) {t=a[i]; a[i]=a[i+N/2]; a[i+N/2]=t;) for(i=0;i<N;i++) printf("%d ",a[i]); }______。 (A)0 (B)1 (C)2 (D)3______。 (A)i=i+1,k=i (B)k=i,i=i+1 (C)k=++i (D)k+=i+1a>=-5 and a<=5a>=-5 or a<=5a>=-5 a<=5a>=-5 || a<=5______。 (A)k%2==1 (B)k/2 (C)k%2!=0 (D)k%2==0________。 (A)(x-y>0) (B)(x-y<0) (C)(x-y<0 || x-y>0) (D)(x-y==0)字符'A'字符'a'字符'e'非法的常量t f; double d; ,表达式5-2*i+d/f值的数据类型[14]为[ double ]。r k='77'; ,变量k中包含[ 1 ]个字符。语言中的基本数据类型包括整型、实型和[ 字符型]。'的ASCII码是65,若变量k是int类型,则执行了语句:k='A'+2.8; 后变量k的值是[67 ]。tic int s=0; s+=i; return s; } int fun2(int i)( static int s=0; [ s+=fun1(i) ]; return s; ) void main()( int i,s; for(i=1;i<5;i++) s=fun2(i); printf("%dn",s); )[ 9 4 5 8 7 ]。 #include<stdio.h> int t=0; void fun(int x)( int a[5],i,j; a[t++]=x; if(t==5) for(i=0;i<4;i++) for(j=i+1;j<5;j++) if(a[i]>a[j]) {t=a[i]; a[i]=a[j]; a[j]=t;) } void main()( int a[5]={9,4,5,8,7),i; for(i=0;i<5;i++) fun(a[i]); for(i=0;i<5;i++) printf("%d ",a[i]); }
[ (5-39] TCP 的拥塞窗口cwnd大小与RTT的关系如表 T-5-39 所示。-|||-表 T-5-39 拥塞窗口cwnd大小与RTT的关系-|||-cwnd 1 2 4 8 16 32 33 34 35 36 37 38 39-|||-RTT 1 2 3 4 5 6 7 8 9 10 11 12 13-|||-cwnd 40 41 42 21 22 23 24 25 26 1 2 4 8-|||-RTT 14 15 16 17 18 19 20 21 22 23 24 25 26-|||-(1)试画出如教材的图 5-25 所示的拥塞窗口与RTT的关系曲线。-|||-(2)指明TCP工作在慢开始阶段的时间间隔。-|||-(3)指明TCP工作在拥塞避免阶段的时间间隔。-|||-(4)在 RTT=16 和 RTT=22 之后发送方是通过收到三个重复的确认还是通过超时-|||-检测到丢失了报文段?-|||-(5)在 RTT=1 ,RTT=17 和 RTT=23 时,门限ssthresh分别被设置为多大?-|||-(6)在RTT等于多少时发送出第70个报文段?-|||-(7)假定在 RTT=26 之后收到了三个重复的确认,因而检测出了报文段的丢失,-|||-那么拥塞窗口cwnd和门限ssthresh 应设置为多大?
2分 53.以下哪些是哈希函数的特点?A. 输入数据微小变动会导致输出信息显著变化B. 可以根据输出哈希散列值反推出原始数据C. 用于验证数据的真实性D. 计算速度快
热门问题
3.判断题K-means聚类算法对数据的尺寸敏感。()A. 对B. 错
7、 加强电脑安全防护,及时升级病 毒库,安装防火墙,及时查杀病毒和木马,是防范 电信网络诈骗的有效做法。A. 正确B. 错误
程序=算法+()A. 数据结构B. 程序结构C. 控制结构[1]D. 体系结构
AdaBoosting采用多个单一分类器组成一个强分类器()A. 错误B. 正确
下列不属于量子机器学习算法的是()A. 量子支持向量机B. 量子主成分分析C. 薛定谔方程求解D. 深度量子学习
Windows中“复制”操作的快捷键是Ctrl+V。
网络安全包括物理安全[1]、逻辑安全、操作系统安全及联网安全,其中逻辑安全包括访问控制[2]、加密、安全管理及用户身份认证。A. 正确B. 错误
以下哪种方法属于卷积神经网络的基本组件()。A. 卷积层B. 池化层C. 激活函数D. 复制层
下列哪个方法属于知识图谱推理方法()A. 路径排序算法B. 深度学习推断C. 广度优先搜索D. 归纳逻辑程序设计
4/5 以下属于人工智能实际应用的是()。A. 机器视觉B. 人脸识别C. 计算机辅助自动规划D. 智能工业机器人E. 刷卡门禁
由脸书(Facebook)公司开发的深度学习编程框架是()A. TensorFlowB. PaddlePaddleC. PyTorchD. Mindspore
网络安全包括物理安全[1]、逻辑安全、操作系统安全及联网安全,其中逻辑安全包括访问控制[2]、加密、安全管理及用户身份认证。A. 正确B. 错误
下列哪项属于因果推理模型()A. 因果图B. 神经符号推理C. 符号推理模型D. 结构因果模型
下列哪个方法属于知识图谱推理方法()A. 广度优先搜索B. 深度学习推断C. 路径排序算法D. 归纳逻辑程序设计
网络诈骗中常见的“钓鱼网站”目的是()?A. 传播病毒B. 窃取个人信息C. 提供免费电影
下列哪项不是求解对抗搜索问题的基本算法( ) A.反向传播算法 B.广度优先排序算法 C.Alpha-Beta剪枝算法D.最小最大搜索算法
在决策树建立过程中,使用一个属性对某个结点对应的数集合进行划分后,结果具有高信息熵(highentropy),对结果的描述,最贴切的是()。A. 纯度高B. 纯度低C. 有用D. 无用E. 以上描述都不贴切
下列哪项贪婪最佳优先搜索算法的描述正确()A. 贪婪最佳优先搜索不属于启发式搜索算法B. 贪婪最佳优先搜索是一种A*搜索算法C. 贪婪最佳优先搜索是一种广度优先搜索算法D. 贪婪最佳优先搜索属于有信息搜索算法
2.单选题 讯飞星火可以实现多种文案类型和语言风格的文本写作。讯飞星火(网页版)“内容写作”功能可选的“语言风格”不包括( )。A. 口语化B. 高情商C. 专业D. 热情
下列哪项关于监督学习算法的描述正确()A. 强化学习的训练效果一定优于监督学习B. 主要的监督学习方法包括生成方法和判别方法C. 广度优先搜索算法是一种监督学习算法