2020C语言期末试题_A
C语言程序设计期末考试选择题题库

第一章1、一个C程序可能出现的错误有(A)A,以上都包括B,逻辑错误C,运行错误D,语法错误2、C程序中一般可以包含几个函数(D)A.1个B.多个C.0个D.至少一个3.C语言属于程序设计语言的哪个类别(B)A.机器语言B.高级语言C.面向对象语言D.汇编语言4.以下关于C语言描述错误的是(B)A.一个C程序总是从main函数开始执行B.一个C程序可以包含多个main函数C.每个语句的最后必须有一个分号D.C语言的注释符是以"/*"开始并以"*/"结束5、在调试过程中,逻辑错误是指(C)A.所书写的语句,不符合C的语法。
B.在从obj生成exe文件的过程中,如果函数名书写错误,可能产生的错误。
C.程序的运行结果不符合题目要求。
D.在exe文件的执行过程中,产生运行异常。
第二章1、16位的二进制数可以表示的整数的范围是(C)A.[-32768,32768]B.[-32767,32768]C.[-32768,32767]D.[-32767,32767]2、C语言中的实型数据包括(A)A.float和doubleB.int和floatC.float和charD.int和double3、以下不合法的字符常量是(C)A.'2'B.'A'C.'ab'4、在以下各组标识符中,均是合法的C语言标识符是(A)A.abc,A_4d,_student,xyz_abcB.auto,12-a,a_b,ab5.xC.A_4d,_student,xyz_abc,ifD.abc,a_b,union,scan5、若有定义:chara;intb;floatc;doubled;则表达式a*b+d-c值的类型为(A)A.charB.floatC.doubleD.int6、类型修饰符unsigned不能修饰(D)A.charB.longintC.intD.float7、若有定义:doublex=1,y;执行语句,则y的值是(B)A,1B,2.0D,2.58、设inta=1,b=2;以下选项中不正确的语句是(B)A.a=a+bB.a*3=3C.a+=3D.a/=19、在C语言中,要求参加运算的数必须是整数的运算符是(C)A.*B./C.%D.++10、设有定义:inta=7;floatx=2.5,y=4.7;则表达式的值是(D)A,3.5B,2.75C,0.0D,2.5第三章1、执行以下程序后k的值是(C)inti,j=10,k=0;for(i=0;i<=j;i++){k=i+j;j--;}A.9B.8C.10D.112、2、设inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为(C)A.3B.1C.2D.03、表示y在(-∞,3]和[23,+∞)范围内为真的表达式为(A)A.(y<=3)||(y>=23)C.(y<3)||(y>23)C.(y<=3)&&(y>=23)D.(y<3)&&(y>23)4、设有以下程序,若要使程序的输出值为2,则应该从键盘给n输入的值是(D)voidmain(){ints=0,a=1,n;scanf("%d",&n);do{s=s+1;}while(a!=n);printf("%d",s);}A.-5B.0C.-1D.-35、对下面程序段,描述正确的是(D)for(t=1;t<=100;t++){scanf("%d",&x);if(x<0)continue;printf("%d",x);}A.当x>=0时,什么也不输出B.printf函数永远也不执行C.当x<0时,整个循环结束D.最多允许输出100个非负整数6、已知intx=10,y=20,z=30;则执行以下语句后x、y、z的值是(A)if(x>y)x=y;y=z;A.x=20,y=30,z=30B.x=20,y=30,z=10C.x=20,y=30,z=20D.x=10,y=20,z=307、设有声明语句:inta=1,b=0;则执行以下语句后输出结果为(A)switch(a){case1:switch(b){case0:printf("**0**");break;case1:printf("**1**");break;}case2:printf("**2**");break;}A.**0****2**B.有语法错误C.**0****1****2**D.**0**8、以下程序段的输出结果是(B)intx=5;if(x--<5)printf("%d",x);elseprintf("%d",x++);A.6B.4C.5D.39、算法描述可以有多种表达方法,下面(C)方法不可以描述算法A.自然语言B.伪代码C.机器语言D.N-S图10、for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是(C)A.2B.8C.3D.9第四章1、包含标准库函数scanf声明的头文件是(B)A.stdlib.hB.stdio.hC.time.hD.math.h2、以下关于函数的叙述中正确的是(C)A.C语言程序将从源程序中第一个函数开始执行B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D.main可作为用户标识符,用以定义任意一个函数3、以下正确的函数定义是(A)A.doublefun(intx,inty){doublez;z=x+y;returnz;}B.doublefun(intx,inty){z=x+y;retur nz;}C.fun(x,y){intx,y;doublez;z=x+y;returnz;}D.fun(intx,y){intz;returnz;}4、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是(D)A.地址传递B.由用户指定传递方式C.由实参传给形参,再由形参传回实参D.单向值传递5、以下正确的描述是(A)A.函数的定义不可以嵌套,但函数的调用可以嵌套B.函数的定义可以嵌套,但函数的调用不可以嵌套C.函数的定义和函数的调用均可以嵌套D.函数的定义和函数的调用均不可嵌套6、以下关于函数的叙述中不正确的是(C)A.C程序是函数的集合,包括标准库函数和用户自定义函数B.在C语言程序中,函数的定义不能嵌套C.在C语言程序中,被调用的函数必须在main函数中定义D.在C语言程序中,函数的调用可以嵌套7、下列程序的运行结果是(D)#include<stdio.h>voidfun();intmain(){inta=10;fun();printf("]",a);return0;}voidfun(){inta=20;printf("]",a);}A,2020C,1010D,20108、下列程序的运行结果是(D)#include<stdio.h>intfun1(intx);voidfun2();intx=5;intmain(){intx=1;x=fun1(x);printf("%d",x);return0;}intfun1(intx){x++;fun2();returnx;}{x++;}A.7B.5C.6D.29、以下不正确的说法是(C)A.在函数内定义的变量只在本函数范围内可以使用B.形式参数是局部变量C.在主函数内定义的变量可在其余函数中通用D.在不同函数中可以使用相同名字的变量10、下列程序的运行结果是()#include<stdio.h>voidfun();inta=5;intmain(){inta=10;fun();printf("]",a);return0;}voidfun(){a=a+5;printf("]",a);}A.55B.105C.510D.1010第五章1、利用冒泡排序得到升序排列,每一趟中从前到后遍历数组,将相邻两个数作比较,如果前面的数小于后面的数,则(C)。
2020年电大本科C语言程序设计A期末考试试题及答案

