武汉理工大学继续教育本科c语言程序设计
武汉理工大学C语言 第2章 算法2015
3、算法的设计要求
(1) 正确性:算法应满足具体问题的需求。 “正确”的含义可以分以下四个不同层次: 程序不含语法错误,这是基本要求; 程序对于几组输入数据能够得出满足规格说明要求 的结果; 程序对于精心挑选的典型、苛刻而带有刁难性的几 组输入数据能够得出满足规格说明要求的结果; 程序对于一切合法的输入数据都能得出满足规格说 明要求的结果。 (2) 可读性:算法设计的主要目的是为了阅读和交流。 (3) 健壮性:当输入非法数据时,算法能适当做出反 应或进行处理,而不会出现莫名其妙的结果。 (4) 效率与存储量需求。效率指算法的执行时间;存储 量指算法执行过程中需要的最大存储空间。
A×B
B+1 否 B﹥5?
A
B 是
输出A
算法结束
计算5!的算法示意图 100 k 思考1: 计算 sum 思考2: 计算N!
k 1
开始 例3:计算N!(N为任意正整数)。 s1:输入N s2:使A = 1 s3:使B = 2 s4:A×BA s5:B+1B s6:如果B≤N,返回重 新执行s4、s5、s6;否 则, A值为N!,输出A值, 算法结束。
(1)算法的时间复杂度:是指执行算法所需要的计算工作 量。一般情况下,算法中基本操作重复执行的次数是问题 规模n的某个函数,用T(n)表示,若有某个辅助函数f(n), 使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零 的常数,则称f(n)是T(n)的同数量级函数。 记作T(n)=O(f(n)) 称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。
不正确的流程表示:
图中没有一条从入口到 出口的路径通过A框。
流程内的死循环
小结:
由基本结构所构成的算法属于“结构化”的 算法,它不存在无规律的转向,只在本基本结构 内才允许存在分支和向前或向后的跳转。由三种 基本结构顺序组成的算法结构,可以解决任何复 杂的问题。
《C语言程序设计》课程教学大纲(本科)
《C语言程序设计》课程教学大纲课程编号:sk323课程名称:C语言程序设计英文名称:C Language Programming课程类型:学科基础课课程要求:必修学时/学分:56/3.5(讲课学时:36实验学时:0上机学时:20)适用专业:测控技术与仪器、电子信息工程、电子科学与技术、通信工程、智能科学与技术一、课程性质与任务本课程是大学理工科非计算机专业学生必修的一门公共基础课,通过本课程的学习和上机实验,使学生掌握C 语言这个最为流行的编程工具。
使学生了解C 语言的基本编程思想,初步掌握C 的基本程序设计技巧,重点培养学生阅读C 程序和使用C 语言进行简单实用程序设计的能力。
初步培养学生进行软件设计和系统开发的能力,为今后的学习及工作打下一个良好的基础。
二、课程与其他课程的联系先修课程:大学计算机基础。
后续课程:单片机原理及应用、单片机课程设计、毕业设计等。
C语言课程是本专业计算机软件工具类课程的基础,对学生后续工程实践教学过程有重要作用,是学生理解计算机工具特点,理解并掌握程序设计、软件开发等工程实践应用的重要基础课程,是学生未来工程能力的基础。
其次,C语言课程是本专业学生理解算法和算法表达的基础课程。
学生须理解常用计算机指令执行的宏观效果;学生在本课程中还需要建立起算法表达和计算机工具之间的逻辑联系,这是后续专业课程中把复杂算法转化为工程化指令的基础能力。
三、课程教学目标1.了解C语言的特点、用途以及上机运行C语言程序的基本步骤;掌握C语言各种数据类型的定义与使用方法;掌握C语言的三种基本结构,并能编制简单程序;掌握C语言函数的定义、调用及说明的方法;掌握C语言结构体、文件的概念及使用方法;了解C语言指针、位运算的概念及使用。
(支撑毕业能力要求1.1,10.1)2.具备熟练应用VC++集成环境进行C语言的编写、编译与调试的能力。
(支撑毕业能力要求5.1,1.2,3.1)3.具备初步的高级语言程序设计能力,能够掌握一定软件开发技术,具备一定的软件开发能力(支撑毕业能力要求5,7,12)四、教学内容、基本要求与学时分配五、其他教学环节(课外教学环节、要求、目标)课外教学环节:辅导学生自学下述内容:1.下载并安装VC++6.0软件包并练习调试、设置软件开发环境;2.简单程序的编译、连接和执行方法;3.计算机基本结构;4.计算机中数的表示和存储方法;5.C语言的历史沿革;6.C 语言特点;7.断点设置、单步执行调试程序方法;8.算法的流程图表达方法。
武汉理工大学继续教育本科c语言程序设计
单选题1. C语言中,若缺省定义函数返回值类型,则该函数默认返回值类型是()。
(A) void (B) long (C) int (D) doubleC难度:较易??分值:1.0??2. 下面叙述错误的是()。
(A) C源程序可由一个或多个函数组成(B)(C)(D) 注释说明部分只能位于C源程序的最前面D难度:较易??分值:1.0??3. 下面叙述错误的是()。
(A)(B)(C) 预处理命令行必须以分号结束(D) C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率D难度:较易??分值:1.0??4. ()语句符合C语言语法。
(A)(B)(C)(D)B难度:较易??分值:1.0??5. C语言中,数组名作为函数调用的实参时,下面叙述正确的是()。
(A) 传递给形参的是数组元素的个数(B) 传递给形参的是数组第一个元素的值(C) 传递给形参的是数组中全部元素的值(D) 形参数组中各元素值的改变会使实参数组相应元素的值同时发生变化D难度:较易??分值:1.0??6.(A)(B)(C)(D)A难度:较易??分值:1.0??7. 下面关于字符数组的叙述中,错误的是()。
(A)(B)(C)(D)A难度:较易??分值:1.0??8. 下面叙述正确的是()(A) 每行最多只能写两条语句(B) 程序中必需含有自定义函数(C)(D)D 难度:较易??分值:1.0??9. 以下叙述中正确的是( )。
(A)(B)(C)(D)A 难度:较易??分值:1.0??10. ( )是关于C 语言数据类型的正确叙述。
(A)变量必须先定义后使用(B)不允许使用空类型(C)枚举类型不是基本类型(D)数组并不是构造类型A 难度:较易??分值:1.0?11. ( )为正确的用户标识符。
(A)(B)(C)(D)D 难度:较易??分值:2.0??12. C 语言的下列运算符中,优先级最高的运算符是( )。
(A)(B)(C)(D)A 难度:较易??分值:2.0??13.(A) 16, 8(B) 8, 8(C) 16, 16(D)8, 16 A 难度:较易??分值:2.0??14. 不能对二维数组a 进行正确初始化的语句是( )。
武汉理工大学c语言实验及答案
实验二 选择结构的程序设计1.编程计算下面的分段函数。
4x-8 -1≤x <0y= 3x 2+10x-1 0≤x <18x 3-3x 2+2x-1 1≤x <2 (1)事先编好程序和流程图。
要求用if 语句结构实现,注意数据类型和输入提示语句。
#include <stdio.h> main ( ) {float x,y;printf ("input x:\n"); scanf ("%f",&x); if (x>=-1&&x<2) {if (x>=-1&&x<0)y=4*x-8;else if (x>=0&&x<1)y=3*x*x+10*x-1;elsey=8*x*x*x-3*x*x+2*x-1;printf("y=%10.2f",y); } elseprintf ("DATA ERROR!"); }(2)将程序运行六遍,分别从键盘上输入-1,-0.5,0,0.5,1,1.5这六个数,记录下运行结果并核对结果的正确性。
(3)再将程序运行二遍,分别从键盘上输入-3.5和2二个数,记录下运行结果并核对结果的正确性。
键盘的输入 分析结果 运行结果 调试说明键盘输入-1 键盘输入-0.5 键盘输入0 键盘输入0.5 键盘输入1 键盘输入1.5键盘的输入观察到的运行结果程序的错误之处和调试④修改程序,使之能正确处理任何数据。
当输入数据大于等于2或小于-1时,通知用户“Data Error ”,程序结束。
4.水果店有苹果,一级5.50元/kg ,二级4.20元/kg ,三级3.00元 /kg ,四级2.50/kg ,输入苹果的等级、数量以及顾客的付款数,显示出苹果的等级、数量、应付款数以及找给顾客的钱数。
(1)事先编好程序,分别用if 语句和用switch 语句结构实现,要求程序能正确处理任何数据。
VC++课程设计武汉理工
VC++课程设计武汉理⼯学习习惯问卷调查(内容包括⽂字和数字)⼀.设计⽅案及功能描述:(1)建⽴⼀个单⽂档的应⽤项⽬(项⽬名称为学⽣姓名拼⾳⾸字母缩写)。
(2)在该应⽤项⽬下,建⽴⼀个对话框进⾏问卷调查,并更改对话框的标题。
问卷调查的内容是学习习惯,包括早晨起床时间、每天学习⼩时数、学习内容、睡觉时间等。
(3)在对话框中要求采⽤单选按钮、复选按钮、编辑框、旋转按钮等进⾏选择。
(4)在应⽤项⽬主框架的菜单上设置⼀个菜单调⽤该对话框。
(5)在⼯具栏设置⼀个⼯具按钮,点击该⼯具按钮也可调⽤该对话框。
(6)将对话框的调查结果显⽰出来。
⼆.实验步骤:1.创建单⽂档应⽤项⽬(1)打开VC++6.0,单击菜单栏的⽂件->新建,然后在⼯程⼀项中选择MFC AppWizard (exe),在⼯程名称中输⼊“WJ2”,点击确定。
(2)在弹出的MFC AppWizard窗⼝中“您要创建的应⽤程序类型是:”这⼀项中选择“单⽂档”,点击完成。
(3)将项⽬⼯作区窗⼝切换到ResourceView页⾯,双击Dialog⽬录下任意⼀个对话框ID。
或者,选择“Insert” “Resource”菜单命令(或按快捷键Ctrl+R),选择Dialog 项,单击New。
这样,⼀个空⽩⽂档就⽣成了。
2.编辑对话框(1)右键点击对话框,单击“属性”。
在标题中输⼊“学习习惯问卷调查”。
(2)调整对话框的⼤⼩,将“确定”和“取消”按钮移⾄对话框的下⽅,并向对话框中添加组框(Group)控件,然后调整其⼤⼩忽和位置。
(3)右击添加的组框控件,从弹出的快捷菜单中选择“属性”菜单,出现该控件的属性对话框,在属性对话框中将其标题内容改为“早上起床时间”。
(4)在组框中添加4个单选按钮,默认的ID⼀次是IDC_RADIO1,IDC_RADIO2,IDC_RADIO3和IDC_RADIO4。
在其属性对话框中将ID属性内容分别改成IDC_TIME_B6,IDC_TIME_6T7,IDC_TIME_7T9,IDC_TIME_A8。
武汉理工C语言程序设计练习题PPT课件
构成 C 源程序的基本单位是( ) A.语句 B.变量 C.运算符 D.函数
C 语言函数体由( )括起来。
A.< >
B.( )
C.{ }
D.[ ]
2021
2
已知'A'的ASCII码的十进制值为65,’0‘的ASCII码的十进制值为48,则以下程序 运行结果是( )。
main() {char ch1,ch2;
2021
6
;赴美生子 赴美生子;
蝇王》描述在一场未来的核战争中,一架飞机带着一群孩子从本土飞到南方疏散。飞机被击落,孩子们乘坐的机舱落到一座美丽但无人烟的珊瑚岛上。起初孩子们齐心协 力,后来由于害怕所谓的“野兽”分裂成两派,互相残杀,发生悲剧性的结果,以崇尚本能的专制派压倒了讲究理智的民主派而告终。 《蝇王》是哲理小说,借小孩的天真来探讨人性的恶这一严肃主题。作者将抽象的哲理命题具体化,让读者通过阅读引人入胜的故事和激动人心的争斗场面来加以体悟。 小说中几个主要人物都具有象征意义,而那颗布满苍蝇的猪头则象征人性恶,象征了人心中的黑暗世界。 《蝇王》取材于19世纪苏格兰作家巴伦坦的《珊瑚岛》, 但不同于《珊瑚岛》的是:戈尔丁从人性的缺陷来探索社会。 Although successful heavier-than-air flight is less than two decades old, and successful dirigible propulsion antedates it by a very short period, the mass of experiment and accomplishment renders any one-volume history of the subject a matter of selection. In addition to the restrictions imposed by space limits, the material for compilation is fragmentary, and, in many cases, scattered through periodical and other publications. Hitherto, there has been no attempt at furnishing a detailed account of how the aeroplane and the dirigible of to-day came to being, but each author who has treated the subject has devoted his attention to some special phase or section. The principal exception to this rule—Hildebrandt—wrote in 1906, and a good many of his statements are inaccurate, especially with regard to heavier-than-air experiment.
武汉理工大学《C语言程序设计》实验报告
《C语言程序设计》实验报告
实验课程名称C语言程序设计
开课学院计算机科学与技术学院指导教师姓名
学生姓名X X
学生专业班级信息管理与信息系统1101班2012—2013学年第1学期
实验一顺序结构的程序设计
题目一:
程序代码:
题目二:
程序代码:
实验二:选择结构的程序设计题目一:
程序代码:
运行结果:
题目二
程序代码:
运行结果:
实验三循环结构的程序设计题目一
程序代码:
运行结果:
题目二:程序代码:
运行结果:
实验四数据和指针应用的程序设计题目一
程序代码:
运行结果:
运行结果:
程序代码:
运行结果:
实验五函数应用的程序设计程序代码:
运行结果:
程序代码:
运行结果:。
武汉理工大学c 课程设计报告书 精品
课程设计任务书学生姓名:李文瑶专业班级:测控1103班指导教师:胡剑韩雪工作单位:机电学院测控系题目: 测控系统应用软件实训——产品质量监测系统设计初始条件:日光灯试验台是用来检测点亮日光灯的整流器或逆变器是否合格的装置,通过多次测量灯管两端的电压和电流,再通过分析,来验证整流器或逆变器工作是否正常。
单个整流器或逆变器有不同功率之分,也有可以同时点亮日光灯个数多少之分。
检测一个整流器或逆变器,下位机大概会产生30组左右的电压和电流数据。
本实训的目标是设计一个产品质量监测系统,保存日光灯试验台下位机产生的数据信息,并时行产品合格检查、产品质量查询、分类统计和报表打印操作,以期使产品的质量管理工作系统化、规范化、自动化,从而提高生产效率。
设计功能要求:1、仪器检测结果的输入,包括记录号、检修日期、仪器编号、仪器类型、仪器功率、仪器点亮日光灯个数、检测人员、检测记录。
除检测人员和检测记录由工作人员在计算机上直接输入外,其他项都通过串口读入。
2、仪器检测数据的输入,包括记录号、仪器编号、检测电压、检测电流。
一条仪器检测结果对应多条检测数据。
3、仪器检测数据以图形方式显示变化趋势。
4、仪器检测信息的查询、修改和删除。
5、仪器类型和功率代码管理。
6、仪器检测信息的报表和打印处理。
(选做)7、密码和权限管理,不同权限用户具有不同的操作权力。
(选做)系统功能模块设计:对上述各项功能进行集中分块,按结构化程序设计的要求,得到如图1所示的系统功能模块图。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.合理进行数据库设计,数据项和数据结构包括以下部分:1)仪器检测结果信息表,保存检测结果记录,包括:记录号、检测日期、仪器编号、仪器类型、仪器功率、仪器额定点亮日光灯个数、仪器温升、检测时间间隔、检测人员、检测记录。
2)仪器检测数据信息表,保存检测数据记录,包括:记录号、仪器编号、检测电压、检测电流。
武汉理工大学《C语言程序设计》实验报告答案
注:在Visual C++ 6.0编译环境中亲自调试通过,但不保证在Turbo C 中通过。
实验二 选择结构的程序设计(题目当初没抄下来,这是根据程序整理的)1.编程实现分段函数⎪⎩⎪⎨⎧<≤-+-<≤-+<≤--=2112381011030184242x x x x x x x x x y#include<stdio.h> main() { float x,y; printf("Please input x:"); scanf("%f",&x); if (x<-1||x>=2) printf("Data Error\n"); else { if (x>=-1&&x<0) y=4*x-8; if (x>=0&&x<1) y=3*x*x+10*x-1; if (x>=1&&x<2) y=8*x*x*x*x-3*x*x+2*x-1; printf("\ny=%f\n",y); } } 2. 苹果有三个等级,一级5.50元/斤,二级3.00元/斤,三级2.50元/斤。
编写程序,输入苹果的等级,购买的数量和所付的钱数,输出等级,购买的数量、应付钱数和找零。
#include<stdio.h> main() { int level; double weight,pay,money,charge; printf("Please input the level:"); scanf("%d",&level); printf("Please input the weight you want:"); scanf("%lf",&weight); printf("Please input the money you pay:"); scanf("%lf",&pay); if (level<1||level>4||weight<0) printf("Data Error\n"); else{ if (level==1) money=weight*5.50; else if (level==2) money=weight*4.20; else if (level==3) money=weight*3.00; else if (level==4) money=weight*2.50; charge=pay-money; printf("\nLevel:%d\nweight:%g\n",level,weight); printf("money:%g\ncharge:%g\n\n",money,charge); } }实验三循环结构1.编程计算1!+2!+3!+4!+5!●分别用单层循环和双层循环实现●考虑∑∑==201101iiii!和!#include<stdio.h>main(){int i,x;double j,k,sum;printf("Please input a number:");scanf("%d",&x);//用单层循环for(sum=0,j=1,i=1;i<=x;i++){j*=i;sum+=j;}printf("The result is %lf\n",sum);//用双层循环for(sum=0,i=1;i<=x;i++){for(k=1,j=1;j<=i;j++) k*=j;sum+=k;}printf("The result is %lf\n",sum);}2.共20个评委给选手评分,去掉1个最高分,去掉1个最低分,其余18名评委的平均分即选手最终得分#include <stdio.h>main(){double score,min,max,avg=0;int i;//下面是为了输入第一个数printf("Please input 20 scores...\n");printf("Score 1: ");scanf("%lf",&score);min=score;max=score;avg+=score;// 下面为了输入剩余19个数for(i=2;i<=20;i++){do{printf("Score %d: ",i);scanf("%lf",&score);}while(score<0);if(score>max) max=score;avg+=score;}avg=avg-min-max;avg/=18;printf("\nThe average score is %lf:\n",avg);}实验四数组和指针的应用1.定义一个有10元素的一位数组count,从键盘上输入8个整数,将其按从大到小的顺序排列,并将排序后的数组输出(1)数组方法#include<stdio.h>main(){int count[10],t,i,j;printf("Please input 8 numbers:\n");for(i=0;i<8;i++)scanf("%d",&count[i]);for(i=0;i<8;i++)for(j=i+1;j<8;j++)if (count[i]<count[j]){t=count[i];count[i]=count[j];count[j]=t;}printf("The sorted array is as follows:\n");for (i=0;i<8;i++)printf("%d ",count[i]);}(2)指针方法#include<stdio.h>main(){int count[10],t,i,j,*p=count;printf("Please input 8 numbers:\n");for(i=0;i<8;i++)scanf("%d",&p[i]);for(i=0;i<8;i++)for(j=i+1;j<8;j++)if (*(p+i)<*(p+j)){t=*(p+i);*(p+i)=*(p+j);*(p+j)=t;}printf("The sorted array is as follows:\n");for (i=0;i<8;i++)printf("%d ",count[i]);}2.输入2个字符串,将二者连接并输出,再将连接后的字符串反向排列并输出,并求连接后字符串的长度#include<stdio.h>#include<string.h>main(){int i,len;char a1[51],a2[26],t[51];printf("Please input 2 strings:\n");gets(a1);gets(a2);strcat(a1,a2);printf("The joint string is: %s",a1);len=strlen(a1);printf("\nThe length of the linked string is: %d\n",len);for(i=0;i<len;i++)t[i]=a1[len-i-1];t[len]=0;strcpy(a1,t);printf("The reversed string is: %s\n",a1);}实验五函数应用的程序设计1.要求是:编写一函数,统计字符串中字母、数字、空格和其他字符的个数在主函数中输入字符串并输出统计结果值传送:#include<stdio.h>void fun(char a,int *b){if(a>='A'&&a<='Z'||a>='a'&&a<='z')b[0]++;else if(a>='0'&&a<='9')b[1]++;else if(a==32)b[2]++;else b[3]++;}main(){char a[50];int b[4],i,j,k;for(i=0;i<3;i++){for(j=0;j<4;j++)b[j]=0;printf("\nPlease input a string:\n");gets(a);k=0;while(a[k]!=0){fun(a[k],b);k++;}printf("The string have %d letters, %d numbers, %d spaces, %d other chars\n",b[0],b[1],b[2],b[3]);}}地址传递:#include<stdio.h>void fun(char *a,int *b){int i=0;while(a[i] != 0){if(a[i]>='A'&&a[i]<='Z'||a[i]>='a'&&a[i]<='z')b[0]++;else if((a[i]>='0')&&(a[i]<='9'))b[1]++;elseif(a[i]==32)b[2]++;else b[3]++;i++;}}main(){char a[50];int b[4],i,j;for(i=0;i<3;i++){for(j=0;j<4;j++)b[j]=0;printf("\nPlease input a string:\n");gets(a);fun(a,b);printf("\nThe string have %d letters, %d numbers, %d spaces, %d other chars",b[0],b[1],b[2],b[3]);}}。
武汉理工大学继续教育《C语言程序设计(本)》在线作业答案
B、9
C、10
D、0
5、以下程序段运行后s得值就是().int a[3][3]={1,2,3,4,5,1,2,3,4};inti,j,s=1; for(i=0;i<3;i++)for(j=i+1;j〈3;j++)s+=a[i][j];
A、6
B、120
C、7
D、240
6、若有以下定义:struct node {int data; struct node*next;}struct node*p;已建立如下图所示得链表:┌──┬──┐┌──┬──┐┌──┬──┐p→│data│next┼ →│data│next┼→、、、→│data│NULL│└──┴──┘└──┴──┘└──┴──┘指针p指向第一个结点,能输出链表所有结点得数据成员data得循环语句就是()。
A、p=p->next;head—>next=p—>next;free(p);
B、free(p);p = p—〉next;head-〉next=p-〉next;
C、head->next = p-〉next; free(p);
D、 free(p);head—〉next = p—〉next;
5、若有定义:int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;,则()表达式就是错误得。
A、6
B、120
C、7
D、240
32、若有定义:int a=6,b=7,k=0,t=1;语句(k=a〈b)&& (t=a==b);运行后,k、t得值分别就是()。
A、0 0
B、11
C、01
D、10
33、以下在任何情况下计算平方数时都不会引起二义性得宏定义就是()。
《C语言程序设计教程》全册教案完整版教学设计
《C语言程序设计教程》第一章教案一、教学目标1. 让学生了解C语言的发展历程和特点。
2. 掌握C语言的基本语法和结构。
3. 学会使用C语言编写简单的程序。
二、教学内容1. C语言的发展历程和特点2. C语言的基本语法和结构3. C语言程序的基本框架4. 简单的C语言程序示例三、教学方法采用讲授法、示例法、练习法相结合的方式进行教学。
四、教学步骤1. 引入话题:介绍C语言的发展历程和特点。
2. 讲解C语言的基本语法和结构,包括数据类型、变量、常量、运算符、表达式等。
3. 讲解C语言程序的基本框架,包括主函数、变量定义、函数体等。
4. 通过示例程序,让学生了解和掌握C语言编程的基本方法。
5. 布置练习题,让学生课后巩固所学知识。
五、教学评价通过课堂提问、练习题、课后作业等方式对学生的学习情况进行评价。
《C语言程序设计教程》第二章教案一、教学目标1. 让学生掌握C语言的运算符和表达式。
2. 学会使用C语言进行基本的输入输出操作。
3. 了解C语言的控制语句,包括条件语句和循环语句。
二、教学内容1. C语言的运算符和表达式2. C语言的输入输出操作3. C语言的控制语句三、教学方法采用讲授法、示例法、练习法相结合的方式进行教学。
四、教学步骤1. 复习C语言的基本语法,引入运算符和表达式的概念。
2. 讲解各种运算符的用法和优先级,通过示例让学生掌握运算符和表达式的使用。
3. 讲解C语言的输入输出操作,包括printf函数和scanf函数的使用。
4. 讲解C语言的控制语句,包括if语句、switch语句、for循环、while循环等。
5. 通过示例程序,让学生掌握控制语句的使用方法。
6. 布置练习题,让学生课后巩固所学知识。
五、教学评价通过课堂提问、练习题、课后作业等方式对学生的学习情况进行评价。
《C语言程序设计教程》第三章教案一、教学目标1. 让学生掌握C语言的函数概念和作用。
2. 学会自定义函数,并了解函数的调用方式。
武汉理工大学继续教育本科专业c语言程序设计.doc
武汉理工大学继续教育本科专业c语言程序设计。
单选题1。
(一)包含1个字符(二)包含2个字符(三)包含3个字符(四)是非法的,以表示难度:更容易得分:1.02。
(一)108(二)18(三)12(四)2困难:更容易得分:1.03。
(a)5 18 7 16 9 12(b)15 18 17 16 19 12(c)15 8 17 6 19 2(d)5 8 7 6 9 2a困难:更容易得分:1.04。
(一)-容易得分:1.02。
(一)108(二)18(三)12(四)2困难:更容易得分:1.03。
(a)5 18 7 16 9 12(b)15 18 17 16 19 12(c)15 8 17 6 19 2(d)5 8 7 6 9 2a困难:更容易得分:1.04。
更简单的分数:1.05。
(一)2(二)3(三)6(四)7难度:更容易得分:1.06。
S是结构类型名,p是结构类型名,p是指向结构类型的指针类型名,不,是结构类型的成员,难点:更容易得分:1.07。
困难:更容易得分:1.08。
困难:1.09。
困难:更容易得分:1.010。
(一)0(二)3(三)4(四)无限C难度:更容易得分:1.011。
困难:更容易得分:2.012。
困难:更容易得分:2.013。
二维数组的正确定义是()(a) (b) (c) (d) c困难:更容易得分:2.014。
困难:更容易得分:2.015。
难度:更容易得分:2.016。
以下陈述是正确的()(a)宏名称必须用大写英文字母表示(B)宏定义不仅是符号替换,而且是赋值(c)宏替换在程序编译时完成,不占用程序运行时间(d)当引用带参数的宏时,宏定义中的实际参数和形式参数类型应与难度(B)一致:更容易得分:2.017。
下列保留字在C中是()(a) fopen (b)包括(c) get (d) unsigned 困难:2.018。
在循环语句的循环体中,break语句的功能是()。
(a)在break 语句之后继续执行循环体的语句,(b)提前结束循环,然后执行循环后的语句,(c)结束当前循环,(d)暂停程序运行,以及(c)困难: 更容易得分:2.019。
武汉理工大学C语言第1章C语言概述ppt课件
3. 第三代语言:算法语言/高级语言
➢ 特点:是一种接近人类使用习惯的程序设计语 言,是按解决问题的实际需要规定好的一套基 本符号以及由这套基本符号构成的编程规则。 基本组成成分是各种语句。
[例如]:实现100与256相加的C语言程序段如下: a=100+256;
➢ 优点:编写程序方便、简单和直观;不依赖于 机器(高级语言与计算机的硬件结构及指令系 统无关),通用性强。
机
汇
高
面向过程
器
编
级
语
语
语
言
言
言
面向对象
C如P:U指1100令面0001系向00用如00统机00助00A,器记D由的D程符加减0语序、号客对对言A设1描,观象象序计述B世是间列关的界数通构键指可据过成是令以和发的定系分方送指义统类法和令类,的接码,对封受组并象装消成由是息类类发派的生生实联对例系象
1. 第一代语言:机器语言/二进制语言
组成:opcode+opdata
由此可见: (1)程序是人类与计算机交流的媒介 (2)程序是用计算机程序设计语言编写的指挥计算机操 作的指令集合 而程序设计语言是人类与计算机打交道的语言
现代计算机的范式 —— 冯 • 诺依曼结构
计算机采用二进制运算以及存储程序、程序控制的工 作方式
将表示计算步骤的程序同参加计算的数据一起存储在存 储器中,由计算机执行程序,自动完成计算过程。
教材、参考书与课时安排
教材
C语言程序设计 顾治华等编著 机械工业出版社
参考书
顾治华、陈天煌等《C语言程序设计 学习辅导与 等级考试精解》
C程序设计 谭浩强编著 清华大学出版社 C高级实用程序设计 王士元 清华大学出版社
武汉理工大学继续教育《C语言程序设计(本)》在线作业答案
一、单选(共计100分,每题2.5分)1、若已定义int a=11; 执行以下语句后的输出结果是()。
printf("a=%d,a=%o,a=%x\n",a,a,a) ;A. a=11, a=11, a=bB. a=11, a=13, a=bC. a=11, a=13, a=cD. a=11, a=12, a=132、A.B.C.D.3、以下程序运行后,文件test.txt的内容是()。
#include <stdio.h> main() { FILE *fp; char str[][10]={"first","second"}; fp = fopen("test.txt", "w"); if(fp!=NULL) fprintf(fp,"%s",str[0]); fclose(fp); fp = fopen("test.txt", "w"); if(fp!=NULL) fprintf(fp,"%s",str[1]); fclose(fp); }A. firstB. secondC. first secondD. second first4、若有以下定义:struct node { int data; struct node *next; } struct node *head,*p; 已建立如下图所示的链表: p ↓┌──┬──┐┌──┬──┐┌──┬──┐head →│data│next┼→│data│next┼→... →│data│NULL│└──┴──┘└──┴──┘└──┴──┘能删除指针p所指向结点的程序段是()。
A. p = p->next; head->next=p->next; free(p);B. free(p); p = p->next; head->next=p->next;C. head->next = p->next; free(p);D. free(p); head->next = p->next;5、若有定义:int a[10]={0,1,2,3,4,5,6,7,8,9}, *p=a; ,则()表达式是错误的。
武汉理工大学《C语言程序设计》期末考试试卷(A卷)
武汉理工大学《C语言程序设计》期末考试试卷(A卷)(2011级各专业)一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是。
A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是A、ABCB、abcC、a_bcD、ab。
c3、一个C语言程序是由。
A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性"等5个特性,对另外4个特性的描述中错误的是A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是。
A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR〉表示回车),x的值是 .#include<stdio.h>main(){int x;float y;scanf(”=%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b;float x,则正确的赋值语句是 .A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是 .#include〈stdio.h>{ int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是。
#include〈stdio。
h>main(){ char c1='A',c2='Y';printf("%d,%d\n”,c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是 .A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是。
武汉理工大学c语言课件
2013-3-23
26
(2).以下叙述不正确的是 A)一个C源程序可由一个或多个函数组成 B) 一个C源程序必须包含一个main函数 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面
2013-3-23
27
解答:D
解释: 凡是用“/*”和“*/”括起来的文字,都 是注释。其出现的位置可以任意。
C程序的上机步骤
Yes
编译
有错? No 可执行 目标程序 f.exe No 连接 执行
结果 正确
目标程序 f.o
库函数 和其他目 标程序
Yes 结束
2013-3-23 14
C语言的基本词法-标识符
定义:在程序中使用的变量名、函数名、标号等统称为 标识符。除库函数的函数名由系统定义外,其余的都由 用户自己定义。
命名规则:标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线(_)组成 的字符串,并且其第一个字符必须是字母或下划线。
例如:以下标识符是合法的: a,x,x3,BOOK_1,sum5,_x7。 以下标识符是非法的: 3s(以数字开头)、s*T(出现非法字符*)、-3x(以减号开头)、 bowy-1(出现非法字符-)。
•常量
C语言中使用的常量可分为数字常量、字符常量、字符串常量、符号常量、 转义字符等多种。
2013-3-23
19
C语言的字符集
(1)字母 小写字母a~z共26个,大写字 母A~Z共26个。 (2)数字0~9共10个。 (3)空格符、制表符、换行符等统称为空 白符。 (4)标点和特殊字符
2013-3-23
2013-3-23
8
(5) 它是一种结构化程序设计语言,提供了完整的程序控制 语句(选择语句和循环语句),很适合结构化的程序设计方 法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单选题1. C 语言中,若缺省定义函数返回值类型,则该函数默认返回值类型是( )。
(A)void(B) long (C) int (D)double C 难度:较易 分值:1.02. 下面叙述错误的是( )。
(A) C 源程序可由一个或多个函数组成(B)(C)(D)注释说明部分只能位于C 源程序的最前面D 难度:较易 分值:1.03.下面叙述错误的是( )。
(A )(B )(C )预处理命令行必须以分号结束(D )C 源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率D 难度:较易 分值:1.04. ( )语句符合C 语言语法。
(A)(B)(C)(D)B难度:较易分值:1.0 5. C语言中,数组名作为函数调用的实参时,下面叙述正确的是()。
传递给形参的是数组元素的个数(A)传递给形参的是数组第一个元素的值(B)传递给形参的是数组中全部元素的值(C)形参数组中各元素值的改变会使实参数组相应元素的值同时发生变化(D)D难度:较易分值:1.0 6.(A)(B)(C)(D)A难度:较易分值:1.0 7. 下面关于字符数组的叙述中,错误的是()。
(A)(B)(C)(D)A难度:较易分值:1.0 8. 下面叙述正确的是()(A)每行最多只能写两条语句 (B) 程序中必需含有自定义函数 (C) (D)D 难度:较易 分值:1.09. 以下叙述中正确的是( )。
(A)(B)(C)(D)A 难度:较易 分值:1.010. ( )是关于C 语言数据类型的正确叙述。
(A) 变量必须先定义后使用(B) 不允许使用空类型(C) 枚举类型不是基本类型(D)数组并不是构造类型A 难度:较易 分值:1.011. ( )为正确的用户标识符。
(A) (B)(C)(D)D 难度:较易 分值:2.012. C 语言的下列运算符中,优先级最高的运算符是( )。
(A) (B)(C)(D)A难度:较易 分值:2.013.(A)16, 8(B) 8, 8 (C) 16, 16(D)8, 16 A 难度:较易 分值:2.014. 不能对二维数组a 进行正确初始化的语句是( )。
(A)(B) (C)(D)A 难度:较易 分值:2.015. 构成C 源程序的基本单位是( )(A)语句(B) 变量 (C) 运算符 (D)函数 D 难度:较易 分值:2.016. main( )函数的位置( )。
(A) 必须在自定义函数前面(B) 可以在自定义函数后面(C) 必须位于程序的最前面(D) 必须在自定义函数后面B 难度:较易 分值:2.017.(A)(B)(C)(D)C难度:较易分值:2.0 18. ()是正确的叙述。
(A)(B)(C)(D)A难度:较易分值:2.0 19.(A)(B)(C)(D)A难度:较易分值:2.0 20.(A)(B)(C)(D)D难度:较易分值:2.0 21. 在函数调用时,以下说法正确的是()函数调用后必须带回返回值(A)实际参数和形式参数可以同名(B)函数间的数据传递不可以使用全局变量(C)主调函数和被调函数总是在同一个文件里(D)B难度:较易分值:1.0 22. 以下在任何情况下计算平方数时都不会引起二义性的宏定义是()。
(A)(B)(C)(D)D难度:较易分值:1.0 23. 如果在程序中要使用系统提供的函数sqrt,则需要书写的编译预处理命令是()(A)(B)(C)(D)B难度:较易分值:2.0 24. ()为合法的常量。
(A)(B)(C)(D)A难度:较易分值:1.0 25. ()是正确的叙述。
(A)(B)强制类型转换运算的优先级高于算术运算(C)(D)C难度:较易分值:1.0 26.(A)(B)(C)(D)A难度:较易分值:2.0 27.(A)(B)(C)(D)C 难度:较易 分值:2.028. C 源程序的调试是指对源程序进行( )。
(A) 录入与编辑(B) 查错与编译(C) 查错与排错(D) 连接与运行C 难度:较易 分值:2.029. 以下说法中正确的是( )(A)字符型变量可以存放字符串(B)递归调用是指函数调用自己(C)所有的外部函数只能在本文件中被调用(D)在循环体中break 语句和continue 语句的作用都是结束循环 B 难度:较易 分值:1.030.(A)5 (B) 7 (C) 10 (D)0 B 难度:较易 分值:2.031. 在C语言中,合法的字符常量是( )(A)(B)(C)(D)D 难度:较易 分值:1.032.(A)4 (B) 3 (C) 6 (D)5 D 难度:较易 分值:2.033.(A)3 (B) 5 (C) 6 (D)10 B 难度:较易 分值:2.034.(A)(B)(C)(D)A 难度:较易 分值:2.035. C 语言整型数据在内存中的代码是用( )表示的。
(A)原码(B) 反码 (C) 补码 (D)BCD 码 C 难度:较易 分值:2.036. 下面叙述错误的是( )。
(A)(B)(C)(D)A难度:较易分值:1.0 37. C语言函数体由()括起来。
(A)(B)(C)(D)C难度:较易分值:2.0 38.(A)(B)(C)(D)B难度:较易分值:2.0 39.(A)(B)(C)(D)C难度:较易分值:2.0 40. 下面关于C语言变量的叙述中,错误的是()。
可以用define关键字定义变量(A)变量名用大小写字母是有区别的(B)C语言允许不同基本类型的变量之间进行混合运算(C)C语言中要求对变量作强制定义的主要理由是:便于确定类型和分配空间(D)A难度:较易分值:2.0 41.(A)(B)(C)(D)B难度:较易分值:1.0.(A)(B)(C)(D)A难度:较易分值:2.0 43.(A)(B)(C)(D)D难度:较易分值:2.0 44.(A)(B)(C)(D)B难度:较易分值:2.0(A)(B)(C)(D)B 难度:较易 分值:2.046. 以下叙述中正确的是( )(A) C 源程序中注释部分可以出现在程序中任意合适的地方(B)(C)C 源程序编译时注释部分的错误将被发现(D)构成C 源程序的基本单位是函数,所有函数名都可以由用户命名 A 难度:较易 分值:2.047. 以下属于C 语言保留字的是( )(A)fopen(B) include (C) get (D)unsigned D 难度:较易 分值:2.048.(A)(B)(C)+-(D)C难度:较易分值:2.0 49. 下面叙述正确的是()。
程序中必须包含有输入语句(A)变量按所定义的类型存放数据(B)(C)每行只能写一条语句(D)B难度:较易分值:2.0 50. ()是不正确的叙述。
注释说明只能位于一条语句的后面(A)C源程序的基本组成单元是函数(B)C源程序可由一个或多个函数组成(C)每条语句最后必须有一个分号(D)A难度:较易分值:2.0 51. 错误的叙述是()。
一个C语言源程序可由一个或多个函数组成(A)若一条语句较长,也可分写在下一行上(B)C程序必须包含一个main()函数(C)构成C语言源程序的基本单元是算术表达式(D)D难度:较易分值:2.0 52. 一个C语言源程序是由()一个主程序和若干子程序组成(A)(B)函数组成 (C)若干过程组成 (D)若干子程序组成A 难度:较易 分值:2.053. C 语言基本数据类型包括( )。
(A)整型、实型、逻辑型(B)整型、实型、字符型(C) 整型、字符型、逻辑型(D) 整型、实型、字符串型B 难度:较易 分值:2.054.(A)67,D (B) C,D (C) C,68 (D)67,68 A 难度:较易 分值:2.055. ( )为非法的字符串常量。
(A) (B) (C)(D)C 难度:较易 分值:2.056. 下面叙述正确的是( )。
宏展开不占用运行时间,只占用编译时间(A)预处理命令也是C语句,必须以分号结束(B)一个源程序只能有一个预编译处理命令行(C)宏名必须用大写字母表示(D)A难度:较易分值:2.0 57.(A)(B)(C)(D)A难度:较易分值:2.0 58.(A)(B)(C)(D)A难度:较易分值:1.059.(A)0 (B) 10 (C) 9 (D)8 B 难度:较易 分值:1.060. 下面错误的叙述是( )。
(A) 预处理命令行必须位于C 源程序的起始位置(B)(C)(D)C 语言的预处理可以实现宏定义和条件编译的功能A 难度:较易 分值:1.061.(A) 2 (B) 3 (C) 4 (D)5 C。