文档库 最新最全的文档下载
当前位置:文档库 › c语言期末大作业

c语言期末大作业

c语言期末大作业

C语言期末大作业的具体内容通常会由教师根据课程进度和教学要求来决定。以下是一些可能的C语言期末大作业题目供参考:

1.学生信息管理系统:设计一个学生信息管理系统,包括学生的基本信息、成绩信息、选课信息等,并能够进行增、删、改、查等操作。

2.计算器:设计一个简单的计算器,能够进行基本的算术运算( 加、减、乘、除),并提供复杂运算( 平方、开方、三角函数等)和科学计算 求解方程、矩阵运算等)功能。

3.俄罗斯方块游戏:模拟俄罗斯方块游戏,能够实现俄罗斯方块的移动、旋转、下落、消除等功能。

4.简单编译器:设计一个简单的编译器,能够将某一种高级语言 如C语言)的源代码编译成汇编语言或机器语言,并能够执行编译后的程序。

5.文件管理系统:设计一个简单的文件管理系统,能够进行文件的创建、删除、修改、查看等操作,以及文件的复制、移动、重命名等操作。

以上只是一些可能的C语言期末大作业题目,具体题目和要求应根据教师要求而定。建议同学们在开始大作业之前,先与教师沟通,了解具体要求和考核标准,然后再选择题目,并认真规划和安排时间。

1/ 1

C语言大作业

C语言大作业题目 1电话簿管理程序 存储的数据包括:人名、工作单位、电话号码和E-mail地址等。程序要求具有如下功能: ①加入一个新电话号码; ②删除一个电话号码; ③显示保存的所有电话号码。 ④修改功能; ⑤排序功能,包括按照电话号码排序和按照姓名字母序排列; ⑥查询功能,包括按人名查询电话号码和按电话号码查询人名。 ⑦保存信息到文件。 ⑧从文件读取信息。 课程设计要求: 程序运行开始,首先显示一个提示信息,作为一个功能选择菜单。用户选用哪条功能,就调用哪项功能。 2班级同学信息管理程序 存储的数据包括:姓名,学号,宿舍,QQ号码和电话号码等。程序要求具有以下功能: ①加入一个同学的记录; ②删除一个同学的记录; ③显示所有同学的记录。 ④排序功能,包括按照学号排序和按照姓名字母序排序显示所有同学的纪录。 ⑤查询功能,包括按学号查询同学的信息或者其他。 ⑥修改功能。 ⑦保存信息到文件。 ⑧从文件读取信息。 课程设计要求: 程序运行开始,首先显示一个提示信息,作为一个功能选择菜单。用户选用哪条命令,就调用哪项功能。 3职工信息管理系统 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。提供以下功能: ①加入一个职工的记录; ②删除一个职工的记录; ③显示所有职工的记录。 ④排序功能,包括按照学号排序和按照姓名字母序排序显示所有职工的纪录。 ⑤查询功能,包括按工号或姓名查询职工的信息或者其他。 ⑥修改功能。 ⑦保存信息到文件。 ⑧从文件读取信息。 课程设计要求:

程序运行开始,首先显示一个提示信息,作为一个功能选择菜单。用户选用哪条命令,就调用哪项功能。 4图书信息管理系统 图书信息包括:图书号、书名、作者名、分类号、出版单位、出版时间、价格等。 提供以下功能: ①加入一本图书; ②删除一本图书; ③显示所有图书。 ④排序功能,包括按照书名排序所有图书。 ⑤查询功能,包括按书名查询图书。 ⑥修改功能 ⑦保存信息到文件。 ⑧从文件读取信息。 课程设计要求: 程序运行开始,首先显示一个提示信息,作为一个功能选择菜单。用户选用哪条命令,就调用哪项功能。 5图书借阅管理系统 图书信息包括:图书名称、图书编号、单价、作者、存在状态、借书证号、姓名、性别。提供以下功能: ①新进图书基本信息的输入。 ②显示所有图书信息。 ③对撤消图书信息的删除。 ④图书基本信息的查询。 ⑤办理借书手续。 ⑥办理还书手续 ⑦保存信息到文件。 ⑧从文件读取信息。 课程设计要求: 程序运行开始,首先显示一个提示信息,作为一个功能选择菜单。用户选用哪条命令,就调用哪项功能。 6实验设备管理系统 设备信息包括:设备编号,设备名称,设备价格,设备所属实验室。 提供以下功能: ①加入一个设备; ②报废一个设备; ③显示所有设备。 ④排序功能,包括按照编号排序所有设备。