2020年电大本科C语言程序设计A期末考试试题及答案2020年电大本科C语言程序设计A期末考试试题及答案| 本科《C语言程序设计A》复习资料一、单选题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。
A. mainB. MAINC. nameD. function 2.每个C语言程序文件的编译错误分为(B)类。
A. 1B. 2C. 3D. 4 3. 字符串“a+b=12\n“的长度为(B)。
A. 6B. 7C. 8D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(D)语句。
A. forB. whileC. doD. if 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为(C)。
int i=0; do i++; while(i A. 8 B. 9 C. 10 D. 11 6. 将两个字符串连接起来组成一个字符串时,选用的字符串函数为(C)。
A. strlen()B. strcpy()C. strcat()D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是(A)。
A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a的地址比a数组的首地址大(C)个字节。
A. 4B. 8C. 16D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为“Hello world!“,若要使变量p指向s所指向的字符串,则p应定义为(A)。
A. char *p=s;B. char *p=C. char *p;p=*s;D. char *p; p= 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。
A. gets()B. fgets()C. getc()D. fgetc() 11.程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用(D)符号作为分隔符。
电子科技大学《C语言》2020秋期末考试试题答案

电子科技大学《C语言》2020秋期末考试试题答案试卷总分:100 得分:100一、单选题 (共 35 道试题,共 70 分)1.若有说明int a[][3]={1,2,3,4,5,6,7};则a数组行数的大小为()。
A.2B.3C.4D.不确定答案:B2.若调用一个函数,且此函数中没有return语句,则正确的说法是该函数()。
A.没有返回值B.返回若干个系统默认值C.返回一个用户所希望的函数值D.返回一个不确定的值答案:D3.在“文件包含”预处理语句的使用形式中,当#include后面的文件名用""括起时,寻找被包含文件的方式是A.直接按照系统设定的标准方式搜索目录B.先在源程序所在目录搜索,再按照系统设定的标准方式搜索C.仅仅搜索源程序所在目录D.仅仅搜索当前目录答案:B需要代做加微boge306194.C语言规定:在一个源程序中,main函数的位置()。
A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后答案:C5.以下程序段的作用是()。
int a[]={4,0,2,3,1},i,j,t; for (i=1;i=0&&t>a[j]) {a[j+1]=a[j];j- -;} a[j+1]=t; }A.对数组a进行插入排序(升序)B.对数组a进行插入排序(降序)C.对数组a进行选择排序(升序)D.对数组a进行选择排序(降序)答案:B6.以下说法正确的是()。
A.x'+5是一个错误的表达式B.C语言不允许类型的混合运算C.强制类型转换时,类型说明符必须加括号D.(int)x+y?和(int)(x+y)是完全等价的表达式答案:C7.以下叙述不正确的是()。
A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面答案:D8.下面函数调用语句含有实参的个数为()。
2020年大学C语言期末考试练习题(带详解答案)

