上海开放大学C语言程序设计作业答案_1742979859_1742982325_1742982903_1742985290_1742986032_1742988585_1742989182

权威收录全国44所开放大学分部+20个专业学院全科目试题试卷,配套参考答案精准解析

上海开放大学C语言程序设计作业答案_1742979859_1742982325_1742982903_1742985290_1742986032_1742988585_1742989182

分类: 广东开放大学 时间:2025-03-26 11:56:50 浏览:2次 评论:0
摘要:这篇文章居然没有摘要~~!
广告示例

想要快速找到正确答案?

立即关注 国开搜题微信公众号,轻松解决学习难题!

随机漂浮广告
上海开放大学C语言程序设计作业答案_1742979859_1742982325_1742982903_1742985290_1742986032_1742988585_1742989182

作业论文指导

扫码关注
作业论文指导,轻松解决学习难题!

上海开放大学C语言程序设计作业答案

C语言程序设计

学校: 无

问题 1: 1. 对两个数组a和b进行如下初始化
char a[ ]="ABCDEF";
char b[ ]={'A','B','C','D','E','F'};
则以下叙述正确的是( )。

选项:

  • A. a与b数组完全相同

  • B. a与b长度相同

  • C. a和b中都存放字符串

  • D. a数组比b数组长度小

答案: a和b中都存放字符串

问题 2: 2. 对以下说明语句的正确理解是( )。
int a[10]={6,7,8,9,10};

选项:

  • A. 将5个初值依次赋给a[1]至a[5]

  • B. 将5个初值依次赋给a[0]至a[4]

  • C. 将5个初值依次赋给a[6]至a[10]

  • D. 因为数组的长度与初值的个数不同,所以此语句不正确

答案: 将5个初值依次赋给a[0]至a[4]

问题 3: 3. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( )个字节。

选项:

  • A. 4

  • B. 8

  • C. 16

  • D. 32

答案: 16

问题 4: 4. 若有说明:int a[10];则对a数组元素的正确引用是( )。

选项:

  • A. a[10]

  • B. a[3.5]

  • C. a(5)

  • D. a[10-10]

答案: a[10-10]

问题 5: 5. 若有说明:int a[3][4];则对数组元素的非法引用是( )。

选项:

  • A. a[0][2*1]

  • B. a[1][3]

  • C. a[4-2][0]

  • D. a[0][4]

答案: a[0][4]

问题 6: 6. 若有说明:int a[3][4]={0};则下面正确的叙述是( )。

选项:

  • A. 只有元素a[0][0]可得到初值0

  • B. 此说明语句不正确

  • C. 数组a中各元素都可得到初值,但其值不一定为0

  • D. 数组a中每个元素均可得到初值为0

答案: 数组a中每个元素均可得到初值为0

问题 7: 7. 下列是对s的初始化,其中不正确的是( )。

选项:

  • A. char s[5]={“abc”};

  • B. char s[5]={ ‘a’,’b’, ‘c’};

  • C. char s[5]=””;

  • D. char s[5]=”abcdef”;

答案: 请关注公众号【青鸟搜题】查看答案

问题 8: 8. 以下能对一维数组a进行正确初始化的语句是( )。

选项:

  • A. int a[10]=(0,0,0,0,0);

  • B. int a[10]={ };

  • C. int a[ ]={ 0 };

  • D. int a[10]={ 10*1}

答案: 请关注公众号【青鸟搜题】查看答案

问题 9: 9. 有下面程序段
char a[3];
printf("%s",a);
则( )。

选项:

  • A. 运行后将输出China

  • B. 运行后将输出Ch

  • C. 运行后将输出Chi

  • D. 输出乱码

答案: 请关注公众号【青鸟 开放教育作业解析 搜题】查看答案

问题 10: 10. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( )。

选项:

  • A. 地址传递

  • B. 单向值传递

  • C. 由实参传给形参,再由形参传回给实参

  • D. 由用户指定传递方式

答案: 请关注公众号【青鸟搜题】查看答案

问题 11: 11. 若用数组名作为函数调用的实参,传递给形参的是( )。

