当前位置:文档之家› C语言程序设计考试系统

C语言程序设计考试系统

C语言程序设计考试系统
C语言程序设计考试系统

《C语言程序设计》考试系统

C language progamme design examination system

马国富刘波

(安阳工学院计算机工程系,河南安阳455000)

Ma GuoFu,liu bo

(Department of Computer Engineering,Anyang Institute of Technology,Anyang 455000)

一:摘要

这一考试系统是一种计算机辅助教学软件,它包括教学模式,练习模式,考试模式。采用调用数据库的方式打开,可以实现随机选题和指定选题,而不是固定的试题。解决了由于教材更新和题库更新导致教学软件过时。大大提高了软件的利用价值,打破了教学软件内容的固化,其次三种工作模式极大地拓宽了软件的使用范围,不再是单一的教师教学软件或学生考试软件。可根据教学需要灵活地选择不同模式,同时少作修改即可用于其它课程。

系统解决了在多媒体教学中出现的模式僵化,内容固化的问题。更新教学内容只需建立一个新的数据源实现连接即可。

Abstract

The test system of the principle is a Computer extended education software, and this course is also the compulsory course in High etc. school.This system include Teaching mode. Practice mode Examination mode.You can use database open the examination database That is to say the content is up to you or at random.It is the revolution of test system This is the main reason we develop it.

二:关键词

考试系统、多媒体技术、数据源、连接数据库

keyword

examination system、multimedia technology、data soure、connection of database

三:课题研究的意义和目的

3.1研究意义

现在,多媒体技术日趋成熟,多媒体系统以其能输出精彩的图形和图像、美妙的声音、动感的画面赢得了用户和社会各界广泛的关注和应用。如果把按传统考试方式同现代化的多媒体技术相结合,并且用多媒体著作工具及其它多媒体技术,编制一套符合高校考试需求的系统及其配套的多媒体教学软件,利用多媒体技术生动、直观、形象展示信息的特点,辅助教师授课和学生进行考试,尤其对部分有限制性的实验环节,可利用活动视频技术进行展示,这将会解决一系列目前存在的问题。总之,该课题是在计算机辅助教学及考试上进行的一次积极有意义的尝试,为其他实践性较强的课程进行多媒体辅助教学开辟一条新的路子,具有一定的理论和现实意义。

3.2目的

传统的考试手段主要依靠有纸试卷,几乎没有可重用性。本课题将实现:用计算机辅助考试系统,把多媒体生动、直观的显示出来,使学生不再将考试视为一种枯燥无味的东西,提高了考试效果,使学生在一种愉悦的心情中进行考试,把枯燥的重复变为充满乐趣、具有启发性的考试过程,使学生能比较全面的学习知识,掌握技能,达到素质教育的要求。

四:系统流程图设计

4.1 初始化流程设计

在使用Authorware创建任何多媒体项目的时候,都应该先设置当前项目文件的窗口大小,将其设置为“800×600”,然后选择“演示居中屏幕”,同时取消对“显示标题栏”和“显示菜单栏”复选框的选择。

4.2 主界面的设计

本界面采用了Photoshop7.0图形图像处理软件来绘制。为了避免界面的单调和呆板,用蒙版和滤镜技术加以美化。该界面把Photoshop中的图层技术、图层蒙版技术、文字效果及滤镜等功能完美的结合了起来。并且在底部设置了一个Flash动画,增加视觉效果。

4.3背景音乐的交互控制

该多媒体教学以MIDI作为背景音乐,背景音乐的交互控制包括背景音乐的随机选曲播放、停止等功能,另外当该教学程序处于活动状态时,能够随时调整背景音乐和讲解声音的大小及比例,让使用者在一种轻松悦耳的环境中考试(调出WINDOWS的音量控制实现),还能够暂停背景音乐,当再次进入活动状态时则能重新播放背景音乐。

为了充分考虑用户计算机的不同配置情况,首先利用BUDAPI.U32的BASOUNDCARD函数判断用户机器是否已经安装了声卡,如果已经安装则执行背景音乐播放,否则不允许播放任何背景音乐操作.

程序如下:

IF BASOUNDCARD() THEN

MIDI:=1

TEST(MIDI,MIDILOOP

(FILELOCATION^”MUSIC\\MUSIC-”^RANDOM(1,5,1)^”.MID”),STOPMIDI())

END IF

