• 31.66 KB
  • 2021-05-17 发布

精编国家开放大学电大《C语言程序设计》《电气传动与调速系统》网络课形考网考作业(合集)答案

  • 59页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
国家开放大学电大《C语言程序设计》《电气传动与调速系统》网络课形考网考作业(合集)答案 ‎ 国家开放大学电大《C语言程序设计》《电气传动与调速系统》网络课形考网考作业(合集)答案 《C语言程序设计》网络课答案 形考任务1 一、选择题(共40分,每小题2分)题目1 在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。 选择一项:A. main 恭喜你,答对啦!! B. MAIN C. name D. function 题目2 C语言源程序文件的缺省扩展名为( )。 选择一项:A. cpp B. exe C. obj D. c 题目3 由C语言目标文件连接而成的可执行文件的缺省扩展名为( )。 选择一项:A. cpp B. exe C. obj D. c 题目4 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为( )。 选择一项:A. 空格或逗号 B. 逗号或回车 C. 逗号或分号 D. 空格或回车 题目5 ‎ 每个C语言程序文件的编译错误被分为( )。 选择一项:A. 1类 B. 2类 C. 3类 D. 4类 题目6 不符合C语言规定的复合语句是( )。 选择一项:A. {} B. {;} C. {x=0;} D. {y=10} 题目7 C语言程序中的基本功能模块为( )。 选择一项:A. 表达式 B. 标识符 C. 语句 D. 函数 题目8 在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和( )。 选择一项:A. 表达式 B. 语句 C. 参数表 D. 函数体 题目9 在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用的起止定界符为一对( )。 选择一项:A. 尖括号 B. 双引号 C. 单引号 D. 花括号 题目10 在C语言程序中,多行注释语句使用的开始标记符为( )。 选择一项:A. // B. /* C. */ D. ** 题目11 ‎ 在printf()函数调用的格式字符串中,若使用格式符为“%c”,则对应输出的数据类型为( )。 选择一项:A. char B. int C. float D. double 题目12 在printf()函数调用的格式字符串中,若使用格式符为“%5d”,则规定对应输出的数据占用的字符位置个数为( )。 选择一项:A. 5 B. 4 C. 3 D. 6 题目13 转义字符'\\'表示的字符是( )。 选择一项:A. 单引号 B. 双引号 C. 反斜线 D. 问号 题目14 枚举类型中的每个枚举常量的值都是一个( )。 选择一项:A. 整数 B. 浮点数 C. 字符 D. 逻辑值 题目15 运算符优先级最高的是( )。 选择一项:A. = B. *= C. D. != 题目16 设x和y均为逻辑值,则x y为真的条件是( )。 选择一项:A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个为假 题目17 设有语句“int a=12; ‎ a+=a*a;”,则执行结束后,a的值为( )。 选择一项:A. 12 B. 144 C. 156 D. 288 题目18 x>0 x<=10的相反表达式为( )。 选择一项:A. x<=0 || x>10 B. x<=0 x>10 C. x<=0 || x<=10 D. x>0 x>10 题目19 字符串“a+b=12\n”的长度为( )。 选择一项:A. 6 B. 7 C. 8 D. 9 题目20 在下列的符号常量定义中,错误的定义语句格式为( )。 选择一项:A. const int M1=10; B. const int M2=20; C. const int M3 10; D. const char mark='3'; 二、判断题(共60分,每小题2分。叙述正确则回答“是”,否则回答“否”)题目21 C语言中的每条简单语句以分号作为结束符。 选择一项:对 错 题目22 C语言中的每条复合语句以花括号作为结束符。 选择一项:对 错 题目23 在C语言程序中,在行尾使用注释的开始标记符为一对单斜线字符。 选择一项:对 错 题目24 ‎ 注释内容的开始所使用的标记符为/*,则注释内容的结束所使用的标记符为*/。 选择一项:对 错 题目25 在一个C语言程序文件中,若要包含一个头文件,则使用以百分号开始的预处理命令。 选择一项:对 错 题目26 用于输出表达式值的标准输出函数是printf()。 选择一项:对 错 题目27 当不需要函数返回任何值时,则需要使用保留字void作为函数的返回值类型。 选择一项:对 错 题目28 每个C程序文件在编译时可能出现有警告性错误,其对应的标识符为error。 选择一项:对 错 题目29 十进制数25表示成符合C语言规则的八进制数为31。 选择一项:对 错 题目30 十进制数25表示成符合C语言规则的十六进制数为0x19。 选择一项:对 错 题目31 在C语言中,转义字符'\n'表示一个换行符。 选择一项:对 错 题目32 执行“printf(“%c“,'F'-2);”语句后得到的输出结果为H。 选择一项:对 错 题目33 已知字符'C'的ASCII码为67,当执行“int x='C'+5;”语句后x的值为72。 选择一项:对 错 题目34 假定一个枚举类型的定义为“enum RB{ab,ac=3,ad,ae}x=ad;”,则x的值为2。 选择一项:对 错 题目35 float的类型长度为8。 ‎ ‎ 选择一项:对 错 题目36 在C语言中,常数28和3.26具有相同的数据类型。 选择一项:对 错 题目37 若需要定义一个符号常量,并且使C语言能够进行类型检查,则应在定义语句的开始使用保留字const。 选择一项:对 错 题目38 使用const语句定义一个符号常量时,不必对它进行初始化。 选择一项:对 错 题目39 表达式45%13的值为3。 选择一项:对 错 题目40 假定x=5,则表达式2*x++的值为12。 选择一项:对 错 题目41 表达式(float)25/4的值为6。 选择一项:对 错 题目42 表达式x=x+1表示成增量表达式为++x。 选择一项:对 错 题目43 关系表达式(x!=0)的等价表达式为(x)。 选择一项:对 错 题目44 关系表达式x+y>5的相反表达式为x+y<=5。 选择一项:对 错 题目45 逻辑表达式(a>b || b==5)的相反表达式为(a>b b==5)。 选择一项:对 错 题目46 若x=5,y=10,则x>y逻辑值为真。 ‎ ‎ 选择一项:对 错 题目47 假定x=5,则执行“a=(x?10:20);”语句后a的值为10。 选择一项:对 错 题目48 带有随机函数的表达式rand()%20的值所在的区间范围是0~19。 选择一项:对 错 题目49 假定x=5,则执行“y=x++;”语句后,x的值为5。 选择一项:对 错 题目50 假定x=5,则执行“y=++x;”语句后,y的值为6。 选择一项:对 错 形考任务2 一、选择题(共20分,每小题2分)题目1 当处理特定问题时的循环次数已知时,通常采用的语句是( )。 选择一项:a. for b. while c. do-while d. switch 题目2 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写成的语句是( )。 选择一项:a. for b. if c. do d. while 题目3 for语句能够被改写成的语句是( )。 选择一项:a. 复合 b. if c. switch d. while 题目4 下面循环语句执行结束后输出的i值为( )。 for(int i=0; i<n; i++) if(i>n/2) {cout<<i<<endl; break;} 选择一项:a. n/2 b. n/2+1 c. n/2-1 d. n-1 题目5 ‎ 在下面循环语句中,内层循环体S语句的执行总次数为( )。 for(int i=0; i<n; i++) for(int j=i; j<n; j++) S; 选择一项:a. n2 b. (n+1)/2 c. n(n-1)/2 d. n(n+1)/2 题目6 在下面的do循环语句中,其循环体被执行的次数为( )。 int i=0; do i++; while(i*i<10); 选择一项:a. 4 b. b. 3 c. 5 d. 2 题目7 在下面的一维数组定义中,有语法错误的选项是( )。 选择一项:a. int a[]={1,2,3}; b. int a[10]={0}; c. int a[]; d. int a[5]; 题目8 在下面的二维数组定义中,语法正确的选项是( )。 选择一项:a. int a[5][]; b. int a[][5]; c. int a[][3]={{1,3,5},{2}}; d. int a[](10); 题目9 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][1]的值为( )。 选择一项:a. 2 b. 4 c. 6 d. 8 题目10 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为( )。 选择一项:a. 0 b. 4 c. 8 d. 6 ‎ 二、判断题(共20分,每小题1分。叙述正确则回答“是”,否则回答“否”)题目11 在执行“typedef int DataType;”语句后,标识符DataType与保留字int具有完全相同的含义和作用。 选择一项:对 错 题目12 在switch语句中,每个case和冒号之间的表达式只能是常量。 选择一项:对 错 题目13 为了结束本层循环类语句或switch语句的执行过程,在语句体中需要使用break语句。 选择一项:对 错 题目14 在程序中执行到break语句时,将结束所在函数的执行过程,返回到调用该函数的位置。 选择一项:对 错 题目15 在程序执行完成任一个函数调用后,将结束整个程序的执行过程,返回到操作系统或C语言集成开发环境界面窗口。 选择一项:对 错 题目16 假定一维数组的定义为“char* a[8];”,则该数组所含元素的个数大于8。 选择一项:对 错 题目17 假定二维数组的定义为“int a[3][5];”,则该数组所占存储空间的字节数为60。 选择一项:对 错 题目18 假定二维数组的定义为“char a[M][N];”,则该数组所含元素的个数为M+N。 选择一项:对 错 题目19 假定二维数组的定义为“double a[M][N];”,则每个数组元素的行下标取值范围在0~M-1之间。 选择一项:对 错 题目20 假定二维数组的定义为“double ‎ a[M][N];”,则每个数组元素的列下标取值范围在0~N之间。 选择一项:对 错 题目21 存储一个空字符串需要占用0个字节的存储空间。 选择一项:对 错 题目22 使用“typedef char BB[10][50];”语句定义标识符BB为含有10行50列的二维字符数组类型。 选择一项:对 错 题目23 存储字符'a'需要占用1个字节的存储空间。 选择一项:对 错 题目24 空字符串的长度为1。 选择一项:对 错 题目25 字符串“a:\\xxk\\数据“的长度为13。 选择一项:对 错 题目26 为了存储一个长度为n的字符串,所使用的字符数组的长度至少为n+1。 选择一项:对 错 题目27 strcmp函数用于进行两个字符串之间的比较。 选择一项:对 错 题目28 strcpy函数用于把一个字符串拷贝到另一个字符数组空间中。 选择一项:对 错 题目29 一个二维字符数组a[10][20]能够最多存储9个字符串。 选择一项:对 错 题目30 一个二维字符数组a[10][20]能够存储的每个字符串的长度不超过20。 选择一项:对 错 ‎ 三、填空题:写出下列每个程序运行后的输出结果(共40分,每小题4分)题目31 #include<stdio.h> void main() { int x=5; switch(2*x-3) { case 4: printf(“%d “,x); case 7: printf(“%d “,2*x+1); case 10: printf(“%d “,3*x-1); break; default: printf(“%s“,“default\n“); } } 答:11 14 题目32 #include<stdio.h> void main() { int i,s=0; for(i=1;i<=5;i++) s+=i*i; ‎ ‎ printf(“s=%d\n“,s); } 答:s=55 题目33 #include<stdio.h> void main() { int i, s1=0, s2=0; for(i=0;i<10;i++) if(i%2) s1+=i; else s2+=i; printf(“%d %d\n“,s1,s2); } 答:25 20 题目34 #include<stdio.h> void main() { int n=6,y=1; while(n) y*=n--; printf(“y=%d\n“,y); } 答:y=720 题目35 #include<stdio.h> ‎ ‎ const int M=20; void main() { int i,c2,c3,c5; c2=c3=c5=0; for(i=1; i<=M; i++) { if(i%2==0) c2++; if(i%3==0) c3++; if(i%5==0) c5++; } printf(“%d %d %d\n“,c2,c3,c5); } 答:10 6 4) 题目36 #include<stdio.h> void main() { int i,s; ‎ ‎ for(i=1,s=0;i<10;i++) { if(i%3==0) continue; s+=i; } printf(“%d\n“,s); } 答:27 题目37 #include<stdio.h> void main() { int a[8]={12,39,26,41,55,63,72,40}; int i, i1=0, i2=0; for(i=0;i<8;i++) if(a[i]%2==1) i1++; else i2++; ‎ ‎ printf(“%d %d\n“,i1,i2); } 答:4 4 题目38 #include<stdio.h> int a[10]={4,5,6,15,20,13,12,7,8,9}; void main() { int i,s[4]=0; for(i=0; i<10; i++) { switch(a[i]%4) { case 0: s[0]+=a[i];break; case 1: s[1]+=a[i];break; case 2: s[2]+=a[i];break; ‎ ‎ default: s[3]+=a[i];break; } } for(i=0; i<4; i++) printf(“%d “,s[i]); } 答:44 27 6 22 题目39 #include<stdio.h> void main() { char a[]=“abcdbfbgacd“; int i1=0, i2=0, i=0; while(a[i]) { if(a[i]=='a') i1++; if(a[i]=='b') i2++; ‎ ‎ i++; } printf(“%d %d %d\n“,i1,i2,i); } 答:2 3 11 题目40 #include<stdio.h> void main() { int a[3][4]={{1,2,7,8},{5,6,10,6},{9,12,3,4}}; int m=a[0][0]; int i,j; for(i=0; i<3; i++) for(j=0; j<4; j++) if(a[i][j]>m) m=a[i][j]; ‎ ‎ printf(“%d\n“,m); } 答:12 四、简答题:根据下列每个题目要求编写程序(共20分,每小题4分)题目41 编写一个函数,函数头格式为“double Mean(double a[M][N],int m,int n)”,要求返回二维数组a[m][n]中所有元素的平均值,假定在计算过程中采用变量v存放平均值。 double Mean(double a[M][N], int m, int n) { int i, j; double v=0.0; for(i=0; i<m; i++) for(j=0; j<n; j++) v+=a[i][j]; ‎ ‎ v=v/(m+n); return v; } 答:double Mean(double a[M][N],int m,int n) { int i,j; double v=0.0; for(i=0; i<m; i++) for(j=0; j<n; j++) v+=a[i][j]; v/=m*n; return v; } 题目42 编写一个递归函数“int FF(int a[], int n)”,求出数组a中所有n个元素之积并返回。 int FF(int a[ ], int n) { if(n==1) return a[0]; else return FF(a, n-1)*a[n-1]; } 答:int FF(int a[], int n) { if(n==1) return a[n-1]; ‎ ‎ else return a[n-1]*FF(a,n-1); } 题目43 编写一个主函数,利用while循环,求出并显示满足不等式的最小n值。 #include <stdio.h> void main( ) { int i=0, s=0; while(s<=1000) { i++; s+=i*i; } printf(“满足不等式的最小n 值是: %d\n“, i); } 答:#include<stdio.h> void main() { int i=0; double s=0; //或int i=1; double ‎ s=1; while(s<5) s+=(double)1/++i; printf(“n=%d\n“,i); } 题目44 编写一个主函数,求出满足不等式22+42+...+n2<1000的最大n值,假定分别用i和s作为取偶数值和累加值的变量,并限定使用do循环编程。 #include <stdio.h> void main( ) { int i=0, s=0; do { i+=2; s+=i*i; }while(s<1000); printf(“满足不等式的最大n值是: %d\n“, ‎ i-2); } 答:#include<stdio.h> void main() { int i=0; //用i作为依次取值偶数的变量 int s=0; //用s作为累加变量 do { i+=2; s+=i*i; }while(s<1000); printf(“n=%d\n“,i-2); } 题目45 编写一个主函数,计算并输出12+22+...+n2值,其中n值由键盘输入。 #include <stdio.h> void main( ) { int i, n, s=0; printf(“请输入一个整数n:“); scanf(“%d“, n); ‎ ‎ for(i=1; i<=n; i++) s+=i*i; printf(“s=%d\n“,s); } 答:#include<stdio.h> void main() { int i; //用i作为计数(循环)变量 int s=0; //用s作为累加变量 int n; printf(“输入一个自然数: “); scanf(“%d“,n); for(i=1; i<=n; i++) s+=i*i; printf(“s=%d\n“,s); } 形考任务3 一、选择题(共30分,每小题2分)题目1 在下面的函数声明语句中,存在着语法错误的是( )。 选择一项:a. AA(int a, int b) b. AA(int, int) c. AA(int a; int b) d. AA(int a, int) 题目2 在下面的保留字中,不能作为函数的返回值类型的是( )。 选择一项:a. void b. int c. enum d. long 题目3 假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址增加的字节数为( )。 选择一项:a. 1 b. 2 c. 4 d. 8 题目4 ‎ 假定a为一个数组名,在下面的表达式中,存在语法错误的是( )。 选择一项:a. a[i] b. *a++ c. *a d. *(a+1) 题目5 用calloc函数创建具有10个整型元素的一维数组的正确语句是( )。 选择一项:a. int *p=calloc(10,2); b. int *p=calloc(10); c. int *p=calloc(10,4); d. int *p=malloc(10) 题目6 假定变量m定义为“int m=7;”,则下面正确的语句为( )。 选择一项:a. int p=m; b. int *p=m; c. int p=*m; d. int *p=m; 题目7 假定k是一个double类型的变量,则定义变量p的正确语句为( )。 选择一项:a. double p=k; b. int *p=k; c. double p=*k; d. char *p=“Thank you!“; 题目8 若有语句为“int a[10], x, *pa=a;”,要把数组a中下标为3的元素值赋给x,则不正确的语句为( )。 选择一项:a. x=pa[3]; b. x=*(a+3); c. x=a[3]; d. x=*pa+3; 题目9 假定有语句为“int b[10]; int *pb;”,则下面不正确的赋值语句为( )。 选择一项:a. pb=b; b. pb=b[0]; c. pb=b+2; d. pb=b[5]; 题目10 已知“int *p=malloc(100);”,要释放p所指向的动态内存,正确的语句为( )。 选择一项:a. free(p); b. free p; c. free(*p); d. ‎ free[p]; 题目11 在程序的一个文件中定义的函数,若要在另一个文件中调用,则必须在这另一个文件中给出该函数的( )。 选择一项:a. 原型语句 b. 参数表 c. 函数名 d. 返回类型 题目12 假定一个函数定义为“static int f1(int x,int y){return x+y;}”,该函数名称为( )。 选择一项:a. static b. int c. f1 d. return 题目13 假定一个函数的原型语句为“int ff(int* x);”,一个整型数组为a[10],则下面函数调用表达式不正确的是( )。 选择一项:a. ff(a) b. ff(a[0]) c. ff(a+3) d. ff(a[0]) 题目14 假定一个函数的数组参数说明为char a[],与之等价的指针参数说明为( )。1B 选择一项:a. char a b. char* a c. char a d. char**a 题目15 假定一个函数的二维数组参数说明为char w[][N],与之等价的指针参数说明为( )。 选择一项:a. char (*w)[N] b. char *w[N] c. char (*w)N d. char**a 二、判断题(共30分,每小题2分。叙述正确则回答“是”,否则回答“否”)题目16 在C语言中,一个函数由函数头和函数体组成。 选择一项:对 错 题目17 在函数模块之外定义的变量称为全局变量,若没有被初始化则系统隐含对它赋初值0。 ‎ ‎ 选择一项:对 错 题目18 如果一个函数只允许同一程序文件中的函数调用,则不应在该函数定义的开始前加上保留字static。 选择一项:对 错 题目19 如果在一个函数体中又出现对自身函数的调用,此种函数调用被称为递归调用。 选择一项:对 错 题目20 调用系统函数时,要先使用#include命令包含该系统函数的原型语句所在的系统头文件。 选择一项:对 错 题目21 函数形参变量不属于局部变量。 选择一项:对 错 题目22 假定p所指对象的值为25,p+1所指对象的值为46,则*p++的值为46。 选择一项:对 错 题目23 假定p所指对象的值为25,p+1所指对象的值为46,则*++p的值为25。 选择一项:对 错 题目24 假定p所指对象的值为25,p+1所指对象的值为46,则执行*(p++)运算后,p所指对象的值为46。 选择一项:对 错 题目25 假定a是一个指针数组,则a+i所指对象的地址比a地址大4*i字节。 选择一项:对 错 题目26 若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为(char*)p。 选择一项:对 错 题目27 ‎ 假定一个数据对象为int*类型,则指向该对象的指针类型仍为int*类型。 选择一项:对 错 题目28 假定x为一个简单变量,则x表示x的地址。 选择一项:对 错 题目29 若p指向x,则*p与x的值不同。 选择一项:对 错 题目30 NULL是一个符号常量,通常作为空指针值,它代表的值为0。 选择一项:对 错 三、写出下列每个程序运行后的输出结果(共20分,每小题4分)题目31 #include<stdio.h> int WF(int x, int y) { x=x+y; y=x+y; return x+y; } void main() { int x=5, y=7; ‎ ‎ int z=WF(x,y); printf(“z=%d\n“,z); } 答:z=31 题目32 #include<stdio.h> #include<string.h> void fun(char ss[]); void main() { char s[15]=“0123456789“; fun(s); printf(“%s\n“,s); } void fun(char ss[]) { int i, n=strlen(ss) ; for(i=0; i<n/2; i++) { char c=ss[i]; ‎ ‎ ss[i]=ss[n-1-i]; ss[n-1-i]=c; } } 答:987543210 题目33 #include<stdio.h> int Count(int a[], int n, int x) { int i,c=0; for(i=0;i<n;i++) if(a[i]>x) c++; return c; } ‎ ‎ void main() { int a[8]={20,15,32,47,24,36,28,70}; int b=Count(a,8,30); printf(“b=%d\n“,b); } 答:B=4 题目34 #include<stdio.h> void main() { int a[8]={3,5,7,9,2,3,4,8}; int s=0,*p; for(p=a;p<a+8;) s+=*p++; printf(“s=%d\n“,s); } 答:s=41 题目35 #include<stdio.h> int LA(int *a, int n, int x) { int i,s=0; ‎ ‎ for(i=0;i<n;i++) if(a[i]<x) s+=a[i]; return s; } void main() { int a[8]={5,10,15,8,12,3,9,20}; int b=LA(a,5,10); int c=LA(a+2,6,10); printf(“%d %d\n“,b,c); } 答:13 20 四、写出下列每个函数的功能(共20分,每小题4分)题目36 double SF(double x, int n) { //n为正整数 double p=1,s=1; ‎ ‎ int i; for(i=1;i<=n;i++) { p*=x; s+=p; } return s; } 答:计算出1+x+x2+...+xn的值并返回。 题目37 int SG(int x) { //x为大于等于2的整数 int i=2; while(i*i<=x) { ‎ ‎ if(x%i==0) break; i++; } if(i*i<=x) return 0; else return 1; } 答:判断x是否为一个质数(素数),若是则返回1,否则返回0。 题目38 int WB(int a[], int n, int x) { for(int i=0;i<n;i++) if(a[i]==x) return 1; return 0; } 答:从数组a[n]中顺序查找值为x的元素,若查找成功则返回1,否则返回0。 题目39 int fun(int m, int n) { ‎ ‎ int c=0; static int b=2; if(m<b || n<b) return m*n; else if(m%b==0 n%b==0) {c=b; return c*fun(m/b,n/b);} else {b++; return fun(m,n);} } 答:一个递归函数过程,求出两个自然数m和n的最小公倍数。 题目40 int LK(double a[], int n) { double s=0; int i,m=0; for(i=0;i<n;i++) s+=a[i]; s/=n; ‎ ‎ for(i=0;i<n;i++) if(a[i]>=s) m++; return m; } 答:求出并返回数组a的n个元素中大于等于平均值的元素个数。 形考任务4 一、选择题(共30分,每小题2分)题目1 假定有“struct BOOK{char title[40]; float price;}; struct BOOK book;”,则不正确的语句为( )。 选择一项:a. struct BOOK *x=malloc(book); b. struct BOOK x={“C++ Programming“,27.0}; c. struct BOOK *x=malloc(sizeof(struct BOOK)); d. struct BOOK *x=book; 题目2 假定有“struct BOOK{char title[40]; float price;} book;”,则正确的语句为( )。 选择一项:a. struct BOOK x= book; b. struct BOOK *x=book; c. struct BOOK x=calloc(BOOK); d. struct BOOK *x=BOOK; 题目3 在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是( )。 选择一项:a. 句点 b. 冒号 c. 分号 d. 逗号 题目4 ‎ 假定一个结构类型的定义为 “struct A{int a,b; double c;};”,则该类型的长度为( )。 选择一项:a. 8 b. 10 c. 12 d. 16 题目5 假定一个结构类型的定义为 “struct D{int a; D* next;};”,则该类型的长度为( )。 选择一项:a. 4 b. 8 c. 12 d. 16 反馈 Your answer is correct. 题目6 假定要访问一个结构指针变量x中的数据成员a,则表示方法为( )。 选择一项:a. x.a b. x->a c. x(a) d. x{a} 题目7 与结构成员访问表达式x.name等价的表达式为( )。 选择一项:a. x->name b. x->name c. (x)->name d. (*x)->name 题目8 假定一个链表中结点的结构类型为“struct AA{int data, struct AA *next;};”,则next数据成员的类型为( )。 选择一项:a. struct AA b. struct AA* c. AA d. int 题目9 假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为( )。 选择一项:a. p->next=f b. p->next=f和f=p c. f=p->next d. f->next=p和f=p 题目10 标准输入设备键盘的文件流标识符是( )。 选择一项:a. stdin b. stdout c. stderr d. stdio ‎ 题目11 表示文件结束符的符号常量为( )。 选择一项:a. eof b. Eof c. EOF d. feof 题目12 C语言中打开一个数据文件的系统函数为( )。 选择一项:a. fgetc() b. fputc() c. fclose() d. fopen() 题目13 从一个数据文件中读入以换行符结束的一行字符串的系统函数为( )。 选择一项:a. gets() b. fgets() c. getc() d. fgetc() 题目14 向一个二进制文件中写入信息的函数fwrite()带有的参数个数为( )。 选择一项:a. 1 b. 2 c. 3 d. 4 题目15 在C语言中,为只写操作打开一个文本文件的方式为( )。 选择一项:a. “a“ b. “r+“ c. “r“ d. “w“ 二、判断题(共40分,每小题2分。叙述正确则回答“是”,否则回答“否”)题目16 在结构类型的定义中,其中的数据成员可以是本身类型的直接对象。 选择一项:对 错 题目17 在结构类型的定义中,允许出现结构类型不完整的超前定义。 选择一项:对 错 题目18 定义结构类型的变量时,不能够同时进行初始化。 选择一项:对 错 题目19 使用一个结构类型时,必须一起使用关键字struct和类型标识符。 选择一项:对 错 题目20 假定一个结构类型的定义为 ‎ ‎“struct A{int a,b; A* c;};”,则该类型的长度为12。 选择一项:对 错 题目21 假定一个结构类型的定义为 “struct B{int a[5]; char* b;};”,则该类型的长度为20。 选择一项:对 错 题目22 执行calloc(n,8)函数调用时,将动态分配得到8*n个字节的存储空间。 选择一项:对 错 题目23 执行malloc(sizeof(struct BB))函数调用时,得到的动态存储空间能够保存具有struct BB结构类型的一个对象。 选择一项:对 错 题目24 假定要访问一个结构对象x中的由a指针成员所指向的对象,则表示方法为x.a。 选择一项:对 错 题目25 假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为p->b。 选择一项:对 错 题目26 与结构成员访问表达式(*fp).score等价的表达式是fp->score。 选择一项:对 错 题目27 在C语言中,对二进制文件的所有不同打开方式共有6种。 选择一项:对 错 题目28 C语言中的标准输入和输出设备文件都属于字符文件。 选择一项:对 错 题目29 在一个磁盘数据文件的文件名中,文件主名和扩展名都是必须的,不可省略。 选择一项:对 错 题目30 ‎ 在数据文件打开方式字符串中,字符r、w和a具有确定的含义,分别代表读、写和追加方式。 选择一项:对 错 题目31 一个磁盘数据文件的文件名由文件主名和扩展名所组成,其中间用圆点分开。 选择一项:对 错 题目32 C语言系统中提供一个用来描述文件属性的类型标识符为FILE。 选择一项:对 错 题目33 每次只能向文本文件中写入一个字符,不能一次写入一个字符串。 选择一项:对 错 题目34 对二进制文件进行读和写操作将使用相同的系统函数。 选择一项:对 错 题目35 在C语言中,系统函数fseek()用来移动数据文件中的文件位置指针。 选择一项:对 错 三、写出下列每个程序运行后的输出结果(共15分,每小题5分)题目36 #include<stdio.h> struct Worker { char name[15]; //姓名 int age; //年龄 ‎ ‎ float pay; //工资 }; void main() { struct Worker x={“wanghua“,52,4300}; struct Worker y, *p; y=x; p=x; printf(“%s %d %6.2f\n“,x.name,y.age,p->pay); } 答:wanghua 52 4300 题目37 #include<stdio.h> #include<string.h> struct Worker { char name[15]; //姓名 int age; //年龄 ‎ ‎ float pay; //工资 }; void main() { struct Worker x; char *t=“liouting“; int d=38; float f=3493; strcpy(x.name,t); x.age=d; x.pay=f; printf(“%s %d %6.0f\n“,x.name,x.age,x.pay); } 答:liouting 39 2493 题目38 #include<stdio.h> struct Worker {char name[15]; int age; float pay;}; ‎ ‎ int Less(struct Worker r1, struct Worker r2) { if(r1.age<r2.age) return 1; else return 0; } void main() { struct Worker a[4]={{“abc“,25,2420},{“def“,58,4638}, {“ghi“,49,4260},{“jkl“,36,3750}}; struct Worker x=a[0]; int i; for(i=1; i<4; i++) ‎ ‎ if(Less(x,a[i])) x=a[i]; printf(“%s %d %6.0f\n“,x.name,x.age,x.pay); } 答:def 58 4638 四、写出下列每个函数的功能(共15分,每小题5分)题目39 void QA(struct Worker a[], int n) { int i; for(i=1; i<n; i++) scanf(“%s %d %f“,a[i].name,a[i].age,a[i].pay); } 假定结构类型struct Worker 的定义如下: struct Worker { char name[15]; int age; float pay;}; 答:从键盘输入n个Worker类型的记录到一维数组a中。 题目40 int Count(struct IntNode *f) { ‎ ‎ //f为指向一个单链表的表头指针 int c=0; while(f) { c++; f=f->next; } return c; } 假定struct IntNode的类型定义为: struct IntNode {int data; IntNode* next;}; 答:统计出以表头指针为f的链表中结点的个数。 题目41 void xw1(char* fname) { FILE* fout=fopen(fname,“w“); ‎ ‎ char a[20]; printf(“每个字符串长度小于20,字符串end作为结束标志\n“); while(1) { scanf(“%s“,a); if(strcmp(a,“end“)==0) break; fputs(a,fout); fputc('\n',fout); } ‎ ‎ fclose(fout); } 答:把从键盘上输入的若干个字符串保存到由fname参数所指定的文本文件中。 《电气传动与调速系统》网络课答案 形考任务1 一、选择题(每小题5分,共40分)题目1 电气传动系统做旋转运动时,其运动方程为( )。 选择一项: 题目2 如图所示的旋转运动系统(箭头方向表示转矩的实际方向),系统的运动状态是( )。 选择一项:A. 匀速 B. 加速 C. 静止 D. 减速 题目3 如图所示的负载机械特性属于( )。 选择一项:A. 恒功率负载机械特性 B. 位能性恒转矩负载机械特性 C. 反抗性恒转矩负载机械特性 D. 直线型负载机械特性 题目4 如图所示的电动机机械特性(曲线1)与负载机械特性(曲线2)相交的交点分别为A和B,以下说法正确的是( )。 选择一项:A. A点是稳定运行点,B点是稳定运行点 B. A点是稳定运行点,B点不是稳定运行点 C. A点不是稳定运行点,B点不是稳定运行点 D. A点不是稳定运行点,B点是稳定运行点 题目5 直流电动机的换向器与电刷配合,可将电枢绕组内的( )变换为电刷上的直流电势。 选择一项:A. 交流电势 B. 直流电势 C. 恒定电压 D. ‎ 不变电势 题目6 如图所示为他励直流电动机的机械特性曲线组,表示的是( )的人为机械特性。 选择一项:A. 减弱磁通 B. 降低电源电压 C. 电枢回路串电阻 D. 增大磁通 题目7 如图所示为他励直流电动机的工作特性曲线,下述表达正确的是( )。 选择一项:A. 曲线1是转速特性,曲线2是效率特性,曲线3是转矩特性 B. 曲线1是转矩特性,曲线2是效率特性,曲线3是转速特性 C. 曲线1是效率特性,曲线2是转速特性,曲线3是转矩特性 D. 曲线1是转速特性,曲线2是转矩特性,曲线3是效率特性 题目8 如图所示他励直流电动机机械特性与负载机械特性曲线的交点a,b,c,d,下述表达正确的是( )。 选择一项:A. 从a点到b点是属于调速运行,从c点到d点属于调速运行 B. 从a点到c点是属于调速运行,从c点到d点属于调速运行 C. 从a点到c点是属于调速运行,从b点到d点属于调速运行 D. 从a点到b点是属于调速运行,从b点到d点属于调速运行 二、判断题(每小题5分,共40分)题目9 当传动系统做旋转运动时,作用在电动机轴上的电磁转矩T和负载转矩TL之差,即T-TL=△T称为动态转矩,当△T>0,即dn/dt > 0时,系统处于加速运行状态。 ( ‎ ‎ )选择一项:对 错 题目10 如图所示的负载机械特性属于恒功率负载机械特性。( )选择一项:对 错 题目11 如图所示的电动机机械特性(曲线1)与负载机械特性(曲线2)相交的交点分别为C、D和E,则C点不是稳定运行点,D点是不稳定运行点, E点是稳定运行点。( )。 选择一项:对 错 题目12 直流电机的主磁极是产生电动势的部件。( )选择一项:对 错 题目13 直流电动机工作时,其电枢绕组中的电流是交流电流。( )选择一项:对 错 题目14 直流电动机的转速大小与励磁电流大小、电枢回路电阻值和所加电源电压的极性有关。 选择一项:对 错 题目15 如图所示为他励直流电动机的机械特性曲线组,表示的是电枢回路串电阻的人为机械特性。( )选择一项:对 错 题目16 如图所示为他励直流电动机四象限运行的机械特性曲线,曲线1是正向电动运行状态,曲线2是能耗制动运行状态,曲线3是反向电动运行状态。( )选择一项:对 错 三、综合题(每小题10分,共20分)某刨床电气传动系统如图1-6所示。已知切削力F=10000N,工作台与工件运动速度(),传动机构总效率(),电动机转速(),电动机的飞轮矩()。 题目17 切削时折算到电动机轴上的负载转矩为( ‎ ‎)选择一项:A. 40Nm B. 50Nm C. 41.2Nm D. 30Nm 题目18 取,估算系统的总飞轮矩为( )选择一项:A. 120Nm2 B. 110Nm2 C. 130Nm2 D. 100Nm2 一台他励直流电动机的额定数据为:PN = 30 kW,UN= 220 V,IN=156.9 A,nN=1500 r/min,Ra= 0.082Ω。 题目19 电动机的理想空载转速为( )。 选择一项:A. 1494r/min B. 1594r/min C. 1394r/min D. 1694r/min 题目20 电动机的额定电磁转矩为( )。 选择一项:A. 406.8Nm B. 306.8Nm C. 206.8Nm D. 106.8Nm 形考任务2 一、选择题(每小题5分,共40分)题目1 三相异步电动机正常运行时,转子转速为n,定子旋转磁场的转速为ns,则该电动机的转差率s为( )。 选择一项: 题目2 一台6极三相异步电动机,定子电流频率为60Hz,电机正常运行时,定子旋转磁场的转速为( )。 选择一项:A. 1000r/min B. 1200r/min C. 600r/min D. 500r/min 题目3 一台8极三相异步电动机,定子电流频率为50Hz,电机正常运行时的转差率s为0.04,则该电机正常运行时转子电流的频率为( )。 选择一项:A. 48 Hz B. 50 Hz C. 1.5 Hz D. 2 Hz ‎ 题目4 三相异步电动机的T型等效电路如图所示,m1表示电机的相数,则定子绕组的铜耗可表示为( )。 选择一项: 题目5 三相异步电动机的固有机械特性如图所示,则A点是( )。 选择一项:A. 同步转速点 B. 额定运行点 C. 最大转矩点 D. 起动点 题目6 三相异步电动机的人为机械特性如图所示,该图表示的是( )的人为机械特性。 选择一项:A. 改变频率(基频以下)B. 降低电源电压 C. 转子回路串电阻 D. 改变频率(基频以上)题目7 一台同步电动机的矩角特性如图所示,可知,该同步电动机为( )。 选择一项:A. 凸极同步电动机 B. 隐极同步电动机 C. 笼型同步电动机 D. 绕线式同步电动机 题目8 为了调节同步电动机从电网吸取的无功功率以及同步电动机的功率因数,需要调节同步电动机的( )就可以实现。 选择一项:A. 负载的功率因数 B. 电枢电流 C. 励磁电流 D. 电枢电压 二、判断题(每小题5分,共40分)题目9 三相异步电动机的转子绕组分为笼型转子和绕线型转子两类。 ( )选择一项:对 错 题目10 ‎ 一台4极三相异步电动机,定子电流频率为50Hz,电机正常运行时的转差率s为0.02,则该电机定子旋转磁场与转子之间的相对转速为30r/min。( )选择一项:对 错 题目11 三相异步电动机的人为机械特性如图所示,该图表示的是降低电源电压的人为机械特性。( )选择一项:对 错 题目12 三相异步电动机能耗制动时的机械特性不经过原点,但位于第二、四象限内。 ( )选择一项:对 错 题目13 三相异步电动机的调速方法有:变极调速、变频调速和弱磁调速。 ( )选择一项:对 错 题目14 隐极同步电动机的定子电压方程为。( )选择一项:对 错 题目15 凸极同步电动机的电磁转矩与功率角之间的关系(矩角特性)可表示为。( )选择一项:对 错 题目16 当同步电动机的励磁电流大于正常励磁值时,同步电动机处于过励运行状态。( )选择一项:对 错 三、综合题(每小题10分,共20分)一台六极三相鼠笼式异步电动机,定子绕组为Y接,额定电压UN=380V,额定转速nN=965r/min,电源频率f1=50Hz。 题目17 电动机的同步转速和额定转差率分别为( )。 选择一项:A. 750r/min,0.045 B. 1000r/min,0.035 ‎ C. 500r/min,0.02 D. 1500r/min,0.025 题目18 电动机定子绕组的额定相电压与转子电流的频率分别为( )。 选择一项:A. 150V,3.75Hz B. 110V,2.75Hz C. 380V,1.75Hz D. 220V,1.75Hz 一台六极三相鼠笼式异步电动机,定子绕组为Y接,额定电压UN=380V,额定转速nN=965r/min,电源频率f1=50Hz,定子电阻r1=2.1Ω,定子漏抗χ1=3.08Ω,转子电阻的折算值r'2=1.48Ω,转子漏抗的折算值χ'2=4.2Ω。已知电磁转矩计算公式为 题目19 电动机的额定转差率和定子绕组的额定相电压分别为( )。 选择一项:A. 0.035,220V B. 0.035,380V C. 0.045,220V D. 0.02,220V 题目20 电动机的额定电磁转矩和起动转矩分别为( )。 选择一项:A. 45Nm,51.2Nm B. 25Nm,21.2Nm C. 15Nm,41.2Nm D. 35Nm,31.2Nm 形考任务3 一、选择题(每小题5分,共40分)题目1 微型同步电动机根据转子结构型式和所用材料不同主要分为永磁式微型同步电动机、反应式微型同步电动机和( )。 选择一项: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 电动机某部位的温度θ与电动机周围介质的温度θ0之差,称为电动机该部位的( ),用τ表示,即τ =θ-θ0。 选择一项:A. 温升限值 B. 最小温升 C. 温升 D. 最大温升 题目7 我国国家标准《旋转电机 定额和性能》(GB755-2008)中规定周围冷却空气的最高温度为( )。 选择一项: 题目8 电动机( ‎ ‎)的选择,首先必须校验电动机运行时的温升,特别当传动系统中的负载是变化的,或者是冲击性负载时,还必须根据温升校核后再核验电动机的过载能力或起动能力等。 选择一项:A. 额定功率 B. 额定电压 C. 起动电流倍数 D. 额定转速 二、判断题(每小题5分,共40分)题目9 反应式微型同步电动机转子在不同的方向具有不同的磁阻,X轴方向磁阻最小,交轴方向磁阻最大。( )选择一项:对 错 题目10 根据自动控制系统的要求,伺服电动机必须具备可控性好、稳定性高和响应快速等基本性能。( )选择一项:对 错 题目11 交流伺服电动机的控制方式有:幅值控制、相位控制和电流控制。( )选择一项:对 错 题目12 在电机内部,当发热量等于散热量时,电机温升不再升高,逐步达到其稳定温升τw。( )选择一项:对 错 题目13 电机在发热过程中的温升曲线与在冷却过程中的冷却曲线均是按指数规律变化的,变化的快慢与发热时间常数T有关,同一物体的冷却时间常数与发热时间常数T的关系是相同的。( )选择一项:对 错 题目14 电机中常用的绝缘材料按其耐热能力可分为A、E、B、F、H、C、N和R八个等级,相应绝缘等级最高温度分别为105、120、130、155、180、200、220、240(℃)。( )选择一项:对 错 题目15 我国国家标准《旋转电机 ‎ 定额和性能》(GB755-2008)中,将电动机的工作方式分为连续工作制、断续周期工作制和长时工作制。( )选择一项:对 错 题目16 在电动机的断续周期工作制中,我国国家标准《旋转电机 定额和性能》(GB755-2008)规定的负载持续率有15%、25%、40% 和60%四种,相应还规定每个工作和停机的周期不大于10min。( )选择一项:对 错 三、综合题(每小题10分,共20分)一台三相六极反应式步进电动机,转子的齿数Z=12。 题目17 电机作三相单三拍运行时,电机的齿距角与步距角分别为( )。 选择一项:A. 72o,5o B. 30o,10o C. 72o,20o D. 36o,10o 题目18 电机作三相双六拍运行时,电机的齿距角与步距角分别为( )。 选择一项:A. 30o,5o B. 30o,6o C. 36o,5o D. 36o,6o 一台反应式步进电动机,已知电机运行时的拍数N=6,脉冲频率f=800。 题目19 当电机的步距角为1.2°时,转子的齿数Z为( )。 选择一项:A. 20 B. 60 C. 30 D. 50 题目20 电机转子每分钟的转速为( ‎ ‎ )。 选择一项:A. 150r/min B. 160r/min C. 200r/min D. 250r/min 形考任务4 一、选择题(每小题5分,共40分)题目1 晶闸管在触发导通之后,通过以下哪种方式可以让其关断?( )选择一项:A. 门极不加电流 B. 阳极与阴极间加正压 C. 门极加电流 D. 阳极与阴极间加反压 题目2 升压DC/DC变换器在开关管导通时,负载能量由以下哪种元件提供?( )选择一项:A. 输入电源 B. 输出侧滤波电容 C. 续流二极管 D. 储能电感 题目3 保证( )时,异步电动机在变频调速过程中最大电磁转矩维持不变。 选择一项:A. 恒定的端电压/频率 B. 恒定的电动势 C. 恒定的电动势/频率 D. 恒定的端电压 题目4 电压源型通用变频器在直流侧采用( )对整流后的电压进行滤波。 选择一项:A. 二极管 B. 晶闸管 C. 电感 D. 电容 题目5 变频调速系统出现与机械系统的固有频率发生谐振时,需要设置( )。 选择一项:A. 频率跳变 B. 下限频率 C. 起动频率 D. 上限频率 题目6 异步电动机变频调速时,减速时间设置过短会导致( )。 选择一项:A. 直流侧欠电压 B. 输入侧欠电压 C. 直流侧过电压 D. 输入侧过电压 题目7 ‎ 恒压变频供水系统中,变频器不需要设置( )。 选择一项:A. 点动频率 B. 减速时间 C. 最高频率 D. 升速时间 题目8 一台变频器驱动多台同步电动机进行变频调速时,应采用( )。 选择一项:A. 交-直-交无换向器电动机调速系统 B. 反电势换流型无换向器电动机调速系统 C. 他控式变频调速系统 D. 交-交无换向器电动机调速系统 二、判断题(每小题5分,共40分)题目9 单相桥式全控整流电路在触发角不为零时,带反电势负载的直流侧电压比带电阻负载的直流侧电压低。 ( )选择一项:对 错 题目10 IGBT器件的开通速度比晶闸管器件的开通速度快。( )选择一项:对 错 题目11 降压型DC/DC变换器的输出电压与占空比成正比。( )选择一项:对 错 题目12 异步电动机变频调速时,低速时通常需要在恒端电压/频率的基础上适当减小定子电压来补偿定子电阻压降的影响。( )选择一项:对 错 题目13 规则采样法实现SPWM时,采用载波正峰值采样的方法更准确。( )选择一项:对 错 题目14 旋转变压器只能测量速度大小,无法输出转轴的绝对位置信息。( )选择一项:对 错 题目15 无换向器电动机调速系统在高速运行时通常采用电流断续法进行换流。( )选择一项:对 错 ‎ 题目16 交-交无换向器电动机调速系统在低速运行时通常采用电源换流的方法进行换流。( )选择一项:对 错 三、综合题(每小题10分,共20分)为了加快系统响应速度,晶闸管-电动机直流调速系统通过采用转速外环-电流内环的双闭环控制方式来实现理想起动过程。 题目17 在起动过程中,如果速度调节器处于饱和限幅状态,此时系统表现为( )调节特性。 选择一项:A. 恒反电势 B. 恒电流 C. 恒转速 D. 恒电压 题目18 起动过程结束后,电动机的转速与设定转速的关系为( )。 选择一项:A. 电动机的转速等于设定转速 B. 电动机的转速大于设定转速 C. 电动机的转速小于设定转速 D. 二者转速关系无法确定 采用交-直-交无换向器电动机调速系统可以平滑实现四象限运行。 题目19 无换向器电动机的速度调节主要通过控制( )实现。 选择一项:A. 整流侧触发角α B. 零电流检测单元 C. 转子位置检测器 D. 换流超前角γ0 题目20 无换向器电动机高速运行在第三象限电动状态时,对应的整流侧触发角和换流超前角分别是( )。 选择一项:A. α>90°, γ0=180° B. α<90°,‎ ‎ γ0=120° C. α>90°, γ0=120° D. α<90°, γ0=180°‎