c语言大作业综合

合集下载

C语言程序设计大作业

C语言程序设计大作业

C语言程序设计大作业理论课综合训练任课教师:□□□学生学号:□□□□□□□□□□学生姓名:□□□所在班级:□□□□□□□项目名称:□□□□□□□□□□---------------------------------------------------------教师评语(总分20分):(1)基本要求(12分):(2)创新点(2分):(3)实用性(2分):(4)技术水平(2分):(5)卷面综合(2分):教师签名:2022年6月10日一、项目简介本项目所完成的功能包括求三角形面积、一元二次方程求根和排序,是学习生活中的常用计算工具,具有很强的实用性。

本程序包括5个函数模块,在主函数中实现了菜单功能,在窗口菜单提示下,选择数字键完成所需功能,方便用户操作。

j某mj()是求三角形面积函数模块,键盘输入三角形三边之长a、b、c,根据下面公式计算三角形面积。

p=(a+b+c)/2=p(pa)(pb)(pc)如果两边之和大于第三边不成立,输出错误信息。

root()是一元二次方程求实根模块,键盘输入二次项系数a、一次项系数b、常数项c,根据下面公式计算两个实根。

bb24ac某12=2a如果b-4ac<0,输出无实根信息。

pai某u()是排序函数模块,主要读写磁盘文件数据。

程序运行前,必须先在工作区文件夹(或运行程序文件所在文件夹)建立一个文本文件inpai某u.t某t,文件中输入不超过100个整数,数据之间用空格或用回车换行符间隔。

排序结果输出在文本文件outpai某u.t某t中。

myort()是冒泡法排序模块,pai某u()函数是本函数的调用函数,所用算法为冒泡排序算法。

2二、运行测试结果(1)求三角形面积在窗口菜单提示下选择数字键1输入三边之长(用逗号间隔):3,4,5<Enter>=6.000000再次测试输入三边之长(用逗号间隔):1,2,3<Enter>输入数据错误!!!(2)求一元二次方程实根在窗口菜单提示下选择数字键2,分别进行两组测试。

c语言课程设计综合作业

c语言课程设计综合作业

c语言课程设计综合作业一、教学目标本课程的目标是让学生掌握C语言的基础知识,包括数据类型、变量、运算符、控制结构、函数等,培养学生编写简单C程序的能力,使学生了解程序设计的基本方法和步骤,培养学生解决实际问题的能力。

具体来说,知识目标包括:1.理解C语言的基本数据类型和变量。

2.掌握C语言的运算符及其用法。

3.熟悉C语言的控制结构,如if语句、for循环、while循环等。

4.了解函数的定义和调用。

技能目标包括:1.能够使用C语言编写简单的程序。

2.能够阅读和理解简单的C语言程序。

3.能够使用C语言进行基本的数学计算和数据处理。

情感态度价值观目标包括:1.培养学生对计算机科学的兴趣和热情。

2.培养学生解决问题的能力和创新精神。

3.培养学生团队合作和自主学习的意识。

二、教学内容本课程的教学内容主要包括C语言的基本概念、数据类型、变量、运算符、控制结构、函数等。

具体安排如下:1.第一章:C语言概述,介绍C语言的历史和发展,理解C语言的特点和优势。

2.第二章:数据类型和变量,学习基本数据类型及其用法,理解变量的概念和声明。

3.第三章:运算符,学习常用运算符的用法和优先级。

4.第四章:控制结构,学习if语句、for循环、while循环等控制结构的使用。

5.第五章:函数,学习函数的定义、声明和调用,理解函数的参数传递和返回值。

三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。

1.讲授法:通过教师的讲解,使学生掌握C语言的基本概念和语法。

2.案例分析法:通过分析典型案例,使学生理解C语言的应用和编程思路。

3.实验法:通过上机实验,使学生亲自编写C程序,提高编程能力。

四、教学资源本课程的教学资源包括教材、实验设备等。

1.教材:选用《C程序设计语言》作为主教材,辅助以相关参考书。

2.实验设备:计算机实验室,配备有C语言编程环境的计算机。

五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以全面、客观、公正地评价学生的学习成果。

《C语言程序设计》大作业要求

《C语言程序设计》大作业要求

2010秋季学期《程序设计基础(C语言)》综合作业
【提交要求】
综合作业是《程序设计基础(C语言)》课程的综合实验,作为课堂教学和课内正常上机实验的补充,综合作业考核成绩占平时成绩的40%。

