文档库 最新最全的文档下载
当前位置:文档库 › C语言4卷

C语言4卷

C语言4卷
C语言4卷

一、单项选择题。从A、B、C、D四个选项中,选择一个最佳答案填入括号内( 每题

1分,共30分)。

1.以下选项中不合法的C语言标识符是()。

A)_123 B)a_b C)A$ D)Dim

2.一个C程序的执行是从()。

A)本程序的main函数开始,到main函数结束

B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C)本程序的main函数开始,到本程序文件的最后一个函数结束

D)本程序文件的第一个函数开始,到main函数结束

3.以下选项中正确的整型常量是()。

A)'12' B)-20 C)1,000 D)"456"

4.C语言中运算对象必须是整型的运算符是()。

A) % B) / C)! D)*

5.字符串"a\\abcd\101b"的长度是()。

A)8 B) 9 C)11 D)12

6.设int x=15,y;y=x>10?100:200;,则y的值为()。

A) 0 B) 1 C)100 D)200

7.以下程序运行后的输出结果是()。

main()

{ int m=0256, n=256;

printf("%o %o\n", m, n);

}

A)0256 0400 B)0256 256 C)256 400 D)400 400 8.若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是()。A)a=a+b;b=a-b;a=a-b; B)t=a; a=b; b=t;

C)a=t; t=b; b=a; D)t=b; b=a; a=t;

9.设有int a,b;,则语句:printf("%d",(a=2)&&(b=-2));的输出结果是()。

A)无输出 B)结果不确定 C)-1 D)1

10.以下程序的输出结果是()。

main()

{ int i=1,sum=0;

while (i<6)

{sum=sum+i;

i++;

}

printf("%d\n",sum);

}

A) 13 B) 14 C)15 D)16

11.以下程序的输出结果是()。

main()

{ int a=2,b=-1,c=2;

if(a

if(b<0) c=0;

else c=c+1;

printf("%d\n",c);

}

第 1 页共7 页

A)0 B)1 C)2 D)3

12.有以下程序段

int k=0;

while(k=1)

k++;

while循环执行的次数是()。

A)无限次 B)有语法错,不能执行

C)一次也不执行 D)执行1次

13.break语句的作用的说法中正确的是()。

A) 无论在任何情况下,都中断程序的执行,退出到系统下一层

B) 在多重循环中,只能退出最靠近的那一层循环语句

C) 跳出多重循环

D) 只能修改控制变量

14.以下定义语句中,错误的是()。

A)int a[ ]={1,2}; B)char a[3];

C)char s[10]= "test"; D)int n=5,a[n];

15.假设一个基本整型所占空间按2个字节计算,有以下定义语句int a[10]={1,2,3};,则数组a在内存中所占的字节数是()。

A)3 B)6 C)10 D)20

16.以下不能正确进行字符串赋初值的语句是()。

A)char str[5]= "good!"; B)char str[ ]="good!";

C)char str[6]= "good!"; D)char str[6]={'g','o','o', 'd', '! '};

17.若有说明:int a[3][4];,则对a数组元素的非法引用是()。

A)a[0][2*1] B)a[1][3] C)a[4-2][0] D) a[0][4]

18.若有说明:int a[3][4]={0};,则下列正确的叙述是()。

A)只有元素a[0][0]可得到初值0

B)此说明语句不正确

C)数组a中各元素都可得到初值,但其值不一定为0

D)数组a中每个元素均可得到初值0

19.若用一维数组名作为调用函数时的实参,则传递给形参的是()。

A)数组首元素的值

B)数组的首地址

C) 数组元素的个数

D) 数组中所有元素值之和

20.设有宏定义#define S(a,b) 2*a+b,则下面程序段的运行结果是()。

int a=2,b=1,h=1;

printf("%d\n",a*S(b,h));

A) 11 B) 7 C) 10 D) 5

21.要使函数体内某局部变量能保留函数前一次调用后的值,供下一次调用时继续使用,则该变量的存储方式应该用关键字()来声明。

A) auto B) extern C) register D) static

22.在C程序中有语句:char *func(int x,int y);,它是()。

A)函数func的定义 B)函数func的调用

C)函数func的原型说明 D)不合法的

23.以下叙述中不正确的是()。

A)在不同的函数中可以使用相同名字的变量

第 2 页共7 页

B)函数中的形式参数是局部变量

C)在一个函数内的复合语句中定义变量在整个该函数范围内都有效

D)在一个函数内定义的变量只在本函数范围内有效

24. 若有说明:int (*p)[3];,则标识符p()。

A)定义不合法

B)是一个指针数组名,每个元素是一个指向整型变量的指针

C)是一个指针,它指向一个具有三个元素的一维数组

D)是一个指向整型变量的指针

25. 执行下列程序段后,*(p+5)的值是()。

static char s[ ]= "Hello";

char *p; p=s;

A)'o'B)'\0'C)'o'的地址D)不确定的值26.以下程序的输出结果是()。

#include "stdio.h"

main()

{static int a[]={1, 2, 3, 4, 5, 6}, *p;

p=a;

*(p+3)+=2;

printf("%d,%d\n", *p, *(p+3));

}

A)0,5 B)1,5 C)0,6 D)1,6

27.若有如下定义,则对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

28.假设运行环境为turbo C 2.0,若有说明:

union

