- 2024-03-26 发布 |
- 37.5 KB |
- 62页
申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
文档介绍
精编(精华版)国家开放大学电大《C语言程序设计》《文论专题》网络课形考网考作业(合集)答案-
(精华版)国家开放大学电大《C语言程序设计》《文论专题》网络课形考网考作业(合集)答案: (精华版)国家开放大学电大《C语言程序设计》《文论专题》网络课形考网考作业(合集)答案 《C语言程序设计》网络课答案 形考任务1 一、选择题(共40分,每小题2分) 1 在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。 选择一项: A. main 恭喜你,答对啦!! 2 C语言源程序文件的缺省扩展名为( )。 选择一项: D. c 3 由C语言目标文件连接而成的可执行文件的缺省扩展名为( )。 选择一项: B. exe 4 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为( )。 选择一项: D. 空格或回车 5 每个C语言程序文件的编译错误被分为( )。 选择一项: B. 2类 6 不符合C语言规定的复合语句是( )。 选择一项: D. {y=10} 7 C语言程序中的基本功能模块为( )。 选择一项: D. 函数 8 在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和( )。 选择一项: C. 参数表 9 在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用的起止定界符为一对( )。 选择一项: B. 双引号 10 在C语言程序中,多行注释语句使用的开始标记符为( )。 选择一项: B. /* 11 在printf()函数调用的格式字符串中,若使用格式符为“%c”,则对应输出的数据类型为( )。 选择一项: A. char 12 在printf()函数调用的格式字符串中,若使用格式符为“%5d”,则规定对应输出的数据占用的字符位置个数为( )。 选择一项: A. 5 13 转义字符'\\'表示的字符是( )。 选择一项: C. 反斜线 14 枚举类型中的每个枚举常量的值都是一个( )。 选择一项: A. 整数 15 运算符优先级最高的是( )。 选择一项: D. != 16 设x和y均为逻辑值,则x y为真的条件是( )。 选择一项: A. 它们均为真 17 设有语句“int a=12; a+=a*a;”,则执行结束后,a的值为( )。 选择一项: C. 156 18 0 x<=10的相反表达式为( )。 选择一项: A. x<=0 || 10 19 字符串“a+b=12\n”的长度为( )。 选择一项: B. 7 20 在下列的符号常量定义中,错误的定义语句格式为( )。 选择一项: C. const int M3 10; 二、判断题(共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,则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 2 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写成的语句是( )。 选择一项: b. if 3 for语句能够被改写成的语句是( )。 选择一项: d. while 4 下面循环语句执行结束后输出的i值为( )。 for(int i=0; i<n; i++) if(i>n/2) {cout<<i<<endl; break;} 选择一项: b. n/2+1 5 在下面循环语句中,内层循环体S语句的执行总次数为( )。 for(int i=0; i<n; i++) for(int j=i; j<n; j++) S; 选择一项: d. n(n+1)/2 6 在 下面的do循环语句中,其循环体被执行的次数为( )。 int i=0; do i++; while(i*i<10); 选择一项: a. 4 7 在下面的一维数组定义中,有语法错误的选项是( )。 选择一项: c. int a[]; 8 在下面的二维数组定义中,语法正确的选项是( )。 选择一项: c. int a[][3]={{1,3,5},{2}}; 9 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][1]的值为( )。 选择一项: d. 8 10 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为( )。 选择一项: a. 0 二、判断题(共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 s trcpy函数用于把一个字符串拷贝到另一个字符数组空间中。 选择一项: 对 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 在下面的函数声明语句中,存在着语法错误的是( )。 选择一项: c. AA(int a; int b) 2 在下面的保留字中,不能作为函数的返回值类型的是( )。 选择一项: c. enum 3 假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址增加的字节数为( )。 选择一项: c. 4 4 假定a为一个数组名,在下面的表达式中,存在语法错误的是( )。 选择一项: b. *a++ 5 用calloc函数创建具有10个整型元素的一维数组的正确语句是( )。 选择一项: c. int *p=calloc(10,4); 6 假定变量m定义为“int m=7;”,则下面正确的语句为( )。 选择一项: b. int *p=m; 7 假定k是一个double类型的变量,则定义变量p的正确语句为( )。 选择一项: d. char *p=“Thank you!“; 8 若有语句为“int a[10], x, *pa=a;”,要把数组a中下标为3的元素值赋给x,则不正确的语句为( )。 选择一项: d. x=*pa+3; 9 假定有语句为“int b[10]; int *pb;”,则下面不正确的赋值语句为( )。 选择一项: d. pb=b[5]; 10 已知“int *p=malloc(100);”,要释放p所指向的动态内存,正确的语句为( )。 选择一项: a. free(p); 11 在程序的一个文件中定义的函数,若要在另一个文件中调用,则必须在这另一个文件中给出该函数的( )。 选择一项: a. 原型语句 12 假定一个函数定义为“static int f1(int x,int y){return x+y;}”,该函数名称为( )。 选择一项: c. f1 13 假定一个函数的原型语句为“int ff(int* x);”,一个整型数组为a[10],则下面函数调用表达式不正确的是( )。 选择一项: b. ff(a[0]) 14 假定一个函数的数组参数说明为char a[],与之等价的指针参数说明为( )。1B 选择一项: b. char* a 15 假定一个函数的二维数组参数说明为char w[][N],与之等价的指针参数说明为( )。 选择一项: a. char (*w)[N] 二、判断题(共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); 2 假定有“struct BOOK{char title[40]; float price;} book;”,则正确的语句为( )。 选择一项: b. struct BOOK *x=book; 3 在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是( )。 选择一项: c. 分号 4 假定一个结构类型的定义为 “struct A{int a,b; double c;};”,则该类型的长度为( )。 选择一项: d. 16 5 假定一个结构类型的定义为 “struct D{int a; D* next;};”,则该类型的长度为( )。 选择一项: b. 8 6 假定要访问一个结构指针变量x中的数据成员a,则表示方法为( )。 选择一项: b. x->a 7 与结构成员访问表达式x.name等价的表达式为( )。 选择一项: c. (x)->name 8 假定一个链表中结点的结构类型为“struct AA{int data, struct AA *next;};”,则next数据成员的类型为( )。 选择一项: b. struct AA* 9 假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为( )。 选择一项: b. p->next=f和f=p 10 标准输入设备键盘的文件流标识符是( )。 选择一项: a. stdin 11 表示文件结束符的符号常量为( )。 选择一项: c. EOF 12 C语言中打开一个数据文件的系统函数为( )。 选择一项: d. fopen() 13 从一个数据文件中读入以换行符结束的一行字符串的系统函数为( )。 选择一项: b. fgets() 14 向一个二进制文件中写入信息的函数fwrite()带有的参数个数为( )。 选择一项: d. 4 15 在C语言中,为只写操作打开一个文本文件的方式为( )。 选择一项: 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 1 著名的改良派人士梁启超提出文艺的四种社会作用即:薰、浸、刺、提。所谓“刺”,指的是文艺作品培养接受者审美接受能力的作用。 选择一项: 对 2 孔子所说的“兴”的含义,就是通过艺术形象的譬喻,引发人的联想,并进而使人领会到某种类似的,深微曲隐的思想感情,从而在精神上受到感染和熏陶。 选择一项: 对 3 孔子的思想,可以说是以“仁”为内容,以“礼”为形式,以“中庸”为准则,所以也被称为“仁学”。 选择一项: 对 4 “兴观群怨”的发展过程中存在着这样一种共同规律,就是在孔子那里主要是针对“用诗”,即发挥文艺社会作用而提出的“兴观群怨”,在后世都逐渐与“作诗”结合起来,使“兴观群怨”不仅成为对文艺社会作用的一种自觉认识,而且成为对文艺创作的一种明确要求。 选择一项: 对 5 孔子的思想主要保存在《论语》中。 选择一项: 对 6 庄子的“言不尽意”说对后世的影响深远而巨大,北宋欧阳修的 就是例证。 选择一项: C. “状难写之景,如在目前;含不尽之意,见于言外“ 7 通过艺术形象的譬喻,引发人的联想,并进而使人领会到某种类似的,深微曲隐的思想感情,从而在精神上受到感染和熏陶,这是 。 选择一项: A. 兴 8 明末清初的王夫之特别重视文艺的审美情感特征,他将“兴观群怨”称之为“ ” 选择一项: D. 四学 9 孔子的文艺观是他的“ ”思想在文艺方面的鲜明体现。 选择一项: D. 仁学 10 “兴观群怨”说是孔子“ ”文艺观的代表。 选择一项: A. 诗教 11 庄子“言不尽意”说到《易传·系辞》、魏晋玄学,由陆机到刘勰、钟嵘,再由司空图到严羽、王士禛,最后到王国维,这一条线索基本是循庄子“言不尽意”说的美学、文论史影响来勾勒的。你怎样看待“言不尽意”? 答:在“言不尽意”的基础上,庄子提出了“得意忘言”的观点,通过“筌-鱼”、“蹄-兔”等生活实例的类比,庄子形象表述了 “言-意”之间一种本质性的手段与目的的关系,语言文字也是人们用来把握文艺作品意思的手段或工具,它们都各有各的目的,但语言文字和它所要表达的意思也不是一回事,从根本上说,“言”是言筌、工具、梯子,“意”则是言外之意、目的,或言所要求达到的意旨,“存言”的目的在于“得意”。在此,庄子提出了言意关系中的一大悖论,那就是“存言”的目的竟在于“去言”或“忘言”。这也足以体现出庄子的智慧。 言 ”与“意”的关系问题是中国古典哲学、美学以及文艺学所广泛探讨的一个核心话题,它涉及人对世界最基本的观点与看法,也涉及到艺术家对艺术创作最基本的审美理念及其具体实现的逻辑路径。“言”,本指言辞、说话,在古典美学与文论中引申为艺术语言、言语表达;“意”即意图、想法,在古典美学与文论中引申为话语的意义,或审美心理感受。中国古典美学与文论中的言意论,其源出于古典哲学中的“言意之辩”。早在先秦,“言”与“意”的关系问题就已受到儒、道、墨等诸流派的哲学家的普遍关注。如以孔子为代表的儒家认为,“言”是君子表达志向和道德理想的工具,“言以足志,文以足言”,“辞达而已”。又如“执所言而意得见,心之辩也”,简言之就是通过一定的“言”可以把握一定的“意”,亦即肯定“言”也可以达“意”。那么儒、墨二家主张“言可达意”不同,老庄的基本观点是认为“言不尽意”的。比如老子早有“信言不美,美言不信”的论断,而庄子则更是在此基础上对“言”的广泛性、复杂性及其表“意”的歧义性、暧昧性作出深刻的思考,提出了诸如“道不可言”、“言不尽意”、“得意忘言”等诸多智慧性的观点,这些观点可以说直接引发了历史上著名的魏晋玄学家们的“言意之辩”。 12 制定一个较为可行的本课程学习计划。 答: 本学期新开了《文论专题》课程,为了学好这门课程,定制了学习计划如下: 一、学习任务和目标 通 过学习这门课程,全面掌握中西方主要的文论家思想,通过教师的辅导及自学顺利完成网上作业并最终顺利通过期末考试。 二、学习措施 1.认真自学 2.认真上课辅导课 3.认真做好网上作业 4.认真做好期末复习工作 形考任务2 1 《沧浪诗话》最大特色便是以 喻诗。 选择一项: C. 禅 2 创作论是叶燮《原诗》的理论核心,诗歌创作论大体包括创作主体论、创作对象论和创作方法论。下面 属于创作对象论范畴。 选择一项: D. “师法自然”说 3 “才”、“胆”、“识”、“力”是诗人创作必备的主体性要素,叶燮认为,四者之中,“识”处于 的地位。 选择一项: C. 核心和主宰 4 在克罗齐看来,人的心智活动有四种不同类型:直觉的、概念的、经济的和道德的。而四种类型所代表的价值属性也不同:直觉 ,概念求真,经济求利,道德求善。 选择一项: A. 求美 5 创作论是叶燮《原诗》的理论核心,诗歌创作论大体包括创作主体论、创作对象论和创作方法论。下面 属于主体论范畴。 选择一项: C. “才、胆、识、力”说 6 在克罗齐看来,人的心智活动有四种不同类型: 、概念的、经济的和道德的。 选择一项: D. 直觉的 7 金圣叹学问渊博,通晓诸子百家,其一生衡文评书,曾将 、《庄子》、《史记》、《杜工部集》、《水浒传》、《西厢记》合称作“六才子书”并予以评点、批改。 选择一项: A. 《离骚》 8 《沧浪诗话》全书由“诗辨”、“诗体”、“诗法”、“诗评”和“考证”五部分组成,其中,“ ”是全书的理论核心。 选择一项: A. 诗辨 9 创作论是叶燮《原诗》的理论核心,诗歌创作论大体包括创作主体论、创作对象论和创作方法论。下面 属于创作方法论范畴。 选择一项: C. “师法自然”说 10 在司空图之前,陆机、刘勰有“ ”说的提法,钟嵘则是以“滋味”说著名。 选择一项: D. 余味 11 简 单地说,“韵味”首先是把诗歌分为“韵内”和“韵外”两层。 选择一项: 对 12 司空图的诗境特征论就是我们通常简单称谓的“韵味”说,其对后世的影响最大。 选择一项: 对 13 叶燮的“才胆识力”说,第一次在文论史上较为全面地探讨了诗歌创作主体心理素质的培养和心智积累的特性。所谓“识”,是诗人辨别事物“理、事、情”特点的辨别能力,又指对世界事物是非美丑的识别能力,更是鉴别诗歌及其艺术表现特征的能力。 选择一项: 对 14 金圣叹认为,在小说中,小说的“事”是手段,“文”是目的,作者的虚构之“事”实际上是为审美之“文”服务的。 选择一项: 对 15 “韵味”是把诗歌分为“韵内”和“韵外”两层。“韵外”是指诗的语言文字、声韵及其表面意义之外所蕴含的意味,这种意味往往是一种只可以意会却不可以言传的“大意”。 选择一项: 对 16 《沧浪诗话》被奉为宋代诗话之巨制,更堪称中国古代最为重要的诗话代表作之一。 选择一项: 对 17 “韵味”是把诗歌分为“韵内”和“韵外”两层。“韵内”与“韵外”是不可分割的有机整体,二者紧密联系、相互涵化,“韵外”是基础,“韵内”为升华。 选择一项: 错 18 叶燮的“才胆识力”说,第一次在文论史上较为全面地探讨了诗歌创作主体心理素质的培养和心智积累的特性。所谓“胆”,即指诗人敢于突破传统束缚的独立思考的能力,在创作中表现为自由创新的艺术精神。 选择一项: 对 19 《沧浪诗话》全书由“诗辨”、“诗体”、“诗法”、“诗评”和“考证”五部分组成。 选择一项: 对 20 金圣叹认为,在史传中,“文”是目的,“事”是手段,“文”是为记“事”服务的。 选择一项: 错 21 简要说明司空图诗歌意境理论的大致内容。 答:司空图的诗论思想主要体现在对中国古典意境理论的发展和深化上面。其诗歌意境理论大体又可分为三大块: (一)“思与境偕”说――诗境构成论,明确了诗歌意境是“思”与“境”偕亦即主客谐和、情景交融而产生的一种虚实相生、含蓄蕴藉、韵味无穷的美; ( 二)“韵外之致、味外之旨”说――诗境特征论,细致周全地探讨了诗歌意境所特有的“韵味”的方方面面; (三)“二十四诗品”说――诗境风格论,在皎然等的诗歌意境风格论的基础上,进一步将诗境风格分出二十四种类型,每一种类型用一首四言诗来形象、扼要地描述其特征。 22 简单概括金圣叹小说理论关于人物论的主要思想。 答:首先,成功塑造人物性格是小说创作的首要任务和取得艺术成就的根本标志。 其次,小说人物还应该是个性化、性格鲜明的。 再次,小说还应注意如何去表现人物性格的问题。 金圣叹关于小说理论的“因文生事”观点 小说是“因文生事”,其所写之“事”全是出于美文的需要而虚构出来的,它可真可假,可以是历史的事实也可以是作家在概括生活材料的基础上发明创造出来的。 小 说的虚构特质可以从“因文生事”中的“文”和“事”两点来谈。先说“事”。小说所写之事属于艺术真实的范畴,它不同于历史真实,艺术真实要求作者根据主题、结构、人物形象等的需要,遵循艺术创作规律,发挥作家的主观能动性去虚构和编织故事情节。这是第一层意思:事为虚构;再说第二层意思,即事为文生。小说的“事”是手段,“文”是目的,作者的虚构之“事”实际上是为审美之“文”服务的。 23 金圣叹提出史传和小说在本质特性上有着不同,一个是“以文运事”,一个是“因文生事”。在《读第五才子书法》中,他说: 某尝道《水浒》胜似《史记》,人都不肯信,殊不知某却不是乱说。《史记》是以文运事,《水浒》是因文生事。以文运事,是先有事生成如此如此,却要算计出一篇文字来,虽是史公高才,也毕竟是吃苦事;因文生事却不然,只是顺着笔性去,削高补低都由我。 根据这段文字描述,阐释小说的虚构特质中的“因文生事”。 答:小说是“因文生事”,其所写之“事”全是出于美文的需要而虚构出来的,它可真可假,可以是历史的事实也可以是作家在概括生活材料的基础上发明创造出来的。小说的虚构特质可以从“因文生事”中的“文”和“事”两点来谈。先说“事”。小说所写之事属于艺术真实的范畴,它不同于历史真实,艺术真实要求作者根据主题、结构、人物形象等的需要,遵循艺术创作规律,发挥作家的主观能动性去虚构和编织故事情节。这是第一层意思:事为虚构;再说第二层意思,即事为文生。小说的“事”是手段,“文”是目的,作者的虚构之“事”实际上是为审美之“文”服务的。 形考任务3 结 合《水浒传》,理解金圣叹的小说“因文生事”说。 答:金圣叹关于小说理论的“因文生事”观点: 小说是“因文生事”,其所写之“事”全是出于美文的需要而虚构出来的,它可真可假,可以是历史的事实也可以是作家在概括生活材料的基础上发明创造出来的。 小说的虚构特质可以从“因文生事”中的“文”和“事”两点来谈。先说“事”。小说所写之事属于艺术真实的范畴,它不同于历史真实,艺术真实要求作者根据主题、结构、人物形象等的需要,遵循艺术创作规律,发挥作家的主观能动性去虚构和编织故事情节。比如《大宋宣和遗事》中得三十六人是实有,而七十回《水浒传》中的许多人和事则是作者“凭空造谎”杜撰出来的。由于这种“凭空造谎”的虚构源自历史史实,是作家对历史史实与现实生活的概括、提炼和加工,所以那些梁山好汉们“任凭提起一个,都似旧时熟识”(《读第五才子书法》)。这是第一层意思:事为虚构;再说第二层意思,即事为文生。小说的“事”是手段,“文”是目的,作者的虚构之“事”实际上是为审美之“文”服务的。 形考任务4 《诗学》是西方历史上第一部较为系统而全面地探讨美学和文艺理论问题的专著。 选择一项: 对 2 本 能在弗洛伊德既然是人的肉体和精神之一切活动的本体性存在,那么毫无疑问,它必然也是文艺创作活动的最后根源和本质所在。 选择一项: 对 3 韦勒克、沃伦认为,科学语言是“直指式的”:“它要求语言符号与指称对象一一吻合”,同时这种语言符号“完全是人为的”。 选择一项: 对 4 王国维“境界”的构成因素一是“情”(意),二是“景”(物),二者之间虽“能有所偏重,而不能有所偏废”,因为“境界”的本质即在于情景交融。 选择一项: 对 5 李渔主张戏曲创作要“结构第一”。这里所说的“结构”与现代意义上的“结构”是一样的。 选择一项: 错 6 西方十九世纪是达尔文的进化沦和以孔德为代表的实证主义十分流行和活跃的时期,泰纳深受其影响,其《艺术哲学》表达了他借助于自然科学的原理和方法,研究发掘梳理艺术史料的心路历程。 选择一项: 对 7 教材中对黑格尔关于悲剧性质的认识或关于悲剧的定义,作了如下概括表述:悲剧就是恶与恶的冲突和斗争。 选择一项: 错 8 俄 国形式主义声称,文学作品是无关于社会、作家乃至于读者的独立自足体,认为文学的“文学性”或“艺术性”仅仅在于它的形式,在于它的语言的审美化、陌生化编排组织。 选择一项: 错 9 “境界”的本质其实就是中国传统诗学所一贯强调的一个核心话题:情景相生及情景交融。 选择一项: 对 10 《诗的艺术》这部诗体文艺理论著述共一千一百行,分为四章,其中第三章论悲剧、喜剧和长篇叙事诗等主要诗体,在此提出了著名的“三一律”戏剧创作法则。 选择一项: 对 11 “境界”一词,早在汉代郑玄为《诗经·大雅·江汉》作笺注时已经用到,在那里是指 。 选择一项: A. 地域的范围 12 康德的审美鉴赏理论除了从质、量、关系还有 等四个方面进行逻辑推理。 选择一项: D. 情状 13 《诗的艺术》这部诗体文艺理论著述出自 之手。 选择一项: A. 布瓦洛 14 李渔主张戏曲创作要“结构第一”,他提出的开场要提示全剧,“小收煞”即上半部结尾要有 ,“大收煞”即全剧终场要有“团圆之趣”。 选择一项: D. 悬念 15 如果我们将 的美学理论看作一个逻辑体系,那么作为其出发点、本体或内核的东西,就是一个简单的定义:“直觉即表现即艺术”。 选择一项: B. 克罗齐 16 从求美与求真、求善、求利具有根本性区别的认识出发,提出审美活动是超功利、非认识、无目的而合主观目的性、且具有像知识判断一样的普遍有效性的理论的是 。 选择一项: D. 康德 17 伊瑟尔与 一道曾被人誉为接受美学的“双子星座”。 选择一项: A. 姚斯 18 博学多才,著述丰厚,在哲学、逻辑学、伦理学、美学、等诸多学科领域都有卓越的建树,现存著作主要有《逻辑学》、《修辞学》、《形而上学》、《自然科学》、《伦理学》、《政治学》、《诗学》等,是西方思想史上最伟大的人物之一,被恩格斯誉为古代“最博学的人”是 。 选择一项: A. 亚里士多德 19 黑格尔的《美学》是对其“绝对理念”运动到“精神阶段”早期的表现形态的论述。在他看来,“ ”(艺术)是“绝对理念”自我认识的初级形式,“善”(宗教)是“绝对理念”自我认识的中期情状,而“真”(哲学)则是“绝对理念”自我认识的最后完成。 选择一项: A. 美 20 表现人的精神生活的艺术”中,尤其是文学中有三组原素,它们是人物性格、遭遇与事故、风格,持这一主张的是法国著名的文艺理论家,被老师预言为“为思想生活”的人 。 选择一项: C. 泰纳 21 简要说明李渔“浅处见才”通俗戏曲观表现在哪些方面? 答: 第一、题材的通俗性; 第二、曲文的通俗性; 第三、科诨的通俗性; 第四、舞台的通俗性。 22 课程线索梳理。 要求回答以下几个问题: 1.教材十八讲内容所涉及中国文论家、西方文论家的代表人物都是谁? 2.中国文论和西方文论涉及的主要理论观点各举例八种; 3.本课程理论学习给你印象最为深刻的理论观点是什么?你认为最实用的或最有指导意义的理论观点有哪几个? 答: 1 、教材十八讲内容所涉及中国文论家是姚斯,西方文论家的代表人物是沃尔夫冈、伊瑟乐,被称为“双子星座”。 2、中国文论主要有:一是孔子的“兴观群怨”说,二是庄子的“言不尽意”说,三是刘勰的“通变”说,四是司空图的“韵味”说,五是严羽的“妙悟”说,六是叶燮的“才胆识力”说,七是金圣叹的“因文生事”说,八是李渔的“浅处见才”说。 西方文论主要有:一是伊瑟尔的审美反应理论,二是韦勒克、沃伦的新批评派文学理论,三是弗洛伊德的精神分析学文艺观,克罗齐的直觉主义艺术论,四是泰纳的实证主义艺术观,五是黑格尔的艺术哲学,六是康德的审美艺术理论,七是康德的审美艺术理论,八是布瓦洛的诗学原则。 3、在学习《文论专题》这门课程中,给我印象最为深刻的理论观点就是司空图的“韵味说”, “ 像外之象”“景外之景”“韵外之致”“味外之旨”合称“四外”,共同构成了司空图“韵味”说的基本内容。司空图在《与李生论诗书》中提出“韵味”说。“江岭之南,凡是资于适口者,若醯,非不酸也,止于酸而已;若鹾,非不咸也,止于咸而已。华之人以充饥而遽辍者,知其咸酸之外,醇美有所乏耳。”以比喻来说诗,认为作为诗歌的原始材料或咸或酸都有味,而只有诗歌才具有“醇美”之味;“醇美”之味来源于咸酸而又有别于咸酸,“醇美”之味在咸酸之外,比咸酸更高级更美妙。这种“醇美”之味,又称之为“韵外之致”、“味外之旨”。 所谓“韵外之致”,即强调在语言方面做到“近而不浮,远而不尽”,就是说诗歌创作要比它的语言本身具有更为生动、深远的东西,艺术性语言呈现一种启示性、隐喻性的态势,给读者留下联想、想象与回味的余地。所谓“味外之旨”,不仅要求诗歌语句精美,而且要求在语言文字之外还要有更为耐人回味思考的东西。就是说不要停留在语言锤炼的表面,而是要寄余味于语言之外,刻画出鲜明可感的形象,寄寓着深厚蕴藉的情意,使读者把玩不已,回味不尽。 23 韦勒克、沃伦关于评价文学的具体标准有那些内容? 答: 第一包容性或多样性。 第二连惯性。 第三建立在经验事实上的世界观。 24 韦勒克、沃伦认为科学语言与文学语言有哪些区别? 答: 1.科学语言与文学语言 韦 勒克、沃伦认为科学语言是“直指式的”:“它要求语言符号与指称对象一一吻合”,同时这种语言符号“完全是人为的”,它可以被相当的另一种符号所代源替;以及它是“简捷明了的,即不假思索就可以告诉我们它百所指称的对象”。此外,“科学语言度趋向于使用类似数学或符号逻辑学那种标志系统”,即它追求成为一种“世界性的文字”。与科学语言比较起来,文学语言则显现出如下特点: 多歧义性。 表情意性。 符号自具意义。 2.日常语言相对于文学语言 日常语言相对于文学语言来说没有质的差异,但是在量的方面却显现出区别。知这个区别、主要有三点: 文学语言对于语源的发掘更加用心而有系统性。 文学语言的实用意义较为淡薄。 第三,文道学语言呈现的是虚构的、想象的世界。 25 简要说明李渔的戏曲结构的四点具体主张? 答: 第一、“立主脑百” 第二、“减头绪” 第三、“脱窠臼” 第四、“密针线” 查看更多