选项:

  • A. 数组的首地址

  • B. 数组中第一个元素的值

  • C. 数组中全部元素的值

  • D. 数组元素的个数

答案: 请关注公众号【青鸟搜题】查看答案

问题 12: 12. 以下正确的叙述是( ) 。

选项:

  • A. C语言允许main函数带形参,且形参个数和形参名均可由用户指定

  • B. C语言允许main函数带形参,形参名只能是argc和argv

  • C. 当main函数带有形参时,传给形参的值只能从命令行中得到

  • D. 若有说明:main (int argc,char * argv),则形参argc的值必须大于1

答案: 请关注公众号【青鸟搜题】查看答案

问题 13: 13. 当说明一个共用体变量时,系统分配给它的内存是( )。

选项:

  • A. 各成员所需内存量的总和

  • B. 结构中第一个成员所需内存量

  • C. 成员中占内存量最大者所需的容量

  • D. 结构中最后一个成员所需的内存量

答案: 请 渝粤地区教育资源共享 关注公众号【青鸟搜题】查看答案

问题 14: 14. 下面试图为double说明一个新类型名real的语句中,正确的是( )。

选项:

  • A. typedef real double;

  • B. typedef double real;

  • C. typedef real=double;

  • D. typedef double=’real’;

答案: 请关注公众号【青鸟搜题】查看答案