{int i;

char c;

float a;

}ex;

则sizeof(ex)的值是()。

A)4 B)5 C)6 D)7

29.以下运算符优先级最高的是()。

A)∧ B)&& C)| D)~

30.若要用fopen函数打开一个已存在的二进制文件,且该文件要既能读又能写,则使用文件方式的字符串应是()。

A) "rb+" B) "wb" C) "rb" D) "ab"

二、填空题(每空2分,共20分)。

1. C程序可以分为三种基本结构,即顺序结构、选择结构、结构。

2.设有int a;,则逗号表达式a=3*5, a++的值是。

3. 设有int x,y; scanf("%d%d", &x, &y);,在输入数据给x和y时,分隔符可以是空格、

_________键和Tab键。

第 3 页共7 页

4.有算术式a>b>c,请写出它的C语言表达式。

5.设有定义:int a[3][4]={{1, 2}, {0}, {4, 6, 8, 10}};,则初始化后,数组元素a[1][2]得到的初始值是。

6.C语言函数的调用有函数表达式、函数语句和三种形式。

7.指针变量的加减运算只能对指向的指针变量进行。

8.设有定义:

enum team{my, your=4, his, her=his+10};

则printf("%d,%d,%d,%d\n", my, your, his, her);的输出结果是。

9.有以下程序

main()

{ unsigned char a, b, c;

a=0x3;b=a|0x8;c=b<<1;

printf("%d, %d\n", b, c);

}

程序运行后的输出结果是。

10.C语言中用来定义文件类型指针的标识符是。

三、阅读程序,写出程序运行结果(每题4分,共20分)。

1.#include

main()

{int x=1, a=0, b=0;

switch(x)

{case 0:b++;

case 1:a++;

case 2:a++;b++;

}

printf("a=%d,b=%d\n", a, b);

}

程序的运行结果是

2.#include

main()

{ int i, j, row, col, min;

int arr[3][3]={{100, 200, 300}, {28, 72, -30}, {-850, 2, 6}};

min=arr[0][0];

for(i=0;i<3;i++)

for(j=0;j<3;j++)

if(arr[i][j]

{ min=arr[i][j];

row=i;

col=j;

}

printf("%d, %d, %d\n", min, row, col);

}

程序的运行结果是。

3.#include

#include

第 4 页共7 页

void reverse(char str[], int n)

{int i,j;

char ch;

for(i=0, j=n-1;i<=j;i++, j--)

{ch=str[i];

str[i]=str[j];

str[j]=ch;}

}

main()

{char str[80];

int n;

printf("Please input string(long<80): ");

gets(str);

reverse(str, strlen(str));

puts(str);

}

程序运行后,如果从键盘上输入How are you!

则运行结果是。4.#include

main()

{int *p, a=10, b=1;

p=&a;a=*p+b;

printf("%d",a);

}

程序的运行结果是。

5.#include

struct stru

{int x;

char ch;

};

main()

{struct stru b={10, 'x'};

printf("%d,%c\n", b.x, b.ch);

}

程序的运行结果是。

四、程序改错题(共2题5处错误,每正确修改一处错误得2分,共10分)。

注意:不要增行或删行,修改指定行的错误,使它能够得出正确的结果。要求写出改正后

这一行正确的完整语句。

1.下面程序的功能是:从键盘输入一个数,判断这个数是否是素数。其中有2处错误,

请改正。

main()

{int i, n;

printf("请输入一个大于1的正整数:");

scanf("%d", n); /*1)该行有错误*/

for (i=2;i

第 5 页共7 页

if(n%i==0) continue; /*2)该行有错误*/

if(i>=n)

printf("%d是素数\n", n);

else

printf("%d不是素数\n", n);

}

2.以下程序的功能是输出字符串"abcdeedcba",其中有3处错误,请改正。

#include

#include

main()

{char *ptr1, ptr2; /*1)该行有错误*/

ptr1=ptr2="abcde";

while(*ptr2!= '\0')

putchar(*ptr2++);

while(--ptr2>ptr1) /*2)该行有错误*/

putchar(*ptr2);

putchar('\n') /*3)该行有错误*/

}

五、程序设计题(共20分)。

1.编程:要求在程序运行时,从键盘输入a,b,c三个整数,输出其中最大值。(6分)2.编写一程序,实现求3╳3方阵的转置矩阵(即行列互换),要求在程序运行时输入数据,最后输出程序的结果。(7分)3. 写一个函数,求两个正整数的最大公约数,用主函数调用这个函数,并输出结果,两

个正整数在程序运行时由键盘输入。(7分)

第 6 页共7 页

第7 页共7 页

c语言期末测试题附答案

c语言期末测试题附答 案 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

课程代码:A100002 座位号: 《计算机技术基础(C 语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年 月 日 第一 部分 选择题(共 30 分) 一、单项选择题(本大题共 15 小题,每题只有一个正确答 案,答对一题得 2 分,共 30 分) 1、以下关于C 语言标识符的描述中,正确的是 【 】。 A )标 识符可以由汉字组成 B )标识符只能以字母开头 C )关键字可以作为用户标识符 D )Area 与area 是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【 】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d \n”,i,j,k); 3、判断char 类型的变量c1是否为数字字符的正确表达式为 【 】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是 【 】。 A )’a’&&’b’ B )a<=b C )((a>b)||(b0;i--);后,变量i 的值为 【 】。 A )10 B )9 C )0 D )1 8、若有int *p1, *p2,k; 不正确的语句是 【 】 A. p1=&k B. p2=p1 C. *p1=k+12 D. k=p1+p2 9、在函数中未指定存储类别的局部变量,其隐含的存储类别是 【 】

