moocC语言程序设计进阶章节答案(慕课2023完整答案)

公选课题库2024-05-19 06:49:4013070抢沙发
moocC语言程序设计进阶章节答案(慕课2023完整答案)摘要: 第1周:指针与字符串1 指针的使用随堂测验1、对于:int a[] = {5, 15, 34, 54, 14, 2, 52, 72}; int *p = &a[5]; 则: p[-2]的值是? ...

moocC语言程序设计进阶章节答案(慕课2023完整答案)

第1周:指针与字符串

1 指针的语言程使用随堂测验

1、对于:int a[] = { 5,序设 15, 34, 54, 14, 2, 52, 72}; int *p = &a[5]; 则: p[-2]的值是?
A、编译出错,计进阶章节答因为数组下标越界了
B、案慕案运行出错,课完因为数组下标越界了
C、整答54
D、语言程2

2、序设如果:int a[] = ; int *p = a; 则以下哪些表达式的计进阶章节答结果为真?
A、p == a[0]
B、案慕案p == &a[0]
C、课完*p == a[0]
D、整答p[0] == a[0]

3、语言程以下变量定义: int* p,序设q; 中,p和q都是计进阶章节答指针。

4、对于:int a[] = { 5, 15, 34, 54, 14, 2, 52, 72}; int *p = &a[1]; 则: p[2]的值是?

2 指针运算随堂测验

1、对于以下代码段,正确的说法是:char *p; while (1) { p = malloc(1); *p = 0; }
A、最终程序会因为没有没有空间了而退出
B、最终程序会因为向0地址写入而退出
C、程序会一直运行下去
D、程序不能被编译

2、对于以下代码段:int a[] = { 1,2,3,4,5,}; int *p = a; int *q = &a[5]; printf("%d", q-p); 当sizeof(int)为4时,以下说法正确的是:
A、因为第三行的错误不能编译
B、因为第三行的错误运行时崩溃
C、输出5
D、输出20

3、使用malloc就可以做出运行时可以随时改变大小的数组

第1周编程题

1、字符串比对

第3周:结构类型

2 结构随堂测验

1、有下列代码段,则输出结果是:struct { int x,y; } s[2] = { { 1,3}, { 2,7}, }; printf("%d\n", s[0].y/s[1].x);
A、0
B、1
C、2
D、3

2、有如下变量定义,则对data中的a的正确引用是:struct sk { int a; float b; } data, *p=&data;
A、(*p).data.a
B、(*p).a
C、p->data.a
D、p.data.a

3、以下两行代码能否出现在一起? struct { int x; int y; } x; struct { int x; int y; } y;

第4周:链表

第4周编程练习

1、逆序输出

第5周:程序结构

2 编译预处理和宏随堂测验

1、假设宏定义: #define DOUBLE(x) 2*x 则DOUBLE(1+2)的值是

2、假设宏定义如下: #define TOUPPER(c) ('a'<=(c)&&(c)<='z'?(c)-'a'+'A':(c)) 设s是一个足够大的字符数组,i是int型变量,则以下代码段的输出是: strcpy(s, "abcd"); i = 0; putchar(TOUPPER(s[i]));

期末考试

期末试卷

1、关于函数指针,以下说法错误的是:
A、通过函数指针调用函数的时候不能传递参数
B、函数指针可以作为参数传给一个函数
C、通过函数指针可以调用一个函数
D、函数的名字就是函数的指针值,可以赋给函数指针变量

2、若定义 char s[2][3]={ “ab”, “cd”}, *p=(char *)s; 那么下列表达式语法正确,并且其值与 s[1][1]相等的表达式(并非一定与其等价)是
A、*++p+2
B、*(p+4)
C、*(s+3)
D、*s+2
E、p[1][1]
F、*(p+3)

3、要求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。能正确实现此功能的函数是
A、void funa(int *x , int *y) { *x=*x+*y;*y=*x-*y;*x=*x-*y; }
B、void funa(int *x , int *y) { int t = *x; *x = *y; *y = t; }
C、void funa(int *x , int *y) { int *p; *p=*x;*x=*y;*y=*p; }
D、void funa(int x , int y) { int t; t=x;x=y;y=t; }
E、int funa(int *x , int *y) { *x=*y;*y=*x; }

