《C语言程序设计》第12章在线测试
- 格式:docx
- 大小:71.56 KB
- 文档页数:4
学习指南一、学习资源与学习方法C语言程序设计是计算机专业的一门基础课程,本课程主要是培养学生利用计算机处理问题的思维方式和结构化程序设计的基本方法。
掌握C语言进行程序设计,对于理解程序设计的基本方法,以及日后学习计算机学科的其他知识内容都是至关重要的。
在资源建设上,根据学生的学习条件差异和学习基础的差异,提供多种形式的学习资源,如教师全程授课视频、期末辅导光盘、网络交互平台、教材和参考资料。
还提供了一些在深度和广度上有一定扩展的资源,如在每一章中都提供了扩展知识供有能力的学生学习,在一些知识点链接了一些课外阅读资源,从深度和广度上满足不同层次学生的不同需求。
(1)立体化教材及学习资源建设和研制了以国家十一五规划教材为基础,知识点导学系统、电子教案、全程课程录像、网络课件、在线测试、考试系统和试题库、资源库、网上教学支撑软件平台等丰富的立体化教学资源,它们各自自成体系又相互关联,各种媒体互相补充,充分发挥了各自的优势,满足了远程计算机专业学习者的需求。
学习资源全部放在教学网站上,实现资源共享,为每个学生提供一个网络帐号,实现网上交互答疑和交流。
尤其是资源库应用系统,将已有的各种数字媒体资源融合在一起,为学生提供直观的导学;同时还为教师提供教学帮助。
学生可以通过资源库的信息索引快速找到要学习知识点的所有资源列表,从中选择所需媒体。
(2)基于课程知识体系的视频讲授结合网络教育的教学对象为成人、学习方式为业余学习的特点,网络学习者学习时间不连贯、不固定的特征,网络课件的设计都是以知识点为基本单元,采用化整为零的思想,按照课程的每个章、单元、知识点进行课程视频的录制,每个知识点设计10~20分钟左右的时长,保证学习者能够利用零散时间学习。
(3)增加交互性和案例教学考虑到远程教学师生分离,学生以自学为主,因此在教学资源设计上注意增加交互性。
例如,专门做了媒体资源库,包括大量动画演示和视频录像,使课件更加生动。
第一章一种新的C语言学习方式1.一台能够工作的计算机包括?CPU (Central Processing Unit,中央处理单元,进行运算和控制,包括运算器和控制器等)、存储器(如RAM、ROM等)、输入设备、输出设备(包括串行/并行接口、USB等)。
其中,RAM (RandomAccess Memory,随机存储器)主要用于存储数据,ROM (RcadOnlyMemory, 只读存储器)主要用于存储程序。
2.单片机工作时需要什么?需要稳定的电源、晶振、外部存储器和编程调试接口,就像计算机工作时需要电源、晶振、硬盘或其他大容量外部存储器和操作系统一样。
微控制器是将单片机独立工作所需的电源适配器、晶振、外部存储器和串口转换电路等封装到一个模块上,这样就能直接与计算机连接并进行编程开发,不需任何其他芯片和电路。
3. AT89S52是一种什么样的单片机?是一种高性能、低功耗的8位单片机,内含8 KBISPdn-System Programmable系统在线编程)可反复擦写IOOO次的Flash只读程存器,采用ATMEL公司的高密度非易失性存储技术制造,兼容标准MCS51指令系统及其引脚结构。
在实际工程应用中,功能强大的AT89S52 已成为许多高性价比嵌入式控制应用系统的解决方案。
4. Progisp是一款什么样的软件?是一款免费下载的ISP软件,不需要专门的安装即可使用,非常方便。
使用该软件,读者可以将C语言程序生成的可执行文件下载到机器人单片机上。
使用时需要1根USBA转B 信号线。
5.简述串口调试工具的特点。
串口调试工具就是串行通信接口调试软件,集数据发送、数据接收、数据监控、数据分析等功能于一身,具有小巧精致、操作简捷、功能强大的特点,可以在串口通信监控、设备通信测试工作中有效提高效率。
6. pr i ntf ()函数称为?称为格式输出函数,其功能是按用户指定的格式,把指定的数据输出显示。
Print ()函数是C语言提供的标准输出函数,定义在C语言的标准函数库中,要使用它,必须包括定义标准函数库的头文件stdio. h o第二章最简单的C程序设计——机器人做算数1. C语言用什么整型变量?C语言用关键字imt定义整型变量。
C语言程序设计中国大学mooc课后章节答案期末考试题库2023年1.关于问题与问题求解,下列说法正确的是()。
答案:人类进行问题求解的一般思维过程可分为问题分析、提出假设和检验假设。
2.关于贪心算法(又称贪婪算法是指,在对问题求解时,总是做出在当前看来是最好的选择。
也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。
贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解),下列叙述中正确的是()。
答案:选择能产生问题最优解的最优量度标准是使用贪婪算法的核心。
3.将多个有序序列合并成一个有序序列,属于()。
答案:归并排序4.关于数学模型(Mathematical Model)和数学建模(MathematicalModeling),下列说法正确的是()。
答案:数学模型是对实际问题的数学抽象,是用数学符号、数学式子等对实际问题本质属性的抽象而又简洁的刻画。
5.在“八皇后问题”的问题求解中,采用“试探-失败返回-再试探”的问题求解方法,该方法属于()。
八皇后问题:在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。
答案:回溯法6.关于算法(Algorithm),下列叙述正确的是()。
答案:算法可以用自然语言、流程图或伪代码描述,各有其优点。
7.关于抽象(Abstraction),下列说法正确的是()。
答案:抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。
8.关于哥尼斯堡七桥问题,下列叙述不正确的是()。
哥尼斯堡七桥问题:哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥。
如图所示:我们要解决的问题是可否存在一种方案可以走过所有的桥然后回到起点。
答案:欧拉将七桥问题归结为了一个图形形式的“一笔画”问题,从而得到了问题的解。
习题 9一.选择题1. A2. A3. A4. A5.B6.C二编程题9.2 编写一函数,判断N×N矩阵是否为上三角阵。
上三角阵是指不含主对角线,下半三角都是0的矩阵。
#include <stdio.h>int fun(int x[][3],int n){int flag=1,i,j;for(i=1;i<n;i++)for(j=0;j<i;j++)if(x[i][j]!=0){flag=0;break;}return flag;}void main(){int a[3][3]={{1,4,5},{0,2,6},{0,0,3}};int result=fun(a,3);if(result==1)printf("此矩阵是上三角矩阵!\n");elseprintf("此矩阵不是上三角矩阵!\n");}9.3 有一个字符串,包含n个字符,将字符串从第i 个字符到第j个字符间的字符逆置。
程序代码:#include <stdio.h>#include <string.h>void invertsub(char *str,int i,int j){char *p,*q,c;int n=0;p=q=str;if(str==NULL)printf("str is NULL!\n");else if(i<=0||j>strlen(str))printf("i and j value error!\n");else {while(*p!='\0'&&n!=i-1){ p++;n++; }q=p;while(*q!='\0'&&n!=j-1){q++;n++;while(p<q){c=*p;*p++=*q;*q--=c;}}}void main(){char str[]="abcdefg";printf("%s\n",str);invertsub(str,2,5);printf("%s\n",str);}9.4 题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数.程序源代码:main(){int number[20],n,m,i;printf("the total numbers is:");scanf("%d",&n);printf("back m:");scanf("%d",&m);for(i=0;i<n-1;i++)scanf("%d,",&number[i]);scanf("%d",&number[n-1]);move(number,n,m);for(i=0;i<n-1;i++)printf("%d,",number[i]);printf("%d",number[n-1]);}move(array,n,m)int n,m,array[20];{int *p,array_end;array_end=*(array+n-1);for(p=array+n-1;p>array;p--)*p=*(p-1);*array=array_end;m--;if(m>0) move(array,n,m);}9.5 输入n个整数,将最小数与第一个数对换,把最大数与最后一个数对换程序源代码:main(){int number[10];input(number);max_min(number);output(number);}input(number)int number[10];{int i;for(i=0;i<9;i++)scanf("%d,",&number[i]);scanf("%d",&number[9]);}max_min(array)int array[10];{int *max,*min,k,l;int *p,*arr_end;arr_end=array+10;max=min=array;for(p=array+1;p<arr_end;p++)if(*p>*max) max=p;else if(*p<*min) min=p;k=*max;l=*min;*p=array[0];array[0]=l;l=*p;*p=array[9];array[9]=k;k=*p;return;}output(array)int array[10];{ int *p;for(p=array;p<array+9;p++)printf("%d,",*p);printf("%d\n",array[9]);}9.6 输入n个字符串,按由小到大顺序输出。
c语言课程设计作业设计一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生编写简单程序的能力,使学生了解程序设计的基本方法,培养学生的逻辑思维能力和创新意识。
1.理解C语言的基本语法和规则。
2.掌握基本数据类型、运算符和控制结构。
3.了解函数的定义和调用。
4.理解程序设计的基本方法。
5.能够使用C语言编写简单的程序。
6.能够阅读和理解简单的C语言程序。
7.能够对程序进行调试和运行。
情感态度价值观目标:1.培养学生对计算机科学的兴趣和热情。
2.培养学生的创新意识和团队合作精神。
3.培养学生诚实守信、勇于面对困难的品质。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
具体安排如下:1.第一章:C语言概述介绍C语言的历史、特点和基本语法。
2.第二章:数据类型和运算符讲解C语言的基本数据类型、运算符及其用法。
3.第三章:控制结构讲解条件语句、循环语句及其应用。
4.第四章:函数讲解函数的定义、声明和调用,介绍常用的库函数。
5.第五章:数组和字符串讲解一维数组、多维数组、字符串的基本操作。
6.第六章:指针讲解指针的概念、运算和应用。
7.第七章:结构体和联合体讲解结构体、联合体的定义和应用。
8.第八章:文件操作讲解文件的概念、文件操作函数和文件权限设置。
三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。
1.讲授法:通过讲解C语言的基本语法、数据类型、运算符、控制结构、函数等知识,使学生掌握基本概念和原理。
2.案例分析法:通过分析典型的C语言程序,使学生了解程序设计的方法和技巧。
3.实验法:让学生亲自动手编写和运行C语言程序,培养学生的实际编程能力。
四、教学资源1.教材:《C程序设计语言》(K&R)2.参考书:《C Primer Plus》、《C语言程序设计》3.多媒体资料:PPT课件、在线教程、视频教程4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)五、教学评估本课程的评估方式包括平时表现、作业、考试等,以全面反映学生的学习成果。
c程序设计实验参考答案在计算机科学领域中,C程序设计是一门重要的课程,通过实验来加深对C语言的理解和应用,提高编程技巧和问题解决能力。
本文将提供一些C程序设计实验的参考答案,帮助学生更好地完成实验任务。
1. 实验一:基础语法练习实验目的:熟悉C语言的基础语法,掌握变量定义、运算符使用和基本IO操作等。
```c#include <stdio.h>int main() {int a = 5, b = 3;int sum, product;sum = a + b;product = a * b;printf("The sum of a and b is %d\n", sum);printf("The product of a and b is %d\n", product);return 0;}```2. 实验二:条件语句和循环结构实验目的:学习和掌握if-else语句、switch-case语句以及while和for循环的基本用法。
```c#include <stdio.h>int main() {int score;printf("Please enter your score: ");scanf("%d", &score);if (score >= 90) {printf("Excellent!\n");} else if (score >= 80) {printf("Good job!\n");} else if (score >= 70) {printf("Keep it up!\n");} else {printf("You need to work harder!\n");}int i;for (i = 1; i <= 10; i++) { if (i % 2 == 0) {printf("%d ", i);}}printf("\n");int j = 1;while (j <= 10) {if (j % 2 != 0) {printf("%d ", j);}j++;}printf("\n");return 0;}```3. 实验三:数组和字符串实验目的:熟悉数组和字符串的定义、初始化和基本操作,学习使用数组和字符串解决问题。
C语言在线测试题目及答案SANY GROUP system office room 【SANYUA16H-SANYHUASANYUA8Q8-第一章、第二章、第三章第一题、单项选择题(每题1分,5道题共5分)1、在以下关于C语言的叙述中,正确的说法是: BA、C语言比汇编语言快B、C语言比BASIC语言快C、C语言比BASIC语言和汇编语言都快D、C语言比BASIC语言慢2、在C语言中,不正确的常量是: BA、0xf6B、0876C、.5e-6D、 3e 23、属于低级语言的计算机语言是( )。
BA、机器语言B、汇编语言C、Java语言D、Pascal语言4、对于链接,正确的说法为()。
DA、链接是将源程序和库函数链接到一起,生成可执行程序。
B、链接是将源程序、目标程序和其他源程序链接到一起,生成可执行程序。
C、链接是将源程序、库函数和其他源程序链接到一起,生成可执行程序。
D、链接是将目标程序、库函数和其他目标程序链接到一起,生成可执行程序。
5、下列不能表示常量大写英文字母A的是()。
BA、常量:‘A’B、常量:“A”C、常量:‘\x41’D、常量:‘\101’第二题、多项选择题(每题2分,5道题共10分)1、对于16位系统中,C语言中整数 -8在内存中的错误存储形式是: BCDA、1111 1111 1111 1000B、1000 0000 0000 0000C、1000 0000 0000 1000D、1111 1111 1111 01112、下列关于C语言用户标识符的叙述中,不正确的叙述是: ACDA、用户标识符中可以出现下划线和中划线(减号)B、用户标识符中不可以出现中划线,但可以出现下划线C、用户标识符中可以出现下划线,但不可以放在用户标识符的开头D、用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头3、关于C语言程序的语句,正确的说法是( )。
BDA、一条语句只能占一行B、一行可以书写多条语句C、语句的结束标识符是句号D、建议每条语句占一行4、与汇编程序相比,C语言程序的优点包括( )。
《C语言程序设计》第10章在线测试“C语言编程”第10章在线测试剩余时间:58:38回答说明:1。
本卷满分为20分2.回答完问题后,请务必点击下面的“提交”按钮提交论文,否则您将无法记录论文的结果3.交卷前不要刷新本页,否则你的答案会被清除。
第一个问题,选择题(每个问题1分,5个问题5分)1。
对于char p;国际[10】;国际[3][];5.如果有国际[3][4];,数组a的第10个元素是()a,a[2][1] C,a[2][0] B,a[1][0] D,a[2][2]问题2,选择题(每个问题2分,5个问题10分)1,在下面的C语言字符数组的描述中,正确的描述是:a,字符数组可以存储字符串B,字符数组中的字符串可以作为一个整体输入和输出C,字符数组中的字符串不能与关系运算符D进行比较,通过赋值语句中的赋值运算符” = “可以将字符数组作为一个整体赋值2,如果形式参数是简单的变量形式,则相应的参数可以是A、常量b、数组名c、简单变量d、数组元素3。
在下面的描述中,合法的数组定义是()A、char a[]={ “字符串” };B、char a[5]={0,1,2,3,4 };这组问题尤其是英国电信,答案很明显是d,但必须选择ABCD才是正确的。
让我测试n次![]=“字符串”;d、充电a[]={0,1,2,3,4,5 };4,在下面的描述中,它是()A、字符串[]={\B、字符串[10];str={\C、char str[10]={\D、char str[10];str复制(str,\5,如果要将以下数组中所有5个元素的值都设为0,可以编写()A、国际[5]= { 0:5 };[国际机场5]= { 0 };[国际机场5]= { 5:0 };[5]={0,0,0,0 };[5]= 0;问题3,对或错(每个问题1分,5个问题5分)1,如果调用func((v1,v2),(v3,v4,v5),v6),函数func有6个形式参数更正错误2。
设计和制作一台使用白色光LED作为光源的台灯,台灯具有一个机械电源开关和两个感应式触摸开关,用手触摸感应开关可以调节台灯亮度。
台灯由220V市电供电,并配有小型铅酸蓄电池。
使用变压器和充电电路可对蓄电池充电。
使用中若蓄电池电量不足时,可通过台灯一定规律的闪烁提示对蓄电池充电。
电池电压过低时关闭台灯以保护蓄电池。
主要技术指标(1)系统电源:220V,50Hz交流。
(2)蓄电池:12V,2.3Ah。
(3)LED灯总功率:10Wmax。
(4)调光步进:5级调光。
(5)蓄电池充电最高电压:13.8V。
(6)蓄电池充电电流:<1A(7)蓄电池欠压保护点:11.0V昨天,略去。
今天,珍惜。
明天,争取。
对的,坚持。
错的,放弃。
人生要做两件事:第一件事,就是感恩;第二件事,就是结缘。
人生要迈两道坎:情与钱。
人生要喘两种气:一种是生命之气,一种是精神之气。
人生要会两件事:学会挣钱,学会思考。
人生的两个基本点:糊涂点,潇洒点。
人生的两种状态:谋生,乐生。
一心一意,是世界上最温柔的力量。
有些事情,只有经历了,才有穿透心扉的体验;曾经的人,只有从心底放下了,心灵才会真正地解脱。
没有哪件事,能够一直捆住你的手脚;没有哪个人,能够成为你的永远。
所以,想做的事,只要有能力做,那就不要等,不要害怕失败;想付出的爱,只要觉得可以,那就大胆些,不要留下遗憾。
学会放下,是一种生活的智慧;放下,是一门心灵的学问。
人生在世,有些事情是不必在乎的,有些东西是必须清空的。
该放下时就放下,你才能够腾出手来,抓住真正属于你的快乐和幸福。
已经拥有的不要忘记;已经得到的更加珍惜;属于自己的不要放弃;已经失去的留作回忆;想要得到的一定要努力;累了把心靠岸;选择了就不要后悔;苦了才懂得满足;痛了才享受生活;伤了才明白坚强。
放下压力,累与不累,取决于心态;放下烦恼,快乐其实很简单;放下自卑,把自卑从你的字典里删去;放下懒惰,奋斗改变命运;放下消极,绝望向左,希望向右;放下抱怨,与其抱怨,不如努力;放下犹豫,立即行动,成功无限;放下狭隘,心宽天地宽。
《C 语言程序设计》第12章在线测试
《C 语言程序设计》第12章在线测试
剩余时间: 54:28
答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)
1、若有说明语句“int a[10],*p=a;”,对数组元素的正确引用是:
A 、a[p]
B 、p[a]
C 、p+2
D 、*(p+2)
2、在C 语言中,关于文件存取方式,:
A 、只能顺序存取
B 、只能随机存取(也称直接存取)
C 、可以顺序存取,也可以随机存取
D 、只能从文件开头存取
3、已知定义“int x = 1, *p”,则合法的赋值表达式是( )。
A 、p = &x
B 、p = x
C 、*p = &x
D 、*p = *x
4、执行“char a[10]={"abcd"},*p =a;”后,*(p+4)的值是( )。
A 、字符ˊdˊ
B 、转义符ˊ\0ˊ
C 、常量"abcd"
D 、不能确定
5、若有int a[10],*p =a;,则( )。
A 、p++可以使p 指向下一个字节
B 、p+=2 相当于p =sizeof(a)/10
C 、p++可以使p 指向下一个元素,即a[1]的首地址
D 、p+=2可以使p 指向下一个元素,即a[1]的首地址
第二题、多项选择题(每题2分,5道题共10分) 1、C 语言中的文件分类是:
A 、文本文件和数据文件
B 、文本文件和二进制文件
C 、数据文件和二进制文件
D、顺序文件和随机文件
2、已有char s[10][10]={0};int i=10;。
在下列表达式中,没有意义的表达式是:
A、s[i][i]
B、*(*(s+i)+i)
C、*(&(s+i)+i)
D、*(*(s+i-1)+i-1)
3、若有int x=3,*px; float y=3,*py;,则正确的赋值表达式是 ( )。
A、px=&x
B、py=&x
C、px=&y
D、py=&y
4、设有定义语句“int x=10, *p=&x”,则表达式的值为10的有()。
A、p
B、*p
C、*&x
D、*p=x
E、x=*p
5、设有定义语句“struct {int a;float b;char c;}abc,*p;”,则对结构体成员a的引用可以是( )。
A、abc.a
B、abc->a
C、(*p).a
D、p->a
第三题、判断题(每题1分,5道题共5分)
1、标准函数 fgets(s, n, f) 的功能是从文件f中读取长度不超过n-1的字符串存入指针s所指的内存。
正确错误
2、函数中的形参若为指针,则调用时对应位置上的实参不能是数组名。
正确错误
3、&*p与p一样。
正确错误
4、双目运算符“*”是指针运算符。
正确错误
5、共用体变量的存储单元长度是最长分量的存储长度。
正确错误
恭喜,交卷操作成功完成!你本次进行的《C语言程序设计》第12章在线测试的得分
为20分(满分20分),本次成绩已入库。
若对成绩不满意,可重新再测,取最高分。
测试结果如下:
• 1.1 [单选] [对] 若有说明语句“int a[10],*p=a;”,对数组元素的
正确引用是:
• 1.2 [单选] [对] 在C语言中,关于文件存取方式,:
• 1.3 [单选] [对] 已知定义“int x =1, *p”,则合法的赋值表达式
是( )。
• 1.4 [单选] [对] 执行“char a[10]={"abcd"},*p=a;”后,*(p+4)的
值是( )。
• 1.5 [单选] [对] 若有int a[10],*p=a;,则( )。
• 2.1 [多选] [对] C语言中的文件分类是:
• 2.2 [多选] [对] 已有char s[10][10]={0};int i=10;。
在下列表达
式中,没有意义的表达式是:
• 2.3 [多选] [对] 若有int x=3,*px; float y=3,*py;,则正确的赋
值表达式是 ( )。
• 2.4 [多选] [对] 设有定义语句“int x=10, *p=&x”,则表达式的值
为10的有()。
• 2.5 [多选] [对] 设有定义语句“struct {int a;float b;cha r
c;}abc,*p;”,则对结构体成员a的引用可以是( )。
• 3.1 [判断] [对] 标准函数 fgets(s, n, f) 的功能是从文件f中读取
长度不超过n-1的字符串存入指针s所指的内存。
• 3.2 [判断] [对] 函数中的形参若为指针,则调用时对应位置上的实参不能是数组名。
• 3.3 [判断] [对] &*p与p一样。
• 3.4 [判断] [对] 双目运算符“*”是指针运算符。
• 3.5 [判断] [对] 共用体变量的存储单元长度是最长分量的存储长度。