用C语言实现一个简单的学生成绩管理系统

目录 1 引言 (1) 2 系统需求分析 (1) 2.1项目背景分析 (1) 2.2 系统开发的目标与意义 (1) 2.3 项目需求分析 (1) 3 系统总体设计 (1) 3.1 功能模块分析 (1) 3.2 系统功能模块初始化准备 (3) 3.2.1 编译预处理 (3) 3.2.2 数据结构定义 (3) 3.3 具体模块处理函数的实现 (4) 3.3.1 菜单函数界面的设计 (4) 3.3.2 功能函数设计 (4) 4 系统测试与分析 (9) 4.1 运行工具介绍 (9) 4.2 系统操作 (9) 结束语 (10) 参考文献 (10)

用C语言实现一个简单的学生成绩管理系统 摘要:伴随着现代社会的发展,网络技术的不断进步,越来越多的管理工作都从传统的现实社会中发展到了网络上。高校是使用计算机技术最早的单位,学校的各项管理工作也从现实生活走上了网络空间。本文对学校的需求进行分析,通过使用C语言设计并实现学生成绩的管理,力求尽量简洁实用地解决学校对学生成绩的管理和学生对成绩的查询问题。 关键字:C语言成绩管理系统程序设计 1 引言 在信息时代,计算机以其极高的运算速度、巨大的数据存储容量,以及能准确地进行各种算术运算和逻辑运算的能力而成为现代化计算工具,并被广泛应用于社会各个领域。计算机技术的高速发展已被认为是人类进入信息时代的标志。成绩管理系统是计算机技术和信息时代的产物,是信息处理或数据处理的核心。该系统开发的总体任务是实现学生成绩管理的系统化、规范化、自动化,以达到提高学生成绩管理效率的目的。通过运用程序设计软件实现学生成绩管理中的多种功能,如学生成绩信息的添加、删除、查询、修改、显示、排序等。该系统的设计充分利用计算机作为辅助工具,来实现学生考试成绩从传统的手工管理到计算机管理,并对提高管理效率和节约大量的人力、物力有一定的推动作用。因此,开发这种管理软件很必要,本文将在分析系统的应用价值以及开发工具的基础上,用C语言来开发成绩管理系统。 2 系统需求分析 2.1项目背景分析 在我国,各大中小学校的各类信息管理系统并非一个新的课题,但也有的学校根本就没有任何信息管理系统,特别是在西部贫困地区,学校的各类管理依然由手工操作来完成,这十分落后,效率极低,成本很大,而且极异出错。随着社会的发展,信息化是社会进程的必然趋势,学校管理只有快,准,精才能发挥其价值。 2.2 系统开发的目标与意义 (1)系统开发目标:本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥充分发挥其作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标: ①系统应具有实用性、可靠性和适用性。 ②对系统中数据库的信息进行有效处理,防止数据错乱。 ②能够按照用户选择的不同的条件进行简单查询。 ③方便用户的操作,尽量减少用户的操作。 (2)系统开发的意义:在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力财力。提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。 2.3 项目需求分析 学校工作流程分析:学校工作总体规划由教务人员在学生成绩管理系统中输入学生的基本信息并对其进行维护管理,包括对信息的增加、修改及对信息的各项处理操作等。 新的学年,教务人员首先编排班级,再对在校学生进行基本的信息录入,新生入学后由教务人员在管理系统中完成新学生信息的维护。在每个学期开始,教务处根据班级的情况,以班为单位,为每个班级安排一个班主任,并对各科老师进行安排。每举行一次考试后由任课老师对成绩进行录入。班主任对本班的成绩汇总。并进行排名,并对本年级各科成绩及总成绩进行排名。教务处、班主任及任课老师跟据实际情况对录入的成绩进行维护管理,各位同学对以上录入的信息可以跟据自己的需要进行适当的查询。 3 系统总体设计 3.1 功能模块分析 学生成绩管理系统是对学生基本信息及成绩的管理。开发工具主要采用TurboC2.0,主要用于对学生的学

c语言课程设计成绩记录簿

合肥学院 计算机科学与技术系 课程设计报告 2012~2013学年第二学期 课程面向过程综合设计 课程设计名称C语言成绩簿 学生姓名 学号 专业班级 指导教师 2013年6月

第一章需求分析 1.1 任务要求: 编制一个C语言成绩记录簿,每个学生信息包括:学号、姓名、C语言成绩。具体功能:(1)创建信息链表并以磁盘文件保存; (2)读取磁盘文件并显示输出所有学生的成绩; (3)按学号或姓名查询成绩; (4)添加成绩记录; (5)修改指定姓名或学号的学生的成绩并可存盘; (6)显示输出60分以下、60~79、80~89、90分以上各分数段的学生信息(可选项)。 1.2任务问题: 如何运用我们已学的c语言知识完成要求?如何制作相应界面?switch的应用该如何实现?如何完成相应的数组或链表的实现与应用?怎样进行相应的文件的读写? 1.3任务的解决步骤: 步骤: 1.建立一个主界面。 2.用switch语句进行分类讨论。 3.分别进入录入,查询,修改,学生分数段统计等子函数。 4.将子函数与主函数相连即可。