[新]C语言期末复习,经典练习题+知识点总结+模拟考题。三位一体,完胜c语言!!!!{考期必备神器}

C语言期末复习(平时练习答案)[特别适用于千千万北航学子] 考试重点:(编程题)排序,选择与冒泡排序,,各种进制转换。。。。] 第二次大作业— 前驱、后继字符 1. 【问题描述】从键盘输入一个字符,求出它的前驱和后继字符(按照ASCII码值排序),并按照从小到大的顺序输出这三个字符和对应的ASCII值。【输入形式】从键盘输入一个字符【输出形式】按两行输出:第一行按照从小到大的顺序输出这三个字符,并以一个空格隔开;第二行按照从小到大的顺序输出三个字符对应的ASCII 值,并以一个空格隔开。【输入样例】 b 【输出样例】 a b c 97 98 99 【样例说明】输入字符b,b的前驱字符是a,后继字符是c,第一行按照从小到大的顺序输出a b c;第二行输出对应的ASCII值97 98 99 【评分标准】结果完全正确得20分,每个测试点4分。提交程序名为:c0103.c。 //*从键盘输入一个字符,求出它的前驱和后继字符(按照ASCII码值排序),并按照从小到大的顺序输出这三个字符和对应的ASCII值。*// #include int main() { char c=" "; printf("Input a number:"); scanf("%c",&c); //*从键盘输入一个字符*// printf(" %c %c %c\n",c-1,c,c+1);//*第一行按照从小到大的顺序输出这三个字符,并以一个空格隔开*// printf(" %d %d %d", c-1,c,c+1);//*第二行按照从小到大的顺序输出三个字符对应的ASCII值,并以一个空格隔开。*// return 0; } 当前编程题:第二次大作业---数值变换2. 【问题描述】编写一程序,从键盘输入输入一个三位正整数,然后反向输出对应的数,如果输入的数不是三位正整数,则输出-1。【输入形式】从键盘输入三位的正整数。【输出形式】输出交换后的正整数值。【输入样例】356 【输出样例】653 【样例说明】从键盘输入的正整数值为356,将该数的个位与百位互换,所得结果为653.如果输入的正整数为300,则输出为3。【评分标准】结果完全正确得20分,每个测试点4分。提交程序名为:c0102.c。 //*编写一程序,从键盘输入输入一个三位正整数,然后反向输出对应的数,如果输入的数不是三位正整数,则输出-1。*// #include void main() { int a,d,e,f,sum; //*定义变量*// printf("请输入一个三位正整数,\n"); scanf("%d",&a); //*输入一个数*// if(a>0) //*对输入的值的正负做判断*// { d=a/100; e=(a-d*100)/10; f=a%10; sum=100*f+10*e+d; printf("%d\n",sum);

高级语言程序设计(C)后附答案

学习中心/函授站_ 姓名学号 西安电子科技大学网络与继续教育学院 2019学年上学期 《高级语言程序设计(C)》期末考试试题 (综合大作业) 考试说明: 1、大作业试题于2019年4月25日公布,2019年4月26日至2019年5月12日在线上传大作业答卷(最多上传10张图片); 2、考试必须独立完成,如发现抄袭、雷同均按零分计; 3、答案须用《西安电子科技大学网络与继续教育学院综合大作业答题纸》手写完成,要求字迹工整、卷面干净。 一、选择题(本题共20道小题,共40分。) 1. 设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是 A)把x和y按从大到小排列 B)把x和y按从小到大排列 C)无确定结果 D)交换x和y中的值 2. 下面程序的输出是 void prtv(int *x) { printf("%d\n", ++(*x));} main() { int a=25; prtv(&a);} A) 23 B) 24 C) 25 D) 26 3. int x=10, y=20, z=30; if(x>y) z=x; x=y; y=z; 以上语句执行后x, y, z的值是 A) x=10,y=20,z=30B) x=20,y=30,z=30 C) x=20,y=30,z=10D) x=20,y=30,z=20 4. 设有以下宏定义: #define N 3 #define Y(n) ((N+1)*n) 则执行语句:z=2 *(N+Y(5+1))后,z的值为 A)出错 B)42 C)48 D)54