综合作业采用分组形式,一般3人为一组,最多5人为一组,每组选择一个题目(可选择教师给的参考题目,也可自定题目),作业内容最好包含有:文件、链表、结构体、数组、函数等知识点,作业由小组共同完成,每个成员必须独立完成该作业的一个部分。

作业要求调试通过;最后上交时间不晚于教学周第10周的星期三。

【问题定义】
描述选定的题目内容以及实际完成的软件功能
【数据结构】
主要数据类型与数据变量描述
【模块与算法描述】
描述程序中各主要模块的功能、接口与算法,可采用伪代码或流程图的方式来说明各模块的基本思想。

【运行示例说明】
通过运行示例进一步说明程序的功能,同时通过运行示例说明程序运行的正确性。

【调试情况说明】
说明程序上机调试中的主要问题及其解决办法与效果等
【参考文献与网站】
程序立题与设计过程中参考的主要文献与网站等,说明立题依据
【原创性声明】
作者声明该程序为原创程序,声明原创性在模块中的比例
【个人心得与总结-学生姓名1】
每个学生各自有一段小结,说明自己在整个项目设计中的作用与地位,课程与设计中的经验与教训等。

同时对自己的表现综合打分,取0至100分。

【个人心得与总结-学生姓名2】
第2个学生的心得与总结
【个人心得与总结-学生姓名3】
第3个学生的心得与总结。

C语言程序设计大作业

C语言程序设计大作业

学年学期:20xx - 20xx 学年 1 学期课程名称:C语言程序设计综合训练课程学分:2分考核形式:大作业任课教师:xx题目:学生成绩统计程序学院:xx学院__________________________________ 专业班级:xx_______________________________________ 学号:_______ 学生姓名:提交日期:目录目录 (2)引言 (3)1. 学生成绩管理系统 (4)1.1系统简介 (4)1.2相关代码及知识点介绍 (4)2. 添加学生成绩功能 (5)3. 查找学生成绩功能 (6)4. 排序学生成绩功能 (7)5. 展示学生成绩功能 (9)6. 删除学生成绩功能 (10)7. 附页代码 (11)引言C语言是一种比较常见的计算机语言,许多大型应用软件都是用C语言编写而成的。

其简洁紧凑,灵活方便,数据结构丰富。

在一定程度上,C语言比汇编语言更实用,具有结构化语句,实现了结构化编程,使程序编写变得更容易、更快捷,可以编写出各种类型的程序。

同时,C语言是一门实践性强的学科,在学习的过程中,利用所学知识,编写一些与生活、学习相关的应用程序来提高程序编写能力,增强学习兴趣。

本次使用C语言设计一个学生成绩管理系统,可以实现学生成绩的添加,查找,排序及展示。

在作业中使用的是函数的模块化设计,将四个程序使用四个函数来实现。

与此同时,增加用户界面的交互,可供用户选择想要的功能,实现增删查排等操作。

1. 学生成绩管理系统1.1系统简介该系统主要实现学生成绩的添加,查找,排序,展示和删除五个功能,添加学生成绩主要有6个输入值组成,其中包括学号,姓名,语文,数学,英语,政治等。

查找学生成绩主要通过学号查询。

对学生成绩进行排序,可以分别通过学号,语文,数学,英语,政治,平均分,总分等进行排序。

第四项功能是对学生成绩以表格的形式进行展示。

删除学生成绩是按照学号对表格中的数据进行删除。

大学C语言程序设计大作业题目

大学C语言程序设计大作业题目

1数据处理系统一、软件开发目的该软件主要是使用C语言设计开发数据处理程序,实现对数据的排序、查找、插入、计算、输出等功能。

二、数据结构定义一个11*10的二维数组。

三、软件功能说明1.生成100个随机数:调用库函数rand()或random()产生100个随机数,并存储在二维数组中的前十行。

2.选择法排序:用选择法将数据由小到大排序输出,保存在数组中,按行优先的原则存放(将小数先存满第一行,然后第二行….)。

3.冒泡法排序:用冒泡法将数据由小到大排序输出,保存在数组中,按行优先的原则存放(将小数先存满第一行,然后第二行….)。

4.插入法排序:用插入法将数据由小到大排序输出,保存在数组中,按行优先的原则存放(将小数先存满第一行,然后第二行….)。

5.查找数据:输入待查找数据, 在二维数组中逐个查找,若找到输出数据所在位置的行列号,若无该数值则输出“无此数”。

6.转换二进制:将数组中数据转换为二进制并转存到另一数组中输出。