第二章算法设计 1、设计思想 2.1 程序结构(流程图)

2.2 重要的数据结构

2.3主要算法思想(文字描述) 本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是链表的相关操作,包括结构体链表的创建、输入、输出、查找、修改等。我设计的这个通讯录系统也初步实现了人员信息的显示、修改、查找、等必要的功能,并通过子函数与主函数相连来完成相应的功能。 2.设计表示 int Student_Insert( ); (添加学生成绩) void edit( ); (修改) void Student_Search( );(查找) void WriteFile( ); (写入文件) void ReadFile( ); (读取文件) void Student_Select( );(分数段选择) void PrintMark( );(打印学生分数) void NameChange( );(按姓名修改) void NumberChange( );(按学号修改) 3.实现注释 除了没有用链表进行实验的缺点外,基本可以实现任务要求,界面简洁,程序简单,易操作。 4.算法设计中一些新的想法: 本程序主要包含了结构体与动态变量的相关知识; 其中也多次用到了循环和判断结构; 本程序还可以通过子函数实现删除,排序等操作。用链表,指针也可以实现相应的任务要求。

C语言期末考试题(含答案)

《C 语言程序设计》期末试卷 一、单项选择题(10x2’=20’) 1、以下叙述正确的是() A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个C 语言的源程序中() A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是() A )scanf B )Void C )_3com D )int 4、若以下选项中的变量已正确定义,则正确的赋值语句是() A )x1=26.8%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:floata=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(2 1 的计算结果不.相符的是() A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是() A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue 7.在while (!x )语句中的!x 与下面条件表达式等价的是() A)x!=0B)x==1C)x!=1D)x==0

8、有以下程序: #include voidmain(){ inti=1,j=1,k=2; if((j++||k++)&&i++) printf(“%d,%d,%d\n”,i,j,k);} 执行后的输出结果是() A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3 9、有以下程序: #include voidmain(){ inti,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n”,s);} 程序执行后的输出结果是() A)自然数1~9的累加和B)自然数1~10的累加和 C)自然数1~9中奇数之和D)自然数1~10中偶数之和 10、有以下函数定义: voidfun(intn,doublex){……} 若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()A)fun(inty,doublem); B)k=fun(10,12.5); C)fun(x,n);D)voidfun(n,x); 二、填空题(10x2’=20’) 11、C语言描述“x和y都大于或等于z”的表达式是:。 12、函数定义时涉及的基本要素是:、、。

c语言教务管理系统

c语言教务管理系统-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

#include"stdio.h" #include"stdlib.h" #include"conio.h" #include"string.h" #include"windows.h" //登陆界面函数 void load(); void background1(); void choice1(); void fanhui1(); void denglu(); void zhuce(); int chazhao(); //目录界面函数 void mulu(); void background(); void choice(); void add(); void xiugai(); void shanchu(); void del(); void chaxun(); void paixu(); void tongji(); void output(); void finish(); void fanhui2(); void shuchu(); int zongren(); int chr(); int enr(); int mar(); void back(); float chinese(); float english(); float math(); float zongmax(); //登陆界面结构体struct self { char a[10]; char b[10]; int flg; }s[100]={{"admin","admin",1},{"1","1",1}};

C语言课程设计报告范例

学院C语言课程设计报告 课程名称: C语言课程设计课程编号: 报告题目 学生姓名学号 专业任课教师 成绩评阅日期

C语言课程设计报告 一、 C语言课程设计的目的 C语言的教学是学生根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。具体来说: 1.进一步掌握和利用C语言进行程设计的能力; 2、进一步理解和运用结构化程设计的思想和方法; 3、初步掌握开发一个小型实用系统的基本方法; 4、学会调试一个较长程序的基本方法; 5、学会利用流程图或N-S图表示算法; 6、掌握书写程设计开发文档的能力(书写课程设计报告); 二、课程设计报告正文 (1)课程设计题目的原文; 假定民航机场共有n个航班:航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。试设计一民航订票系统,使之能提供下列服务: 航班信息录入功能(文件保存) 完成航班信息浏览功能; 查询航线(至少一种查询方式)。 (2)题目的分析(需求分析); 任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中) 浏览:航班信息浏览功能需要提供显示操作; 查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外 要提供键盘式选择菜单以实现功能选择。 要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。