软件中的背景音乐交互控制是通过交互响应来实现的。在程序执行过程中,用户始终可以通过按钮控制背景音乐的播放与暂停。在计算图标“播放音乐”后添加一交互图标并命名为“音乐控制”,并在交互图标右边添加三个计算分支。设置“STOP/PLAY”分支为按钮响应交互,其功能是实现对背景音乐的控制。由于在整个程序执行过程中它都是有效的,因此须设置其为永久按钮,即选择“PERPETUAL”属性选项,同时设置“ACTIVE IF”条件为:BASOUNDCARD(),即检测到用户没有安装声卡的情况下该按钮及响应分支无效。

4.4内容的导航设计

该多媒体教学涉及内容繁多,不仅包括文本、图片、声音和动画,而且还有其它多媒体工具与Authorware 配合,同时,还把视频文件导入,以增加实用性。为使用户操作简单方便,设计了合理的教学内容导航。主文件与各章节之间的导航设计根据结构规划中的该章节内容的栏目划分,在流程设计中为这些栏目设计了导航,如图1为主程序内容导航的设计流程图。

图1 主程序内容导航

这样的流程设计使整个主程序结构清晰,可读性强。由于该文件结构是主-分结构,即主文件调用各章节模块文件的方式,因此在主文件的章节内容中实际存放的是一个起链接桥梁作用的调用脚

本,而具体的考试试题题型内容则放在各章节的模块文件内。

4.5各模块的内容流程设计

图中的考试模式、练习模式、教学模式及退出系统这四部分主要程序流程图如下图2、图3、图4、图5所示。

图2

图3

图4

图5

第五部分的原理演示则是通过热区交互以及调入用VC6.0制作的演示内容的库文件,抽象的工作原理形象化,具体化。在打包的过程中采用了分步打包,首先对每部分进行打包。通过主文件调用其它各部分,这样避免了主文件过大,影响运行速度。

五:以完成单选题为例来看具体实现过程

从单选题的数据库题库中随机抽取相应题数的问题;每一题只能选择一个答案;用户可以按次序做答,可跳过不答,在回答过程中,可以随时返回已做过的题目进行修改;交卷后会给出完成情况可以查

看每题的回答情况.最后回到选题主界面,并把学生所做的答案成绩保存到数据库中。

当用户在主界面中,选择了“考试模式”后,系统就会进入到登录界面系统会提示输入用户名和密码,当输入后,点击“确定”后,系统将会进入到题型选择界面。在提示框中输入用户名和密码,我们点击“确定”后,就会进入到正式的单选题型界面中,选择“单选题”单击。

C语言程序设计考试系统的选择题从数据库中取出选择题,在一个界面上显示。利用三个热区域交互按钮“上一题”“下一题,”“完成”,按钮和四个热区域设置计算图标用来记录学生所选择的答案。在学生选择“完成”后,弹出学生做题的情况界面,

然后回到选题主界面,并把学生所做的答案成绩保存到数据库中。

5.1“未命名”用来擦除以前的图像

5.1.1打开“未命名”的属性,进入“未命名”的属性窗口。

5.1.2在“属性窗口”中单击擦除标签在设置过渡效果进行设置

5.1.3单击“确定”按钮

5.2 设置“单选界面”插入一个图像

5.2.1双击“单选界面”图标进入显示图标窗口

5.2.2单击绘图工具箱图标进行绘制一个和窗口矩形一样大的矩形

5.2.3设置矩形的颜色为“绿色”

5.2.4单击显示图标窗口的关闭按钮,关闭保存对“单选界面”的设置

5.3 设置交互“进入”

5.3.1在交互图标的右边拖放一个群组“单选”

5.3.2设置单选的热区为“按钮“

5.3.3单击确定后,双击“选择”。

5.3.3.1“未命名”用来擦除上次运行的图形

5.3.3.2在“打开数据库”的输入如下源程序:

hint0:="您的数据库没有连接上......" --显示连接数据库的信息title:="数据库连接...."

ODBChandle:=ODBCOpen(WindowHandle,"","database","","") --得到数据源getrecord:="select count(sequence) from erigister" --得到记录的个数record:=ODBCExecute(ODBChandle,getrecord)

if ODBChandle=0 then --测试连接数据库是否连接成功

MessageBox(WindowHandle,hint0,title,17)

end if

ODBCClose(ODBChandle)

ODBChandle:=ODBCOpen(WindowHandle,"","database","","")

if ODBChandle=0 then

MessageBox(WindowHandle,hint0,title,17)

end if

sqlstring1:="select ssdb from erigister where sequence="^record^""-从表中选择单选库表题ssdatabase:=ODBCExecute(ODBChandle,sqlstring1)