4、对于如下定义: int k,a[10],*p=a;哪个表达式是不正确的
A、a++
B、p++
C、a[0]=k
D、p[0]=k
E、*p++=2

5、下列描述不正确的是
A、静态本地变量定义在函数外部
B、全局变量定义在函数内部
C、全局变量定义在函数外部
D、本地变量定义在函数内部
E、静态本地变量分配在全局变量所在的地方

6、有如下定义:int x[]={ 1,2,3},*p=x,y; 则y=*p++;相当于_____
A、y=x[0], p++
B、y=*p, p++
C、y=1, x++
D、y=*(p+1), p=p+1
E、y=2, p=&x[1]
F、y=2, p=x+1

7、若声明函数 int* func(void); 则函数fun的返回值为:
A、一个指向整型变量的指针
B、一个整数
C、一个指向整型函数的指针
D、一个整型函数的入口地址

8、关于#include,以下说法正确的是
A、#include <xx.h>只在编译器被指定的目录中搜索xx.h
B、#include "xx.h"只在当前目录搜索xx.h
C、#include <stdio.h>就把stdio库引入到了程序中
D、#include <xx>是错误的,因为没有了.h后缀

9、根据以下定义,哪个scanf的使用是不正确的:struct pupil { char name[20]; int age; };
A、scanf(“%d”, p->age);
B、scanf(“%s”,pup[0].name);
C、scanf(“%d”,&pup[0].age);
D、scanf(“%d”,&(p->sex));

10、与while( *s++ = *t++ );等价的程序段是
A、do { *s = *t++; } while ( *s++ );
B、while ( *t ) *s++ = *t++;
C、do { *s++ = *t++; } while ( *t );
D、while ( *s ) *s++ = *t++;

11、有以下结构体说明和变量定义,指针p、q、r依次指向一个链表中的三个连续结点。struct node { int data struct node *next ; } *p, *q, *r; 现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是
A、r->next=q; q->next=r->next; p->next=r;
B、q->next=r->next; p->next=r; r->next=q;
C、p->next=r; q->next=r->next; r->next=q;
D、q->next=r->next; r->next=q; p->next=r;

12、有以下程序void WriteStr(char *fn,char *str) { FILE *fp; fp=fopen(fn,"w"); fprintf(fp, "%s", str); fclose(fp); } int main() { WriteStr("t1.dat","start"); WriteStr("t1.dat","end"); return 0; } 程序运行后,文件t1.dat中的内容是
A、end
B、startend
C、start
D、endrt

13、当文件打开出现错误时,fopen返回的是?
A、0
B、NULL
C、-1
D、EOF
E、1
F、随机数
G、没有返回就导致程序退出了

14、在一个链表中,要把s所指的一个结点插入到p所指的一个结点后面去,正确的语句是:
A、s->next=p->next; p->next=s;
B、s->next=p; p->next=s;
C、s->next=p?->next; p=s;
D、p->next=s; s->next=p;

15、以下哪个函数是不正确的(与能否被编译无关)?
A、int* f(int *p) { int i; return &i; }
B、int* f(int *p) { return p; }
C、int* f(int *p) { return (int*)malloc(sizeof(int)); }
D、int* f(int *p) { return NULL; }

16、执行下列代码后变量t的值是_____.#define fun(a) 4*a; int t; t=fun(1+2);
A、6
B、2
C、4
D、8
E、10
F、12

17、若有定义struct { int k; char s[30]; } a[5] = { 1, "ABC", 2, "abc"}, *p = a;那么表达式*(p++)->s的值是_______.
A、'A'
B、'a'
C、'B'
D、"ABC"
E、"abc"

18、给定函数原型如下: int* f(int *p);而变量定义如下: int i;
A、f(&(i+6));
B、f(&i);
C、*f(&i) = 6;
D、int* p = f(&i);