可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、 预售票总数、已售票数。 (3)整体设计与模块划分; 根据需求分析,该程序可分为以下四大模块: (4)代码设计; 包括——各功能模块的流程图;重要模块中关键部分的代码分析;关键函数的算法设计和分析;等等; A.主函数 (1)分析:主函数的功能比较简单,形式比较简洁,主要功能为:在系统中没有程序所要的文件时,为程序建立一个所许的文件;调用菜单函数。程序中的各模块都要用到同一个文件,如果该文件不存在,则该程序就无法正常运行,增加第一个功能就是保证文件的可用切可打开!本来只要在主函数里调用各功能模块就行了,但是为了让程序能够方便的回到主函数里,所以就建立了一个菜单函数。 菜单函数的功能是替主函数调用个功能模块函数,因而设计的基本思路很简单,即:用一个输入来接受用户的选择,加以个循环来让输入错误的用户继续输入,直到输入正确为止;用一个switch语句来选择用户所要用到的函数。 (2)程序: void menu() { int n,w; do {

C语言程序设计学生成绩管理系统实验报告

计算机学院 C语言程序设计报告书设计名称:学生成绩管理系统 专业:软件工程 指导老师: 班级: 姓名: 学号: 座号: 2011-6-15

一、实验目的 1.在编辑应用程序过程中,逐步加深对C语言编程的理解; 2.加强实践的能力,动手能力,同时进一步对所学的知识 进行巩固; 3.培养初步编程的能力,为以后的学习奠定基础。 二、实验内容 运用所学的C语言知识编辑一个应用程序:学习成绩管理系统 三.系统软件环境: 本程序主要运行在:Visual C++ 6.0 Turbo C/C++ 3.0 四.课程设计题目: 学生成绩管理系统 程序说明:有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能: (1)主菜单

(2)各菜单项功能 ①成绩录入:输入学生的学号、姓名及三门课的成绩; ②成绩查询: *按学号查询学生记录。 ③成绩统计: *计算学生的平均分; *根据学生的平均分高低,对学生的数据进行排序后输出; ④退出系统:退出整个系统(即主菜单) 。 五.数据结构设计描述: ↓ ↓

六.各变量的定义和作用 int num; /*定义学号,变量为整型*/ char name; /*定义姓名,变量为字符型*/ int score; /*定义课程的成绩,变量为整型*/ float average; /*定义平均分,变量为浮点型*/ 七.系统各函数的功能,、相互调用关系 1.函数实现功能说明: (1)menu函数 是定义一个菜单函数,其功能在于输出菜单界面供使用者选择。 (2)input函数 是定义用于输入学生信息。 (3)select 函数 是定义用于查询学生信息。包括学号、姓名及各科成绩。(4)statistics 函数 计算学生的平均分。 根据学生的平均分高低,对学生的数据进行排序输出。2.相互调用关系: Main函数调用menu函数。 Menu 函数可以调用input 函数、select函数和statistics函数八.心得体会

C语言期末试卷

一、单项选择题 1. C语言源程序文件经过C编译程序编译连接之后生成一个后缀为__C____的文件。 A、”.c” B、“.obj” C、“.exe” D、“.bas” 2. 以下选项中不正确的整型常量是_C____。 A、12L B、-10 C、1,900 D、123U 3. 表达式___C___的值是0。 A、3%5 B、3/5.0 C、3/5 D、3<5 4. 表达式!(x>0||y>0) 等价于__D___。 A、!x>0||!y>0 B、!(x>0)||!(y>0) C、!x>0&&!y>0 D、!(x>0)&&!(y>0) 5. 若变量已正确定义并赋值,表达式__D____不符合C语言语法。 A、4&&3 B、+a C、a=b=5 D、int(3.14) 6. 若变量已正确定义,执行语句scanf("%d%d%d ",&k1,&k2,&k3);时,___B___是正确的输入。 A、2030,40 B、20 30 40 C、20, 30 40 D、20, 30,40 7. 执行语句printf(”__D____”, 2); 将得到出错信息。 A、%d B、%o C、%x D、%f 8. 设变量定义为“int s[ ]="hello\nworld\n";”,则数组s中有__B____个元素。 A、12 B、13 C、14 D、15 9. 设变量定义为“int a[2]={1,3}, *p=&a[0]+1;”,则*p的值是___B__。 A、2 B、3 C、4 D、&a[0]+1 10. 若变量已正确定义并赋值,表达式-k++ 等价于__A____。 A、-(k++) B、(-k)++ C、-(k+1) D、-(++k) 11. 在C 语言程序中,在函数内部定义的变量称为__D____。 A、全局变量 B、全程变量 C、外部变量 D、内部变量 12. 若x是整型变量,表达式(x=10.0/4.0) 的值是__D___ 。 A、2.5 B、2.0 C、3 D、2 13. 对于以下的变量定义,表达式__A____是正确的。 struct node { char s[10]; int k; } p[4]; A、p->k=2 B、p[0].s=“abc” C、p[0]->k=2 D、p->s=‘a’ 14. 下列运算符中,优先级从高到低依次为__D___。 A、&&,!,|| B、||,&&,! C、&&,||,! D、!,&&,|| 15. 下列程序段的输出结果是__B___。 int *p, *q, k = 1, j=10 ; p=&j; q = &k ; p = q ; (*p)++; printf("%d",*q); A、1 B、2 C、10 D、11 16.以下各选项企图说明一种新的类型名,其中正确的是水量(C) A) typedef v1 int; B) typedef v2=int; C) typedefv1 int v3; D) typedef v4: int; 17. 以下选项中,非法的字符常量是(C) A) ‘\t’B) ‘\17’C)“n”D) ‘\xaa’

c语言教务管理系统

#include"stdio.h" #include"stdlib.h" #include"conio.h" #include"string.h" #include"windows.h" //登陆界面函数void load(); void background1(); void choice1(); void fanhui1(); void denglu(); void zhuce(); int chazhao(); //目录界面函数void mulu(); void background(); void choice(); void add(); void xiugai(); void shanchu(); void del(); void chaxun(); void paixu(); void tongji(); void output(); void finish(); void fanhui2(); void shuchu(); int zongren(); int chr(); int enr(); int mar(); void back(); float chinese(); float english(); float math(); float zongmax(); //登陆界面结构体struct self { char a[10]; char b[10]; int flg; }s[100]={{"admin","admin",1},{"1","1",1}};

