欢迎光临,有需要请联系站长!
想要快速找到正确答案?
立即关注 超新尔雅学习通微信公众号,轻松解决学习难题!
作业辅导
扫码关注
论文指导
轻松解决学习难题!
中国大学MOOC2025年C语言程序设计作业答案
2025年C语言程序设计
学校: 无
平台: 超星学习通
题目如下:
1. 下列合法的用户标识符是( )。
A. _4sum
B. float
C. -fx_1
D. #dtotal
答案: _4sum
2. 下列不属于C语言基本数据类型的是( )。
A. 整型
B. 字符型
C. 实型
D. 指针型
答案: 指针型
3. C语言中,操作数必须是整型数的运算符是( )。
A. *
B. /
C. %
D. &&
答案: %
4. 设有如下定义:int x = 10, y = 3;则语句printf("%d,%d\n",x%y , x/y);的输出结果是( )。
A. 1,3
B. 1,3.3
C. 3,1
D. 3,3.3
答案: 1,3
5. 已知 int i,j,k; scanf("%d%d%d", &i,&j,&k);若从键盘输入i, j, k的值分别为1,2,3时,则错误的输入方式是( )。
A. 1,2,3
B. 1(回车)2(回车)3(回车)
C. 1 2 3
D. 1(回车)2 3
答案: 1,2,3
6. 设x、y均为整型变量,则以下不合法的赋值语句是( )。
A. x*y=x+y;
B. y=(x%2)/10;
C. x=y+8;
D. x=y=0;
答案: x*y=x+y;
7. 字符型变量在内存中的存储形式是( )。
A. ASCII码
B. BCD码
C. 内部码
D. 十进制码
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
8. 若有定义“int a=2,b=3; float x=3.5,y=2.5;”,则表达式“(float)(a+b)/2+(int)x%(int)y”的值是____。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
9. 设有说明语句“char w; int x; float y; double z;”,则表达式“w*x+z-y”的值的数据类型是____。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
10. 设有定义“char ch; ”,若将小写字母a赋值给变量ch,则正确的赋值语句是____。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
11. 判断char型变量ch是否为大写字母的正确表达式是( )。
A. ‘A‘<=ch<=‘Z‘
B. (ch>=‘A‘)&(ch<=‘Z‘)
C. (ch>=’A’)&&(ch<=’Z’)
D. (‘A’<=ch)AND(‘Z’>=ch)
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
12. 以下程序的运行结果是( )。 #inc 国家开放大学 lude main() { char c='A'; if('0'<=c<='9') printf("yes"); else printf("no"); }
A. yes
B. no
C. yesno
D. 语句错误
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
13. 以下程序的运行结果是( )。 #include main() { int a=100,x=10,y=20,k1=5,k2=0; if(x
A. 1
B. 2
C. -1
D. 0
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
14. 以下程序的输出结果是( )。 #include main() { int a,b,c =246; a=c/100%9; b=(-1)&&(-1); printf(" %d,%d\n",a,b); }
A. 2,1
B. 3,2
C. 4,3
D. 2, -1
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
15. 当a=1、b=2、c=5、d=5时,执行下面的程序段后,x的值是( )。 if(a
A. 1
B. 2
C. 3
D. 6
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
16. 下列关于switch语句和break语句的结论中,正确的是( )。
A. break语句是switch语句中的一部分
B. 在switch语句中可以根据需要使用或不使用break语句
C. 在switch语句中必须使用break语句
D. break语句只能用于switch语句中
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
17. 设有说明语句"int a =1,b=0;"则执行以下语句后,输出结果为( )。 switch(a) { case 1: switch(b) { case 0 广东开放大学 :printf(" * * 0 * * " );break; case 1:printf(" * * 1 * * " );break; } case 2:printf(" * * 2 * * " );break; }
A. * * 0 * *
B. * * 0 * * * * 2 * *
C. * * 0 * * * * 1 * * * * 2 * *
D. 有语法错误
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
18. 与y=(x >0?1:x <0? -1:0);的功能相同的if语句是( )。
A. if(x >0) y =1; else if(x<0) y = -1; else y =0;
B. if(x) if(x >0) y=1; else if(x <0) y = -1;
C. y = -1; if(x) if (x >0)y =1; else if(x ==0) y =0; else y = -1;
D. y =0; if(x >=0) if(x >0) y =1; else y = -1;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
19. 若有int i=10, j=0;则执行完语句“if (j=0) i++; else i--; ”后,ⅰ的值为11。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
20. 若int i=10;,则执行下列程序段后,变量i的正确结果是____。 switch(i) { case 9: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; }
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
21. for(i=0; i<10; i++); 结束后,i的值是( )。
A. 9
B. 10
C. 11
D. 12
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
22. 以下循环体的执行次数是( )。 main( ) { int i, j; for(i=0, j=3; i<=j; i+=2, j--) printf(“%d\n”, i); }
A. 3
B. 2
C. 1
D. 0
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
23. 执行以下程序后,输出的结果是( )。 main( ) { int y=10; do { y--; }while(--y); printf(“%d\n”,y); }
A. -1
B. 1
C. 8
D. 0
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
24. 语句while(!e); 中的条件!e等价于( )。
A. e==0
B. e!=1
C. e!=0
D. –e
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
25. 下列程序的输出结果是( )。 main() { int i=1,sum=0; while(i<10) sum=sum+i; i++; printf("i=%d,sum=%d",i,sum); }
A. i=10,sum=9
B. i=9,sum=9
C. i=2,sum=1
D. 运行出现错误
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
26. 标有/**/的语句的执行次数是( )。 int y=0,i; for(i=0;i<20;i++) { if(i%2==0) continue; y+=i; /**/ }
A. 20
B. 19
C. 渝粤题库 10
D. 9
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
27. 有以下程序: #include main() { int a=7; while(a--); printf(“%d\n”,a); } 程序运行后的输出结果是( )。
A. 0
B. -1
C. 1
D. 7
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
28. 有以下程序 main( ) { int k=0; while(k=1) k++; } 则while循环执行的次数是()。
A. 无限次
B. 有语法错,不能执行
C. 一次也不执行
D. 执行1次
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
29. 设有程序段 int k=10; while(k) k=k-1; 则下面描述中正确的是( )。
A. while循环执行10次
B. 循环是无限循环
C. 循环体语句一次也不执行
D. 循环体语句执行一次
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
30. 以下能正确计算1*2*3*……*10的程序段是( )。
A. do { i=1; s=1; s*=i; i++; } while(i<=10);
B. do { i=1; s=0; s*=i; i++; } while(i<=10);
C. i=1; s=1; do { s*=i; i++; } while(i<=10);
D. i=1; s=0; do { s*=i; i++; } while(i<=10);
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
31. static struct {int a1;float a2;char a3;}a[10]={1,3.5,'A'}; 说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存储方式,其中被初始化的下标变量是().
A. a[1]
B. a[-1]
C. a[0]
D. a[10]
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
32. 使用共用体变量,不可以().
A. 节省存储空间
B. 简化程序设计
C. 进行动态管理
D. 同时访问所有成员
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
33. 相同结构体类型的变量之间,可以().
A. 相加
B. 赋值
C. 比较大小
D. 地址相同
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
34. 若有以下结构体定义: struct exa 成人学历 mple { int x; int y; } v1; 则()是正确的定义.
A. example x=10;
B. example v2; v2.x=10;
C. struct v2;v2.x=10;
D. struct example v2={10};
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
35. 当说明一个结构体变量时系统分配给它的内存是().
A. 各成员所需内存量的总和
B. 结构中第一个成员所需内存量
C. 成员中占内存量最大者所需的内存量
D. 结构中最后一个成员所需内存量
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
36. 根据以下定义能输出字母M的语句是(). struct person { char name [ 9 ];int age ;}; struct person class[ 10]={"Johu",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]);
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
37. 设有以下说明和定义语句: struct stu { int a; float b;}stutype; 则下面的叙述正确的是().
A. struct 是结构体类型名
B. struct stu 是用户定义的结构体变量名
C. stutype 是用户定义的结构体变量名
D. a和b 都是结构体类型名
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
38. 定义结构体的关键字是().
A. union
B. enum
C. struct
D. typedef
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
39. 设有以下说明语句: struct ex { int x; float y; char z;}example; 下面的叙述中正确的是().
A. struct是结构体类型的关键字
B. example是结构体类型名
C. x,y,z 都是结构体类型名
D. struct ex 是结构体类型名
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
40. C语言中,定义共用体的关键字是().
A. union
B. struct
C. enum
D. typedef
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
41. 下列程序的输出是(). #include void main() { struct cmplx { int x; int y;} cuum[2]={1,3,2,7}; printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x); }
A. 0
B. 1
C. 3
D. 6
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
42. C语言结构体类型变量在程序执行期间().
A. 所有成员一直驻留在内存中
B. 只有一个成员驻留在内存中
C. 部分成员驻留在内存中
D. 没有成员驻留在内存中
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
43. 程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。函数fun的功能是:将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。 例如:若传给形参a的数据中学号、姓名和三门课的成绩依次是: 10001、"ZhangSan"、95、80、88,修改后的数据应为: 10002、"LiSi"、96、81、89。 #include #include struct student { long sno; char name[10]; float score[3]; }; struct student fun( ____ ) { int i; a.sno = 10002; strcpy( ____, 渝粤教育 "LiSi"); for (i=0; i<3; i++) ____ += 1; return a; } main() { struct student s={10001,"ZhangSan", 95, 80, 88}, t; int i; printf("\n\nThe original data :\n"); printf("\nNo: %ld Name: %s\nScores: ",s.sno, s.name); for (i=0; i<3; i++) printf("%6.2f ", s.score[i]); printf("\n"); t = fun(s); printf("\nThe data after modified :\n"); printf("\nNo: %ld Name: %s\nScores: ",t.sno, t.name); for (i=0; i<3; i++) printf("%6.2f ", t.score[i]); printf("\n"); }
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
44. 程序功能:设有三人的姓名和年龄保存在结构体数组中,以下程序输出年龄居中者的姓名和年龄。 #include struct ma { char name[20]; int age; }person[]={"li", 18, "wang", 19, "zhang", 20}; void main() { int i, j, max, min; max=min=person[0].age; for(i=1; i<3; i++) if(person[i].age>max) ____; else if(person[i].age
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。