欢迎光临,有需要请联系站长!
想要快速找到正确答案?
立即关注 超新尔雅学习通微信公众号,轻松解决学习难题!
作业辅导
扫码关注
论文指导
轻松解决学习难题!
中国大学MOOCC语言程序设计(2025年春季)作业答案
C语言程序设计(2025年春季)
学校: 九八五题库
学校: 超星学习通
题目如下:
1. 1. 在c语言中,一维数组的定义方式为:类型说明符 数组名( )。
A. [常量表达式]
B. [整型表达式]
C. [整型常量]或[整型表达式]
D. [整型常量]
答案: [常量表达式]
2. 2. 以下对一维整型数组a的正确说明是
A. int a(10);
B. int n=10,a[n];
C. int n; scanf("%d",&n); int a[n];
D. #define SIZE 10 (换行) int a[SIZE];
答案: #define SIZE 10 (换行) int a[SIZE];
3. 1. 有如下程序段 int *p,a=10,b=1 p=&a; a=*p+b; 执行该程序段后,a的值为
A. 12
B. 11
C. 10
D. 编译出错
答案: 11
4. 2. 对于基类型相同的两个指针变量之间,不能进行的运算是
A. <
B. =
C. +
D. -
答案: +
5. 3. 若有说明语句:int a,b,c,* d=&c;,则能正确从键盘读入3个整数分别赋给变量a、b、c的语句是()
A. scanf(”%d%d%d”,&a,&b,d);
B. scanf(”%d%d%d”,&a,&b,&d);
C. scanf(”%d%d%d”,a,b,d);
D. scanf(”%d%d%d”,a,b,*d);
答案: scanf(”%d%d%d”,&a,&b,d);
6. 1. 若有说明:int a[10];,则对a数组元素的正确引用是( )。
A. a[10]
B. a[3.5]
C. a(5)
D. a[10-10]
答案: a[10-10]
7. 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. 因为数组长度与初值的个数不相同,所以此语句不正确
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
8. 1. 已知int a[][3]={1,2,3,4,5,6,7};,则数组a的第一维的大小是( )。
A. 2
B. 3
C. 4
D. 无确定值
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
9. 2. 若有说明:int a[3][4];,则对a数组元素的非法引用是( )。
A. a[0][2*1]
B. a[1][3]
C. a[4-2][0]
D. a[0][4]
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
10. 3. 以下对二维数组a的正确定义是
A. int a[3][]
B. float a(3,4)
C. double a[1][4]
D. float a(3)(4)
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
11. 4. 以下不能对二维数组a进行正确初始化的语句是
A. int a[2][3]={0};
B. int a[][3]={{1,2},{0}};
C. int a[2][3]={{1,2},{3,4},{5,6}};
D. int a[][3]={1,2,3,4,5,6};
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
12. 1. 以下程序的输出结果是 #include int main(void) { int i, x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf("%d,",x[i][2-i]); return 0; }
A. 1,5,9
B. 1,4,7
C. 3,5,7,
D. 3,6,9
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
13. 2. 以下程序的输出结果是 #include int main(void) { int a[3][3]={ {1,2},{3,4},{5,6} },i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++) s+=a[i][j]; printf("%d",s); return 0; }
A. 18
B. 19
C. 20
D. 21
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
14. 1. 能把高级语言源程序变成机器可执行的程序或目标程序的方法有( )。
A. 汇编和计算
B. 解释和汇编
C. 解释和编译
D. 解释和连接
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
15. 2. 程序语言按其与计算机硬件系统接近的程度可分为机器语言、( )语言和高级语言。
A. 指令描述
B. BASIC语言
C. 汇编
D. 编译
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
16. 3. 在计算机系统中,可直接执行的程序是( )。
A. 源代码
B. 汇编语言代码
C. 机器语言代码
D. ASCII码
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
17. 1. 下列不属于算法的基本特性的是()
A. 有穷性
B. 确定性
C. 可行性
D. 复杂性
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
18. 2. 一个算法一般都可以用顺序结构、()、循环结构三种基本控制结构组合而成
A. 逻辑结构
B. 分支结构
C. 对比结构
D. 基本结构
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
19. 3. 描述算法的方法有()
A. 自然语言
B. 流程图
C. 伪代码
D. 以上都是
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
20. 1. 一个C语言程序总是从( )开始执行
A. 主过程
B. 主函数
C. 子程序
D. 主程序
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
21. 2. C语言规定,在一个源程序中,main函数的位置( )
A. 必须在最开始
B. 必须在系统调用的库函数的后面
C. 可以任意
D. 必须在最后
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
22. 3. 以下叙述不正确的是
A. 一个C源程序可由一个或多个函数组成
B. 一个C源程序必须包含一个main函数
C. C程序的基本组成单位是函数
D. 在C程序中,注释说明只能位于一条语句的后面
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
23. 1. 以下叙述中错误的是
A. C语言源程序经编译后生成后缀为.obj的目标程序
B. C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
C. 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
D. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
24. 2. 以下叙述中错误的是
A. C语言的可执行程序是由一系列机器指令构成的
B. 用C语言编写的源程序不能直接在计算机上运行
C. 通过编译得到的二进制目标程序需要连接才可以运行
D. 在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
25. 1. 有以下程序: #include #include void main() { char a[10]="abcd"; printf("%d,%d\n",strlen(a),sizeof(a)); } 程序运行后的输出结果是( )
A. 7,4
B. 4,10
C. 8,8
D. 10,10
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
26. 2. 当执行下面的程序时,如果输入ABC,则输出结果是( )。 #include #include int main(void) { char ss[10]=”1,2,3,4,5”; gets(ss);strcat(ss,”6789”); printf(”%s\n”,ss); return 0; }
A. ABC6789
B. ABC67
C. 12345ABC6
D. ABCA56789
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
27. 3. 判断字符串sl是否大于字符串s2,应当使用( )。
A. if(sl>s2)
B. if(strcmp(sl,s2))
C. if(strcmp(s2,s1)<0)
D. if(strcmp(sl,s2)>0)
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
28. 1. 下列程序的运行结果是 void fun(int *a, int *b) { int *k; k=a; a=b; b=k; } int main(void) { int a=3, b=6, *x=&a, *y=&b; fun(x,y); printf("%d %d", a, b); return 0; }
A. 6 3
B. 3 6
C. 编译出错
D. 0 0
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
29. 2. 下面程序应能对两个整型变量的值进行交换。以下正确的说法是 int main(void) {int a=10,b=20; printf("(1)a=%d,b=%d\n",a,b); swap(&a,&b); printf("(2)a=%d,b=%d\n",a,b); } void swap(int p,int q) {int t; t=p;p=q;q=t;}
A. 该程序完全正确
B. 该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可
C. 该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可
D. 以上说法都不对
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
30. 3. 有以下程序 #include void fun(char*c,int d) { *c=*c+1;d=d+1; printf("%c,%c,",*c,d); } int main(void) { char b='a',a='A'; fun(&b,a); printf("%c,%c\n",b,a); return 0; } 程序运行后的输出结果是
A. b,B,b,A
B. b,B,B,A
C. a,B,B,a
D. a,B,a,B
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
31. 1. 下面程序段的运行结果是 char str[]="ABC",*p=str; printf("%d\n",*(p+3));
A. 67
B. 0
C. 字符'C'的地址
D. 字符'C'
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
32. 2. 若有下面的程序段: char s[]="china";char *p; p=s; 则下列叙述正确的是
A. s和p完全相同
B. 数组s中的内容和指针变量p中的内容相等
C. s数组长度和p所指向的字符串长度相等
D. *p与s[0]相等
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
33. 1. 在说明语句:int *f();中,标识符f代表的是( )。
A. 一个用于指向整型数据的指针变量
B. 一个用于指向一维数组的行指针
C. 一个用于指向函数的指针变量
D. 一个返回值为指针型的函数名
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
34. 1. 下面程序的输出结果是 main() { int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p; p=a; printf("%d\n",*p+9); }
A. 0
B. 1
C. 10
D. 9
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
35. 2. 设有以下语句,则( )不是对a数组元素的正确引用,其中0≤i<10。 int a[10]={0,1,2,3,4,5,6,7,8,9},*P=a;
A. a[P-a]
B. *(&a[i])
C. P[i]
D. *(*(a+i))
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
36. 1. 以下程序的输出结果是 int main(void ) { char ch[3][4]={"123","456","78"}, *p[3]; int i; for(i=0;i<3;i++) p[i]=ch[i]; for(i=0;i<3;i++) printf("%s",p[i]); return 0; }
A. 123456780
B. 123 456 780
C. 12345678
D. 147
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
37. 1. 当说明一个结构体变量时系统分配给它的内存是
A. 各成员所需内存量的总和
B. 结构中第一个成员所需内存量
C. 成员中占内存量最大者所需的容量
D. 结构中最后一个成员所需内存量
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
38. 2. 设有以下说明语句 struct stu {int a; float b; }stutype; 则下面的叙述不正确的是
A. struct是结构体类型的关键字
B. struct stu是用户定义的结构体类型
C. stutype是用户定义的结构体类型名
D. a和b都是结构体成员名
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
39. 3. 设有以下说明语句 struct ex { int x ; float y; char z ;} example; 则下面的叙述中不正确的是
A. struct结构体类型的关键字
B. example是结构体类型名
C. x,y,z都是结构体成员名
D. struct ex是结构体类型
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
40. 1. 根据下面的定义,能打印出字母 M 的语句是 struct person {char name[9]; int age; }; struct person class[10]={"John",17, "Paul",19, "Mary",18, "adam",16 };
A. printf("%c\n",class[3].name);
B. printf("%c\n",class[3].name[1]);
C. printf("%c\n",class[2].name[1]);
D. printf("%c\n",class[2].name[0]);
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
41. 2. 设有如下定义 struct ss { char name[10]; int age; char sex; }std[3],*p=std; 下面各输入语句中错误的是
A. scanf("%d",&(*p).age);
B. scanf("%s",&std.name);
C. scanf("%c",&std[0].sex)
D. scanf("%c",&(p->sex));
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
42. 3. 下列程序的输出结果是 struct abc { int a, b, c; }; int main(void) { struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0].a+s[1].b; printf("%d \n",t); return 0; }
A. 5
B. 6
C. 7
D. 8
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
43. 4. 有以下程序 typedef struct{int b,p;}A; void f(A c) /*注意:c是结构变量名 */ {int j; c.b+=1; c.p+=2; } int main(void) {int i; A a={1,2}; f(a); printf(“%d,%d\n”,a.b,a.p); return 0; } 程序运行后的输出结果是( )
A. 2,3
B. 2,4
C. 1,4
D. 1,2
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
44. 1. 在32位系统中,变量a所占内存字节数是 union U { char st[4]; int i; long l; }; struct A { int c; union U u; }a;
A. 4
B. 12
C. 6
D. 8
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
45. 2. 若有如下定义: union aa {int n;char c[9];float x;}a,b,c; 则下列叙述中不正确的是( )
A. union aa是定义的共用体类型
B. a,b,c 是定义的共用体类型名
C. n、c[9]和x是共用体的成员名
D. a,b,c 是定义的共用体变量名
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
46. 3. 有以下程序 int main(void) { union { unsigned int n; unsigned char c; }u1; ul.c='A'; printf("%c\n",u1.n); return 0; } 执行后输出结果是
A. 产生语法错
B. 随机值
C. A
D. 0
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
47. 1. 下列关于C语言数据文件的叙述中正确的是
A. 文件由ASCII码字符序列组成,C语言只能读写文本文件
B. 文件由二进制数据序列组成,C语言只能读写二进制文件
C. 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
D. 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
48. 1. fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是
A. 只写
B. 追加
C. 读或读写
D. 答案B和C都正确
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
49. 2. 有以下程序 #include "stdio.h" void WriteStr(char *fn,char *str) { FILE *fp; fp=fopen(fn,"w"); fputs(str,fp); fclose(fp); } int main(void) { WriteStr("t1.dat","start"); WriteStr("t1.dat","end"); return 0; } 程序运行后,文件t1.dat中的内容是_____。
A. start
B. end
C. startend
D. endrt
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
50. 3. 若调用fputc函数输出字符成功,则其返回值是
A. EOF
B. 1 4
C. 0
D. 输出的字符
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
51. 1. fscanf函数的正确调用形式是
A. fscanf(fp,格式字符串,输出表列);
B. fscanf(格式字符串,输出表列,fp);
C. fscanf(格式字符串,文件指针,输出表列);
D. fscanf(文件指针,格式字符串,输入表列);
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
52. 2. 有如下程序 #include "stdio.h" int main(void) {FILE *fp1; fp1=fopen("f1.txt","w"); fprintf(fp1,"abc"); fclose(fp1); return 0; } 若文本文件f1.txt中原有内容为:good,则运行以上程序后文件f1.txt中的内容为
A. goodabc
B. abcd
C. abc
D. abcgood
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
53. 3. 有以下程序 #include "stdio.h" int main(void) { FILE *fp; int i, k, n; fp=fopen("data.dat", "w+"); for(i=1; i<6; i++) { fprintf(fp,"%d ",i); if(i%3==0) fprintf(fp,"\n"); } rewind(fp); fscanf(fp, "%d%d", &k, &n); printf("%d %d\n", k, n); fclose(fp); return 0;} 程序运行后的输出结果是
A. 0 0
B. 123 45
C. 1 4
D. 1 2
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
54. 1. 以下程序的输出结果是 #include int main(void) { char ch[3][4]={"123","456","78"}; int i; for(i=0;i<3;i++) printf("%s",ch[i]); return 0; }
A. 123456780
B. 123 456 780
C. 12345678
D. 147
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
55. 2. 设有数组定义:char array[]=”China”;,则数组array所占的空间为( )。
A. 4个字节
B. 5个字节
C. 6个字节
D. 7个字节
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
56. 3. 执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是 #include void main() { char s[100]; int c, i; scanf("%c",&c); scanf("%d",&i); scanf("%s",s); printf("%c,%d,%s \n",c,i,s); }
A. 123,456,789
B. 1,456,789
C. 1,23,456,789
D. 1,23,456
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
57. 1. 以下定义语句中正确的是
A. int a=b=0;
B. char A=65+1,b=′b′;
C. float a=1,*b=&a,*c=&b;
D. double a=0.0;b=1.1;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
58. 2. 变量的指针,其含义是指该变量的
A. 值
B. 地址
C. 名
D. 一个标志
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
59. 1. 说明语句int *(*P)();的含义是( )。
A. P是一个指向int型数组的指针
B. P是指针变量,它构成了指针数组
C. P是一个指向函数的指针,该函数的返回值是一个整型
D. P是一个指向函数的指针,该函数的返回值是一个指向整型的指针
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。