//目录界面结构体 struct student { char num[10]; char name[10]; float chinese; float english; float math; float sum; int a; }stu[5]={{"1100","小明",12,18,20,50,1},{"1101","小样",20,80,60,160,1}}; //登陆界面 void main() { load(); } void load() { background1(); choice1(); } void background1() { puts(" "); puts(" "); printf(" ********************************************\n"); printf(" 欢迎登录学生管理系统"); puts(" "); printf(" ********************************************\n"); printf(" 1.登录 2.注册\n "); printf(" 请选择:"); } void choice1() { int a; scanf("%d",&a); fflush(stdin); switch(a) { case 1:denglu();break; case 2:zhuce();break; default:fanhui1();break; } }

C语言课程设计报告电子生词库软件

程序设计基础实训任务书 题目:电子生词库软件 学生姓名:学号:班级: 题目类型:软件工程(R)指导教师: 一、设计目的 1.进一步掌握和利用C语言进行程序设计的能力; 2.进一步理解和运用结构化程序设计的思想和方法; 3.初步掌握开发一个小型实用系统的基本方法; 4.学会调试一个较长程序的基本方法; 5.学会利用流程图或N-S图表示算法; 6.掌握书写实训开发文档的能力(书写实训报告); 二、设计任务及内容 根据需要,建立属于自己的生词库,这样使用起来很方便。生词选自本人经常需要的单词,对于英文单词,给出中文含义,对于中文单词给出英文含义。功能要求: (1)创建生词库。用文件建立一个单词库,中英文单词均有,对于英文单词,给出中文含义,对于中文单词给出英文含义。 (2)显示词库。显示所有单词和单词数、所有中文单词和单词数、所有英文单词和单词数,显示英文单词时按字母从小到大顺序排列。

(3)编辑词库。首先确认密码后允许添加新词、删除旧词和修改旧词。 (4)查找生词。显示所要查找的单词其及含义 主菜单和子菜单能够循环出现,每一项菜单执行之后,询问用户是否继续进行。从子菜单可以返回主菜单。 三、设计要求 1.用C语言实现系统; 2.系统具有统计、查询、排序等基本功能; 3.系统的各个功能模块要求用函数的形式实现; 4.文档:实训说明书每个学生一份,并装在统一的资料盒中; 5.光盘:每个学生文档和程序资料分别建在一个以自己学号和姓名命名的文件夹下,并要求每班负责人汇总每个学生的文件放在以班级姓名命名的文件夹下,刻录成一张光盘,放在一个专门的资料袋中。 四、提交的成果 1. 设计任务书一份(学校统一格式) 2. 设计说明书一份,内容包括: 1) 中文摘要100字,关键词3-5个。 2) 实训题目、内容、要求。 3)总体设计(包含几大功能模块)。 4)详细设计(各功能模块的具体实现算法——流程图) 5)数据结构设计描述,各模块(函数)的功能介绍,参数说明等。

c语言学生成绩管理系统含源代码

C 语言程序设计作业 一设计项目:学生成绩管理系统 二总体设计: 2:模块功能说明: 1 输入功能:输入学生姓名学号及成绩。 2 查看功能:输出姓名学号及各科成绩。 3 查询功能:通过学号查询学生姓名及各科成绩。 4 统计功能:统计班级学生及格率,优秀率,各个学生成绩方差等。 5 修改功能:通过输入学号修改指定学生的错误信息。 6添加功能:添加学生信息。 7删除功能:通过输入学号输入指定学生信息。 8保存功能:将学生信息保存。 9 退出系统。 3:主要函数之间的调用关系及各自功能: 主要函数的函数原型 void inputscore(void); void savescore(void); void avergescore(void); void modifyscore(void); void lookscore(void); void searchscore(void); void statistic(void); void add(void); void modify(void);

void delscore(void); void menu(void); i.在菜单界面输入1,调用函数inputscore( )实现输入学生成绩信息功能。ii.在菜单界面2,调用函数lookscore( )实现学生成绩按平均分高低排序输。 出,同时lookscore()函数调用avergescore()函数实现各个学生平均分的计 算。 iii.在菜单界面输入3,调用searchscore()函数实现通过学号查找学生成绩信息功能。 iv.在菜单界面输入4,调用statistic()函数输出班级及格率,优秀率,学生成绩方差,不及格学生名单。 v.在菜单界面输入5,调用modify()函数实现通过学号修改学生成绩的功能vi.在菜单界面输入6,调用add()函数实现添加学生成绩。 vii.在菜单界面输入7,调用delscore()函数实现删除指定学生成绩。 viii.在菜单界面输入8,调用savescore()函数将学生成绩信息保存。 ix.在菜单界面输入9,退出成绩管理系统。

c语言期末复习精彩试题附问题详解