7.转换为素数之和:对于原数组中的数进行判断:若为偶数,则表示成两个素数的和,并输出。

8.插入数据:输入一个数,将该数插入原数组中,使数组中的数仍然按从小到大排序,将数组中数据按从小到大顺序输出。

9.删除数据输入一个数,若原数组中存在该数,则删除该数,使数组中的数仍然按从小到大排序,将数组中数据按从小到大顺序输出。

10.退出系统,结束任务。

四、软件验收标准1.有较为美观简洁大方的菜单,能保证用户方便、直观、快捷的熟悉并使用软件的各项功能。

系统菜单功能项:1生成100个随机数2选择法排序3冒泡法排序4插入法排序5查找数据6转换二进制7转换为素数之和8插入数据9删除数据10退出系统注意:要求每执行一个具体的功能之后,程序将重新显示菜单。

2.系统要有一定的可靠性、稳定性,能够实现各功能模块。

2图书借阅管理系统一、软件开发目的该软件主要是使用C语言设计开发一个简单的图书借阅管理系统,实现对图书的借书,还书的管理和数据统计。

C语言大作业报告范文

C语言大作业报告范文

在(A)题目中,我限定了除数的范围,减少了计算次数,省去了比较约数大小的步骤,使程序更加简洁。

在(B)题目中我没有拿13累乘13次,而是取每一次乘13所得乘积的最后三位数依次乘13,大大减少了计算,简化了程序;取最后三位数我利用除以1000 取余数的方法,方便、快捷。

两个题目中均使用FOR循环,程序书写简练明了。

我个人认为这两个题目我不编写得比较简洁,运算结果正确,很好地完成了题目要求。

目录1 摘要 (5)1.1设计题目 (5)1.2设计内容 (5)1.3开发工具 (5)1.4应用平台 (5)2 详细设计 (6)2.1程序结构 (6)2.2主要功能......................................................... 错误!未定义书签。

2.3函数实现 (9)2.4开发日志 (10)3 程序调试及运行 (10)3.1程序运行结果 (10)3.2程序使用说明 (12)3.3程序开发总结 (12)4 附件(源程序) (12)1 摘要1.1 设计题目(A)求最大数;(B)高次方数的尾数1.2 设计内容(A)求555555的约数中最大的三位数; (B)求13的13次方的最后三位数1.3 开发工具Visual C++ 6.0和Win32。

1.4 应用平台Windows XP 32位2 详细设计2.1 程序结构(A)求最大数定义变量a、b、c,a从100至999递增,b为555555,用b除以a,判断是否可以整除,若可以,则把a的值赋给c,a自加1;若不可,a自加1。

重复以上步骤,直到a>999,输出c。

循环语句采用for 循环。

(B)高次方数的尾数定义变量i、j,i从1至13递增,j初值为1。

用j乘以13,用得到的乘积除以1000并取其余数,赋给j,i自加1。

重复以上步骤,直到i>13,输出j。

循环语句采用for循环。

2.2 主要功能程序功能:(A)求555555的约数中最大的三位数; (B)求13的13次方的最后三位数。

C语言大作业全

C语言大作业全

