找回密码
 立即注册
搜索
0赞
赞赏
手机版
扫码打开手机版
把文字装进口袋

山东开放大学C语言程序设计作业与答案

yuyue-edu 2025-6-30 13:00:22
山东开放大学C语言程序设计作业与答案
C语言程序设计
学校:山东开放大学
平台:国家开放大学
题目如下:
1. 在下面的保留字中,不能作为函数的返回值类型的是( )。
A. void
B. int
C. enum
D. long
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
2. 假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址增加的字节数为( )。
A. 1
B. 2
C. 4
D. 8
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
3. 假定a为一个数组名,在下面的表达式中,存在语法错误的是( )。
A. a
B. *a++
C. *a
D. *(a+1)
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
4. 用calloc函数创建具有10个整型元素的一维数组的正确语句是( )。
A. int *p=calloc(10,2);
B. int *p=calloc(10);
C. int *p=calloc(10,4);
D. int *p=malloc(10)
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
5. 假定k是一个double类型的变量,则定义变量p的正确语句为( )。
A. double p=&k;
B. int *p=&k;
C. double &p=*k;
D. char *p="Thank you!";
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
6. 若有语句为“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;
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
7. 假定有语句为“int b[10]; int *pb;”,则下面不正确的赋值语句为( )。
A. pb=b;
B. pb=&b[0];
C. pb=b+2;
D. pb=b[5];
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
8. 已知“int *p=malloc(100);”,要释放p所指向的动态内存,正确的语句为( )。
A. free(p);
B. free p;
C. free(*p);
D. free[p];
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
9. 在程序的一个文件中定义的函数,若要在另一个文件中调用,则必须在这另一个文件中给出该函数的( )。
A. 原型语句
B. 参数表
C. 函数名
D. 返回类型
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
10. 假定一个函数定义为“static int f1(int x,int y){return x+y;}”,该函数名称为( )。
A. static
B. int
C. f1
D. return
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
11. 假定一个函数的原型语句为“int ff(int* x);”,一个整型数组为a[10],则下面函数调用表达式不正确的是( )。
A. ff(a)
B. ff(a[0])
C. ff(a+3)
D. ff(&a[0])
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
12. 假定一个函数的二维数组参数说明为char w[][N],与之等价的指针参数说明为( )。
A. char (*w)[N]
B. char *w[N]
C. char (*w)N
D. char**a
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
13. 在C语言中,一个函数由函数头和函数体组成。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
14. 在函数模块之外定义的变量称为全局变量,若没有被初始化则系统隐含对它赋初值0。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
15. 如果一个函数只允许同一程序文件中的函数调用,则不应在该函数定义的开始前加上保留字static。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
16. 如果在一个函数体中又出现对自身函数的调用,此种函数调用被称为递归调用。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
17. 调用系统函数时,要先使用#include命令包含该系统函数的原型语句所在的系统头文件。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
18. 函数形参变量不属于局部变量。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
19. 假定p所指对象的值为25,p+1所指对象的值为46,则*p++的值为46。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
20. 假定p所指对象的值为25,p+1所指对象的值为46,则*++p的值为25。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
21. 假定p所指对象的值为25,p+1所指对象的值为46,则执行*(p++)运算后,p所指对象的值为46。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
22. 假定a是一个指针数组,则a+i所指对象的地址比a地址大4*i字节。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
23. 若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为(char*)p。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
24. 假定一个数据对象为int*类型,则指向该对象的指针类型仍为int*类型。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
25. 假定x为一个简单变量,则&x表示x的地址。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
26. 若p指向x,则*p与x的值不同。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
27. NULL是一个符号常量,通常作为空指针值,它代表的值为0。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
28. 在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(  )。
A. main
B. MAIN
C. name
D. function
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
29. C语言源程序文件的缺省扩展名为(  )。
A. cpp
B. exe
C. obj
D. c
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
30. 由C语言目标文件连接而成的可执行文件的缺省扩展名为(  )。
A. cpp
B. exe
C. obj
D. c
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
31. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为(  )。
A. 空格或逗号
B. 逗号或回车
C. 逗号或分号
D. 空格或回车
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
32. 每个C语言程序文件的编译错误被分为(  )。
A. 1类
B. 2类
C. 3类
D. 4类
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
33. 不符合C语言规定的复合语句是(  )。
A. {}
B. {;}
C. {x=0;}
D. {y=10}
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
34. C语言程序中的基本功能模块为(  )。
A. 表达式
B. 标识符
C. 语句
D. 函数
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
35. 在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和(  )。
A. 表达式
B. 语句
C. 参数表
D. 函数体
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
36. 在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用的起止定界符为一对(  )。
A. 尖括号
B. 双引号
C. 单引号
D. 花括号
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
37. 在C语言程序中,多行注释语句使用的开始标记符为(  )。
A. //
B. /*
C. */
D. **
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
38. 在printf()函数调用的格式字符串中,若使用格式符为“%c”,则对应输出的数据类型为(  )。
A. char
B. int
C. float
D. double
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
39. 在printf()函数调用的格式字符串中,若使用格式符为“%5d”,则规定对应输出的数据占用的字符位置个数为(  )。
A. 5
B. 4
C. 3
D. 6
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
40. 转义字符'\\'表示的字符是(  )。
A. 单引号
B. 双引号
C. 反斜线
D. 问号
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
41. 枚举类型中的每个枚举常量的值都是一个(  )。
A. 整数
B. 浮点数
C. 字符
D. 逻辑值
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
42. 设x和y均为逻辑值,则x && y为真的条件是(  )。
A. 它们均为真
B. 其中一个为真
C. 它们均为假
D. 其中一个为假
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
43. 设有语句“int a=12; a+=a*a;”,则执行结束后,a的值为(  )。
A. 12
B. 144
C. 156
D. 288
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
44. x>0 && x<=10的相反表达式为(  )。
A. x<=0 || x>10
B. x<=0 && x>10
C. x<=0 || x<=10
D. x>0 && x>10
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
45. 字符串“a+b=12\n”的长度为(  )。
A. 6
B. 7
C. 8
D. 9
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
46. 在下列的符号常量定义中,错误的定义语句格式为(  )。
A. const int M1=10;
B. const int M2=20;
C. const int M3 10;
D. const char mark='3';
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
47. C语言中的每条简单语句以分号作为结束符。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
48. C语言中的每条复合语句以花括号作为结束符。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
49. 在C语言程序中,在行尾使用注释的开始标记符为一对单斜线字符。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
50. 注释内容的开始所使用的标记符为/*,则注释内容的结束所使用的标记符为*/。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
51. 在一个C语言程序文件中,若要包含一个头文件,则使用以百分号开始的预处理命令。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
52. 用于输出表达式值的标准输出函数是printf()。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
53. 当不需要函数返回任何值时,则需要使用保留字void作为函数的返回值类型。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
54. 每个C程序文件在编译时可能出现有警告性错误,其对应的标识符为error。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
55. 十进制数25表示成符合C语言规则的八进制数为31。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
56. 十进制数25表示成符合C语言规则的十六进制数为0x19。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
57. 在C语言中,转义字符'\n'表示一个换行符。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
58. 执行“printf("%c",'F'-2);”语句后得到的输出结果为H。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
59. 已知字符'C'的ASCII码为67,当执行“int x='C'+5;”语句后x的值为72。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
60. 假定一个枚举类型的定义为“enum RB{ab,ac=3,ad,ae}x=ad;”,则x的值为2。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
61. float的类型长度为8。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
62. 在C语言中,常数28和3.26具有相同的数据类型。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
63. 若需要定义一个符号常量,并且使C语言能够进行类型检查,则应在定义语句的开始使用保留字const。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
64. 使用const语句定义一个符号常量时,不必对它进行初始化。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
65. 表达式45%13的值为3。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
66. 假定x=5,则表达式2*x++的值为12。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
67. 表达式(float)25/4的值为6。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
68. 表达式x=x+1表示成增量表达式为++x。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
69. 关系表达式(x!=0)的等价表达式为(x)。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
70. 关系表达式x+y>5的相反表达式为x+y<=5。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
71. 逻辑表达式(a>b || b==5)的相反表达式为(a>b && b==5)。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
72. 若x=5,y=10,则x>y逻辑值为真。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
73. 假定x=5,则执行“a=(x?10:20);”语句后a的值为10。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
74. 带有随机函数的表达式rand()%20的值所在的区间范围是0~19。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
75. 假定x=5,则执行“y=x++;”语句后,x的值为5。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
76. 假定x=5,则执行“y=++x;”语句后,y的值为6。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
77. 假定有“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(structBOOK));
D. struct BOOK *x=&book;
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
78. 在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是( )。
A. 句点
B. 冒号
C. 分号
D. 逗号
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
79. 假定一个结构类型的定义为 “struct A{int a,b; double c;};”,则该类型的长度为( )。
A. 8
B. 10
C. 12
D. 16
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
80. 假定一个结构类型的定义为 “struct D{int a; D* next;};”,则该类型的长度为( )。
A. 4
B. 8
C. 12
D. 16
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
81. 假定要访问一个结构指针变量x中的数据成员a,则表示方法为( )。
A. a
B. x->a
C. x(a)
D. x{a}
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
82. 假定一个链表的表头指针为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 金钱后可查看立即购买
83. 标准输入设备键盘的文件流标识符是( )。
A. stdin
B. stdout
C. stderr
D. stdio
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
84. 表示文件结束符的符号常量为( )。
A. eof
B. Eof
C. EOF
D. feof
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
85. C语言中打开一个数据文件的系统函数为( )。
A. fgetc()
B. fputc()
C. fclose()
D. fopen()
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
86. 从一个数据文件中读入以换行符结束的一行字符串的系统函数为( )。
A. gets()
B. fgets()
C. getc()
D. fgetc()
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
87. 向一个二进制文件中写入信息的函数fwrite()带有的参数个数为( )。
A. 1
B. 2
C. 3
D. 4
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
88. 在C语言中,为只写操作打开一个文本文件的方式为( )。
A. "a"
B. "r+"
C. "r"
D. "w"
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
89. 在结构类型的定义中,其中的数据成员可以是本身类型的直接对象。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
90. 在结构类型的定义中,允许出现结构类型不完整的超前定义。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
91. 定义结构类型的变量时,不能够同时进行初始化。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
92. 使用一个结构类型时,必须一起使用关键字struct和类型标识符。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
93. 假定一个结构类型的定义为 “struct A{int a,b; A* c;};”,则该类型的长度为12。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
94. 假定一个结构类型的定义为 “struct B{int a[5]; char* b;};”,则该类型的长度为20。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
95. 执行calloc(n,8)函数调用时,将动态分配得到8*n个字节的存储空间。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
96. 执行malloc(sizeof(struct BB))函数调用时,得到的动态存储空间能够保存具有struct BB结构类型的一个对象。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
97. 假定要访问一个结构对象x中的由a指针成员所指向的对象,则表示方法为x.a。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
98. 假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为p->b。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
99. 与结构成员访问表达式(*fp).score等价的表达式是fp->score。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
100.在C语言中,对二进制文件的所有不同打开方式共有6种。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
101.C语言中的标准输入和输出设备文件都属于字符文件。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
102.在一个磁盘数据文件的文件名中,文件主名和扩展名都是必须的,不可省略。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
103.在数据文件打开方式字符串中,字符r、w和a具有确定的含义,分别代表读、写和追加方式。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
104.一个磁盘数据文件的文件名由文件主名和扩展名所组成,其中间用圆点分开。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
105.C语言系统中提供一个用来描述文件属性的类型标识符为FILE。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
106.每次只能向文本文件中写入一个字符,不能一次写入一个字符串。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
107.对二进制文件进行读和写操作将使用相同的系统函数。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买
108.在C语言中,系统函数fseek()用来移动数据文件中的文件位置指针。
****此区域为收费内容****    需支付 10 金钱后可查看立即购买

返回顶部