问题 15: 15. 以下程序的运行结果是( )。
#include <stdio. h>
void main( )
{ struct date
{int year,month,day;
}today;
printf("%d\n",sizeof(struct date));

选项:

  • A. 6

  • B. 8

  • C. 10

  • D. 12

答案: 请关注公众号【青鸟搜题】查看答案

问题 16: 16. fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是( )。

选项:

  • A. 只写

  • B. 追加

  • C. 读或写

  • D. 答案B和C都正确

答案: 请关注公众号【青鸟搜题】查看答案

问题 17: 17. 若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是( )。

选项:

  • A. “ab+”

  • B. “wb+”

  • C. “rb+”

  • D. “ab”

答案: 请关注公众号【青鸟搜题】查看答案

问题 18: 18. 若以”a+”方式打开一个已存在的文件,则以下叙述正确的是( )。

选项:

  • A. 文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作。

  • B. 文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作。

  • C. 文件打开时,原有文件内容被删除,只可作写操作。

  • D. 以上各种说法皆不正确。

答案: 请关注公众号【青鸟搜题】查看答案

问题 19: 19. 正常执行文件关闭操作时,fclose函数的返回值是( ) 。

选项:

  • A. –1

  • B. TRUE

  • C. 0

  • D. 1

答案: 请关注公众号【青鸟搜题】查看答案

问题 20: 20. 下面程序的运行结果是( )。
char a[7]=”abcdef”;
char b[4]=”ABC”;
strcpy(a,b);
printf(“%c”,a[5]);

选项:

  • A. └┘ (其中└┘表示空格)

  • B. \0

  • C. e

  • D. f

答案: 请关注公众号【青鸟搜题】查看答案

问题 21: 21. 当运行以下程序时,从键盘输入Happy! <CR> (<CR>表示回车),则下面
程序的运行结果是( )。
#include
#include
int stre(char str[]);
void main()
{ char str[10],*p=str;
gets(p);
printf ("%d\n",stre(p));
}
int stre(char str[])
{int num=0;
while(*(str+num)!='\0')
num ++;
return(num);
}

选项:

  • A. 7

  • B. 6

  • C. 5

  • D. 10

答案: 请关注公众号【青鸟搜题】查看答案

问题 22: 22. 下面的函数原型声明中存在语法错误的是( )。

选项:

  • A. AA(int a, int b)

  • B. AA(int, int)

  • C. AA(int a; int b;)

  • D. AA(int a, int)

答案: 请关注公众号【青鸟搜题】查看答案

问题 23: 23. 假定有语句“int b[10], *pb;”,则不正确的赋值为( )。

选项:

  • A. pb=b

  • B. pb=b[5]

  • C. pb=b+2

  • D. pb=&b[0]

答案: 请关注公众号【青鸟搜题】查看答案

问题 24: 24. '若有初始化int a[][3]={1,2,3,4,5,6,7};,则以下错误的是叙述是( )。

选项:

  • A. 引用a数组时,元素的两个下标值均不能超过2

  • B. a数组的第一维大小为3

  • C. a数组中包含9个元素

  • D. a数组中包含7个元素

答案: 请关注公众号【青鸟搜题】查看答案

问题 25: 1. C语言程序中的基本功能模块为( )。

选项:

  • A. 表达式

  • B. 标识符

  • C. 语句

  • D. 函数

答案: 请关注公众号【青鸟搜题】查看答案

问题 26: 2. C语言规定:在一个源程序中,main函数的位置( )。

选项:

  • A. 必须在最开始

  • B. 必须在系统调用的库函数的后面

  • C. 可以任意

  • D. 必须在最后

答案: 请关注公众号【青鸟搜题】查看答案

问题 27: 3. C语言源程序文件的缺省扩展名为( )。

选项:

  • A. cpp

  • B. c

  • C. exe

  • D. obj

答案: 请关注公众号【青鸟搜题】查看答案

问题 28: 4. 程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用( )符号作为分隔符。

选项:

  • A. 空格或逗号

  • B. 逗号或回车

  • C. 逗号或分号

  • D. 空格或回车

答案: 请关注公众号【青鸟搜题】查看答案

问题 29: 5. 枚举类型中的每个枚举常量的值都是一个( )。

选项:

  • A. 整数

  • B. 浮点数

  • C. 字符

  • D. 记录

答案: 请关注公众号【青鸟搜题】查看答案

问题 30: 6. 若运行时为变量x输入12,则以下程序的运行结果是( )。
#include<stdio.h>
void main ( )
{ int x,y;

scanf("%d",&x);

y=x>12? x+10: x-12;

printf("%d\n",y);
}

选项:

  • A. 0

  • B. 22

  • C. 12

  • D. 10

答案: 请关注公众号【青鸟搜题】查看答案

问题 31: 7. 设有说明语句:
char w;
int x;
float y;
double z;
则表达式w*x+z-y值的数据类型为( )。

选项:

  • A. float

  • B. char

  • C. int

  • D. double

答案: 请关注公众号【青鸟搜题】查看答案

问题 32: 8. 一个c程序的执行是从( )。

选项:

  • A. 本程序的main函数开始,到main函数结束

  • B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

  • C. 本程序的main函数开始,到本程序文件的最后一个函数结束

  • D. 本程序文件的第一个函数开始,到本程序main函数结束

答案: 请关注公众号【青鸟搜题】查看答案

问题 33: 9. 以下程序的运行结果是( ) 。
#include<stdio.h>
void main( )
{ int a,b,d=241;
a=d/100%9;
b=(-1)&&(-1);

printf(”%d,%d”,a,b)

}

选项:

  • A. 6,1

  • B. 2,1

  • C. 6,0

  • D. 2,0

答案: 请关注公众号【青鸟搜题】查看答案

问题 34: 10. 以下针对scanf函数的叙述中,正确的是( )。

选项:

  • A. 输入项可以为一实型常量,如scanf(”%f”,3.5);

  • B. 只有格式控制,没有输入项,也能进行正确输入,如scanf(”a=%d,b=%d”);

  • C. 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(”%4. 2f”u,&f);

  • D. 当输人数据时,必须指明变量的地址,如scanf(”%f”,&f);

答案: 请关注公众号【青鸟搜题】查看答案

问题 35: 11. 在32位操作系统中,C语言中double类型的长度为( )个字节。

选项:

  • A. 1

  • B. 2

  • C. 8

  • D. 4

答案: 请关注公众号【青鸟搜题】查看答案

问题 36: 12. 为了避免在嵌套的条件语句if-else中产生二义性,C语言规定else子句总是与( )配对。

选项:

  • A. 缩排位置相同的if

  • B. 其之前最近的,同一复合语句的,而且没有和其它else匹配的if

  • C. 其之后最近的if

  • D. 同一行上的if

答案: 请关注公众号【青鸟搜题】查看答案

问题 37: 13. 以下程序的输出是( )。
#include<stdio.h>
void main ( )
{ int x=2,y=-1,z=2;
if (x<y)
if (y<0)

z=0;
else
z+=1;
printf(“%d\n”,z);
}

选项:

  • A. 3

  • B. 2

  • C. 1

  • D. 0

答案: 请关注公众号【青鸟搜题】查看答案

问题 38: 14. 当处理一个问题时的循环次数已知时,最好采用( )循环来解决。

选项:

  • A. for

  • B. while

  • C. do-while

  • D. switch

答案: 请关注公众号【青鸟搜题】查看答案

问题 39: 15. 对for(表达式1;;表达式3)可理解为( )。

选项:

  • A. for(表达式1;0;表达式3)

  • B. for(表达式1;1;表达式3)

  • C. for(表达式1;表达式1;表达式3)

  • D. for(表达式1;表达式3;表达式

答案: 请关注公众号【青鸟搜题】查看答案

问题 40: 16. 假定 开放教育作业解析 i的初值为0,则在循环语句“while(i

选项:

  • A. n-1

  • B. n

  • C. n+1

  • D. n/2

答案: 请关注公众号【青鸟搜题】查看答案

问题 41: 17. 下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔。请选择填空。
#include <stdio.h>
void main( )
{ char s[80], c1, c2=‘ ’ ;
int i=0, num=0;
gets(s);
while(s[i]!=’\0’)
{ c1=s[i];
if(i==0) c2=‘ ’;
else c2=s[i-1];
if( ) num++;
i++;
}
printf(“There are %d words.\n”,num);
}

选项:

  • A. c1== ‘ ’&& c2==‘ ’

  • B. c1!= ‘ ’&& c2==‘ ’

  • C. c1== ‘ ’&& c2!=‘ ’

  • D. c1!= ‘ ’&& c2!=‘ ’

答案: 请关注公众号【青鸟搜题】查看答案

问题 42: 18. 根据以下定义语句和数据的输入方式,scanf语句的正确形式应为( )。
float fl,f2;
scanf( );
数据的输入方式:
4. 52<回车>
3. 5<回车>

选项:

  • A. scanf("%f,%f",&fl,&f2);

  • B. scanf("%f%f",&fl,&f2);

  • C. scanf("%3. 2f %2. lf", &fl,&f2);

  • D. scanf("%3. 2f%2.lf",&fl,&f2);

答案: 请关注公众号【青鸟搜题】查看答案

问题 43: 19. 假定x的值为5,y的值为6,则表达式x++*--y的值为( )。

选项:

  • A. 25

  • B. 30

  • C. 36

  • D. 42

答案: 请关注公众号【青鸟搜题】查看答案

问题 44: 20. 判断char型变���ch是否为大写字母的正确表达式是( )。

选项:

  • A. ’A’<=ch<=’Z’

  • B. (ch>=’A’)&(ch<=’Z’)

  • C. (ch>=’A’)&&(ch<=’Z’)

  • D. (’A’<=ch)AND(’Z’>=ch)

答案: 请关注公众号【青鸟搜题】查看答案

问题 45: 21. 若有以下定义,则正确的赋值语句是( )。

选项:

  • A. a=1,b=2,

  • B. b++;

  • C. a=b=5

  • D. b=int(x) ;

答案: 请关注公众号【青鸟搜题】查看答案

问题 46: 22. 若变量都已正确定义,则以下程序段的输出是( )。
a=10;b=50;c=30;
if(a>b) a=b;
b=c;
c=a;
printf("a=%d b=%d c=%d\n",a,b,c);

选项:

  • A. a=10 b=30 c=10

  • B. a=10 b=50 c=10

  • C. a=50 b=30 c=10

  • D. a=50 b=30 c=50

答案: 请关注公众号【青鸟搜题】查看答案

问题 47: 23. 若有说明语句:char c=’\72’;则变量c( )。

选项:

  • A. 包含1个字符

  • B. 包含2个字符

  • C. 包含3个字符

  • D. 说明不合法,c的值不确定

答案: 请关注公众号【青鸟搜题】查看答案

问题 48: 24. 在32位��作系统中,C语言中double类型的长度为( )个字节。

选项:

  • A. 1

  • B. 2

  • C. 8

  • D. 4

答案: 请关注公众号【青鸟搜题】查看答案

问题 49: 25. 设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是( )。

选项:

  • A. ’x’&&’y’

  • B. x<=y

  • C. x||y+z&&y-z

  • D. !((x<y)&&!z||1)

答案: 请关注公众号【青鸟搜题】查看答案

问题 50: 26. 在32位操���系统中,C语言中double类型的长度为( )个字节。

选项:

  • A. 1

  • B. 2

  • C. 8

  • D. 4

答案: 请关注公众号【青鸟搜题】查看答案

问题 51: 27. 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )。

选项:

  • A. 7

  • B. 8

  • C. 6

  • D. 2

答案: 请关注公众号【青鸟搜题】查看答案

问题 52: 28. 若希望当A的值为奇数时,表达式的值为“真”;当A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )。

选项:

  • A. A%2==1

  • B. !(A%2==0)

  • C. !(A%2)

  • D. A%2

答案: 请关注公众号【青鸟搜题】查看答案

问题 53: 29. 十进制数50表示成符合C语言规定的八进制数为( )。

选项:

  • A. 20

  • B. 32

  • C. 62

  • D. 062

答案: 请关注公众号【青鸟搜题】查看答案

问题 54: 30. 下列关系表达式中结果为假的是( )。

选项:

  • A. 0!=1

  • B. 2<=8

  • C. (a=2*2)==2

  • D. y=(2+2)==4

答案: 请关注公众号【青鸟搜题】查看答案

问题 55: 31. 已知各变量的类型说明如下:
int k,a,b;
unsigned long w=5;
double x=1.42

则以下不正确的表达式是( )。

选项:

  • A. x%(-3)

  • B. w+=-2

  • C. k=(a=2,b=3,a+b)

  • D. a+=a-=(b=4)*(a=3)

答案: 请关注公众号【青鸟搜题】查看答案

问题 56: 32. 已知字母A的ASCII码为十进制数65,且定义c2为字符型变量,则执行语句c2=’A’+’6’-’3’;后,c2中的值为( )。

选项:

  • A. D

  • B. 68

  • C. 不确定的值

  • D. C

答案: 请关注公众号【青鸟搜题】查看答案

问题 57: 33. 在下列的符号常量定义中,正确的定义格式为( )。

选项:

  • A. #define M1

  • B. const int M2 20

  • C. #define M3 10

  • D. const char mark

答案: 请关注公众号【青鸟搜题】查看答案

问题 58: 34. 若i为整形变量,则以下循环体执行次数是( )。
for(i=2;i==0;)printf(“%d”,i--);

选项:

  • A. 无限次

  • B. 0次

  • C. 1次

  • D. 2次

答案: 请关注公众号【青鸟搜题】查看答案

问题 59: 35. 设有程序段
int k=10;
while(k=0) k=k-1;
则下面描述正确的是( )。

选项:

  • A. while循环执行10次

  • B. 循环是无限循环

  • C. 循环语句一次也不执行

  • D. 循环语句执行一次

答案: 请关注公众号【青鸟搜题】查看答案

问题 60: 36. 下面程序的运行结果是( )。
#include <stdio.h>
void main()
{ int num=0;
while(num<=2)

num++;
printf(“%d\n”,num);

}

选项:

  • A. 1

  • B. 1 2

  • C. 1 2 3

  • D. 1 2 3 4

答案: 请关注公众号【青鸟搜题】查看答案

问题 61: 37. 执行语句for(i=1;i++<4; );后变量i的值是( )。

选项:

  • A. 3

  • B. 4

  • C. 5

  • D. 不定

答案: 请关注公众号【青鸟搜题】查看答案

收藏


评论留言请发表您的神机妙论……

昵称

邮箱

地址

私密评论
评论列表(共有0条评论)