试卷编号:11201 所属语言:C语言 试卷方案:C语言期末考试 试卷总分:100分 共有题型:4种 一、单项选择共30题(共计60分) 第1题(2.0分) 设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( A ). A:k++ B:k+=1 C:++k D:k+1 第2题(2.0分) 已知int i=5,执行语句i+=++i后, i的值是( C). A:10 B:11 C:12 D:A、B、C都不对 第3题(2.0分) 以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. #include void main( ) /* Beginning */ { int r; float s; scanf("%d",&r); s=p*r*r; printf("s=%f\n",s); 出错的原因是(D ). A:注释语句书写位置错误 B:存放圆半径的变量r不应该定义为整型

C:输出语句中格式描述符非法 D:计算圆面积的赋值语句中使用了非法变量 第4题(2.0分) "\\\″ABC\″\\″的长度是( B ). A:11 B:7 C:5 D:3 第5题(2.0分) 已知int j,i=1;,执行语句j=–i++;后,j的值是( C ). A:1 B:2 C:-1 D:-2 第6题(2.0分) 有以下程序: #include void main( ) { int s=0, a=1, n; scanf("%d", &n); do{ s+=1; a=a–2; }while(a!=n); printf("%d\n", s); } 若要使程序的输出值为2,则应该从键盘输入给n的值是( B ). A:-1 B:-3

c语言课程设计_菜单设计

C语言课程设计_菜单设计 调试环境为TC2.0或者3.0。运行这个程序需要tc提供的几个头文件。建议修改options菜单中的include 目录项到tc的include的目录下(具体方法可以参见本书第一章的讲解);或者把源程序拷贝到tc目录下运行。 #include #include #include #include #include /*定义一些常数*/ #define NO 0 #define YES 1 #define NONE -1 #define MAX_MENU 7/*根据情况改变可以在菜单显示的最大项*/ /*全局参数*/ int X,Y; int Selection; int button,x,y; void *p; size_t area; /*菜单结构*/ struct MENU { /*左上角*/ int x; int y; /*右下角*/ int x1; int y1; unsigned char Active[MAX_MENU];/* 菜单项是否激活的标志*/ char *head;/* 菜单的名字(可选项)*/ }; int MouseOn(struct MENU *t); void Process(); void Xorbar(int sx,int sy,int ex,int ey,int c); void Show(); void Hide(); void Status(); /* 通过下面的参数用户可以改变按钮的位置。*/ struct MENU File={200,110,250,130}; struct MENU Edit={295,110,345,130}; struct MENU Help={390,110,440,130}; struct MENU Close={600,10,620,30}; struct MENU Neeraj={380,300,460,315}; void main() { int gd = DETECT,gm;

C语言期末试卷6

C程序设计期末考试试卷F-A (本试卷共9 页,命题日期:200 年月日) 一、选择填空(每空2分) 1.设int a,b;则表达式a=2,b=++a*2的值为【1】。 A)6 B) 4 C) 8 D) 2 2.下面程序的运行结果是【2】 main() {int a=-10,b=-3; printf(“%d\n”,(a=a-b,a+b)); } A)-10 B) –4 C) -7 D) -13 3.以下能正确定义变量a, b和c并为它们赋值的语句是【3】 A) int a=5; b=5; c=5; B) int a,b,c=5; C) a=5,b=5,c=5; D) int a=5, b=5, c=5; 4.设a为整型变量,不能正确表达数学关系 1010 && a<15 D)!(a<=10) && !(a>=15) 5.若已定义: int x=5.5,y; 则表达式y=2.75+x/2的值是【5】。 A) 5.5 B) 5 C) 4 D) 4.0 6.定义int a;后,语句printf("%d\n",(a=3*5,a*4,a+5));的输出是【6】。 A) 65 B) 20 C) 15 D) 10 7.若给定条件表达式(S)? (a++) : (a--), 则与表达式S等价的是【7】。 A) 和(S==0)等价 B) 和(S==1)等价 C) 和(S!=0)等价 D) 和(S!=1)等价 8.若定义int d, c=6;则执行下面的语句后,d的值为【8】。 switch(c) { case 0:d=0;break;

C语言课程设计图书管理系统课程设计报告

C语言课程设计 图书管理系统 Books Management System 学生姓名张朝柱 学院名称徐州工程学院学号140 班级13计转本 专业名称计算机科学与技术 指导教师李子龙 2016年5月10日

一、需求分析 为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。使用c语言编写了图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。图书信息包括编号、书名、作者、数量、在库状态等。图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、借阅、还书等基本操作。整个程序实现顺序表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。 二、算法设计: 1.设计思想: 整个系统制造的而过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。进一步加深、巩固了所学的专业的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,实现了程序的模块化、结构化。在主函数中调用各种子函数,操作界面简单,易操作。 2,设计表示: (1)、整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。主要实现了图书的录入、存储、查询、借书、还书、显示库存等功能。 (2)、void Book_Entering(struct SqList &SL);这是一个录入图书信息的函数,它主要实现了顺序表的创建,并且在创建过程中从文件读取信息到顺序表中,以用于后面其他函数的操作。它引用了一个顺序表SL。其他函数调用时只需传入顺序表头即可。 (3)、int main(void);这五个函数时整个图书管理系统的全部菜单函数,Book_Entering();为系统主界面,进入时可选择进入程序和退出程序。menu1();为进入程序时显示的功能菜单,在此菜单可以选择录入、保存图书信息,也可选择进入其他子系统。Book_Inquire();此菜单为进入图书管理系统的菜单,在此可以选择添加、删除、修改图书等操作。cxmenu();为查询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。jhmenu();为借书还书的子菜单,在此可以选择借书还书操作。操作完成后按提示信息进行文件的保存操作。 (4)、void Book_Inquire(struct SqList &SL);这个函数为顺序表的输出函数,把顺序表的头传给函数后,可输出整个顺序表的所有信息。、

c语言期末考试试题

一、单项选择题。(每题1分,共20分) 1. C程序的基本单位是:() A.子程序 B.程序 C.子过程 D.函数 2.在C语言中,非法的八进制是:() A.016 B.018 C.017 D.02 3. 不是C语言实型常量的是:() A.55.0 B.0.0 C.55.5 D.55e2.5 4 .字符串“xyzw”在内存中占用的字节数是:() A.6 B.5 C.4 D.3 5. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:() A.2.0 B.2.25 C.2.1 D.1.5 D.1.5 D.1.5 D.1.5 6. 若有语句char c1=`d`,c2=`g`;printf(“%c,%d\n”,c2- `a`,c2-c1);则输出结果为:() (a的ASCII码值为97) A.M,2 B.G,3 C.G,2 D.D,g 7. 使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据 输入是:() A.a=2.2,b=3 B.a=2.2 b=3 C.2.2 3 D.2.2,3 8.表示关系12<=x<=y的C语言表达式为:() A.(12<=x)&(x<=y) B. (12<=x)&&(x<=y) C. (12<=x)|(x<=y) D.(12<=x)||(x<=y) 9.设x=1,y=2,m=4,n=3,则表达式x>y?x:mc4)后,s,t的值为:() A.1,2 B.1,1 C.0,1 D.1,0 12. 语句for(a=0,b=0;b!=100&&a<5;a++)scanf(“%d”,&b); scanf最多可执行次数为:() A.4 B.6 C.5 D.1 13. 对于for(s=2;;s++)可以理解为:()