5. 逻辑运算符两侧运算对象的数据类型是()。 A) 只能是0或1 B) 只能是0或非0正数 C) 只能是整型或字符型数据 D) 可以是任何类型的数据 6. 当执行以下程序段时 x=-1; do { x=x*x;} while(!x); A)循环体将执行一次 B)循环体将执行两次 C)循环体将执行无限次 D)系统将提示有语法错误 7. int x=3; do { printf("%3d",x-=2);} while(!(--x)); 以上程序段的输出结果是 A) 1 B) 3 0 C) 1-2 D) 死循环 8. main() {int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } 以上程序段的输出结果是 A)k=11,k=12,k=11 B)k=11,k=13,k=13 C)k=11,k=013,k=0xb D)k=11,k=13,k=b 9.以下程序的输出结果是()。 main() { int num=0; while(num<=2) { num++; printf(“%d\n”,num);} } A) 1B) 1C) 1D) 1 2 2 2 3 3 4 10. 表示关系x≤y≤z的c语言表达式为 A) (X<=Y)&&(Y<=Z) B) (X<=Y)AND(Y<=Z) C) (X<=Y<=Z) D) (X<=Y)&(Y<=Z) 11. 执行x=((5>1+2)&&2||((2*4<4)-!0))后,x的值为 A) -1B) 0C) 1D) 5 12. 有以下程序 main() { char a[]="programming", b[]="language"; char *p1,*p2; int i; p1=a; p2=b; for(i=0;i<7;i++) if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i)); } 输出结果是 A)gm B)rg C)or D)ga 13. 以下程序的输出结果是 # include # include

C语言大作业题目及要求

C语言程序设计大作业要求 一、作业目的 1、掌握用C语言进行程序设计的基本方法。 2、熟练掌握window控制台应用程序的编写。 3、初步完成一个应用程序的设计、编码、调试,了解程序设计过程,锻炼实际应用能力。 二、作业内容 猜数字游戏: 计算机随机生成没有重复的n个数,用户从键盘输入猜测的数。每猜一次,电脑给出提示信息。如果用户输入的数跟计算机生成的数,数值和位置都完全相等,则胜出。 基本功能要求: 1.随机生成没有重复的4个数。(每个数字在0-9范围内)。 2.用户从键盘输入4个不重复的数,程序能对用户输入的数与随机生成的数进行匹配,并 给出提示信息:“有x个数数值和位置都相同!有y个数数值相同,但位置不同。” 3.控制用户的尝试次数为10次。 4.计算、输出并保存用户的得分,计分规则:总分是100分,每失败一次扣10分。 5.有操作菜单,能根据不同选择运行不同功能:1:开始游戏!2:查看上次成绩!3:输 出帮助信息!0:退出程序! 扩展功能要求: 1.对用户输入的数字进行检查,如果用户输入重复的数,给出提示,要求重新输入。 2.能对游戏进行设置:在操作菜单中增加相应的选项:“4:系统设置”。 (1)修改要猜的数字的个数n,根据修改后的n值,计算机可随机生成n个数,用户进行n个数的猜测游戏。 (2)修改可以尝试的次数。 3.若游戏胜出且成绩在前五名,可输入并记录对应的用户姓名,并添加到积分榜中。操作 菜单中相应选项改为“2:积分榜!”,用于把积分榜中保存的前五名成绩及用户姓名显示出来。 4.能对积分榜的成绩进行排序和输出。 提示:(1)生成一个0~9的随机数,使用rand函数: #include #include //使用rand函数必须使用此头文件 #include int main() { int a; srand(time(0)); //生成一个种子。整个程序只写一次即可。 a=rand()%10; //生成一个随机数。 printf("%d\n",a); return 0;