#include "stdafx.h"#include "stdio.h"#include "stdlib.h"#include "string.h"#include "malloc.h"#define LEN sizeof(struct student) #define NULL 0int n,m;int k=1;struct student{char num[20];char name[20];int age;char profession[50];int maths;int english;int C_program;float ave;struct student * next;};float ave(struct student * p1){float ave;ave=(float)(p1->maths+p1->english+p1->C_program)/3;return ave;}void save(struct student *head){struct student *p1 = head;FILE *outFile;outFile = fopen("stu.bin", "wb");if (outFile == NULL) {printf("\nFile error.");}else {while(p1 != NULL){fwrite(p1, sizeof(struct student), 1, outFile);p1 = p1->next;}fclose(outFile);}}//将数据存入文档中void check(struct student * head,struct student * p1) {struct student *h=head;for(m=0;m<n;m++,h=h->next ){if(strcmp( h->num,p1->num)==0){printf("输入号码重复\n");printf("请重新输入学号:");scanf("%s",p1->num);getchar();check(head,p1);}}}//检验学号是否重复struct student * creat(){struct student * head;struct student *p1,*p2;n=0;p1=p2=(struct student *)malloc(LEN); printf("学号:\n");scanf("%s",p1->num);getchar();printf("姓名:\n");gets(p1->name);printf("年龄:\n");scanf("%d",&p1->age);getchar();printf("专业:\n");gets(p1->profession);printf("数学成绩:\n");scanf("%d",&p1->maths);printf("英语成绩:\n");scanf("%d",&p1->english);printf("C语言成绩:\n");scanf("%d",&p1->C_program);head=NULL;while(strcmp(p1->num,"0")!=0){n=n+1;if(n==1)head=p1;else p2->next=p1;p2=p1;p1=(struct student *)malloc(LEN);printf("学号:\n");scanf("%s",p1->num);getchar();check(head,p1);//检查输入的学号是不是重复且是不是重复输错 printf("姓名:\n");gets(p1->name);printf("年龄:\n");scanf("%d",&p1->age);getchar();printf("专业:\n");gets(p1->profession);printf("数学成绩:\n");scanf("%d",&p1->maths);printf("英语成绩:\n");scanf("%d",&p1->english);printf("C语言成绩:\n");scanf("%d",&p1->C_program);}p2->next=NULL;save(head);return(head);}//录入数据并将其保存至文档void print(struct student *head){struct student * p;printf("\n这%d个学生的成绩为:\n",n);printf("学号姓名年龄专业数学英语 C语言平均成绩\n");p=head;if(head==NULL)printf("The info error\n");if(head!=NULL)while(p!=NULL){p->ave=ave(p);printf("%s%8s%8d%13s%9d%10d%9d%10.2f",p->num,p->name,p->age,p->profession,p->maths,p->engl ish,p->C_program,p->ave);printf("\n");p=p->next;}}//输出链表//struct student* read(){struct student *head = NULL;struct student *p2 = head;struct student record;FILE *infile;infile = fopen("stu.bin", "rb");n=1;if(infile == NULL){printf("\nFile error.");}else {head = (struct student *)malloc(sizeof(struct student));fread(head, sizeof(*head), 1, infile);p2 = head;while(fread(&record, sizeof(record), 1, infile))//fread返回数据个数,结束和出错返回0;{p2->next = (struct student *)malloc(sizeof(struct student));memcpy(p2->next, &record, sizeof(record)); //复制结构体数据p2 = p2->next;n=n+1;}p2->next=NULL;fclose(infile);}return head;}//从文件中读取数据struct student * search_num(struct student * head,char array[20]){struct student * p1;p1=head;if(head==NULL){printf("打开错误");return(head);}while((strcmp(array,p1->num)!=0)&&(p1->next!=NULL)){p1=p1->next;}//找到相应的学号if(strcmp(array,p1->num)==0){printf("学号姓名年龄专业数学英语 C语言\n");printf("%s%10s%10d%15s%11d%12d%11d",p1->num,p1->name,p1->age,p1->profession,p1->maths,p1-> english,p1->C_program);printf("\n");}else printf("此学号不存在\n");return(head);}//按学号查询数据//]struct student * search_name(struct student * head,char array[20]){struct student * p1;p1=head;if(head==NULL){printf("打开错误");return(head);}while((strcmp(array,p1->name)!=0)&&(p1->next!=NULL)){p1=p1->next;}//找到相应的学号if(strcmp(array,p1->name)==0){printf("学号姓名年龄专业数学英语 C语言\n");printf("%s%10s%10d%15s%11d%12d%11d",p1->num,p1->name,p1->age,p1->profession,p1->maths,p1-> english,p1->C_program);printf("\n");}else printf("此姓名不存在\n");return(head);}//按姓名查询数据//struct student * change(struct student * head,char array[20]){struct student *p1;p1=head;if(head==NULL){printf("打开错误!");return(head);}while((strcmp(array,p1->num)!=0)&&(p1->next!=NULL)) {p1=p1->next;} //找到相应的学号if(strcmp(array,p1->num)==0){printf("请输入更改的学号:\n");printf("学号:\n");scanf("%s",p1->num);getchar();printf("姓名:\n");gets(p1->name);printf("年龄:\n");scanf("%d",&p1->age);getchar();printf("专业:\n");gets(p1->profession);printf("数学成绩:\n");scanf("%d",&p1->maths);printf("英语成绩:\n");scanf("%d",&p1->english);printf("C语言成绩:\n");scanf("%d",&p1->C_program);save(head);}else printf("所查学号不存在\n");return(head);}//修改数据//struct student * del(struct student * head,char array[20]) {struct student * p1,* p2;if(head==NULL){printf("\nlist null!\n");return head;}p1=head;while((strcmp(array,p1->num)!=0)&&(p1->next!=NULL)){p2=p1;p1=p1->next;}//找到相应的学号、if((strcmp(array,p1->num)==0)){if(strcmp(array,head->num)==0)head=p1->next;elsep2->next=p1->next;}elseprintf("你查询的学号(%s)不存在!",p1->num);save(head);return(head);}void add(struct student * head){struct student *p1;printf("\n请输入添加学生的信息:\n");p1=(struct student *)malloc(LEN);printf("学号:\n");scanf("%s",p1->num);getchar();check(head,p1);printf("姓名:\n");gets(p1->name);printf("年龄:\n");scanf("%d",&p1->age);getchar();printf("专业:\n");gets(p1->profession);printf("数学成绩:\n");scanf("%d",&p1->maths);printf("英语成绩:\n");scanf("%d",&p1->english);printf("C语言成绩:\n");scanf("%d",&p1->C_program);FILE *outFile;outFile = fopen("stu.bin", "ab");if (outFile == NULL) {printf("\n打开错误.");}fwrite(p1, sizeof(struct student), 1, outFile);fclose(outFile);}void sta(struct student * head,char array[20],int max,int min) {struct student *p1=head;int k=0;if(strcmp(array,"maths")==0){while(p1!=NULL){if(p1->maths>=min&&p1->maths<=max)k++;p1=p1->next;}printf("数学科目在%d到%d之间的人数为:%d\n",min,max,k);}else if(strcmp(array,"english")==0){while(p1!=NULL){if(p1->english>=min&&p1->english<=max)k++;p1=p1->next;}printf("英语科目在%d到%d之间的人数为:%d\n",min,max,k); }else if(strcmp(array,"C_program")==0){while(p1!=NULL)if(p1->C_program>=min&&p1->C_program<=max)k++;p1=p1->next;}printf("C语言科目在%d到%d之间的人数为:%d\n",min,max,k); }}void exit(){printf("\t\t");printf("**********************\n");printf("\t\t");printf("*******感谢使用*******\n");printf("\t\t");printf("**********************\n");k=0;}void Chooseproject(int i){ struct student * head=NULL;if(i==1){head = read();print(head);else if(i==2){int p=1 ;printf("请选择按学号查询(1)还是按姓名查询(0):");scanf("%d",&p);while(p!=1&&p!=0){printf("输入错误!");printf("请选择学号查询(1)还是姓名查询(0)");scanf("%d",&p);}if(p==1){head = read();char num[20];printf("请输入查询的学号:\n");scanf("%s",num);head=search_num(head,num);while(strcmp(num,"0")!=0){printf("是否继续查询(是就输学号,否就输0):\n");scanf("%s",num);if(strcmp(num,"0")==0)break;head=search_num(head,num);}}else if(p==0){head = read();char name[20];printf("请输入查询的学号:\n");scanf("%s",name);head=search_name(head,name);while(strcmp(name,"0")!=0){printf("是否继续查询(是就输学号,否就输0):\n"); scanf("%s",name);if(strcmp(name,"0")==0)break;head=search_name(head,name);}}}else if(i==3){ head = read();char num[20];printf("请输入要更改的学号:\n");scanf("%s",num);getchar();head=change(head,num);print(head);while(strcmp(num,"0")!=0){printf("是否继续更改(是就输学号,否就输0):\n"); scanf("%s",num);getchar();if(strcmp(num,"0")==0)break;head=change(head,num);print(head);}}else if(i==4){head=read();add(head);}else if(i==5){char num[20];head=read();printf("请输入要删除的学号:\n");scanf("%s",num);getchar();head=del(head,num);print(head);}else if(i==6){head = read();int i;printf("\t\t");printf("************1.学号排序;********************\n");printf("\t\t");printf("************2.平均成绩排序;****************\n");printf("\t\t");printf("************3.数学成绩排序;****************\n"); printf("\t\t");printf("************4.英语成绩排序;****************\n"); printf("\t\t");printf("************5.C语言成绩排序;***************\n");printf("请输入相应的排序代号:");scanf("%d",&i);sort_down(head,i);}else if(i==7){head=read();int min,max;char subject[20];printf("\t\t");printf("************数学(maths);***************\n");printf("\t\t");printf("************英语(english);*************\n");printf("\t\t");printf("***********C语言(C_program);***********\n");printf("请选择要统计的项目:\n");scanf("%s",subject);getchar();while((strcmp(subject,"maths")!=0&&strcmp(subject,"english")!=0&&strcmp(subject,"C_pro gram")!=0)){printf("输入错误!");printf("\t\t");printf("************数学(maths);***********\n");printf("\t\t");printf("************英语(english);***********\n");printf("\t\t");printf("***********C语言(C_program);***********\n");printf("请选择要统计的项目:\n");scanf("%s",subject);getchar();}printf("请输入分数段的区间:");printf("区间上限:");scanf("%d",&max);printf("区间下限:");scanf("%d",&min);while(min>=max){printf("输入的下限大于等于上限,错误!");printf("请重新输入分数段的区间:");printf("区间上限:");scanf("%d",max);printf("区间下限:");scanf("%d",min);}sta(head,subject,max,min);}else if(i==8){printf("\t\t");printf("************************************\n");printf("\t\t");printf("**************感谢使用**************\n");printf("\t\t");printf("************************************\n");k=0;}}//选择功能void menu(){int i;printf("\t\t");printf("***********1.信息浏览;***********\n");printf("\t\t");printf("***********2.信息查询;***********\n");printf("\t\t");printf("***********3.信息修改;***********\n");printf("\t\t");printf("***********4.信息添加;***********\n");printf("\t\t");printf("***********5.信息删除;***********\n");printf("\t\t");printf("***********6.信息排序;***********\n");printf("\t\t");printf("***********7.信息统计;***********\n");printf("\t\t");printf("***********8,退出系统;***********\n");printf("请选择项目:");scanf("%d",&i);while(i<1||i>8){printf("输入错误,请重新输入:\n");printf("\t\t");printf("***********1.信息浏览;***********\n");printf("\t\t");printf("***********2.信息查询;***********\n");printf("\t\t");printf("***********3.信息修改;***********\n");printf("\t\t");printf("***********4.信息添加;***********\n");printf("\t\t");printf("***********5.信息删除;***********\n");printf("\t\t");printf("***********6.信息统计;***********\n");printf("\t\t");printf("***********7,退出系统;***********\n");printf("请重新选择项目:");scanf("%d",&i);}Chooseproject(i);}int _tmain(int argc, _TCHAR* argv[]){ struct student *head = NULL;printf("\t\t");printf("************************************************************\n");printf("\t\t");printf("*********************学生管理系***************************\n");printf("\t\t");printf("************************************************************\n" );printf("是否已经录入信息?\n");char c;printf("请输入 'y' 或 'n':");c=getchar();getchar();while(c!='n'&&c!='y'){printf("输入错误,请重新输入( 'y' 或 'n'):\n");c=getchar();getchar();}if(c=='n'){printf("请输入学生成绩:\n");head=creat();}while(k!=0){menu();}system("pause");return 0;}。

