《国家开放大学电大《C语言程序设计》《高级英语阅读(1)》网络课形考网考作业(合集)答案.docx》由会员分享,可在线阅读,更多相关《国家开放大学电大《C语言程序设计》《高级英语阅读(1)》网络课形考网考作业(合集)答案.docx(65页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、国家开放大学电大C语言程序设计高级英语阅读(1)网络课形考网考作业(合集)答案国家开放高校电大C语言程序设计高级英语阅读(1)网络课形考网考作业(合集)答案 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. c
2、pp 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个部分依次为函数类型、函数名和()
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()函数调用的格式
4、字符串中,若运用格式符为“%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 设有语
5、句“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=12n”的长度为()。选择一项: A. 6 B. 7 C. 8 D. 9 题目20 在下列的符号常量定义中,错误的定义语句格式为()。选择一项: A. const int M1=10; B. const i
6、nt M2=20; C. const int M3 10; D. const char mark=3; 二、推断题(共60分,每小题2分。叙述正确则回答“是”,否则回答“否”) 题目21 C语言中的每条简洁语句以分号作为结束符。选择一项: 对 错 题目22 C语言中的每条复合语句以花括号作为结束符。选择一项: 对 错 题目23 在C语言程序中,在行尾运用注释的起先标记符为一对单斜线字符。选择一项: 对 错 题目24 注释内容的起先所运用的标记符为/*,则注释内容的结束所运用的标记符为*/。选择一项: 对 错 题目25 在一个C语言程序文件中,若要包含一个头文件,则运用以百分号起先的预处理吩咐。
7、选择一项: 对 错 题目26 用于输出表达式值的标准输出函数是printf()。选择一项: 对 错 题目27 当不须要函数返回任何值时,则须要运用保留字void作为函数的返回值类型。选择一项: 对 错 题目28 每个C程序文件在编译时可能出现有警告性错误,其对应的标识符为error。选择一项: 对 错 题目29 十进制数25表示成符合C语言规则的八进制数为31。选择一项: 对 错 题目30 十进制数25表示成符合C语言规则的十六进制数为0x19。选择一项: 对 错 题目31 在C语言中,转义字符n表示一个换行符。选择一项: 对 错 题目32 执行“printf(“%c“,F-2);”语句后得到
8、的输出结果为H。选择一项: 对 错 题目33 已知字符C的ASCII码为67,当执行“int x=C+5;”语句后x的值为72。选择一项: 对 错 题目34 假定一个枚举类型的定义为“enum RBab,ac=3,ad,aex=ad;”,则x的值为2。选择一项: 对 错 题目35 float的类型长度为8。选择一项: 对 错 题目36 在C语言中,常数28和3.26具有相同的数据类型。选择一项: 对 错 题目37 若须要定义一个符号常量,并且使C语言能够进行类型检查,则应在定义语句的起先运用保留字const。选择一项: 对 错 题目38 运用const语句定义一个符号常量时,不必对它进行初始化
9、。选择一项: 对 错 题目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&g
10、t;y逻辑值为真。选择一项: 对 错 题目47 假定x=5,则执行“a=(x?10:20);”语句后a的值为10。 选择一项: 对 错 题目48 带有随机函数的表达式rand()%20的值所在的区间范围是019。 选择一项: 对 错 题目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
11、题目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 在下面循
12、环语句中,内层循环体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 a10=0; c. int a; d. int
13、a5; 题目8 在下面的二维数组定义中,语法正确的选项是( )。选择一项: a. int a5; b. int a5; c. int a3=1,3,5,2; d. int a(10); 题目9 假定一个二维数组的定义语句为“int a34=3,4,2,8,6;”,则元素a11的值为( )。选择一项: a. 2 b. 4 c. 6 d. 8 题目10 假定一个二维数组的定义语句为“int a34=3,4,2,8,6;”,则元素a21的值为( )。选择一项: a. 0 b. 4 c. 8 d. 6 二、推断题(共20分,每小题1分。叙述正确则回答“是”,否则回答“否”) 题目11 在执行“type
14、def int DataType;”语句后,标识符DataType与保留字int具有完全相同的含义和作用。选择一项: 对 错 题目12 在switch语句中,每个case和冒号之间的表达式只能是常量。选择一项: 对 错 题目13 为了结束本层循环类语句或switch语句的执行过程,在语句体中须要运用break语句。选择一项: 对 错 题目14 在程序中执行到break语句时,将结束所在函数的执行过程,返回到调用该函数的位置。选择一项: 对 错 题目15 在程序执行完成任一个函数调用后,将结束整个程序的执行过程,返回到操作系统或C语言集成开发环境界面窗口。选择一项: 对 错 题目16 假定一维数
15、组的定义为“char* a8;”,则该数组所含元素的个数大于8。选择一项: 对 错 题目17 假定二维数组的定义为“int a35;”,则该数组所占存储空间的字节数为60。选择一项: 对 错 题目18 假定二维数组的定义为“char aMN;”,则该数组所含元素的个数为M+N。选择一项: 对 错 题目19 假定二维数组的定义为“double aMN;”,则每个数组元素的行下标取值范围在0M-1之间。选择一项: 对 错 题目20 假定二维数组的定义为“double aMN;”,则每个数组元素的列下标取值范围在0N之间。选择一项: 对 错 题目21 存储一个空字符串须要占用0个字节的存储空间。选择
16、一项: 对 错 题目22 运用“typedef char BB1050;”语句定义标识符BB为含有10行50列的二维字符数组类型。选择一项: 对 错 题目23 存储字符a须要占用1个字节的存储空间。选择一项: 对 错 题目24 空字符串的长度为1。选择一项: 对 错 题目25 字符串“a:xxk数据“的长度为13。选择一项: 对 错 题目26 为了存储一个长度为n的字符串,所运用的字符数组的长度至少为n+1。选择一项: 对 错 题目27 strcmp函数用于进行两个字符串之间的比较。选择一项: 对 错 题目28 strcpy函数用于把一个字符串拷贝到另一个字符数组空间中。选择一项: 对 错 题
17、目29 一个二维字符数组a1020能够最多存储9个字符串。选择一项: 对 错 题目30 一个二维字符数组a1020能够存储的每个字符串的长度不超过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“,“de
18、faultn“); 答:1114 题目32 #include<stdio.h> void main() int i,s=0; for(i=1;i<=5;i+) s+=i*i; printf(“s=%dn“,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 %dn“,s1,s2); 答:25 20 题目34 #include<stdio.h> void main
19、() int n=6,y=1; while(n) y*=n-; printf(“y=%dn“,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 %dn“,c2,c3,c5); 答:10 6 4) 题目36 #include<stdio.h> void main() int i,s;
20、 for(i=1,s=0;i<10;i+) if(i%3=0) continue; s+=i; printf(“%dn“,s); 答:27 题目37 #include<stdio.h> void main() int a8=12,39,26,41,55,63,72,40; int i, i1=0, i2=0; for(i=0;i<8;i+) if(ai%2=1) i1+; else i2+; printf(“%d %dn“,i1,i2); 答:4 4 题目38 #include<stdio.h> int a10=4,5,6,15,20,13,12,7,8,9
21、; void main() int i,s4=0; for(i=0; i<10; i+) switch(ai%4) case 0: s0+=ai;break; case 1: s1+=ai;break; case 2: s2+=ai;break; default: s3+=ai;break; for(i=0; i<4; i+) printf(“%d “,si); 答:44 27 6 22 题目39 #include<stdio.h> void main() char a=“abcdbfbgacd“; int i1=0, i2=0, i=0; while(ai) if(a
22、i=a) i1+; if(ai=b) i2+; i+; printf(“%d %d %dn“,i1,i2,i); 答:2 3 11 题目40 #include<stdio.h> void main() int a34=1,2,7,8,5,6,10,6,9,12,3,4; int m=a00; int i,j; for(i=0; i<3; i+) for(j=0; j<4; j+) if(aij>m) m=aij; printf(“%dn“,m); 答:12 四、简答题:依据下列每个题目要求编写程序(共20分,每小题4分) 题目41 编写一个函数,函数头格式为“do
23、uble Mean(double aMN,int m,int n)”,要求返回二维数组amn中全部元素的平均值,假定在计算过程中采纳变量v存放平均值。double Mean(double aMN, int m, int n) int i, j; double v=0.0; for(i=0; i<m; i+) for(j=0; j<n; j+) v+=aij; v=v/(m+n); return v; 答: double Mean(double aMN,int m,int n) int i,j; double v=0.0; for(i=0; i<m; i+) for(j=0;
24、j<n; j+) v+=aij; v/=m*n; return v; 题目42 编写一个递归函数“int FF(int a, int n)”,求出数组a中全部n个元素之积并返回。 int FF(int a , int n) if(n=1) return a0; else return FF(a, n-1)*an-1; 答: int FF(int a, int n) if(n=1) return an-1; else return an-1*FF(a,n-1); 题目43 编写一个主函数,利用while循环,求出并显示满意不等式的最小n值。 #include <stdio.h>
25、 void main( ) int i=0, s=0; while(s<=1000) i+; s+=i*i; printf(“满意不等式的最小n 值是: %dn“, 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=%dn“,i); 题目44 编写一个主函数,求出满意不等式22+42+.+n2<1000的最大n值,假定分别用i和s作为取偶数值和累加值的变量,并限定运用do循环编程
26、。 #include <stdio.h> void main( ) int i=0, s=0; do i+=2; s+=i*i; while(s<1000); printf(“满意不等式的最大n值是: %dn“, 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=%dn“,i-2); 题目45 编写一个主函数,计算并输出12+22+.+n2值,其中n值由键盘输入。
27、#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=%dn“,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
28、=%dn“,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为
29、一个数组名,在下面的表达式中,存在语法错误的是( )。选择一项: a. ai 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是一
30、个double类型的变量,则定义变量p的正确语句为( )。选择一项: a. double p=k; b. int *p=k; c. double p=*k; d. char *p=“Thank you!“; 题目8 若有语句为“int a10, x, *pa=a;”,要把数组a中下标为3的元素值赋给x,则不正确的语句为( )。选择一项: a. x=pa3; b. x=*(a+3); c. x=a3; d. x=*pa+3; 题目9 假定有语句为“int b10; int *pb;”,则下面不正确的赋值语句为( )。选择一项: a. pb=b; b. pb=b0; c. pb=b+2; d. p
31、b=b5; 题目10 已知“int *p=malloc(100);”,要释放p所指向的动态内存,正确的语句为( )。选择一项: a. free(p); b. free p; c. free(*p); d. freep; 题目11 在程序的一个文件中定义的函数,若要在另一个文件中调用,则必需在这另一个文件中给出该函数的( )。选择一项: a. 原型语句 b. 参数表 c. 函数名 d. 返回类型 题目12 假定一个函数定义为“static int f1(int x,int y)return x+y;”,该函数名称为( )。选择一项: a. static b. int c. f1 d. retur
32、n 题目13 假定一个函数的原型语句为“int ff(int* x);”,一个整型数组为a10,则下面函数调用表达式不正确的是( )。 选择一项: a. ff(a) b. ff(a0) c. ff(a+3) d. ff(a0) 题目14 假定一个函数的数组参数说明为char a,与之等价的指针参数说明为( )。1B 选择一项: a. char a b. char* a c. char a d. char*a 题目15 假定一个函数的二维数组参数说明为char wN,与之等价的指针参数说明为( )。 选择一项: a. char (*w)N b. char *wN c. char (*w)N d.
33、 char*a 二、推断题(共30分,每小题2分。叙述正确则回答“是”,否则回答“否”) 题目16 在C语言中,一个函数由函数头和函数体组成。选择一项: 对 错 题目17 在函数模块之外定义的变量称为全局变量,若没有被初始化则系统隐含对它赋初值0。选择一项: 对 错 题目18 假如一个函数只允许同一程序文件中的函数调用,则不应在该函数定义的起先前加上保留字static。选择一项: 对 错 题目19 假如在一个函数体中又出现对自身函数的调用,此种函数调用被称为递归调用。选择一项: 对 错 题目20 调用系统函数时,要先运用#include吩咐包含该系统函数的原型语句所在的系统头文件。选择一项:
34、对 错 题目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。选择一项: 对 错
35、 题目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
36、=WF(x,y); printf(“z=%dn“,z); 答:z=31 题目32 #include<stdio.h> #include<string.h> void fun(char ss); void main() char s15=“0123456789“; fun(s); printf(“%sn“,s); void fun(char ss) int i, n=strlen(ss) ; for(i=0; i<n/2; i+) char c=ssi; ssi=ssn-1-i; ssn-1-i=c; 答:987543210 题目33 #include<std
37、io.h> int Count(int a, int n, int x) int i,c=0; for(i=0;i<n;i+) if(ai>x) c+; return c; void main() int a8=20,15,32,47,24,36,28,70; int b=Count(a,8,30); printf(“b=%dn“,b); 答:B=4 题目34 #include<stdio.h> void main() int a8=3,5,7,9,2,3,4,8; int s=0,*p; for(p=a;p<a+8;) s+=*p+; printf(“s=
38、%dn“,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(ai<x) s+=ai; return s; void main() int a8=5,10,15,8,12,3,9,20; int b=LA(a,5,10); int c=LA(a+2,6,10); printf(“%d %dn“,b,c); 答:13 20 四、写出下列每个函数的功能(共20分,每小题4分) 题目36 double SF(double x, int n) /
39、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(ai=x) return 1;