getrecord:="select count(sequence) from "^ssdatabase^""

record:=ODBCExecute(ODBChandle,getrecord) --ssdb数据库的记录个数,以便产生随机数sssum:=0

number1:=1

sui:=[]

sui[1]:=Random(1,record,1) --下面程序用来产生一个随机数不能出现相同的题目

i:=2

repeat while i<=record

flag:=0

repeat while flag=0

sui[i]:=Random(1,record,1)

flag1:=0

repeat with p:=1 to i-1

if sui[i]=sui[p] then flag1:=1

end repeat

if flag1=0 then flag:=1

end repeat

i:=i+1

end repeat

5.3.3.3在“做选择的背景”显示图标中设计单选题的界面如上图5.4

5.3.3.4在“数据库的操作”中输入如下代码:在这里,我们就要实现对数据库的随机读取和跟

踪答案的长短来选择界面

x:=0

ran:=sui[number1]

result:=""

record1:=Number(record)

record:=record1 --得到记录的个数

sqlstring1:="select topic from "^ssdatabase^" where sequence="^ran^""分别得到选择题各项sqlstring2:="select a from "^ssdatabase^" where sequence="^ran^""

sqlstring3:="select b from "^ssdatabase^" where sequence="^ran^""

sqlstring4:="select c from "^ssdatabase^" where sequence="^ran^""

sqlstring5:="select d from "^ssdatabase^" where sequence="^ran^""

sqlstring6:="select result from "^ssdatabase^" where sequence="^ran^""

get1:=ODBCExecute(ODBChandle,sqlstring1) --get1得到选择题目内容

get2:=ODBCExecute(ODBChandle,sqlstring2) --get2得到选择项A内容

get3:=ODBCExecute(ODBChandle,sqlstring3) --get3得到选择项B内容

get4:=ODBCExecute(ODBChandle,sqlstring4) --get4得到选择项C内容

get5:=ODBCExecute(ODBChandle,sqlstring5) --get5得到选择项D内容

get6:=ODBCExecute(ODBChandle,sqlstring6) --get6得到选择题的答案inputa:=1 --用来设置热区域的激活条件

5.3.3.5空“操作”用来设置跳转标志

5.3.3.6在交互图标右边拖入四个热区域

在计算图标中从左到右的四个计算图标中输入: result:="A" result:="b" result:="c" result:="d"在交互属性中设置激活条件为inputa=1: ,鼠标指针设置为标准鼠标指针,其它的为默认设置.其中result变量用来记录用户所选的答案.

5.3.3.7拖一个交互图标“未命名”在它的右边拖两个计算图标为“上一题”和“下一题”,再拖一个群组“完成”放在“下一题”右边,设置热区为按钮。在“上一题”的激活条件中输入number1>1,鼠标指针设置为:标准的鼠标指针。在“下一题”的激活条件中输入:number1

六结束语

根据对教师上课时课堂练习的分析,开发出该考试系统,主要是能够方便课堂练习,同时还可用于期中期末测试,该系统主要是针对《C语言程序设计》课程来设计的。对该系统做简单修改,即可用于其它课程。

参考文献

专著:王嘉宁朱隽著《Photoshop7.0中文版新概念百例》[M] 中国水利水电出版社 2004年4月专著:龚祥国主编《Photoshop图像处理实用教程》[M] 科学出版社 2002年 2月

专著: 王龙金海主编《Flash MX实战入门新概念》[M] 中国水利水电出版社 2005年5月

专著: 李恒著《Authorware 6.0多媒体实例大制作》[M] 冶金工业出版社 2002 年4月

专著: 袁海东著《Authorware 7.0教程》[M] 电子工业出版社2004年9月

专著: 郝蕾蕾著《Authorware课件制作》[M] 中国水利水电出版社 2001年7月

C语言程序设计试题及答案

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是(D) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是(B) A、abc B、12AC C、sun D、A 3、设有语句inta=4;则执行了语句a+=a-=a*a后,变量a的值是(A) A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是(B) A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是(A) A、% B、/ C、%和/ D、+ 6、以下关于运算符的优先顺序的描述正确的是(C) A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是(C) sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)