作者:非成败作品编号:92032155GZ5702241547853215475102时间:2020.12.13一、单项选择题1.(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。
A) 程序中第一条可执行语句B) 程序中第一个函数C) 程序中的main函数D) 包含文件中的第一个函数3、以下说法中正确的是(C)。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)。
A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。
A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。
A)%x B)a+b C)a123 D)123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。
(1253)国开大学2020年秋季 C语言 期末试题

试卷代号:1253国家开放大学2020年秋季学期期末统一考试C语言程序设计试题2021年1月一、单项选择题(把合适的选项编号填写在括号内。
每小题3分,共42分)1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。
A.mainB.MAIND.function2.用于输出表达式值的标准输出函数是( C )。
A.scanf()B.print()C.printf()D.output()3.由C语言源程序文件编译而成的目标文件的扩展名为( C )。
A.cppB.exeC.objD.C4.运算符优先级最高的是( A )。
A.()B.一C.+D.<5.已知x的初值为15,则下列各表达式中的最大值为( B )。
A.x++B.++xC.x-D.-x6.for循环语句能够被改写为( D )。
A.复合语句B.if语句C.switch语句D.while语句7.在一个数组中,数组元素a[i]前面的元素个数为( A )。
A.iB.i+lC.i-lD.2xi8.假定二维数组的定义语句为“int*a[3][5];”,则该数组所占用的存储空间的字节数为( D )。
A.120B.15C.30n609.对于一个二维字符数组a[M][N],存储每个字符串的长度至多为( D )。
A.MB.NC.M-1D.N-I10.假定a为-Ai数组名,则下面表达式中错误的是( B )。
A.a[i]B.*a++c*a D.*(a+1)11.假定一个函数的原型语句为“int ff(intx);”,一个整型变量为a,则下面函数调用表达式不正确的是( A )。
A.ff(*a)B.ff(a)C.ff(a+10)D.ff(3)12.假定要访问一个结构指针变量x所指对象中的数据成员a,则表示方法为( B )。
A.x.aB.x一>aC.x(a)D.x{a}13.标准输入设备键盘的文件流标识符是( A )。
A.stdinB.stdoutC.stderrD.stdio14.从一个文本文件中读取一个字符的系统函数为( D )。
2020c语言期末考试题库及详解答案

