(精华版)国家开放大学电大《C语言程序设计》网络课形考网考作业及答案

阅读: 评论:0

2024年1月31日发(作者:)

(精华版)国家开放大学电大《C语言程序设计》网络课形考网考作业及答案

(精华版)国家开放大学电大《C语言程序设计》网络课形考网考作业及答案

(精华版)国家开放大学电大《C语言程序设计》网络课形考网考作业及答案 100%通过 考试说明:20XX年秋期电大把该网络课纳入到“国开平台”进行考核,该课程共有4个形考任务,针对该门课程,本人汇总了该科所有的题,形成一个完整的标准题库,并且以后会不断更新,对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。本文库还有其他网核及教学考一体化答案,敬请查看。 课程总成绩 = 形成性考核×50% + 终结性考试×50%

形考任务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 x0 x=10的相反表达式为( )。

选择一项:

A. x=0 || x10

题目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+y5的相反表达式为x+y=5。

选择一项:

题目45 逻辑表达式(ab || b==5)的相反表达式为(ab b==5)。

选择一项:

题目46 若x=5,y=10,则xy逻辑值为真。

选择一项:

题目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 i++) if(in/2) {coutiendl; break;} 选择一项:

b. n/2+1

题目5 在下面循环语句中,内层循环体S语句的执行总次数为(

)。

for(int i=0; i i++)

for(int j=i; j j++) S; 选择一项:

d. n(n+1)/2 题目6 在下面的do循环语句中,其循环体被执行的次数为(

)。

