大学MOOC C语言程序设计(郑州职业技术学院)1449907166 最新慕课完整章节测试答案
项目一初识C语言
项目一测验
1、判断题:
C语言的源程序是由函数组成的。( )
选项:
A: 正确
B: 错误
答案: 【 正确】
2、判断题:
C语言的任何一个源程序中必须有一个主函数。( )
选项:
A: 正确
B: 错误
答案: 【 正确】
3、判断题:
Visual C++ 6.0不可以开发C语言程序。( )
选项:
A: 正确
B: 错误
答案: 【 错误】
4、判断题:
Visual C++是运行在Windows操作系统上的32位C语言程序开发工具。( )
选项:
A: 正确
B: 错误
答案: 【 正确】
5、填空题:
C语言规定,一个程序必须有一个主函数,其函数名为 。
答案: 【 main】
6、填空题:
—般而言,一个C语言程序的执行是从 开始,到 结束。
答案: 【 主函数 主函数##%_YZPRLFH_%##main main】
7、填空题:
一个C语言程序是由 组成的。
答案: 【 函数】
8、填空题:
开发C语言程序的步骤可以分成四步,即 、 、 、 。
答案: 【 编辑 编译 连接 运行##%_YZPRLFH_%##编辑 编译 链接 运行】
9、填空题:
C语言规定,源程序的扩展名是 ,目标文件的扩展名是 ,可执行文件的扩展名是 。
答案: 【 .c .obj .exe】
10、填空题:
每个C语句必须以 号结束。
答案: 【 ;##%_YZPRLFH_%##分号】
11、填空题:
#include <stdio.h> main() { printf("I love China!n");printf("We are students.n");}程序的运行结果为 。
答案: 【 I love China!
We are students.】
12、填空题:
#include <stdio.h> main() { int a; a=5;printf("%dn",a+1);} 程序的运行结果为 。
答案: 【 6】
项目七结构体和共用体
项目七测验
1、单选题:
下列程序中,结构体变量a所占内存字节数是( )。 union U { char st[4]; int i; long j; }; struct A { int c; union U u; }a;
选项:
A: 4
B: 5
C: 6
D: 8
答案: 【 8】
2、单选题:
设有以下说明语句:struct ex{ int x; float y; char z;}example;则下面的叙述中不正确的是( )。
选项:
A: struct是结构体类型的关键字
B: example是结构体类型名
C: x,y,z都是结构体成员名
D: struct ex是结构体类型名
答案: 【 example是结构体类型名】
3、单选题:
若有以下结构体定义:struct example{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};
答案: 【 struct example v2={10};】
4、单选题:
以下对结构体变量stu1中成员age非法引用是( )。 struct student { int age; int num; }stu1,*p; p=&stu1;
选项:
A: stu1.age
B: student.age
C: p->age
D: (*p).age
答案: 【 student.age】
5、单选题:
以下对C语言中共用体类型数据的正确描述是( )。
选项:
A: 一旦定义了一个共用体变量后,即可引用该变量或该变量中的任意成员
B: 一个共用体变量中可以同时存放其所有成员
C: 一个共用体变量中不能同时存放其所有成员
D: 共用体类型数据可以出现在结构体类型定义中,但结构类型数据不能出现在联合类型定义中
答案: 【 一个共用体变量中不能同时存放其所有成员】
6、单选题:
根据以下定义能输出字母M的语句是( )。 struct person { char name[9]; int age; };struct person class[10]= {“John”, 17, “Paul” ,19, “Mary”,18, “Adam”,16};
选项:
A: printf(“%cn”,class[3].name);
B: printf(“%cn”,class[3].name[1]);
C: printf(“%cn”,class[2].name[1]);
D: printf(“%cn”,class[2].name[0]);
答案: 【 printf(“%cn”,class[2].name[0]);】
7、单选题:
以下程序的输出是( )。 #include<stdio.h> main() { struct cmplx { int x; int y; }cnum[2]={1,3,2,7}; printf("%dn",cnum[0].y/cnum[0].x*cnum[1].x); }
选项:
A: 0
B: 1
C: 3
D: 6
答案: 【 6】
8、单选题:
已知字符0的ASCII代码值的十进制数是48,以下程序#include<stdio.h>main(){ union{ int i[2]; long k; char c[4]; }r,*s=&r; s->i[0]=0x39; s->i[1]=0x38; printf("%xn",s->c[0]);}其输出结果是( )。
选项:
A: 39
B: 9
C: 38
D: 8
答案: 【 39】
9、单选题:
有以下结构体说明和变量的定义,指针p指向变量a,指针q指向变量b,则不能把结点b连接到结点a之后的语句是( )。 struct node { char data; struct node *next; }a,b,*p=&a,*q=&b;
选项:
A: a.next=q;
B: p.next=&b;
C: p->next=&b;
D: (*p).next=q;
答案: 【 p.next=&b;】
10、填空题:
若已定义:struct num{ int a; int b; float f;}n={1,3,5.0};struct num *pn=&n;则表达式pn->b/n.a*++pn->b的值是 。
答案: 【 12】
11、填空题:
#include <stdio.h> union change{ char c[2];int i;}un;main() { un.i=26984; printf("%d,%cn",un.c[0],un.c[0]); printf("%d,%cn",un.c[1],un.c[1]);}程序的运行结果为 。
答案: 【 104,h
105,i】
12、填空题:
#include <stdio.h> main() { struct Example { struct{ int x; int y; }in; int a; int b; }e; e.a=1; e.b=2; e.in.x=e.a*e.b; e.in.y=e.a+e.b; printf("%d,%d",e.in.x,e.in.y);}程序的运行结果为 。
答案: 【 2,3】
13、填空题:
#include <stdio.h> struct ks{ int a; int *b;}s[4],*p;main(){ int n=1,i; for(i=0;i<4;i++) { s[i].a=n; s[i].b=&s[i].a; n=n+2; } p=&s[0]; p++; printf("%d,%dn",(++p)->a,(p++)->a);}程序的运行结果为 。
答案: 【 5,3】
14、填空题:
#include <stdio.h> union ks { int a; int b; }; union ks s[4]; union ks *p;main() { int n=1,i;for(i=0;i<4;i++){ s[i].a=n; s[i].b=s[i].a+1; n=n+2; } p=&s[0]; printf("%d,",p->a);printf("%d",++p->a);}程序的运行结果为 。
答案: 【 2,3】
项目三结构化程序设计
项目三测验
1、单选题:
C语言用( )表示逻辑“真”值。
选项:
A: true
B: t或y
C: 非零整数值
D: 整数0
答案: 【 非零整数值】
2、单选题:
语句while(!e);中的条件!e等价于( )。
选项:
A: e==0
B: e!=1
C: e!=0
D: e==1
答案: 【 e==0 】
3、单选题:
以下for循环是( )。 for(x=0,y=0;(y!=123)&&(x<4);x++)
选项:
A: 无限循环
B: 循环次数不定
C: 执行4次
D: 执行3次
答案: 【 执行4次】
4、单选题:
以下有关for循环的正确描述是( )。
选项:
A: for循环只能用于循环次数已经确定的情况
B: for循环是先执行循环体,后判定表达式
C: 在for循环中,不能用break语句跳出循环体
D: for循环体语句中,可以包含多条语句,但要用花括号括起来
答案: 【 for循环体语句中,可以包含多条语句,但要用花括号括起来】
5、单选题:
对于for(表达式1;;表达式3),可理解为( )。
选项:
A: for(表达式1;1;表达式3)
B: for(表达式1; 表达式1; 表达式3)
C: for(表达式1; 表达式2; 表达式3)
D: 相当于while(表达式1)
答案: 【 for(表达式1;1;表达式3)】
6、单选题:
C语言中while和do-while循环的主要区别是( )。
选项:
A: do-while的循环体至少无条件执行一次
B: while的循环控制条件比do-while的循环控制条件严格
C: do-while允许从外部转到循环体内
D: do-while的循环体不能是复合语句
答案: 【 do-while的循环体至少无条件执行一次】
7、单选题:
下面程序段中,语句“k++;”执行的次数为( )。 for(k=0,m=4;m;m-=2) for(n=1;n<4;n++) k++;
选项:
A: 16
B: 12
C: 6
D: 8
答案: 【 6】
8、单选题:
设声明语句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: 语法有错误
答案: 【 **0****2**】
9、单选题:
执行下面程序后,i的值为( )。 #include<stdio.h> main() { int i,x; for(i=1,x=1;i<=20;i++){ if(x%2==1) {x+=5;continue;}if(x>=10)break;x-=3;}}
选项:
A: 21
B: 2
C: 6
D: 11
答案: 【 6】
10、填空题:
在C语言中以_______代表“真”,以_______代表“假”。
答案: 【 非0 0##%_YZPRLFH_%##1 0】
11、填空题:
while语句执行的特点是______________________,如果表达式的值一开始就为 _ 时,则循环体一次也不执行。
答案: 【 先判断后执行 假##%_YZPRLFH_%##先判断,后执行 假】
12、填空题:
for语句中的表达式1、表达式2和表达式3都可以省略,但每个表达式的_______ 一定不能省略。
答案: 【 ;##%_YZPRLFH_%##分号】
13、填空题:
#include<stdio.h> main() { int a=3,b=4,c=5,t=99; if(b<a&&a<c)t=a;a=c;c=t; if(a<c&&b<c)t=b;b=a;a=t; printf("%d,%d,%dn",a,b,c);}程序的运行结果为 。
答案: 【 4,5,99】
14、填空题:
#include<stdio.h> main() { int a=50,b=20,x; x=a; if(a<b) x=b; printf("%dn",x);}程序的运行结果为 。
答案: 【 50】