2020c语言期末考试题库及详解答案一、选择题1. 下列哪个选项不是C语言的基本数据类型?A. intB. charC. doubleD. string答案:D2. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C3. 以下哪个是C语言中的逻辑运算符?A. &&B. ||C. <=D. ==答案:A4. 在C语言中,哪个关键字用于定义函数?A. ifB. forC. whileD. void答案:D5. 在C语言中,以下哪个语句用于结束程序的执行?A. breakB. continueC. returnD. exit答案:C二、填空题1. C语言中,一个完整的程序由________和函数的实现两部分组成。
答案:函数的声明2. 在C语言中,使用________关键字可以定义一个数组。
答案:array 或者数组名[常量表达式]3. 在C语言中,________运算符用于判断两个表达式是否相等。
答案:==4. C语言中的________函数用于计算两个数的最大公约数。
答案:gcd5. 在C语言中,使用________语句可以结束当前循环体的执行,立即开始下一次循环。
答案:continue三、简答题1. 简述C语言中变量的作用域和生命周期。
答案:变量的作用域是指变量可以被访问的代码区域。
局部变量的作用域仅限于定义它的函数内部,全局变量可以在整个程序中访问。
变量的生命周期是指变量存在的时间段,局部变量的生命周期从定义时开始,到函数执行结束时结束,全局变量的生命周期从程序开始时开始,到程序结束时结束。
2. 解释C语言中的指针和引用的区别。
答案:指针是一个变量,它存储了另一个变量的内存地址。
引用则是一个别名,它为已存在的变量提供了另一个名字。
指针可以被重新赋值为其他地址,而引用一旦被初始化,就不能改变它所引用的变量。
四、编程题1. 编写一个C语言程序,实现求两个整数的最大公约数。
湖北大学软件工程专业2020年C语言程序设计期末综合考试