学生成绩管理系统基本C语言编写

//代码版权所有,不要 #include "stdio.h" #include "stdlib.h" #include "string.h" #include "conio.h" copy,仅供参考学习。//标准输入输出函数库 //标准函数库 //字符串函数库 //屏幕操作函数库 #define p->data.num,p->https://www.wendangku.net/doc/032942602.html,,p->data.egrade,p->data.mgrade,p->data.cgrade,p->data.total,p->data.a ve,p->data.mingci int saveflag=0; //是否需要存盘的标志变量 //定义与学生有关的数据结构 typedef struct student { char num[12]; char name[15]; int cgrade; int mgrade; int egrade; int total; float ave; int mingci; }sqlist; //定义每条记录或结点的数据结构,标记为:node typedef struct node { struct student data;// 数据域 struct node *next; //指针域 }Node,*Link; //Node 为node 类型的结构变量,*Link 为node 类型的指针变量 void menu() //主菜单 { system("cls"); //调 用 DOS 命令,清屏.与clrscr() 功能相同 printf(" \n"); printf(" 学生成绩管理信息系统主菜单\n\n"); printf(" **************************************************\n"); printf(" $ 1 、添加记录6、统计记录$\n"); #define HEADER1 " ********************** ***** 学生成绩信息 ****************************** \n\n" #define HEADER2 " 学号姓名计算机数学英语总分平均分名次\n\n" #define FORMAT " %-10s %-10s %5d %5d %5d %5d %.3f %4d \n" DATA //标记为student //学号 //姓名//计 算机成绩// 数学成绩// 英语成绩 //总分 //平均分 //名次

C语言期末试卷A

一、单项选择题(每空2 分,共50 分) (请将各小题正确答案的字母序号填到相应小题的下划线上) 1.C语言的运算符按运算对象的数目可以分为。 A)单目运算一种B)单目和双目运算符 C)单目、双目和三目运算符D)单目、双目、三目运算和四目运算符 2.C语言表达式2/5*10的值是。 A) 0.04 B)4 C)4.0 D)0 3.已知变量f和i的类型说明如下: float f=12.34; int i; 则以下符合C语言语法的表达式是。 A) i=(int)f%5 B) i=int(f)%5 C) i=f%5 D) i=(int f)%5 4.能正确表示数学式1≤x≤5的C语言表达式是。 A)1 <=x<=5 B)(x> =1)&(x<=5 ) C)(x>=1 )&&(x<=5) D)(1 < =x)||(5> =x) 5.设变量c的数据类型是char,i的数据类型是int,f的数据类型是float, 则C语言表达式c*i+c*f-i+100值的数据类型为。 A)int B) float C) char D)不确定 6.在下列选项中,合法的C语言用户标识符的是。 A)int B)sin C)if D)i+j 7.C程序的执行从开始。 A)程序中的第1个语句B)程序中的第1个函数 C)名为main 的函数D)包含文件的第1个函数 8.凡在C语言函数中未指定存储类别的变量,其隐含的存储类别为。 A)自动(auto) B)静态(static) C)字符串D)字符或字符型变量值 9.以下程序运行时要求输入10和20分别存放在变量x和y中,能正确输入数 据的是。 main() {int x,y; scanf("x=%d,y=%d",&x,&y); printf("x+y=%d",x+y); } (说明:用表示换行符,用_表示空格符) A)10_20 B)x=10,y=20 C)10 D)x=10 20 y=20 10.下面程序的运行结果是。

相关文档
相关文档 最新文档