19、有以下代码片段:struct { union { char a,b; int c; } d; int e[5]; } f, *p = &f; 那么,下列语句哪个是能被编译的:
A、p->e[3] = 10;
B、p->b = ' ';
C、p.d.a = '*';
D、p->d->c = 20;

20、有函数原型为void f(int, int *);,主函数中有变量定义:int a=2, *p=&a; 则下列函数调用正确的是
A、f(*p, &a);
B、f(a, p);
C、f(*p, p);
D、f(a, &a);
E、f(a, *p);
F、f(a, &p);
G、f(*p, a);
H、f(p,a);

21、若定义 int k, a[10], *p=a; 那么下面表达式不能被编译的是_______.
A、a++;
B、p++;
C、a[0] = k;
D、p[0] = k;

22、用typedef来定义一个函数指针类型PunPtr,它表示的是指向形如void func(int x)的函数,以下正确的表达是:
A、typedef void (*FunPtr)(int);
B、typedef FunPtr fun(int x);
C、typedef void FunPtr(int x);
D、typedef void (*FunPtr)( );

23、在课程的图形库中,关于printf的问题,以下说法正确的是:
A、如果调用了InitConsole()函数,printf会显示在专门的终端窗口上,否则不会输出任何东西。
B、printf不会输出任何东西
C、printf会在图形窗口的当前位置显示内容
D、printf会自动打开一个文本窗口显示内容

24、表达式 !!”2010-01-27”的值为(以1表示真,0表示假)

25、下列程序段的输出是_______。#define DF(a,b) (a+2*b) int s=5; int k= DF(s+1,s-3); printf("%d",k);

26、以下代码段的输出是:int x, y, z, w; void p(int *y, int x) { static int w; *y++; x++; w = x+*--y; printf("%d#%d#%d#%d#",x,*y,z,w); } int main(void) { int x, y, z, w; x=y=z=w=1; do{ static int x; p(&x, y); printf("%d#%d#%d#%d#",x,y,z,w); } while(0); return 0; }

27、假设sizeof(int)的值为4,对数组定义:int a[3][6];则sizeof( a[0] )的值为______。

28、写出表示“当 x 的取值在 [-10, 0] 的范围内,结果为真,否则为假”的C语言表达式,注意不要任何空格

29、若 int a = 6, b = 0, c = 3,则表达式 a && b || b - c的结果是(以1表示真,0表示假)

30、以下代码段的输出是:char a[20]="cehiknqtw"; char *s="fbla",*p; int i, j; for(p=s; *p; p++) { j=0; while (*p>=a[j] && a[j]!='\0') j++; for(i=strlen(a); i>=j; i--) a[i+1] = a[i]; a[j]=*p; } printf("%s", a);

31、根据下面的定义,F0(3+4)的输出结果是_______(注意没有空格)#define F1(var) printf("var=%d", var) #define F0(var) F1(var * var)

32、程序T1的代码如下,则运行T1 abc bcd cde aed的输出结果是_______.int main(int argc, char** argv) { while(**argv++!='a'); printf("%s", *argv); return 0; }

33、以下代码的输出是 :void swap( int *pa, int *pb ) { int pt; pt = *pa, *pa = *pb, *pb = *pa; } int main(void) { int x=1, y=2; f(&x, &y); printf("%d%d", x, y); }

期末考试的编程题部分

1、最小包围矩形

2、分数比较


甲状腺位于第2~4气管软骨前方。

A.倾斜线和水平线相比较,倾斜线更具有运动型性
B.南丁格尔在何时首创了科学的护理专业
C.钢结构设计时,计算疲劳、变形时用荷载设计值。
D.秒表测时中常用的评定方法有()


我国的存款利率是 ( )。

A.海棠属于海棠属海棠科小乔木()
B.要进行幻灯片页面设置、主题选择,可以在( )选项卡中操作。
C.基数效用理论运用( )进行分析。
D.双边序列有可能不存在z变换。


以下关于抗体类型转变的叙述哪些是正确的

A.苯甲醛与甲醛在浓NaOH作用下主要生成( )
B.( )是教育事业发展的根本动力。
C.施行人工呼吸时,当患者出现极微弱的自然呼吸时,应如何处理
D.一定时期内每期期初等额收付的系列款项是( )。