A、INPUTx、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456<回车>,下面程序的输出结果是:(C)voidmain() {intm,n; scanf(“%2d%3d”,&m,&n); printf(“m=%dn=%d\n”,m,n); } A、m=23n=45 B、m=234n=56 C、m=23n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是(A)main() {intx,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、0B、22C、12D、10 11、C语言中while和do-while循环的主要区别(A) A、do-while的循环体至少执行一次 B、while的循环控制条件比do-while的循环控制条件严格 C、do-while允许从外部转到循环体内 D、do-while的循环体不能是复合语句 12、以下对二维数组的正确说明的语句是(C) A、inta[3][] B、floata(3,4) C、doublea[3][4] D、floata(3)(4) 13、以下程序的输出结果是(C) main()

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

C语言程序设计模拟试题1(附答案)

《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。 x = 9; while (x > 7)

C语言程序设计试题集

第一章基础知识 一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。

程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。 13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

C语言教学网站及网上考试系统的设计与实现

目录 1. 引言 (1) 1.1 课题研究背景与意义 (1) 1.1.1 网上教学系统 (1) 1.1.2 网上考试系统 (1) 1.2 问题定义内容简介 (1) 1.2.1 问题定义 (1) 1.2.2 内容简介 (2) 1.3 课题调研与可行性分析 (2) 1.3.1课题调研 (2) 1.3.2 可行性分析 (2) 1.4 论文各章内容介绍 (3) 2. 系统的需求分析 (4) 2.1系统功能需求 (4) 2.2 业务流和数据流图 (4) 2.2.1业务流 (4) 2.2.2数据流图 (5) 2.3 数据字典 (6) 2.3.1 数据流分量 (6) 2.3.2 数据流 (8) 2.3.3 数据存储 (8) 2.3.4 数据处理 (8) 3. 系统设计 (10) 3.1系统总体系结构设计 (10) 3.2 系统数据模型设计 (11) 3.2.1 数据概念结构设计——E-R图 (11) 3.2.2 数据库逻辑结构设计(关系模型) (13) 3.2.3 数据表 (14) 3.3 系统开发与运行环境确定 (16) 3.3.1 开发工具的确定 (16) 3.3.2 运行环境 (17) 3.3.3系统实现的若干关键技术 (17) 4. 用户管理模块设计 (19) 4.1用户管理模块的体系结构设计 (19) 4.1.1 用户管理模块功能简介 (19) 4.1.2 用户管理模块功能图 (19) 4.2 用户管理模块的详细设计 (19) 4.2.1 用户登录和注册界面设计 (19) 4.2.2 用户登录 (20) 4.2.3 用户注册 (21) 4.2.4 用户及其权限管理 (23) 5. 试题管理模块设计 (26) 5.1 试题管理模块体系结构设计 (26)

C语言程序设计习题集(3)

指针 一单项选择题(每题2分,共40分) 1 以下叙述中错误的是_B__。 A 在程序中凡是以“#”开始的语句行都是预处理命令行 B 预处理命令行的最后不能以分号表示结束 C #define MAX是合法的宏定义命令行 D C程序对预处理命令行的处理是在程序执行的过程中进行的 2 若程序中有宏定义行:#define N 100 ,则以下叙述中正确的是__B_。 A 宏定义行中定义了标识符N的值为整数100 B 在编译程序对C源程序进行预处理时用100替换标识符N C 对C源程序进行编译时用100替换标识符N D 在运行时用100替换标识符 3 若有如下宏定义: #define N 2 #define y(n) ((N+1)*n) 则执行下列语句:z=4*(N+y(5));后的结果是_B__。 A 语句有错误 B z值为68 C z值为60 D z值为180 4 以下程序运行后的输出结果是_A__。 #define F(X,Y) (X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } A 12 B 15 C 16 D 20 5 以下程序运行后的输出结果是_C__。 #define f(x) (x*x) main() { int i1,i2; i1=f(8)/f(4); i2=f(4+4)/f(2+2); printf("%d,%d\n",i1,i2); } A 64,28 B 4,4 C 4,3 D 64,64 6 若已定义a为int型变量,则__D_是对指针变量p的正确说明和初始化。 A int p=&a; B int *p=a; C int *p=*a; D int *p=&a; 7 已知下列说明语句: static int a[]={2,4,6,8} static int *p[]={a,a+1,a+2,a+3}; int **q; q=p; 则表达式**(q+2)的值是_A__。 A 6 B 2 C 4 D 8 8 下面是一个初始化指针的语句:int *px=&a;,其中指针变量的名字应该__C_。 A *px B a C px D &a 9 若指针px为空指针,则_B__。。

C语言程序设计 复习题库

一、填空 1. break 语句通常用于switch // 循环中。 2. C 语言对数组下标的引用一般从0 开始。 3. C 语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。 4. C 标准库函数中,字符串的处理函数包含在string.h 头文件中,数学函数包含在 math.h 头文件中。 5. C 程序的运行需要经过编译和链接两步进行。 6. C 程序中用/**/ 括起来的内容是程序的注释语句。 7. C 语言函数是由函数首部和函数体两部分组成。其中,函数首部包括函数类型、函数 名和函数参数。 8. C 语言提供的三种逻辑运算符是& ,// ,!。 9. C 语言源程序经过编译后,生成文件的后缀名是.c 。 10. C 语言源程序经过连接后,生成文件的后缀名是.exe 。 11. C 语言中,关系表达式和逻辑表达式的值是1//0 。 12. C 语言中的标识符只能由三种字符组成,他们是字母,数字,下划线。 13. C 语言中的每条基本语句以;作为结束符,每条复合语句以} 作为结束符。 14. C 语言中函数返回值的类型是由函数类型决定的。 15. C 源程序的基本单位是函数。 16. int a = 2, b = 3; 表达式 a > b ? a ++ : ++ b 的值为 4 。 17. int x=1,y=1,z=1; x+=y+=z; 则表达式xb>c 的值是0 。 19. 定义一个指针p,它指向一个有 6 个整型元素的一维数组,定义语句为int *p=a[6] ; 。 20. 定义一个指针数组p ,它有 4 个元素,每个指针指向一个整型数据,定义语句为int *p[4]; 。 21. 赋值语句是由= 加上一个分号构成。 22. 构成数组的各个元素必须具有相同的类型。 23. 关系表达式x+y>5 的相反表达式为x+y !>5 。 24. 函数strlen("1234\0xy") 的值为:9 。 25. 函数的形参在未被调用前不分配空间,函数形参的数据类型要和实参相同。 26. 函数体用{ 开始,用} 结束。 27. 结构化设计中的三种基本结构是顺序,选择,循环。

C语言程序设计模拟试题A附答案

《C语言程序设计》模拟试卷A 一、单项选择题(每题2分,共20分) 1、下列有关C语言的叙述中错误的就是(D)。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被瞧作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的就是(C)。 A) MAIN B) _HJ C) 2ong D) LINE1 3、以下能正确定义一维数组的就是(C)。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 4、执行下列程序段后输出的结果就是(C)。 x = 9; while (x > 7) { printf(“*”); x- -; } A) **** B) *** C) ** D) * 5、设char str1[10] = “ABCDE”, str2[10] = “xyz”; 则执行语句 printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果就是(D)。 解析: strcpy(str1,str2); 后,str1[] 里就是"XYZ", Z 后面有字符串结束符 strcpy(str1,str2); 执行后,函数返回的就是str1, 因为str1[] 里就是新值"XYZ", 而 strlen(strcpy(str1,str2)) 就就是strlen(str1的新值),所以得3。 strlen 统计到字符串结束符以前,即,不计入字符串结束符。 A) 9 B) 8 C) 5 D) 3 6、若用数组名作为函数调用的实参,则传递给形参的就是(A)。

