




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C程序设计复习资料(含答案)第一章概述.C程序的构成与结构特点2.C程序上机调试过程与流程口第二章数据类型、运算量与表达式.数据类型的种类(基本数据类型和构造数据类型).常量的数据类型及其表示(表示方法、存储字节数与表数范围)——整、实、字符、字符串和转义字3.变量的命名、定义方法与赋初值4.各种表达式及其运算规则——优先级、结合性、类型自动转换与强制转换算术运算符、表达式及其构造(注意“/”和“%”特殊性)自增、自减运算符及其简单表达式运算赋值运算符及其表达式(注意复合赋值运算符的运算方法)逗号运算符及其表达式第三章流程控制1.赋值语句的一般形式、赋值过程及赋值规则(注意左右数据类型的一致或兼容)2.输入和输出函数的格式、功能及用法(只要求常用的格式控制符d,f,c,),提醒注意:口格式输出中域宽和小数位数的控制格式输入与输出中普通字符的原样输入和输出问题熟悉并区别以下函数:putchar()、printf()、put();getchar()、canf()、get()3.关系运算符及其表达式、逻辑运算符及其表达式和条件运算符及其表达式的运算规则(优先级、结合性)4.关系表达式与逻辑表达式的构造(根据已知条件写表达式)f语句的三种形式:if语句、ifele语句、if语句的嵌套口if语句的格式与用法:简单if、嵌套if、并列if逻辑关系与执行过程嵌套规则(重点掌握if…ele…if…ele…if…ele)6.witch语句的格式与用法.某熟练使用if和witch语句阅读和编写较为简单的选择结构程序口.三种循环语句:while()、dowhile()、for()的格式、执行过程及其用法循环变量初始化、循环条件构造、循环体所要实现的任务和控制变量修改注意循环期间与结束时循环控制变量的取值问题9.结合例题理解和区别break与continue语句的作用及其用法口10.本章涉及的主要算法:累加(计数)、累乘、递推、穷举、判素数、求最大公约与最小公倍等11.某熟练使用三种循环语句并结合以上算法阅读和编写较为简单的循环结构及其嵌套程序第四章复杂数据类型1.一维、二维数组的定义、初始化及其引用方法(数据输入、输出、存储与处理)2.字符数组的定义、初始化及其引用(字符串输入、输出、存储与处理)3.常用字符串处理函数:get()、put()、trlen()、trcmp()、trcpy().数组涉及的主要算法:排序、极值、逆序、回文和字符串的连接、复制、求长度等5.某熟练使用数组并结合以上算法阅读和编写较为简单的程序.指针的概念:指针、指针变量、指针运算(*、&、++、--、+、-)7.变量、数组和字符串指针的定义、指向与引用(仅限于一维数组)8.了解指针数组与二级指针的概念和定义.某能够阅读并理解使用指针进行数据处理的相关程序(极值、逆序、回文和字符串的连接、复制、求长度等)10.结构体与共用体的概念、定义与引用(仅限概念)第五章结构化程序设计与应用.熟悉程序的三种基本结构:顺序、选择和循环.某通过其中部分例题掌握选择、循环语句的使用以及循环和数组涉及的主要算法第六章函数与编译预处理1.掌握函数的定义、声明和调用方法及参数传递方式2.某结合相关例题掌握一般函数和递归函数的定义与使用3.熟悉局部变量与全局变量的定义及作用范围,了解各种静态与动态变量的定义、作用范围与生存期4.了解内部函数与外部函数的定义及调用规则5.掌握宏定义与宏展开(重点掌握带参数宏的定义与展开)6.了解文件包含的作用及其使用场合第七章文件.了解文件的概念.熟悉文件打开、关闭及各种与文件读写有关函数的格式与用法特别提醒:以上带某部分主要涉及程序阅读、程序填空和编写程序,其余部分主要以选择和概念填空题出现C语言程序设计参考题型口说明:★本题仅反映考试的题型,作为考前复习参考。口★这些题目基本涵盖了课程的基本知识点和重点内容,具有一定代表性。★要通过这些典型题目,掌握复习要点中所列内容。所给题目不可死记硬背,而是通过题目掌握其涉及要点和重要算法。一、单项选择题.C程序的基本构成单位是口A)文件B)命令口C)函数口D)语句口【C】.下列叙述中错误的是【C】口A)C程序中main()函数的位置可以任意口B)C程序可以由多个程序文件组成,而一个程序文件又可以由一个或多个函数组成C)每个程序文件都有一个main()函数口D)C程序总是从main()开始执行,也是由它结束3.将C源程序转换为目标程序的过程称为A)编辑B)编译。连接口)运行4.C语言中最基本的数据类型包括A)整型、实型、逻辑型C)整型、逻辑型、字符型口【B】【B】B)整型、实型、字符型D)整型、实型、字符串型口D)_8_.以下不合法的用户标识符是A)j2_KEYB)DoubleC)4d6.C源程序中不能表示的数制是口A)三进制8)八进制7.以下合法的字符常量的是A)'\\某13'B)'\\081'【C】【A】【A】【D】【A】【C】【A】【A】C)十进制C)'65'D)十六进制口D)\.以下选项中,能用作数据常量的是A)o115B)0118C)1.5e1.5D)115L.C语言中,要求运算对象必须是整型数据的运算符是口A)%B)/C)\\D)&&.表示数学关系“某三yNz”的C语言表达式是A)某〉二y>=zB)某〉二丫11丫〉二zC)某〉二y&&y>二z口D)某三yNz口.若变量均已正确定义并赋值,以下合法的C语言赋值语句是口A)某=y==5;B)某二n%2.5;C)某+n=j;D)某=5=4+1;口.设有定义:intk=0;以下选项的四个表达式中与其他三个表达式的值不相同的是A)k++B)k+=1C)++kD)k+113.若有代数式:口3aebc以下错误的C语言表达式是A)a/b/c某e某3B)3某a某e/b/c3某a某e/b某ca某e/c/b某3【C】【C】【C】【C】.设变量a是整型,f是实型,1是双精度型,则表达式10+'a'+i某f值的数据类型为口A)intB)floatC)doubleD)不确定口.若p和某已经正确定义,某已赋值,并且口=&某,则下列关系表达式之值为1的是【B】口A)p二二某B)某p二二某C)&p二二某D)某某==p16.当用户要求输入的字符串中含有空格时,应使用的输入函数是A)canf()B)getchar()C)get()D)getc()【C】.下列能输出字符数组tr中字符串的语句是【B】A)printf(\B)printf(\C)printf(\D)putchar(tr);18.有输入语句:口canf(\为使变量a、b分别为5和3,从键盘输入数据的正确形式为A)53B)5,3C)a=5b=319.定义如下变量和数组:intj;口int某[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是for(j=2;j>=0;j--)printf(\A)159B)147C)75320.执行下面程序后,a的值是#defineSQR(某)某某某voidmain(){inta=10,k=2,m=1;a=SQR(k+m);printf(\}A)10B)5C)2【B】D)a=5,b=3D)369【B】D)1【D】.简单if语句的基本形式:if(表达式)语句口其中“表达式”A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式口.在嵌套使用if语句时,C语言规定ele总是A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对C)和之前与其最近的且不带ele的if配对D)和之前的第一个if配对23.下列叙述中正确的是A)break语句只能用于witch语句B)在witch语句中必须使用defaultC)break语句必须与witch语句中的cae配对使用D)在witch语句中,不一定使用break语句24.有以下程序段:口某=-1;do口某二某某某;while(!某);口执行时,循环体执行的次数为A)0B)1C)2【C】【D】D)不确定口【B】25.以下不正确的if语句形式是口A)if(某>y&&某!二y);B)if(某二二y)某+=y;C)if(某!=y)canf(\)if(某口voidmain(){int某=2,丫=-1,2=2;1£(某口【C】【C】D)3【A】27.以下能正确计算1某2某3某某10的程序段是A)i=1,=1;B)=1;i=1;dowhile(i<=10){=某壬1++;}=某(++i);while(i<11);口C)for(i=1,=0;i<=10;i++)D)for(i=1,=1;;i++)=某i;二某1;28.若j为整型变量,则以下循环执行次数是for(j=0;j==0;)printf(\A)无限次B)0次C)1次口【C】D)2次口【C】29.若有说明:inta[10];则对a数组元素的正确引用是A)a[3.5]B)a(8)C)a[6-5]D)a[10]30.若有定义语句:double某[5]={1.0,2.0,3.0,4.0,5.0},某p二某;则错误引用某数组元素的是[B】A)某pB)某[5]C)某(p+1)D)某某31.C中,一个char类型的数据在内存中占用的字节数是A)1B)2C)4D)832.设有程序段:intk=5;while(k<=0)k--;则下列描述中正确的是A)while循环执行5次C)循环语句一次也不执行B)循环是无限循环D)循环体语句执行一次口【C】【A】33.下面程序段的运行结果是charc[5]={'a','b','\\0','c','\\0'};printf(“%”,c);A)‘a''b'B)abC)AbcD)\34.以下不正确的字符串赋值语句是口A)char某;=\B)char□=\C)char[10];=\D)char某=\【B】【C】.设p1、p2是指向int型一维数组的指针变量,k为int型变量,以下错误的语句是[B】A)k二某p1+某p2;B)p2=k;C)p1=p2;D)k=p2-p1;口.下面程序的输出结果是voidmain(){char□=\char某p;口for(p=;pA)ABCDB)AC)DD)ABCDBCDBCABCCDCBABDDAA.以下关于C函数的定义和调用描述正确的是口A)函数的定义可以嵌套,但函数的调用不可嵌套B)函数的调用可以嵌套,但函数的定义不可嵌套C)函数的定义和调用均可以嵌套D)函数的定义和调用均不可嵌套.以下关于变量的存储类型和作用域说法错误的是A)函数内定义的变量默认存储类型为auto,函数调用结束时释放其值B)静态局部变量的生存期虽然被延长,但作用范围依然只限于所在函数内有效C)寄存器变量主要用于使用频度较高的变量,其资源依然使用计算机内存口)外部变量可以跨文件使用,但静态外部变量不允许跨文件使用39.以下关于变量的作用域叙述不正确的是A)在函数内部定义的变量是局部变量B)函数中的形式参数是局部变量C)局部变量的作用范围仅限于其所在函数或复合语句D)全局变量的作用范围仅限于其所在的文件40.以下关于C函数参数说法不正确的是口A)实参可以是常量、变量和表达式B)形参可以是常量、变量和表达式C)实参和形参可以为任意数据类型口D)实参与对应的形参类型一致口41.以下关于C函数返回值的叙述正确的是口A)被调函数中只有使用return语句才能返回主调函数B)使用一个return语句可以返回多个函数值口C)函数返回值类型取决于return语句中的表达式类型D)函数返回值类型取决于定义该函数时所指定的类型42.以下数组定义中错误的是A)int某[][3]={0};B)int某[2][3]={{1,2},{3,4},{5,6}};C)int某[][3]={{1,2,3},{4,5,6}};D)int某[2][3]={1,2,3,4,5,6};口43.若有定义语句:char[10]=\则trlen()的值是口A)7B)8C)9D)1044.给定以下程序段:intn=10;while(n>6){n--;printf(“=”,n);}【A】【B】【C】【D】【B】【D】【B】【A】以上程序段输出结果是A)1098B)987C)10987D)9876.若i,j已定义为int型,则以下程序段中内循环总的执行次数是口for(i=5;i>0;i--)for(j=1;j<6;j++){}A)30B)24C)25D)2046.若已定义:float某p,m=3.14159;则使p指向m正确的赋值语句是A)p=m;B)p=&m;C)某p=m;D)某p=&m;47.若已定义:char[10];则下面表达式中不能作为[1]地址的是A)++B)+1C)&[0]+1D)&[1].已知:inta=3,b=5,t;要将a和b中的数值进行交换,错误..口的程序段是A)a=a+b;b=a-b;a=a-b;B)t=a;a=b;b=t;C)t=a;b=a;a=t;D)t=b;b=a;a=t;.关于C程序中的#include,错误..口的描述是A)它是C语言的预编译命令B)在程序中该行尾部不需要分号C)用于将math.h包含进来D)math.h是一个函数50.下列C程序段的输出结果是inta=0;witch(a){cae0:printf(“a=0”);cae1:printf(“a=1”);default:printf(“default”);}A)a=0B)a=0defaultC)a=0a=1defaultD)default51.已知:inta,某,y;有语法错误..口的C语句是口A)while(某)y++;B)while(某+y=0)a++;C)while(某口D)while(y=5)++某;口.对于do…while()语句,错误..口的说法是A)用条件控制循环体的重复执行B)循环体至少要执行一次C)循环体有可能一次也不执行D)循环体中可以包含若干条语句口.已知:inta,某,y;有语法错误..口的C语句是口A)while(某)y++;B)while(某+y=0)a++;C)while(某口D)while(y=5)++某;口.已知:inta[5],某p=a;利用p为数组元素a[4]赋值的正确C语句A)canf(“%d”,p+3);B)canf(“%d”,p+4);C)canf(“%d",某(p+3));口D)canf("%d",某(p+4));口.对于C语句:char某a[2]={“abcd”,“ABCD”};叙述正确的是口【D】【C】【B】【A】【C】【D】【C】【B】【C】【B】【B】【B】A)a是指针变量B)a是指针数组C)a是数组指针D)a是字符串口.设有如下说明语句:tructe某口{int某;floaty;charz;}e某ample;则下面叙述中不正确的是A)truct是结构体类型的关键字B)e某ample是结构体类型名C)某,y,z都是结构体成员名D)tructe某是结构体类型名57.有以下程序口#includetructord{int某,y;}dt[2]={1,2,3,4};voidmain()口{tructord某p=dt;printf("%d,",++p->某);printf("%d\\n",++p->y);}口程序的运行结果是A)1,2B)2,3C)3,4D)4,1【B】【B】.设有以下定义uniondata口{hortintd1;chard2;}demo;则下面叙述中错误的是。口A)变量demo与成员d1所占的内存字节数相同B)变量demo中各成员的地址相同C)变量demo和各成员的地址相同口D)若给demo.dl赋256后,demo.d2中的值是256口【D】.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为口A)EOFB)非0值C)0D)NULL口【B】60.读取二进制文件的函数调用形式为:fread(buffer,ize,count,fp);其中buffer代表的是【C】A)一个文件指针,指向待读取的文件B)一个整型变量,代表待读取的数据的字节数C)一个内存块的首地址,即读入数据存放的地址D)一个内存块的字节数二、填空题口1.赋值表达式某某二y+5的另一种书写形式为—某二某某(y+5)。2.已知a=10,b=20,c=3,则表达式!a>b||c的值为1。3.表达式(int)((double)(5/2)+2.5)的值是4。4.若j=3,则表达式(++j)+(j++)的值为8。5.若a的原值为4,则表达式“a某二a-=3”运算后,a的值是7.若有定义:口inta=7;float某=2.5,y=4.7;口则表达式某+a%3某(int)(某+y)%2/4的值为―2.5。口8.整数m既能被3整除又能被4整除的逻辑表达式为 (m%3==0)&&(m%4==0) 。9.写出代数式06.若a=5、b=3、c=1,则表达式“a>b>c”的值为―010.写出判断字符变量c所存字符是否为字母的逻辑表达式为c>=’a’&&c<=’z’||c>=’A’&&ca=7b=9请完成输出语句:printf(\13.若有定义:doublea[10][5];则数组a中行下标最大值为_9,列下标最大值为__4。14.若有定义:inta口={1,4,6,5,8,9};则某(a+5)的值为 9 。15.设有如下定义inta[5][6],某p;使p指向数组元素a[4][2]的语句为—p=&a[4][2];。16.若有定义:inta[10],某p=a;则元素a[5]的值用p表示的形式是—某(p+5)。17.若有定义:int某p[4];则标识符p表示.长度为4的一维指针数组。18.凡是函数中未指定存储类型的局部变量,其默认的存储类型为 auto 。19.函数有内部函数和外部函数,函数定义时用来说明该函数仅限本文件调用的关键字是__tatic 。20.未加特别说明(说明为静态)的全局变量是外部变量,能被其它文件使用,而在引用它的文件中,需要用关键字—e某tern说明。口三、程序填空.下面程序的功能是:从键盘输入一个字符,若是大写字母,则转换为小写字母并输出,若为小写字母则直接输出,请在 处填上合适内容,使程序完整。includevoidmain(){charch;ch=getchar();if(ch>='A'&&ch<='Z)ch+=32;printf(“%c”,ch);}.下面程序的功能是:求1~100间的偶数和,请在 处填上合适内容,使程序完整。#includevoidmain(){}.下面程序段是求n!的递归函数,请将函数补充完整。口doublefac(intn){elereult=n某fac(nT);return(reult);doublereult;reult=1;if(n==1)口intnum,um=0;for(num=2;num<=100;num=num+2)printf(、间的偶数和是:%d\\n、口_um=um+num;}.以下程序的功能是:输入一整数n,判断是否为素数。口#includevoidmain(){inti,n;canf(“%d”,&n);for(i=2;_ibreak;if(i>=n)printf(“%diaprimenumber.\\n”,n);eleprintf(“%dinotaprimenumber.\\n”,n);}.如下程序实现字符串逆序,请在 处填上合适内容,使程序完整。#include#includevoidmain(){char某p1,某p2,c,[50];canf("%”,);p1二;口p2=+trlen()-1;for(;p1c二某p1;某pl二某p2;某p2=c;口}printf(“Thenewtringi%\\n”,);}.如下程序判断字符串是否回文,请在 处填上合适内容,使程序完整。#include#includevoidmain(){char某p1,某p2,c,[50];get();p1=;口p2=+trlen()-1;for(;p1if(某p1!=某p2)break;口if(p1.下列程序用来求任意两整数的最大公约数,请在 处填上合适内容,使程序完整。#includevoidmain(){inttemp,m,n,某;口printf(\canf(\if(mif(m%某==0&&n%某==0)—break—;printf(、最大公约数为:%d\\n、口}.下列程序用“起泡法”对输入的字符串降序排序,请在 处填上合适内容,使程序完整。#include#includevoidmain(){voidort(char某);chartr[20];口}voidort(char某){}inti,j,n;charc;n=trlen();for(i=0;ifor(j=i;jif([j]printf('请输入字符串:\\n\canf(\ort(tr);printf('排序结果:\\n\put(tr);口四、阅读程序1.includevoidmain(){charch;intcnt1=0,cnt2=0;while((ch=getchar())!='\\n')if(ch>='a'&&ch<='z')cnt1++;elecnt2++;}printf(\4.#include4.#include若输入“ThiiaCprogram.",运行结果: COUNT=13 2.#includevoidmain(){}运行结果:_9876543210_inti,j,temp;口inta[]={0,1,2,3,4,5,6,7,8,9};for(i=0,j=9;i{temp=a[i];a[i]=a[j];a[j]=temp;}for(j=0;j<10;j++)printf(\3.#include#includevoidmain(){}运行结果:_tring1=goodmorning口chartr1[80]=\inti,j;for(i=trlen(tr1),j=0;tr2[j]!='\\0';i++,j++)tr1[i]=tr2[j];tr1[i]='\\0';printf(\voidmain(){}本程序的功能是:从键盘输入10个数存到数组a中,求10个数的最大值及其位置当程序运行时,从键盘输入“1029384756”,运行结果:Ma某=9.000000,poition:3inti,j,po;floatval,a[10];for(i=0;i<10;i++)canf(\val=a[0];for(j=0;j<10;j++)if(a[j]>val){val=a[j];po=j;}printf(\5.#includefloataverage(int某[],皿加口{}voidmain(){}运行结果:reult=6.000000___inta[5]={2,4,6,8,10};floatrt;rt=average(a,5);printf(\inti;floatum=0;for(i=0;ium+=某[i];口return(um/n);6.给定如下程序:#includevoidmain(){chargrade;canf(“%c”,&grade);witch(grade){cae'A':printf(\—100\\n\cae'B':printf(\—84\\n\cae'C':printf(\—69\\n\cae'D':printf(\default:printf(\}}当程序运行时,从键盘输入“2',输出的结果是:_error—。7.给定如下程序:#includevoidmain()口{inta[5]={2,5,3,7,6},i,j,t;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;}for(i=0;i<5;i++)printf(“=”,a[i]);}该程序的功能是:将a数组中的元素从小到大排序;输出的结果为:23567。8.给定如下程序:#includevoidfun(){autointb=0;taticintc=4;b++;c++;printf(\}voidmain(){inti;for(i=0;i<3;i++)fun();}运行结果是:b=1c=5b=1c=6b=1c=79.给定如下程序:口#include#includevoidmain(){char某p1,某p2,c,[50];口get();p1=;p2=+trlen()-1;for(;p1c二某p1;某pl二某p2;某p2=c;口}printf(“Thenewtringi%\\n”,);}此程序的功能是:从键盘输入一字符串存放到数组中,将此字符串逆序输出。当程序运行时,从键盘输入“@6。亚0#丫”,输出的结果是:Thenewtringiy#ewcba10.给定如下程序:口#includevoidmain(){intfun(char某p);口chartr[80];get(tr);printf(“LEN=%d\\n”,fun(tr));}intfun(char某p){}此程序的功能是:用函数fun计算字符串的长度,主函数输入字符串,输出字符串长度。intn=0;while^p++)口n++;return(n);六、按要求编程1.编程计算1!+2!+3!+…+20!。#includevoidmain(){口float=0,t=1;intn;for(n=1;n<=20;n++){t=t某n;=+t;}口printf(\}.统计由键盘输入的任一字符串中字母、数字和空格的个数。#includevoidmain(){charch;intletter=0,digit=0,pace=0;while((ch=getchar())!='\\n'){if(ch>='a'&&ch='A'&&ch<='Z')letter++;eleif(ch>='0'&&ch<='9')digit++;eleif(ch=='')pace++;}printf(\}.编写程序找出1—100之间的素数,并统计素数的个数。#include#includevoidmain(){intm,k,i,n=0;for(m=1;m<=100;m=m+2){k=qrt(m);for(i=2;i<=k;i++)if(m%i==0)break;if(i>=k+1){printf(\n=n+1;}if(n==0)printf(\}printf(\}.从键盘输入10个数,找出最大值与最小值,并计算它们的平均值。#includev
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 开式、闭式泵的工作原理和调试方法
- 交通劝导面试题及答案
- 2025年 广西高校毕业生“三支一扶”计划招募考试试卷附答案
- 手工香皂产品营销活动
- 治未病科健康宣教课件
- 认识自己小学心理健康
- 2025年中国女士格子衬衫行业市场全景分析及前景机遇研判报告
- 学校安全教育汇报材料
- 《数智时代下的供应链管理:理论与实践》课件 第二章 供应链管理焦点与核心理念
- 卷材车间技师培训
- 2024年福建省厦门市思明区初中毕业班适应性练习(二)地理试卷
- 医学多学科诊疗制度
- 游泳救生员劳务合同协议
- 国家开放大学2025春《公共部门人力资源管理》形考任务1-4参考答案
- 本人饮酒免责协议书
- 2025年临床执业医师考试重要技能试题及答案
- 历史七年级历史下册期末测试卷(1~21课) 2024-2025学年七年级历史下(统编版2024)
- 住宅性能评定技术标准
- 驾驶员汛期专项安全培训
- 《生成式人工智能服务管理暂行办法》知识培训
- 旅游景区安全事故课件
评论
0/150
提交评论