与社区居民的接触过程中,社区工作者与居民结束对话时要( )。

A.下列行为属于合法的是()
B.关于EXCEL文件保存,哪种说法错误()
C.不属于药学教育中的四大专业课程的是
D.汇报工作亮点时应选取“上级关注,本级突出,扬名内外”的内容进行汇报。


军民融合发展是:\nA兴国之举\nB兴军之本\nC立军之魂\nD强军之策

A.上世纪90年代余村的石头经济造成的后果有( )。
B.对于多个互斥方案进行择优,正确做法是作增额资源的效率分析。()
C.戒烟后身体会出现各种不适的症状成为戒断症状,表现有
D.5.以下哪个不属于气质的四种类型之一的是()


在现实型文学当中,( )对人物性格的发展变化起到极大的制约作用。

A.语文课程中设置了“综合性学习”,是课程标准的一个突出特点。
B.我们戒毒康复措施主要包括自愿戒毒、社区戒毒、强制隔离戒毒和社区康复。
C.ua、uo、uei、uan、uang
D.除去苯中的少量苯酚用 来洗涤。


花之圆舞曲是( )根据德国作家霍夫曼的童话《胡桃夹子和鼠王》改编而成的。

A.致病性葡萄球菌感染引起的疖、痈,是一种( )。
B.下列类型泵中,流量不均匀的是( )。
C.在EXCEL中,如果单元格显示#######,表示( )。
D.广告宣传是品牌提升知名度的重要手段。


环保再生胶模块化集成装备生产线中的模块包括()。

A.为了 应力集中,轴的直径突然变化处应采用过渡圆弧联结。
B.] ( )受报警处理板所控制,驱动外部报警、控制设备。
C.her success in the
D.图示体系第( )根链杆为必要约束,不可以去掉。


处于疾病不同阶段的脑卒中患者社区康复的目标是什么

A.由于边缘应力出现在不连续处,因此它的危险性远远大于薄膜应力。
B.在Adobe Photoshop软件中,全部选取的快捷键是( )。
C.古典进化论以整个人类在心里精神方面的类同性为大前提。
D.粒子处于能级j的概率,等于该能级的玻耳兹曼因子与子配分函数的比值。


3ed67e72bafe4ef29b7845d966eea50f.png

A.请问这幅《威斯敏斯特桥》的作者是谁
B.泵的作用是输送液体并增加液体的能量。
C.孟棨《本事诗》记载孟浩然称李白为谪仙。
D.以下选项不是拱桥优点的是:()。


曝书,即定期把藏书拿出来翻晒,是宫里特有的习惯。

A.订舱委托书是货运代理公司向船公司办理订舱和缮制运输单据的依据。
B.氨基转移反应不是氨基酸脱氨基的主要方式,是因为( )
C.在网络市场环境下,中间商面临网络直销威胁传统中间商。
D.与心血管疾病发生密切相关的行为模式是( )


统计表是表达统计分析结果中数据和指标的表格形式。

A.关于污泥性质,以下说法不正确的是( )。
B.社区文化包括那那几种文化形态
C.商业计划书的目录没有具体内容,可有可无。()
D.企业文化是企业内从总经理到工人共享的是()。


How to write an address correctly

A.蒸汽中不凝性气体的存在,会使它的对流传热系数α值大大减小
B.将用矩形命令绘的四边形分解后,该矩形成为几个对象:
C.节葬是指不能用生者的钱来厚葬死者。()
D.“吉事尚右,凶事尚左”是孔子提出的。()


下列人才激励的方法欠妥当的是( )

A.影响果树叶幕的形状和体积的主要因素有
B.D挡位高速范围时主动带轮直径小于从动带轮直径
C.在远区或者辐射区,电磁场为( )辐射场。
D.波轮式洗衣机又称为套筒洗衣机

文章版权及转载声明

本文地址:http://www.zzxhsh.org/70c798958.html发布于 2024-05-19 06:49:40
文章转载或复制请以超链接形式并注明出处五煦查题

评论列表 (暂无评论,44人围观)参与讨论