《C语言程序设计》网上考试系统的设计与实现

毕业设计任务书 题目:《C语言程序设计》网上考试系统的设计与实现 学生姓名:李志旭班级:软件工程一班学号:13740113 题目类型:软件开发(R)指导教师:贾娟娟 一、毕业设计题目 《C语言程序设计》网上考试系统的设计与实现。 二、题目简介 该设计要求学生以《C语言程序设计》课程的考核形式为背景,对“《C语言程序设计》网上考试系统”进行设计和实现。 通过该题目的分析和设计,使学生初步得到软件工程的训练,全面培养软件开发过程中的分析、设计、编码、测试及文档规范书写的能力,得到软件工程的综合训练,提高解决实际问题的能力。 三、设计任务 1. 查阅文献资料,一般在5篇以上; 2. 针对《C语言程序设计》网上考试系统,锻炼学生的分析、设计能力,培养学生对软件文档规范的书写能力; 3. 以《C语言程序设计》课程的考核形式为背景,通过调研、分析现有的考试模式和已有的考试系统,建立系统模型; 4. 完成《C语言程序设计》网上考试系统的软件可行性分析、项目开发计划、需求规格说明、概要设计和详细设计(结构化设计方法和面向对象设计方法可任选一种); 5. 在分析和设计的基础上编码完成一个可演示的版本并进行测试; 6. 撰写设计说明书; 7. 做好答辩工作。 四、主要内容、功能及技术指标 《C语言程序设计》网上考试系统的总体目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,分析和设计一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的网上考试系统,为普通用户和管理者提供充足的信息、快捷的查询和有效的管理方式,减少不必要的损失和浪费,提高考试信息管理和出卷、阅卷的效率。

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