二级C语言程序设计期末大作业(3-4-5)

二级C语言程序设计期末大作业(3-4-5) 一、单选题 1. C 语言程序中可以对程序进行注释,注释部分必须用符号__C___括起来。 A. { 和 } B. [ 和 ] C. /* 和 */ D. */ 和 /* 2. 设要定义n为整型变量,定义x为浮点型变量,正确的语句是:_B____ 。 A. int n, float x, B. int n, float x; C. int n; float x, D. int n; float x; 3. 设有int n; 从键盘上输入整数给变量n,正确的语句是:__D___ 。 A. scanf( n ); B. scanf( "n" ); C. scanf( "%d", n ); D. scanf( "%d", &n ); 4. 程序段 int x=3, y=2; printf("%d", x*=y+8/5); 的输出结果为__D___ 。 A. 1 B. 5 C. 7 D. 9 5. 要判断char型变量m是否是数字,可以使用表达式_____B_____。 A. 0<=m && m<=9 B. m>='0' && m<='9' C. "0"<=m && m<="9" D. '0'<=m <='9' 6. 执行以下代码段后,a的值为___A__。 int a=1,b=2,c=3; if(a>b) a=b; if(a>c) a=c; A. 1 B. 2

C. 3 D. 不确定 7. 下面的for 语句执行时,____B___将形成无限循环。 A. for(s=j=0; j<100; j+=1) s+=j; B. for(s=j=0; j<100; j+1) s+=j; C. for(s=j=0; j<100; ++j) s+=j-1; D. for(s=j=0; j<100; j++) s+= j; 8. 循环语句中,break的作用是____B___。 A. 终止程序运行 B. 结束本次循环 C. 从本循环体内跳出 D. 跳出子函数 9. 以下正确的语句是______D____。 A. int a[1][4] = {1,2,3,4,5}; B. float x[3][ ] = {{1},{2},{3}}; C. long b[2][3] = {{1},{1,2},{1,2,3}}; D. double y[ ][3] = {0}; 10. 执行以下程序段后,m的值是__C___。 int a[]={2,1,3,5,4}; int m=10,k,*ptr=a; for(k=0;k<5;k++) m += *(ptr+k); A. 23 B. 24 C. 25 D. 26 11. 若有数组定义并初始化语句:char a1[]={’p’,’r’,’o’} ; char a2[]=〝pro〞 ; 则下列正确的说法是____D______。 A. a1和a2完全相同 B. a1和a2不同,a1是指针 C. a1和a2存储单元的数目相同 D. a1和a2不同,a2的存储单元的数目多 12. 若有函数调用语句: func(rec1, rec2+rec3, (rec4, rec5)); 则可以判断该函数的参数个数是___A____。 A. 3 B. 2 C. 5

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、设有定义:float a=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!=0 B) x==1 C) x!=1 D) x==0 8、有以下程序: #include void main(){ int i=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 void main(){ int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n ”,s);} 程序执行后的输出结果是( ) A )自然数1~9的累加和 B )自然数1~10的累加和

2022年营口理工学院公共课《C语言》科目期末试卷A(有答案)

2022年营口理工学院公共课《C语言》科目期末试卷A(有答案) 一、填空题 1、设有char a,b;若要通过a&b运算屏蔽掉a中的其他位,只保留第2和第8位(右起为第1位),则b的二进制数是_______。 2、一个C语言源程序由若干函数组成,其中至少应含有一个________ 3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数 ________完成的。 4、在C语言的赋值表达式中,赋值号左边必须是_______ 5、若有定义语句:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为_______ 6、下面程序可求出图中方括号内的元素之积,请填空。 # include int main() { int x[3][3]={7,2,1,3,4,8,9,2,6}; int s,*p; p=_______; s=*p*_______; printf("product=%d",s); return(0); } 7、下面程序段是找出整数的所有因子。请填空。

scanf("%d",&x); i=1;for(;_______;) {if(x%i==0)printf("%3d",i); i++; } 8、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。 char cl,c2; scanf("%4c%4c",&cl,8&c2); 9、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。 struct s{char data; _______ }node; 10、下面程序段将输出computer。请填空。 char c[]="It is a computer"; for(i=0;_______;i++) {_______;printf("%c",c[j]);} 二、选择题 11、下面4个选项中,是合法整型常量的选项是( )。 A.160 B.-0xcdf C.-01 D.-0x48a -0xffff 01a 986 0122e5

c语言大作业学生管理系统

c语言大作业学生管理系统 随着信息化的快速发展,计算机技术已经深入到各个领域。在教育领域中,学生管理系统是学校管理学生信息的重要工具。本次大作业将以“c语言大作业学生管理系统”为题,介绍如何使用c语言开发一个简单的学生管理系统。 一、需求分析 学生管理系统需要实现以下功能: 1、添加学生信息 2、查询学生信息 3、修改学生信息 4、删除学生信息 5、显示所有学生信息 二、设计 1、定义数据结构 为了存储学生信息,我们可以定义一个结构体,包含学生的姓名、学

号、性别、年龄等信息。 c include include include typedef struct { char name; char id; char gender; int age; Student; 2、定义函数 为了实现学生管理系统的各个功能,我们可以定义以下函数:1、add_student():添加学生信息

2、query_student():查询学生信息 3、modify_student():修改学生信息 4、delete_student():删除学生信息 5、display_students():显示所有学生信息 三、实现 下面是一个简单的实现示例: c include include include typedef struct { char name; char id; char gender;

int age; Student; void add_student(Student *students, int *num_students) { Student student; printf("Enter name: "); scanf("%s", https://www.wendangku.net/doc/d519196089.html,); printf("Enter ID: "); scanf("%s", student.id); printf("Enter gender: "); scanf("%s", student.gender); printf("Enter age: "); scanf("%d", &student.age); students[*num_students] = student; (*num_students)++;

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

C语言程序设计期末考试试题含答案第一部分:选择题(每题5分,共40分) 1. 下列选项中,不是C语言基本数据类型的是: A. int B. float C. double D. string 答案:D 2. 在C语言中,for循环和while循环的区别是: A. for循环适用于已知循环次数,while循环适用于未知循环次数 B. for循环必须有循环条件,while循环可以没有循环条件 C. for循环只能用于数字计算,while循环可以用于任意类型的循环 D. for循环和while循环没有区别 答案:A 3. 下列哪个选项是合法的变量名: A. 123var B. _var

D. %var 答案:B 4. 在C语言中,使用printf函数输出一个整数变量的值,应该使用下列哪个占位符: A. %f B. %c C. %d D. %s 答案:C 5. 下列代码中,输出的结果是什么: ```c int a = 5; printf("%d\n", a++); printf("%d", a); ``` A. 6 5 B. 6 6 C. 5 6

答案:A 6. 下列哪个选项中的函数可以用来比较两个字符串是否相等: A. strcmp B. strcat C. strlen D. strcpy 答案:A 7. 当我们在编写C语言程序时,通常会将一些常用的函数或者代码片段写成一个个独立的文件,这些文件通常以什么扩展名来保存: A. .c B. .h C. .txt D. .exe 答案:B 8. 下列代码中,缺少的语句是什么: ```c int a = 10; int b = 20;

《C语言程序设计》大作业任务书

《C语言程序设计》大作业任务书 一、题目 (1)简单计算器 (2)通讯录 (3)学生成绩档案管理 (4)图书管理系统 如要另外选用其它题目,可写申请书。 二、对象 本学期“C语言程序设计”课程全体同学。 三、目的 考查学生对C语言的综合编程能力的掌握,培养学生的逻辑思维能力,最终达到学生能完全独立编制、调试程序的能力。该题主要考察学生对函数、结构体,指针,文件等的操作,以及C语言算法的掌握,所以完成此道题目要求较强的设计能力,尤其是要有一种大局观的意识。如何调试程序也非常重要,通过这个程序可以学习到以前调试短程序没有的经验。 四、要求 (1)根据学生人数一人完成一个题目,在课外完成查找资料、选题、拟大纲、研究写作等各环节;每一环节完成后,在课堂上进行讨论、教师点评,最后确定解决问题的方案。 (2)问题规模:程序代码不少于500行;使用技术:使用结构体定义数据类型、各功能通过子函数调用实现;程序结构良好,没有明显错误;按照大作业格式,在最后一周交齐作业。 五、内容 (1)系统说明书 内容包括:①问题描述②程序设计和程序流程图③系统的基本功能,即主要数据和函数功能描述④拟采用开发平台(Visual C++,Borland C++等)(2)大作业报告根据原有的系统设计,编码阶段的工作,整理书写实验报告,内 容包括:①系统说明②实验分析与结论③收获与体会④附程序代码 (3)最后提交材料:①大作业报告(电子稿)②源程序代码(*.C文件),执行文 件(EXE)。 六、评分 本次大作业作为期末考试总成绩,满分100分。 大作业的总评分依据:正确性、设计合理性、认真程度、实现的功能多少,提问情况等。 (1)正确性----占大作业满分的30% 要求:所谓“程序正确”,指的是在各层次上正确,经得起检测,对合法的所 有数据,要能够输入,且程序要都能正确执行,并获得正确的结果。

山东理工大学C语言PTA期末程序题

1.从键盘输入某圆锥的底面半径和高的值,编程求其侧面积并输出(结果保留2位小数)。其中圆周率取3.14159。输入格式:输入两个实数代表圆锥的底面半径和高(以空格间隔)输出格式:输出一个实数(保留2位小数) #include #include #define PI 3.14159 int main(void) {float r,h,s,d; scanf("%f%f",&r,&h); d=sqrt(r*r+h*h); s=r*PI*d; printf("%.2f\n",s); return 0; } 2.在匀加速直线运动中,已知初速度、加速度和时间的值,编程序求出相应的位移并输出(保留2位小数)。输入格式:依次输入初速度、加速度、时间的值(以空格间隔)。输出格式:一个实数(保留2位小数)。 #include int main() {double v,g,t,x; scanf("%lf%lf%lf",&v,&g,&t); x=v*t+g*t*t/2; printf("%.2f",x); return 0; } 3.从键盘输入5个实数,求出每个数的离均差并输出结果(保留2位小数)输入格式:输入5个实数(以空格间隔)输出格式:输出5个实数(保留2位小数,以空格间隔) #include #include int main() {float a,b,c,d,e,sum,s,x,y,m,n,p; scanf("%f%f%f%f%f",&a,&b,&c,&d,&e); sum=a+b+c+d+e; s=sum/5; x=a-s; y=b-s; m=c-s; n=d-s; p=e-s; printf("%.2f %.2f %.2f %.2f %.2f",x,y,m,n,p); return 0; }

(完整版)c语言期末考试题及其答案

(完整版)c语言期末考试题及其答案 挑选题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。

A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分离是()。a=12 5.534; a=(int)125.521%4; a=5n B ++p->n C p->n++ D (*p).n++ 写出下列程序的运行结果(10分,每小题2分) 1.float average (float array[10]) { int i; float aver,sum=array[0]; for (i=1;i=20) break; if(b%3==1) {b+=3; continue; } b-=5;

} printf(“a=%d\tb=%d\n”,a,b); } 4.main() { printf(“main( ) :%d\n”,fact(5)); fact(-5); } fact(int value) { int f; if(valuemax) max=array[i][j]; (2) ; } main( ) { int a[3][4], i,j; for(i=0;ia[k]) k=j; if(k!=i)

{ t=a[k]; a[k]=a[i]; a[i]=t;} } printf("The sorted numbers:\n"); for(i=1;i<11;i++) printf("%d ",a[i]); } 答案 一挑选题(7分,每小题0.5分) 1. B 2. C 3. B 4. B 5. C 6. A 7. B 8. A 9. A 10. C 11. A 12. A 13. B 14. D

大一c语言期末考试编程题

大一c语言期末考试编程题 1.判断素数 第一题:判断是否为素数,若是,则返回1,否则返回0,若输入1或比1小的数字返回0。 int is_Prime(int a)//素数判断,是则返回1,不是返回0,-1表示输入的值有问题 { int i = 0; if (a <= 1) return -1; for (i = 2; i <= sqrt(a); i++) { if (a % i == 0) return 0; } return 1; } 这里有同学可能不明白为什么for (i = 2; i <= sqrt(a); i++)简单解释一下:因数都是成对出现的,比如100,其可以分为1和100,2和50,4和25,由此可见其中一个必然小于等于100的开方,另一个则大于等于100的开方。这种判断素数的方法,应付考试足以,但想要更上一层楼这却远远不够,大家可以去了解一下筛法。 2.数组排序 期末考试的排序方法常常有两种:选择排序、冒泡排序。 void sortarry2(int* a, int n) //冒泡排序 { int i, j; for (i = 0; i < n - 1; i++)//此处只需比n-1次 for (j = 1; j < n - i; j++)//每次比好后,只需比n-1-i次 { if (a[j] < a[j - 1]) { int temp; temp = a[j - 1]; a[j - 1] = a[j]; a[j] = temp; } } return; } 这是冒泡排序(从小到大),顾名思义就是每次让较大的数想气泡一样浮上去,对于为什么第一个for语句只需比n-1次,大家想想,现在排5个数,四个较大数浮上去了,最后一个还用比吗?同样第二语句为什么只需比n-1-i次也是同样的道理。

大学C语言期末考试练习题(带详解答案)

大学C语言期末考试练习题(带详解答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。A、函数B、过程C、子程序D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、

10.在C语言程序中,表达式5%2的结果是C。 A)2.5 B)2 C)1 D)3 详见教材P52~53. %为求余运算符,该运算符只能对整型数据进行运算。且符号与被模数相同。5%2=1;5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1; /为求商运算符,该运算符能够对整型、字符、浮点等类型的数据进行运算,5/2=2 11.如果int a=3,b=4;则条件表达式"a

将表达式3的值作为整个大表达式的值 此题中的a

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

C语言程序设计期末考试试题及答案 一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将正确答案的选项填入答题卡中的相应位置中。每小题3分,共48分) 1、以下合法的标识符为() A.3ab B.int C.A-4 D.Main 2、已知int a=5; 则执行a+=a-=a*a;语句后,a的值为 A)0 B)-40 C)10 D)-60 3、如果要把数值327存入变量a中,a不可以定义成什么类型() A.int B.char C.long D.float 4、以十六位字长为基准,十进制数-123,则其机内码表示为()。 A)1000000000000100 B)1000000001111010 C)-000000001111011 D)1111111110000101 5、执行下面程序段后,输出结果是______. int a; int b=65536; a=b; printf("%d\n",a); A) 65536 B) 0 C) -1 D) 1 6 若变量已正确定义并赋值,以下符合C语言语法的表达式是()。A)a:=b+1 B)a=b=c+2 C)int 11.5%3 D)a=a-9=c 7以下选项中不能用作C程序合法常量的是 A)1,234 B)'\123' C)123 D)0123 8下面程序段的运行结果是。 int n=0; while(n++<=2); printf("%d",n); A)2 B)3 C)4 D)语法错误 9下面程序的执行结果是()

main() {int x=017; printf("%d",x--);} A.14 B.15 C.16 D.17 10 已知int i,a;执行语句i=(a=4,a++,--a,a+4,a+5,++a);后,变量i的值为 A)2 B)3 C)4 D)5 11若有语句:int a,b; scanf("%d;%d",&a,&b); 如果把整数4赋给a,把整数5赋给b,应该输入()。 A.4 5 B.4,5 C.45 D. 4;5 12 C语言中,不合法的整型常量是() A、88 B、018 C、-0xabcd D、2e5 13设有int x=12.5;则表达式(x=x++*1/2.5)的值是()。A)4 B)5 C)3 D)4.8 14若变量a,i已正确定义,且i己正确赋值,合法的C语言语句是() A.a=int(i); B. a==0 C. ++i; D. a=a++=2; 15 C语言中,以下语句能跳过循环体中未执行的语句,接着执行本循环下一次迭代的语句是() A.空语句 B.break语句 C.return语句D.continue语句16 以下程序的输出结果是 main() { int a=31,b=21; printf("%d\n",--a+b,--b+a);} A)50 B)51 C)52 D)53 二、阅读程序,写出运行结果(本大题共5小题,每小题4分,共

C语言期末考试编程题内含代码

倾情奉献---马杰 1.打印出所有的“水仙花数”,并按照一行5个的格式输出。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1*1*1+5*5*5+3*3*3。 main(){ int i,j,k; for(i=1;i<10;i++) for(j=0;j<10;j++) for(k=0;k<10;k++) if( (i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k))) printf("%d%d%d ",i,j,k); getch(); } 2.求1+2!+3!+...+20!的和 #include int main() { float i,index=1,sum=1; for(i=1;i<=20;i++) { index*=i;//保存每一项的阶乘 sum+=index;//加上每一项的阶乘 } printf("%e\n",sum); return 0; } 3.输入一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 #include #include main() { int i,nLen,flag; char num[6];

gets(num); nLen =strlen(num); for (i=0;i void fun (int *a, int *n) { int i; *n=0; for(i=1;i<=1000;i++) if(( i%7==0 || i%11==0 ) && (!( i%7==0 && i%11==0 ))) { a[*n]=i; (*n)++; } } main() {int aa[1000],n,k; fun(aa,&n); for (k=0;k

C语言期末考试题库经典程序100例

C语言期末考试题库经典程序100例【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数,都是多少, 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码: main() { int i,j,k; printf("\n"); for(i=1;i<5;i++) ,*以下为三重循环*/ for(j=1;j<5;j++) for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k); } } ====================================================== ======== 【程序2】