int i=0; do i++; while(i*i 选择一项:

a. 4

题目7 在下面的一维数组定义中,有语法错误的选项是(

)。

选择一项:

c. int a[]; 题目8 在下面的二维数组定义中,语法正确的选项是(

)。

选择一项:

c. int a[]={{1,3,5},{2}};

题目9 假定一个二维数组的定义语句为“int a={{3,4},{2,8,6}};”,则元素a的值为(

)。

选择一项:

d. 8 题目10 假定一个二维数组的定义语句为“int a={{3,4},{2,8,6}};”,则元素a的值为(

)。

选择一项:

a. 0

二、判断题(共20分,每小题1分。叙述正确则回答“是”,否则回答“否”) 题目11 在执行“typedef int DataType;”语句后,标识符DataType与保留字int具有完全相同的含义和作用。

选择一项:

题目12 在switch语句中,每个case和冒号之间的表达式只能是常量。

选择一项:

题目13 为了结束本层循环类语句或switch语句的执行过程,在语句体中需要使用break语句。

选择一项:

题目14 在程序中执行到break语句时,将结束所在函数的执行过程,返回到调用该函数的位置。

选择一项:

题目15 在程序执行完成任一个函数调用后,将结束整个程序的执行过程,返回到操作系统或C语言集成开发环境界面窗口。

选择一项:

题目16 假定一维数组的定义为“char* a;”,则该数组所含元素的个数大于8。

选择一项:

题目17 假定二维数组的定义为“int a;”,则该数组所占存储空间的字节数为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;”语句定义标识符BB为含有10行50列的二维字符数组类型。

选择一项:

题目23 存储字符'a'需要占用1个字节的存储空间。

选择一项:

题目24 空字符串的长度为1。

选择一项:

题目25 字符串“a:\\xxk\\数据“的长度为13。

选择一项:

题目26 为了存储一个长度为n的字符串,所使用的字符数组的长度至少为n+1。

选择一项:

题目27 strcmp函数用于进行两个字符串之间的比较。

选择一项:

题目28 strcpy函数用于把一个字符串拷贝到另一个字符数组空间中。

选择一项:

题目29 一个二维字符数组a能够最多存储9个字符串。

选择一项:

题目30 一个二维字符数组a能够存储的每个字符串的长度不超过20。

选择一项:

三、填空题:写出下列每个程序运行后的输出结果(共40分,每小题4分) 题目31 #includestdio.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

#includestdio.h

void main() {

int i,s=0;

for(i=1;ii++) s+=i*i;

printf(“s=%d\n“,s); } 答:s=55 题目33 #includestdio.h

void main() {

int i, s1=0, s2=0;

for(i=0;ii++)

if(i%2) s1+=i; else s2+=i;

printf(“%d %d\n“,s1,s2); } 答:25 20 题目34 #includestdio.h

void main() {

int n=6,y=1;

while(n) y*=n--;

printf(“y=%d\n“,y); } 答:y=720 题目35 #includestdio.h

const int M=20;

void main() {

int i,c2,c3,c5;

c2=c3=c5=0;

for(i=1; i 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 #includestdio.h

void main()

{

int i,s;

for(i=1,s=0;ii++) {

if(i%3==0) continue;

s+=i;

}

printf(“%d\n“,s);

} 答:27 题目37 #includestdio.h

void main() {

int a={12,39,26,41,55,63,72,40};

int i, i1=0, i2=0;

for(i=0;ii++)

if(a[i]%2==1) i1++; else i2++;

printf(“%d %d\n“,i1,i2);

} 答:4 4 题目38 #includestdio.h

int a={4,5,6,15,20,13,12,7,8,9};

void main()

{

int i,s=0;

for(i=0; i i++) {

switch(a[i]%4) {

case 0: s+=a[i];break;

case 1: s+=a[i];break;

case 2: s+=a[i];break;

default: s+=a[i];break;

}

}

for(i=0; i i++) printf(“%d “,s[i]);

} 答:44 27 6 22 题目39 #includestdio.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 #includestdio.h

void main() {

int a={{1,2,7,8},{5,6,10,6},{9,12,3,4}};

int m=a;

int i,j;

for(i=0; i i++)

for(j=0; j 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 i++)

for(j=0; j 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 i++)

for(j=0; j j++) v+=a[i][j];

v/=m*n;

return v;

} 题目42 编写一个递归函数“int FF(int a[], int n)”,求出数组n个元素之积并返回。

int

FF(int a[ ], int

n)

{

if(n==1)

return

a;

else

return

a中所有

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);

} 答:

#includestdio.h

void main()

{

int i=0; double s=0;

//或int i=1; double s=1;

while(s5) s+=(double)1/++i;

printf(“n=%d\n“,i);

} 题目44 编写一个主函数,求出满足不等式22+42+...+n*****的最大n值,假定分别用i和s作为取偶数值和累加值的变量,并限定使用do循环编程。

#include stdio.h

void

main( )

{

int

i=0,

s=0;

do {

i+=2;

s+=i*i;

}while(s1000);

printf(“满足不等式的最大n值是: %d\n“, i-2);

} 答:

#includestdio.h

void main()

{

int i=0;

//用i作为依次取值偶数的变量

int s=0;

//用s作为累加变量

do {

i+=2;

s+=i*i;

}while(s1000);

printf(“n=%d\n“,i-2);

} 题目45 编写一个主函数,计算并输出由键盘输入。

#include

stdio.h

void

main( )

{

int

i, n, s=0;

printf(“请输入一个整数n:“);

scanf(“%d“,

for(i=1; i i++)

12+22+...+n2值,其中n值

s+=i*i;

printf(“s=%d\n“,s);

} 答:

#includestdio.h

void main()

{

int i;

//用i作为计数(循环)变量

int s=0;

//用s作为累加变量

int n;

printf(“输入一个自然数: “);

scanf(“%d“,

for(i=1; i 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=

题目7 假定k是一个double类型的变量,则定义变量p的正确语句

为(

)。

选择一项:

d. char *p=“Thank you!“; 题目8 若有语句为“int a, x, *pa=a;”,要把数组a中下标为3的元素值赋给x,则不正确的语句为(

)。

选择一项:

d. x=*pa+3; 题目9 假定有语句为“int b; int *pb;”,则下面不正确的赋值语句为(

)。

选择一项:

d. pb=b; 题目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,则下面函数调用表达式不正确的是(

)。

选择一项:

b. ff(a) 题目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分,每小题题目31 #includestdio.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 #includestdio.h

#includestring.h

void fun(char ss[]);

4分)

void main() {

char s=“***-*****89“;

fun(s);

printf(“%s\n“,s);

}

void fun(char ss[]) {

int i, n=strlen(ss) ;

for(i=0; i i++) {

char c=ss[i];

ss[i]=ss[n-1-i];

ss[n-1-i]=c;

}

} 答:***-*****0 题目33 #includestdio.h

int Count(int a[], int n, int x)

{

int i,c=0;

for(i=0;ii++)

if(a[i]x) c++;

return c;

}

void main() {

int a={20,15,32,47,24,36,28,70};

int b=Count(a,8,30);

printf(“b=%d\n“,b);

} 答:B=4 题目34 #includestdio.h

void main() {

int a={3,5,7,9,2,3,4,8};

int s=0,*p;

for(p=a;p) s+=*p++;

printf(“s=%d\n“,s);

} 答:s=41 题目35 #includestdio.h

int LA(int *a, int n, int x) {

int i,s=0;

for(i=0;ii++)

if(a[i]x) s+=a[i];

return s;

}

void main() {

int a={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分,每小题分) 题目36 double SF(double x, int n) {

4

//n为正整数

double p=1,s=1;

int i;

for(i=1;ii++) {

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,否则返回 题目38 int WB(int a[], int n, int x) {

for(int i=0;ii++)

0。

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(mb || nb) 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;ii++) s+=a[i];

s/=n;

for(i=0;ii++)

if(a[i]=s) m++;

return m;

} 答:

求出并返回数组a的n个元素中大于等于平均值的元素个数。

形考任务4 一、选择题(共30分,每小题2分) 题目1 假定有“struct BOOK{char title; float price;}; struct BOOK book;”,则不正确的语句为(

)。

选择一项:

a. struct BOOK *x=malloc(book);

题目2 假定有“struct BOOK{char title; 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 与结构成员访问表达式等价的表达式为(

)。

选择一项:

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; 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 #includestdio.h

struct Worker {

char name;

//姓名

int age;

//年龄

float pay;

//工资

};

void main() {

struct Worker x={“wanghua“,52,4300};

struct Worker y, *p;

y=x; p=

printf(“%s

%d

%6.2f\n“,,,p-pay);

} 答:

wanghua

52

4300 题目37 #includestdio.h

#includestring.h

struct Worker {

char name;

//姓名

int age;

//年龄

float pay;

//工资

};

void main() {

struct Worker x;

char *t=“liouting“;

int d=38; float f=3493;

strcpy(,t);

=d; =f;

printf(“%s

%d

%6.0f\n“,,,);

} 答:

liouting

39

2493 题目38 #includestdio.h

struct Worker {char name; int age; float pay;};

int Less(struct Worker r1, struct Worker r2) {

if() return 1; else return 0;

}

void main() {

struct Worker a={{“abc“,25,2420},{“def“,58,4638},

{“ghi“,49,4260},{“jkl“,36,3750}};

struct Worker x=a;

int i;

for(i=1; i i++)

if(Less(x,a[i])) x=a[i];

printf(“%s

%d

%6.0f\n“,,,);

} 答:

def

58

4638 四、写出下列每个函数的功能(共15分,每小题5分)39 void QA(struct Worker a[], int n) {

int i;

for(i=1; i i++)

scanf(“%s %d %f“,a[i].name,a[i].age,a[i].pay);

}

假定结构类型struct Worker 的定义如下:

struct Worker { char name; 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;

printf(“每个字符串长度小于20,字符串end作为结束标志\n“);

while(1) {

scanf(“%s“,a);

if(strcmp(a,“end“)==0) break;

fputs(a,fout);

fputc('\n',fout);

}

fclose(fout);

} 答:

把从键盘上输入的若干个字符串保存到由fname参数所指定的文本

文件中。

(精华版)国家开放大学电大《C语言程序设计》网络课形考网考作业及答案

本文发布于:2024-01-31 06:40:53,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170665445326326.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:函数   题目   语句
留言与评论(共有 0 条评论)
   
验证码:
排行榜

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23