C语言在线考试系统前言

前言 在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着变革,而考试管理则是一个很重要的方向。基于Web技术的网络<>可以借助于遍布全球的Internet进行,相对于传统的白纸黑字考试模式来说,考试管理一方面可以突破时空的界限,使考生可以足不出户进行考核,这就减除了组织考场和考生奔波于考场所造成的资源消耗和环境污染,符合现代人的绿色生活理念。另一方面,考生在自己熟悉的环境中考试也会更自在,能更好地发挥自己的真实水平。而且由于考试管理利用了现代化技术,还由其自身属性衍生出一些有利于考试的功能作用。考试管理的试卷可以根据题库中的内容即时生成,可避免考试前的压题;而且可以采用大量标准化试题,从而使用计算机阅卷,大大提高阅卷效率;还可以直接把成绩送到数据库中,进行统计、排序等操作。这样考试的公平性、答案的安全性可以得到有效的保证。因此,采用网络考试方式将是以后考试发展的趋势。 在线考试系统可以实现教考分离以及考务工作的全自动化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好地服务于各个院校的教学、科研、管理,可以大规模的实施考试,实现考试的客观性、公平性,自动组卷、评卷大大可以减轻教师的工作强度。可以利用无限广阔的网络空间,借助于遍布世界的因特网,随时随地的对学生进行考试,再利用Web数据库技术快速读取和即时储存考试数据,大大简化了传统考试的过程,大大拓展了考试的灵活性。 一个在线的考试系统是建立在全球Internet上的应用系统,客户端的配置可以较为简单,使考试不受地点的限制。一个完备的在线考试系统可以让用户在网上学习后及时检验自己的学习效果,发现自己的不足之处,让学习效率得到很大提高。题目的生成、试卷的提交、成绩的批阅等在在线考试系统中都可以在网络上自动完成。只要录入一套成熟的试题库就可以实现考试的自动化。这样,老师所要做的仅仅只是精心设计题目、维护题库,而不是去费力费时地组织考试,从而大大减轻了老师的负担,降低了考试所需的成本,即经济又环保。 为了适应新形势的发展,更好地提高在线考试的效率,系统应在自动化组卷和自动评分方面给予更好地优化,组成的试卷应更加多样化,尽量避免类似试卷的出现,可以对新组成的试卷的难易度作及时的调整;在评分方面要更具理性化,主观题评分

C语言程序设计模拟试题2(附答案)

《C语言程序设计》模拟试卷二 一、填空题。(每空2分,共30分) 1.设有变量说明语句 int x=1,y=2; 则执行下述printf语句的输出结果是___1.000000___ _____。 printf("%f\n",1.0+x/y); 2.执行下述程序 #include main() { int x,y; scanf("%2d%*2s%1d",&x,&y); printf("%d\n",x+y); } 若从键盘输入 12345671 则程序的输出结果是__17______。 3.以下程序的功能是:从键盘上输入若干名学生的成绩(百分制,可带小数,以输入负数或0为结束标志),统计并输出最高成绩和最低成绩。请填空。 #include main() {