题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数, 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 2.程序源代码: main() { long int i; int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf("%ld",&i); bonus1=100000*0.1;bonus2=bonus1+100000*0.75; bonus4=bonus2+200000*0.5; bonus6=bonus4+200000*0.3; bonus10=bonus6+400000*0.15; if(i<=100000) bonus=i*0.1; else if(i<=200000) bonus=bonus1+(i-100000)*0.075;

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

C程序设计期末考试习题(含答案) c语言程序设计期末试题A(含答案) 一、单项挑选题(挑选一个最佳答案,每题2分,共20分) 1.一个C程序的执行是从( )。 A) 本程序的main函数开头,到main函数结束 B) 本程序文件的第一个函数开头,到本程序文件的最后一个函数结束 C) 本程序的main函数开头,到本程序文件的最后一个函数结束 D) 本程序文件的第一个函数开头,到本程序main函数结束 2.下列选项中,不能用作标识符的是( )。 A) _1234_ B) _1_2 C) int_2_ D) 2_int_ 3.以下定义语句中正确的是( )。 A) char a='A'b='B'; B) float a=b=10.0; C) int a=10,*b= D) float *a,b= 4.设有以下定义:#define d 2 int a=0; double b=1.25; char c=’A’; 则下面语句中错误的是()。

A) a++; B) b++ C) c++; D) d++; 5.以下4个选项中,不能作为一条C语句的是( )。 A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2; 6.有以下定义语句double a,b; int w; long c; 若各变量已正确赋值,则下列选项中正确的表达式是( )。 A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b; 7.设有定义:int n=0,*p=则以下选项中,正确的赋值语句是( )。 A) p=1; B) *q=2; C) q=p; D) *p=5; 8.设有定义:int a,*pa= 以下scanf语句中能正确为变量a读入数据的是( )。 A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ; C) scanf(“%d”, D) scanf(“%d”,*pa); 9.若有说明:char *language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JA V A”,”C”};则表达 式*language[1]>*language[2]比较的是()。 A)字符B和字符P B) 字符串FORTRAN和字符串BASIC C)字符F和字符B D) 字符串BASIC和字符串PASCAL 10.执行语句for(i=1;i++

相关文档