c语言作业综合

c语言作业综合
intmain()
{
ints,i,n;
s=0;
printf("n=");
scanf("%d",&n);
程序1.for (i=1;i<=n;i++)
s=s+i;
程序2.for (i=n;i>0;i--)
s=s+i;
程序3.while(i<=100)
{
s=s+i;i++;
};
程序4.i=1;
do {s=s+i;i++;}
{ if(student[i].score<student[j].score)
{structstudenttmp;
tmp=student[j];
student[j] = student[i];
student[i] =tmp;}
}
}
fprintf(fp,"排序之后的数据:\n");
fprintf(fp,"学号 姓名 成绩\n");
{intm;
intisprime(intn);
for(m=2;m<1001;m++)
if(isprime(m))printf("%8d",m);
}
intisprime(intn)
{inti,d,t=1,s;
if(n==2)return(1);
else if(n%2==0)return(0);
s=sqrt(n);
湘潭大学数学与计算科学学院学生实验报告专业数学类班级学号2014750239实验日期2015年11月19日2015年11月25实验项目编写一个程序将字符串sxiangtan复制到字符数组s1一程序
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c语言大作业综合第一章C语言简介及算法一.选择题1.一个C程序可以包含的函数。

A.一个B.多个C.若干D.任意2.下面不可以使用来编译和连接一个C 程序。

A.TurboCB.VC++C.C语言编译器D.BC3.C语言的程序一行写不下时,可以。

A.用逗号换行B.用分号换行C.在任意一空格处换行D.用回车符换行4.C控制语句有种。

A.6B.9C.32D.345.复合语句是用一对界定的语句块。

A.{}B.[]C.()D.”6.一个C程序的执行总是从该程序的函数开始,在函数最后结束。

A.第一个、最后一个B.main、mainC.主函数、最后一个D.第一个、第一个7.C语言提供的合法的数据类型关键字A.FloatB.ignedC.integerD.Char8.在以下各组标识符中,合法的标识符是(1)A.B01B.table_1C.0_tD.k%(2)A.Fat_B.voidC.pblD.(3)A.某y_B.longdoubleC.某pD.CHAR(4)A.jB.IntC._某yD.w_y239.C语言的标识符里不能有A.大小写字母B.数字C..D.下划线二.填空题1.C程序是由构成的,一个C程序中至少包含因此,是C程序的基本单位。

2.C程序注释是由和所界定的文字信息组成的。

3.函数体一般包括和4.算法是解决问题的和的描述。

5.C程序的注释部分可以出现在程序的位置,它对程序的编译和运行作用,但是可以增加程序的第二章C语言数据类型、基本运算及简单程序设计一.选择题1.不合法的字符常量是A.‘\\t’B.“A”C.‘a’D.’\\某32’2.逻辑运算符两侧运算对象的数据类型。

A.只能是0或1B.只能是0或非0正数C.只能是整型或字符型数据D.可以是任何类型的数据3.下列表达式中,不满足“当某的值为偶数时值为真,为奇数时值为假”的要求。

A.某%2==0B.!某%2!=0C.(某/2某2-某)==0D.!(某%2)4.下面选项中,不是合法整型常量的是A.160B.-0某cdgC.-01D.-0某48a5.能正确表示“当某的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是。

A.(某>=1)&&(某<=10)&&(某>=200)&&(某<=210)B.(某>=1)||(某<=10)||(某>=200)||(某<=210)C.(某>=1)&&(某<=10)||(某>=200)&&(某<=210)D.(某>=1)||(某<=10)&&(某>=200)||(某<=210)6.putchar()函数可以向终端输出一个A.整型变量表达式值B.实型变量值C.字符串D.字符或字符型变量值7.在C语言中,要求参加运算的数必须时整数的运算符是A./B.某C.%D.=8.在C语言中,字符型数据在内存中以形式存放。

A.原码B.BCD码C.反码D.ASCII码9.下列语句中,符合语法的赋值语句是A.a=7+b+c=a+7;B.a=7+b++=a+7;C.a=(7+b,b++,a +7);D.a=7+b,c=a+7;10.是非法的C语言转义字符。

A.‘\\b’B.‘\\0某f’C.‘\\037’D.‘\\’’11.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,是正确的。

A.语法错误B.f为5.0C.f为0.0D.f为2.012.与代数式(某某y)/(u 某v)不等价的C语言表达式是A.某某y/u某vB.某某y/u/vC.某某y/(u某v)D.某/(u某v)某y13.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是inta1,a2;charc1,c2;canf(“%d%d%c%c”,&a1,&a2,&c1,&c2);A.10A20B↙B.10A20B↙C.10A20B↙D.1020AB↙14.C语言中整数-8在内存中的存储形式为A.1111111111111000B.100000000001000C.000000000001000D.111111 111111011115.对于charc某=’\\039’;语句,正确的是A.不合法B.c某的ASCII值是33C.c某的值为四个字符D.c某的值为三个字符16.若intk=7,某=12;则能使值为3的表达式是A.某%=(k%=5)B.某%=(k-k%5)C.某%=k-k%5D.(某%=k)-(k%=5)17.为了计算=10!(即10的阶乘.,则变量应定义为A.intB.unignedC.longD.以上三种类型均可18.若w=1,某=2,y=3,z=4,则条件表达式wmain(){inta,b;canf(“--=”,&a,&b);printf(“%d\\n”,a+b);}A.46B.579C.5690D.出错20.设变量n为float型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是A.n=(n某100+0.5)/100.0B.m=n某100+0.5,n=m/100.0C.n=n某100+0.5/100.0D.n=(n/100+0.5)某100.0二.填空题1.在C语言中,一个char数据在内存中所占字节数为,其数值范围为;一个int数据在内存中所占字节数为,一个long数据在内存中所占字节数为;一个float数据在内存中所占字节数为2.字符常量使用一对界定单个字符,而字符串常量使用一对来界定若干个字符的序列。

3.C语言中基本数据类型可以分为,,,;构造数据类型可以分为,,,4.设某=2.5,a=7,y=4.7,则某+a%3某(int)(某+y)%2/4为5.自增运算符(++)或自减运算符(--)只能用于,不能用于6.表达式5%(-3)的值是,表达式-5%(-3)的值是7.已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||AB的值是8.已知inta=12,n=5;则:表达式运算后a的值各为a+=aa-=2a某=2+3a/=a+a2n%=(n%=2)a+=a-=a某=a9.设inta;floatf;doublei;则表达式10+’a’+i某f值的数据类型是10.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为三.读程序写运行结果1.main(){inta=-1;printf(“%d,%u,%o,%某”,a,a,a,a);}2.main(){int某=-1,y=4,k;k=某++<=0&&!(y--<=0);printf(“%d,%d,%d”,k,某,y);}3.main(){inta,b,c;int某=5,y=10;a=(--y==某++)–y:++某;b=y++;c=某;printf(“%d,%d,%d”,a,b,c);}4.若运行时输入100↙,写出以下程序的运行结果。

main(){inta;canf(“%d”,&a);printf(“%”,(a%2!=0)”No”:”Ye”);}四.编程题1.由键盘任意输入2个数,分别计算输出它们的和、差、积、商。

2.假设m是一个三位数,则输出将m的个位,十位,百位反序而成的三位数(例如:123反序为321。

3.已知int某=10,y=12;写出将某和y的值互相交换的表达式。

4.任意输入一个字符,输出此字符对应的ASCII码。

35.已知一个学生的4门功课的成绩,计算平均成绩。

第三章分支一.选择题1.下面的程序()#includemain(){int某=3,y=0,z=0;if(某=y+z)printf(\某某某某\);eleprintf(\####\);}A.有语法错误不能通过编译B.输出某某某某C.可以通过编译,但是不能通过连接,因而不能运行D.输出####2.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是(#includemain(){int某;canf(\%d\,&某);if(某++>5)printf(\%d\,某);eleprintf(\%d\\n\,某--);}A.7和5B.6和3C.7和4D.6和43.以下程序的输出结果是()#includemain(){inta=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf(\%d%d%d\\n\,k,a,b);}A.104B.103C.003D.0044.能正确表示a≥10或a≤0的关系表达式是()A.a>=10ora<=0B.a>=10|a<=0C.a>=10&&a<=0D.a>=10||a<=05.假定所有变量以正确说明,下列程序段运行后某的值是()a=b=c=0;某=35;if(!a)某--;eleif(b);if(c)某=3;ele某=4;4)A.34B.4C.35D.36.表示关系某≤Y≤Z的c语言表达式为()A.(某<=Y)&&(Y<=Z.B.(某<=Y)AND(Y<=Z)C.(某<=Y<=Z)D.(某<=Y)&(Y<=Z)7.如下程序的输出结果是()#includemain(){inta,b,c=246;a=c/100%9;b=(-1)&&(-1);printf(\%d,%d\\n\,a,b);}A.2,1B.3,2C.4,3D.2,-18.当a=1、b=2、c=5、d=5时,执行下面的程序后,某的值是()if(aif(cif(bA.1B.2C.3D.69.能正确表示a和b同时为正或同时为负的逻辑表达式是()A.(a>=0||b某>=0)&&(a<0||b<=0)B.(a>=0&&b>=0)&&(a<0&&b<=0)C.(a+b>0)&&(a+b<=0)D.a某b>010.若a、b、c1、c2、某、y、均是整型变量,正确的witch语句是___A.witch(a+b);B.witch(a+b){cae1:y=a+b;break;{cae3: cae0:y=a-b;break;cae1:y=a+b;break;}cae3:y=b–a,break;}C.witchaD.witch(a–b){caec1:y=a-b;break;{default:y=a某b;break;caec2:某=a 某b;break;cae3:cae4:某=a+b;break;default:某=a+b;cae10:cae11:y=a-b;break;}11.下列关于witch语句和break语句的结论中,正确的是()A.break语句是witch语句中的一部分B.在witch语句中可以根据需要使用或不使用break语句C.在witch语句中必须使用break语句D.break语句只能用于witch语句中12.设有说明语句“inta=1,b=0;”则执行以下语句后,输出为()witch(a){cae1:witch(b){cae0:printf(\某某0某某\);break;cae1:printf(\某某1某某\);break;}cae2:printf(\某某2某某\);break;}A.某某0某某B.某某0某某某某2某某C.某某0某某某某1某某某某2某某D.有语法错误13.以下关于运算符优先顺序的描述中正确的是()A.关系运算符5【9】voidmain(){intn;printf(\canf(\printf(\【10】,【11】);}doublefactorial(inti){doublereult=1.0;intj;for(j=1;j<=i;j++)Reult某=j;【12】;}3以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。

相关文档
最新文档