float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while ( X>0&&X<=100 ) { if (x>amax) amax=x; else if (x

_k++ _________; d=1.0/(k*(k+1)); } while (k<=n); printf("%f\n",s); 5.执行下述程序的输出结果是_-3 -4 0 4 4 3___ ____。 #inclued main() { int a[6],i; for (i=0;i<6;i++) { a[i]=9*(i-2+4*(i>3))%5; printf("%3d",a[i]); } printf("\n"); } 6.执行下述程序时的输出结果是____6_____ ________。 #include main() { int a[]={2,4,6,},*ptr=&a[0],x=8,y,z; for (y=0;y<3;y++) z=(*(ptr+y)

计算机二级C语言上机考试操作步骤及流程

二级C语言上机考试操作步骤 一、进入考试系统 单击桌面上的“考试系统”图标,进入考试启动界面。“考试启动界面”如图1所示。 图1 二、输入考生信息 进入考试界面后,单击“开始登录”按钮即可进入考试环境进行“考生信息”的输入。“信息输入”如图2所示。 图2 考生输入准考证号如“2427180018001800”后,单击“考号验证”按钮进行信息核实,系统会弹出如图3所示的对话框。 图3

在确定考生信息完全正确时,单击“是”按钮,进入答题界面,如下图所示,上方含有“程序填空题”、“程序修改题”、“程序设计题”三个按钮, 三、开始答题 本次考试共有50套题,每一套题的填空、改错和编程题的答案均附在后面。学生进入上述考试界面后,首先点击程序设计题,根据程序设计题从而明白是哪一套题的组合,然后开始正式答题。过程如下: 1.程序填空题 单击考试界面中的“程序填空题”按钮后,题目显示区将显示出题目对应的文字叙述信息。通过文字叙述可以了解到该题目的考试内容。然后单击左上角“答题”菜单中的“启动Microsoft Visual C++”菜单项进入“Visual C++ 6.0”系统环境界面,如下图所示。 进入系统环境后,执行左上角的“文件|打开”命令,系统弱出“打开”对话框,选择“blank1.c”程序文件,

点击左下角的“打开”按钮,如图4所示。 图4 打开“blank1.c”程序文件后,开始填空。填空方法如下: (1)在程序中找到“******** found *******”标识位置。 (2)把“found ”标识位置下面的需要填空的“占位符”删除(需要连横线一起删除),将程序的答案写在对应位置。例如下图所示。 原“blank1.c ”程序图: 打开

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

C语言程序设计考试题库

一、判断题 1、所谓常量,就是在程序运行过程中其值可以改变的量。() 2、一个C程序可以由多个源程序文件构成,但其中只能有一个main()函数。() 3、在C语言中do-while 语句和for循环均是先执行循环体语句,再判断表达式。() 4、在函数调用中将变量的地址作为实参传递给对应形参时,实现的是单向的值传递。() 5、C语言中所有字符串都是以‘\0’结束的。() 6、do-while构成的循环语句中的循环体最少执行1次。() 7、数组名在C语言中表示的是数组的首地址。() 8、使用gets()函数输入字符串时可以在字符串中输入空格。() 9、算术运算符中‘/’的优先级高于‘%’。() 10、char a[5];该语句表明数组a中的第五个元素为a[5]。() 11、C语言源程序文件的扩展名均为.c。() 12、char a[5];数组a中有a[1]、a[2]、a[3]、a[4]、a[5]共5个元素。() 13、C语言程序区分大小写,字符常量必须定义为大写。() 14、若int i=10,j=2;则执行i*=j+8;后i的值为28。() 15、若int x=100,y=200;则语句printf("%d",(x,y));输出结果为100。() 16、c语言中的标识符只能由字母,数字和下划线三种字符组成。() 17、函数getchar()的作用是:输出一个字符。() 18、一个C语言程序总是从第一个函数开始执行。() 19、在c语言中,char型数据在内存中是以ASCII码形式存储的。() 20、在C语言中switch语句必须使用break语句。() 二、选择题 1、以下说法正确的是()。 A、C语言程序总是从第一个函数开始执行。 B、C语言程序中要调用的函数必须在main()函数中定义。 C、C语言程序总是从main()函数开始执行。

石油大学C语言在线考试附答案

《C语言》综合复习资料 一、单选题 1. C语言中基本数据类型有( ) A)整型、实型、逻辑型B)整型、字符型、逻辑型 C)整型、实型、字符型D)整型、实型、字符型、逻辑型 2. 在C语言中,数字029是一个( ) A)八进制数B)十进制数C)十六进制数D)非法数 3. 在以下关于C语言的不严格的叙述中,错误的说法是( ) A)在标识符中,大写字母和小些字母的意义相同 B)有些不同类型的变量可以在一个表达式中运算 C)在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型 D)同一个运算符号在不同的场合可以有不同的含义 4. 已知int a=4,b=5; ,这执行表达式a=a>b 后,变量a的值为( ) A)0 B)1 C) 4 D) 5 5. 设有定义int a=3,b=4,c=5; ,则以下表达式中,值为0的表达式是( ) A)a&&b B)a<=b C)a||b+c&&b-c D)!((a

C语言程序设计复习题

《C语言程序设计》复习题 一、判断题(本大题共60个小题) 1.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。 2.定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。 3.注释内容太多会影响程序的执行效率。 4.变量要“先定义,后使用”。 5.字符常量'a'与字符串常量"a"没有区别。 6.数学公式y=-6xz+5[2(a-5)+3]写成C语言表达式是y=-6*x*z+5*[2*(a-5)+3]。 7.数学公式y=|x|+ab-c写成C语言表达式是y=fabs(x)+a*b-c。 8.表达式5/2+5.0/2+7%6 的值为5.5。 9.设int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/2*(int)(a+c)/2)%4 的值为:4.5。 10.设int a=12; 则表达式a/=a+a的值是0.5。 11.在C语言中,运算符!比&&的优先级高。 12.在C语言中,运算符的优先级最小的是逗号运算符。 13.scanf("%d,%d",&x,&y);的输入格式:3,4<回车>。 14.以下程序运行结果是:1,7,0 void main() { int x=1,y=1,z=10; if(z< 0) if(y> 0) x=3; else x=5; printf(" %d," ,x); if(z=y< 0) x=3; else if(y==0) x=5; else x=7; printf(" %d,%d" ,x,z); } 15.该程序运行结果是:BCother void main()

{ char x=‘B’; switch(x) { case ‘A’: printf(“A”); case ‘B’: printf(“B”); case ‘C’: printf(“C”); default: printf(“other”); } } 16.下面程序段运行时输出结果是a=2,b=8 void main() { int x=1,y=1,a=2,b=7; switch(x) { case 1: switch(y) { case 0: a++;break; case 1: b++;break; } case 2: a++;b++;break; case 3: a++;b++; } printf("a=%d,b=%d\n",a,b); } 17.下面程序,当输入为:"abc?" 时,执行结果是:abc void main() { char c; c=getchar(); while (c!='?' ) { putchar(c); c=getchar();} }

C语言教学网站及网上考试系统的设计与实现

毕业设计(论文)说明书 题目:C语言教学网站及网上考试系统的 设计与实现

毕业设计(论文)中文摘要

毕业设计(论文)外文摘要

目录 1. 引言 (1) 1.1 课题研究背景与意义 (1) 1.1.1 网上教学系统 (1) 1.1.2 网上考试系统 (1) 1.2 问题定义内容简介 (1) 1.2.1 问题定义 (1) 1.2.2 内容简介 (2) 1.3 课题调研与可行性分析 (2) 1.3.1课题调研 (2) 1.3.2 可行性分析 (2) 1.4 论文各章内容介绍 (3) 2. 系统的需求分析 (4) 2.1系统功能需求 (4) 2.2 业务流和数据流图 (4) 2.2.1业务流 (4) 2.2.2数据流图 (5) 2.3 数据字典 (6) 2.3.1 数据流分量 (6) 2.3.2 数据流 (8) 2.3.3 数据存储 (8) 2.3.4 数据处理 (8) 3. 系统设计 (10) 3.1系统总体系结构设计 (10) 3.2 系统数据模型设计 (11) 3.2.1 数据概念结构设计——E-R图 (11) 3.2.2 数据库逻辑结构设计(关系模型) (13) 3.2.3 数据表 (14) 3.3 系统开发与运行环境确定 (16) 3.3.1 开发工具的确定 (16) 3.3.2 运行环境 (17) 3.3.3系统实现的若干关键技术 (17) 4. 用户管理模块设计 (19) 4.1用户管理模块的体系结构设计 (19) 4.1.1 用户管理模块功能简介 (19) 4.1.2 用户管理模块功能图 (19) 4.2 用户管理模块的详细设计 (19) 4.2.1 用户登录和注册界面设计 (19) 4.2.2 用户登录 (20) 4.2.3 用户注册 (21) 4.2.4 用户及其权限管理 (23)

C语言程序设计模拟试题1

C语言程序设计模拟试题. 一、填空题. 1. C语言程序的三种基本结构是顺序结构,选择结构,循环结构。 2.if语句控制表达式只有其值为非0表示逻辑值“真”,其值为0表示逻辑值“假”。 3.说明语句:int b[10]; 定义了数组b有10个整型元素,这些数组元素的下标是从0开始,最大为9。 4. 有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]=0,a[2][1]=6. 5. 设x,y,z均为int 型变量,C语言描述”x或y中有一个小于z”的表达式是x

8. 在C语言中,十进制数30的八进制表示形式是036 ,十六进制表示形式是0x1e 9. C程序是由函数组成的。一个C程序由一个main()函数和若干个子函数构成。函数的构成可分为两部分:函数说明(或函数头) 和函数体。 10.标识符是指程序中的符号常量、变量、函数等对象的名称。在C语言中,标识符只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。 11.在C语言中整型常量有十进制、八进制和十进制三种表示方法。实型常量有小数形式和指数两种表示方法。 12.C语言中语句的作用是向计算机系统发出操作命令,从而完成一定的操作任务。C语句可以分为:表达式语句、函数调用语句、控制语句、复合语句和空语句等五种类型。 二、单项选择题) 1.一个C语言的执行是从 A (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的 最后一个函数结束

相关主题
文本预览
相关文档 最新文档