湖北大学软件工程专业2020年C语言程序设计期末综合考试基本信息:[矩阵文本题] *1. C语言源程序名的后缀是()。
[单选题] *.exe.obj.c(正确答案).cp2. 以下叙述正确的是()。
[单选题] *C语言程序总是从main函数开始执行(正确答案)C语言程序总是从最前面的函数开始执行C语言程序所调用的函数必须放在main函数的前面C语言程序中main函数必须放在程序的开始位置3. 表达式3.6-5/2+1.2+5%2的值是()。
[单选题] *4.83.33.8(正确答案)4.34. 若有定义语句:int x=12,y=8,z;在其后执行语句z=0.9+x/y;则z的值为()。
[单选题] *2.41(正确答案)21.95. 以下选项中,能用作用户标识符的是()。
[单选题] * void_0_(正确答案)8_8unsigned6. 有以下程序#include<stdio.h>main(){int a=1, b=0;printf("%d,", b=a+b);printf("%d\n", a=2*b);}程序运行后的输出结果是()。
[单选题] * 0,03,21,2(正确答案)1,07. 若有以下程序#include <stdio. h>main(){char c1,c2;c1='C'+'8'-'3';c2='9'-'0';printf("%c %d\n", c1, c2);}则程序的输出结果是()。
[单选题] *H 9(正确答案)表达式不合法输出无定值F '9'H '9'8. 若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch语句是()。
[单选题] *switch(a+b) { case 1: printf("*\n"); case c: printf("**\n"); }switch(x) { case 1.0: printf("*\n' ); case 2.0: printf(" **n"); }switch((int)x); { case 1: printf("*\n"); case 2: printf("**\n"); }switch(a+b) { case 1: printf("*\n"); case 2+1: printf("**\n"); }(正确答案) 9. 以下程序段中的变量已正确定义for(i=0;i<4;i++,i++)for(k=1;k<3;k++); printf("*” );该程序段的输出结果是()。
XXX《C语言》2020秋期末考试试题答案

XXX《C语言》2020秋期末考试试题答案试卷总分:100得分:100一、单选题(共35道试题,共70分)1.若有说明int a[][3]={1,2,3,4,5,6,7};则a数组行数的大小为()。
A.2B.3C.4D.不确定答案:B2.若调用一个函数,且此函数中没有return语句,则正确的说法是该函数()。
A.没有返回值B.返回若干个系统默认值C.返回一个用户所希望的函数值D.返回一个不确定的值答案:D3.在“文件包含”预处理语句的使用形式中,当#include后面的文件名用""括起时,寻找被包含文件的方式是A.直接按照系统设定的标准方式搜索目录B.先在源程序所在目录搜索,再按照系统设定的标准方式搜索C.仅仅搜刮源程序所在目录D.仅仅搜索当前目录答案:B需求代做加微boge4.C语言规定:在一个源程序中,main函数的位置()。
A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必需在末了谜底:C5.以下程序段的作用是()。
inta[]={4,0,2,3,1},i,j,t;for(i=1;i=0&&t>a[j]) {a[j+1]=a[j];j- -;} a[j+1]=t; }A.对数组a进行插入排序(升序)B.对数组a进行插入排序(降序)C.对数组a进行选择排序(升序)D.对数组a进行选择排序(降序)答案:B6.以下说法正确的选项是()。
A.x'+5是一个错误的表达式D.(int)x+y?和(int)(x+y)是完全等价的表达式谜底:C7.以下叙述不正确的是()。
A.一个C源程序可由一个或多个函数组成B.一个C源程序必需包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,解释说明只能位于一条语句的背面谜底:D8.下面函数调用语句含有实参的个数fun((exp1,exp2),(exp3,exp4,exp5));A.1为()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
序号 1 2 3 4
名称 分度圆直径 齿顶圆直径 齿根圆直径 全齿高
图 1 齿轮部分参数几何意义示意图
表 1 齿轮部分参数计算表
符号 计算公式
备注
d
d=mz
(1)z 为齿轮总齿数,用
da
da=m(z+2)
户指定;
df
df =m(z-2.5) (2)m 为齿轮模数,用户
h
h=2.25m
指定。
3.函数求导【10 分】
x
−
sin(
x 2
)cos(
x 2
)
在
x0
=0
处且满足精度
ε
=1.0
×10-6
的导数近似值及任一合
适的微分量 ∆ 。
要求:定义求导函数 double derive(double (*f)(double),*delta),函数调用需返回满足精度 ε 的导数近似值 dx
与任一合适的微分量 delta。形参 f 是被求导函数指针,其类型为是 double (*)(double),表示在调用被求导函数时,
值,
yi 是模型输出。σ
是激活函数
sigmoid,σ (x)
=
1 1+e− x
,损失函数 E( yt
−
y=)
1 2
[(
yt1
−
y1 ) 2
+
(
yt 2
−
y2
)2 ]。根
据上述内容完成下列各题:
(1)定义函 数 float* input2hide(float x[2],float w1[2][3],float b1),实现 图 4 模型中输入层到隐藏层 h 的计算。
学年:2019-2020 学年 学期:2 学期 课程名称:程序设计基础B(C语言) 课程代码:JK160210 日期:2020 年 6 月 29 日 时间:10:00-11:40 1.简单程序设计【45 分】
(1)写出 C 语言程序,实现计算自然数从 1 到 100 之和。【15 分】 (2)写出 C 语言程序,实现将具有 5 个成员的整型数组 a 值赋给同型的数组 b。【15 分】 (3)写出 C 语言程序,实现计算三条边长分别为 a=2,b=3 和 c=4 的三角形面积。【15 分】 2.齿轮参数计算【15 分】 齿轮是机械工程中常用零件,齿轮设计时需要计算齿轮参数,标准直齿圆柱齿轮部分参数几何意义和计算公 式分别见图 1 和表 1 所示。请写出实现表 1 中齿轮参数计算的 C 语言程序。
传入自变量 x 的值,返回函数 f (x) 的值;形参 delta 表示任一合适微分量 ∆ 的指针。
4.图形投影变换【10 分】 工程制图中的三视图是正平行投影变换,投影方向垂直于投影平面,如图 2 所示。在 CAD 系统中,生成三
视图就是把 x-y-z 坐标系下的图形投影到 z=0 平面上,并将坐标变换到 u-v-w 坐标系下,在计算机中的生成过程是 通过矩阵运算实现。将 x-y-z 坐标系原点 o(0,0,0) 变换到 u-v-w 坐标系下的坐标为 o′(ox,oy ,oz ) ,对于图形上任一点 p(x, y, z) ,经过投影变换生成主视图,在主视图上对应点的坐标 q(u, v, w) 为:
6.人工智能基础(10 分) 人工神经网络是一种人工智能(机器学习)算法。感知器是一种简单的人工神经网络模型,图 4 是一仅包含一
个隐藏层的多层感知器模型。神经网络运算分为两个过程:(1)前向传播,输入 x,经过网络计算得到输出 y;
(2)反向传播,用最速下降法(梯度下降法)更新权重和偏置量,实现网络参数自主学习,其过程是计算 y 与
b1
w321
y1 = σ ( y1 )
b2
y
yt
∑ y2
=
3
wi22hi
+b2
y2
i=1
w123
∑ h3
=
2 i =1
wi13 xi
+b1
w322
( ) h3 = σ h3
y2 = σ ( y2 ) b2
b1
前向传播
输入层
隐藏层
输出层
图 4 多层感知器网络模型
第 3 页/共 3 页
第 2 页/共 3 页
其中 x 为输入数据、w1 为输入层到隐藏层的连接权重,b1 为偏置量。【4 分】 要求:调用该函数后直接返回隐藏层输出 h,不能将 h 定义为全局变量。 (2)定义函数 float* hide2output(float h[3],float w2[3][2],float b2),实现 图 4 模型中隐藏层到输出层 y 的计算。
目标 yt 的误差损失函数 E,用 E 分别对权重 w 和偏置量 b 求导,利用当前值减去导数值与学习率η 的乘积,实
现
w
和
b
的更新。如 wi
= wi −η
∂E ∂wi
, bi
= , xi 是模型输入, winj (n = 1或2)是相邻两层间神经元的连接权重, bi 是偏置量, hi 是隐藏层神经元的
标,m 为投影变换矩阵,q 为 p 在主视图上生成的对应点坐标。
图 2 三视图示意图及投影变换
5.新冠人员排查【10 分】
同学 A 于 6 月 29 日乘火车返校,当天下午 A 到校后直接回到寝室,与室友进行了简单交流后,全寝室同学
开始休息。晚上,A 所在寝室与相邻两寝室全体同学相约到二食堂共进晚餐并点了烧烤,烧烤才吃了两串,A 就
其中 h 为隐藏层数据、w2 为隐藏层到输出层的连接权重,b2 为偏置量。【4 分】 要求:调用该函数后直接返回输出 y,不能将 y 定义为全局变量。 (3)定义函数 float dE_db2(float y[2],float yt[2]),实现损失函数对隐藏层到输出层偏置量 b2 的导数值计算,
其中 y 为已知输出数据、yt 为设定的目标值。【2 分】 要求:调用该函数直接返回该偏置量的导数值 db2。
函数
f
在 x0 处的导数可用差分
f ′(x0 ) =
f
(
x0
+
∆) − 2∆
f
(
x0
−
∆)
近似,但微分量
∆
如何取值才能使导数近似值
f ′(x0) 满足指定
的精度 ε ?为简化处理,当 f (x0 + ∆) − f (x0 − ∆) < ε 时,可认为导数近似值 f ′(x0) 满足了精度要求。
编写 C 语言程序,实现计算函数 f (x)=
接到通知,同车次同车厢一名乘客被确诊为新冠感染者,学校启动应急方案,梳理了 A 的活动轨迹,找到了 A
的密切接触者,校医院将所有密切接触者带走隔离,随即对密切接触者做了检测,其中学号为“5120190001”的同
学具有新冠抗体,解除了隔离并从隔离名单中排除,其他同学继续隔离观察。
假设:每个寝室均住满 6 人,去食堂路上未预见其他人,食堂做好了防护措施,不对食堂工作人员隔离。
第 1 页/共 3 页
设 x-y-z 坐标系的原点 o 在 u-v-w 坐标系下的坐标为 (1, 2, 0,1) ,请编写 C 语言程序,计算图形上一点 p(3, 4,5,1) ,
在主视图上生成对应的坐标 q(qx , qy , qz,1) 。 要求:定义投影变换函数 void projection(float p[4] ,float m[4][4],float q[4]),其中 p 为 x-y-z 坐标系下任一点坐
每位同学的信息包括:学号,姓名。
(1)建立同学信息的结构体类型。【4 分】
(2)定义一个函数,实现创建新冠密切接触者链表;【其中 A 用本人信息代替,其他同学信息如下设定:
学号(5120190000),姓名(CLanguage)】。【4 分】
(3)定义一个函数,形参为学号,实现从链表中删除具有新冠抗体的同学。【2 分】
反向传播
∑ h1
=
2
wi11 xi
+b1
i=1
E( yt − y)
x1
w111
w121
( ) h1 = σ h1 b1
w121 w122
∑ y1
=
3
wi21hi
+b2
y1
i=1
x2
1
w ∑ 12
h2
=
2 i =1
wi12 xi
+b1
w221
w122
( ) h2 = σ h2
w222
w113