精华内容
下载资源
问答
  • C语言程序实践C语言程序实践C语言程序实践C语言程序实践
  • 本书针对高校C语言课程教学实践的要求,以培养学生编程能力为目标,是《C语言程序设计》一书的配套实验教材,主要内容包括基础实验、习题、实验报告、课堂作业等。书中选用了大量具有代表性的实验题目,有很强的针对...

    本书针对高校C语言课程教学实践的要求,以培养学生编程能力为目标,是《C语言程序设计》一书的配套实验教材,主要内容包括基础实验、习题、实验报告、课堂作业等。书中选用了大量具有代表性的实验题目,有很强的针对性。全书主线清晰、重点明确、叙述严谨、内容由浅入深。本书适合作为高等院校本科生的实践教学用书,也可作为参加全国计算机等级考试二级(C语言)的辅导教材,同时也是工程技术人员较好的参考书。

    陈亮, 男, 副教授, 西安交通大学博士, 西安工程学院计算机科学学院副院长, 长期从事计算机科学的教学与研究工作, 发表论文多篇.

    第1部分 基础实验1

    实验1 C语言概述3

    实验2 基本数据类型与表达式13

    实验3 顺序结构程序设计17

    实验4 选择结构程序设计24

    实验5 循环结构程序设计27

    实验6 数组30

    实验7 函数36

    实验8 编译预处理42

    实验9 指针45

    实验10 结构体与链表52

    实验11 共用体和枚举60

    实验12 文件64

    第2部分 习题69

    习题1 C语言概述71

    习题2 基本数据类型与表达式73

    习题3 顺序结构程序设计75

    习题4 选择结构程序设计78

    习题5 循环结构程序设计81

    习题6 数组85

    习题7 函数91

    习题8 编译预处理99

    习题9 指针102

    习题10 结构体与链表113

    习题11 共用体和枚举119

    习题12 文件121

    第3部分 实验报告127

    实验报告1 C语言概述129

    实验报告2 基本数据类型与表达式131

    实验报告3 顺序结构程序设计133

    实验报告4 选择结构程序设计135

    实验报告5 循环结构程序设计137

    实验报告6 数组139

    实验报告7 函数141

    实验报告8 编译预处理143

    实验报告9 指针145

    实验报告10 结构体与指针149

    实验报告11 共用体和枚举151

    实验报告12 文件153

    第4部分 课堂作业155

    课堂作业1 C语言概述157

    课堂作业2 基本数据类型与表达式159

    课堂作业3 顺序结构程序设计161

    课堂作业4 选择结构程序设计163

    课堂作业5 循环结构程序设计165

    课堂作业6 数组167

    课堂作业7 函数169

    课堂作业8 编译预处理171

    课堂作业9 指针173

    课堂作业10 结构体与指针175

    课堂作业11 共用体和枚举177

    课堂作业12 文件179

    参考文献181

    展开全文
  • c语言程序设计实践实验题目 绥化学院程序设计实践实验报告范例 参考1实验题目:循环结构程序设计实验目的:1.熟悉 VC++6.0 的运行环境,掌握 C 程序的执行方法;2.掌握三种基本数据类型、部分运算符号和常用函数;3....

    41528d3028836879cd698677c3999917.gifc语言程序设计实践实验题目

    绥化学院程序设计实践实验报告范例 参考1实验题目:循环结构程序设计实验目的:1.熟悉 VC++6.0 的运行环境,掌握 C 程序的执行方法;2.掌握三种基本数据类型、部分运算符号和常用函数;3.掌握三种循环控制语句及 break 和 continue 语句的使用方法;4.掌握循环结构的嵌套及正确控制计数型循环结构次数的方法。实验内容:程序 1:搬砖问题:36 块砖,36 人搬,男搬 4,女搬 3,两个小孩抬 1 砖,要求一次搬完,问男、女和小孩各若干?#include “stdio.h”main(){int men,women,children;men=0;while(menm-1) printf(“%5d“,m);}}程序 4:计算和统计旅客运费程序 。由键盘输入旅客行李重量(w) ,按公式 :若( w50kg)f=1.5*50 + 2.8*(w-50) ( w>50kg )绥化学院程序设计实践实验报告范例 参考2计算运费,要求:(1)打印每位旅客的顺序号,行李重量,应付运费 ;(2)假定每天最多办理 100 人的行李托运手续或当 w≤0 时循环结束, 下班时打印出全天的运费总收入和办理的总人数。方法一(while 结构) #include “stdio.h”main( ){int num=0;float w,f,total=0;scanf(“%f “,while (w>0int n=8,i,k=0,j=1,len; len=n;i=0;//给数组赋值for(i=0;i0){if(a[k%n]>0){if(j%3==0){printf(“%d\n“,a[k%n]);//找到要出圈的人,并把圈中人数减一 ,最后一个人才输出 a[k%n]=-1;j=1;k++;len--;}else{//报数不是 3k++;j++;}}else//遇到空位了,就跳到下一位,但 j 不加一,也就是这个位置没有报数k++;}}2.学生成绩统计与分析输入 10 名学生的英语、C 语言、计算机文化基础成绩,统计每名学生三科成绩的平均分,分析三门课程的优秀率,85 分以上为优秀。#include void main(){int grade[10][4];int i,j,average,egood,cgood,jgood;绥化学院程序设计实践实验报告范例 参考5for(i=0;i=85){if(j==0) egood++; if(j==1) cgood++; if(j==2) jgood++;}}grade[i][3]=average/3;}for(i=0;ivoid main(){ int paixu (int c[]);int a[8]={1,7,9,11,13,15,17,19};int b[5]={2,3,6,8,10};int c[13];int *p,*q,*s;for(p=a,s=c;pc[i+1]){ k=c[i];c[i]=c[i+1];c[i+1]=k;}for(i=0;i<13;i++)printf(“%d\n“,c[i]);}绥化学院程序设计实践实验报告范例 参考7实 验 三:函数实验目的:1.更加灵活的使用数组和指针作为函数参数;2.更加灵活使用指针处理字符串。实验内容:1.字符串复制输入一个长度不大于 30 的字符串,将此字符串中从第 m 个字符开始的剩余全部字符复制成为另一个字符串,并将这个新字符串输出。要求用指针方法处理字符串。2.插入字符串从键盘上先后读入两个字符串,假定存储在字符数组 s1 和 s2 中。注意,这两个字符串最长均可达到 26 个字符、最短均可为 0 个字符。将字符串 s2 插入字符串 s1 中,生成一个新的字符串 s。插入方法为 s2 的第 i 个字符插入到原 s1 的第 i 个字符后,如果 s2 比 s1(假定s1 的长度为 L1)长,则 s2 的第 L1 个字符开始到 s2 结尾的所有字符按在 s2 中的顺序放在新生成的字符串 s 之后。用指针完成程序。3.学生成绩管理系统某班期末考试科目为数学(MT) 、英语(EN)和物理(PH) ,有最多不超过 30 人参加考试。(1)计算每个学生的总分;(2)按总分成绩由高到低排出成绩的名次;(3)打印出名次表,包括名次、学生编号、各科分数、总分;要求程序运行后先打印出一个菜单,提示用户选择:成绩录入、成绩排序、成绩查找,在选择某项功能后执行相应的操作。绥化学院程序设计实践实验报告范例 参考8实 验 四:结构体实验目的:1.更加灵活的使用数组作为函数参数;2.初步掌握开发一个小型实用系统的基本方法;3.初步掌握书写程序设计开发文档的能力。实验内容:程序一:学生信息管理系统编写程序,实现学生信息的管理(包括学生信息的建立、增加、删除、修改、查找) ,要求:小组分工情况小组分工情况统计表班级 信息工程学院 计算机科学与技术专业 2012 级 软件工程(方向) 班 组名称 学生信息管理系统项目组长 (本次项目小组组长)组员组员学号工作简介一 需求分析I 设计一个学生成绩管理系统至少具有以下功能 :(1)菜单功能:采用文本菜单界面。(2)学生信息的建立。(3)学生信息的增加。(4)学生信息的删除。(5)学生信息的修改。(6)学生信息的查找。II 数据库结构struct student{ char num[10];char name[10];char xibie[10];char sex; int age; }st[30];二 总体设计框架结构图(系统的功能结构图)绥化学院程序设计实践实验报告范例 参考9学生成绩管理系统输入增加…….退出程序流程图: (visio)结束开始输出菜单根据菜单输入 n 的值选择程序输入增加删除修改查找三、详细设计(流程图!!!)四、程序源代码(参考答案)1.用结构体数组完成2.用结构体指针完成1. #include “stdio.h“#include “string.h“typedef struct node{ char num[10];char name[10];char xibie[10];char sex; int age; }st;int n;st *creslink(){int i;st s[10];printf(“请输入要录入的人数:“);退出绥化学院程序设计实践实验报告范例

    展开全文
  • 湘潭大学计算机科学与技术,网络工程,软件工程《C语言程序设计实践》OnlineJudge网站习题解答!!!
  • C语言程序设计实践实验题目 绥化学院程序设计实践实验报告范例 参考 实验题目循环结构程序设计 实验目的 熟悉VC++的运行环境掌握C程序的执行方法 掌握三种基本数据类型部分运算符号和常用函数 掌握三种循环控制语句...
  • C语言程序设计实践 C语言程序设计实践C语言程序设计实践 C语言程序设计实践
  • C语言程序设计实践教程
  • C语言程序设计实践.rar
  • 精品资料 精品资料 可编辑修改 可编辑修改 C语言程序设计实践任务书 信息科学与工程学院电气与自动化实验室 2012 年 5 月 目录 TOC \o "1-5" \h \z \o "Current Document" 一 指导老师安排 2 \o "Current Document" ...
  • 精品资料 C语言程序设计实践任务书 信息科学与工程学院电气与自动化实验室 2012 年 5 月 可编辑修改 精品资料 目 录 一指导老师安排 二课程设计要求 三结构化程序设计方法 四相关管理系统设计题的基本功能要求 五...
  • C语言程序设计实践-扫雷小游戏

    千次阅读 多人点赞 2018-10-09 21:02:16
    C语言程序设计实践-扫雷小游戏 大连海事大学 信息科学技术学院 电子信息工程专业四班 C语言程序实训-扫雷小游戏 实验代码 #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;time...

    C语言程序设计实践-扫雷小游戏

    大连海事大学 信息科学技术学院 电子信息工程专业四班 C语言程序实训-扫雷小游戏
    在这里插入图片描述

    实验代码

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    #include <windows.h>
    #define xx 51
    #define yy 51
    
    int a[xx][yy];
    char show[xx][yy];
    Int boom[xx][yy];
    int hang,lie;
    double begin, finish;
    int oo;
    
    void menu(void);
    void set(int boom[xx][yy]);
    void display(char show[xx][yy]);
    int sweep(int boom[xx][yy], char show[xx][yy]);
    int num(int boom[xx][yy], char show[xx][yy], int x, int y);
    void nandu();
    
    主函数如下
    int main()
    {
    int m, n;
    kaishi:
    	for (m = 0; m<xx; m++)
    	{
    		for (n = 0; n<yy; n++)
    {
    			show[m][n] = '\0';
    			boom[m][n] = 0;
    			a[m][n] = 0;//为数组进行初始化
    		}
    	}
    
    menu();
    	int f;
    	scanf("%d", &f);
    	if (f == 1)
    {
    		system("cls");
    		nandu();
    	for (m = 0, n = 0; n<lie; n++)//设置边界标识 
    		a[m][n] = 1;
    	for (m = (hang-1), n = 0; n<lie; n++)//设置边界标识 
    		a[m][n] = 1;
    	for (m = 0, n = 0; m<hang; m++)//设置边界标识 
    		a[m][n] = 1;
    	for (m = 0, n = (lie-1); m<hang; m++)//设置边界标识 
    		a[m][n] = 1;
    
    		system("cls");
    		set(boom);
    		display(show);
    		sweep(boom, show);
    		printf("按任意键返回主菜单\n");
    		scanf("%d", &m);
    		system("cls");
    		goto kaishi;
    }
    	return 0;
    }
     
    
    void menu()
    {
    	printf("\n");
    	printf("                  \n");
    	printf("      主菜单      \n");
    	printf("\n");
    	printf("    1.进入游戏     \n");
    	printf("    2.退出游戏     \n");
    	printf("\n");
    
    	printf("(输入对应序号进入)\n");
    	printf("copyright by team 6\n");
    	printf("\n");
    	printf("\n");
    	printf("\n");
    }
    
    选择难度
    void nandu()//难度调节  
    {tou:
    	color(7);
    	printf("1.简单模式\n");
    	color(9);
    	printf("2.普通模式\n");
    	color(4);
    	printf("3.困难模式\n");
    	color(5);
    	printf("4.噩梦模式\n");
    	color(7);
    	printf("5.自定义(行列小于50)\n");
    	int mm;
    	scanf("%d", &mm);
    	switch (mm)
    	{
    	case 1:oo = 10; hang = 11; lie = 11; break;
    	case 2:oo = 40; hang = 18; lie = 18; break;
    	case 3:oo = 99; hang = 23; lie = 23; break;
    	case 4:oo = 120; hang = 23; lie = 23; break;
    	case 5:	printf("行 列 雷\n");
    		    scanf("%d %d %d",&hang,&lie,&oo);
    			hang=hang+2;
    			lie=lie+2;
    			break;
    	default:{printf("错误,请重新选择");
    	
    		goto tou;
    	system("cls");
    	}
    	}
    
    }
    
    void set(int boom[xx][yy]) 
    {
    	int count = oo;
    	int x = 0;
    	int y = 0;
    	srand((unsigned)time(NULL));
    	while (count)
    	{
    		x = rand() % (hang-3) + 1;
    		y = rand() % (lie-3) + 1;
    		if (boom[x][y] == 0)
    		{
    			boom[x][y] = 1;
    			count--;
    		}
    	}
    }
    
    void display(char show[xx][yy])
    {
    	int i = 0;
    	int j = 0;
    	printf("  ");
    	for (i = 1; i<hang - 1; i++)
    	{
    		printf(" %2d ", i);
    	}
    	printf("\n");
    	for (i = 1; i < hang - 1; i++)
    	{
    
    		printf("  ");
    		for (j = 1; j<lie - 1; j++)
    		{
    			printf("|---");
    		}
    		printf("|\n");
    		printf("%2d", i);
    		for (j = 1; j < lie - 1; j++)
    		{
    			printf("| %c ", show[i][j]);
    		}
    		printf("|\n");
    	}
    	printf("  ");
    	for (j = 1; j < lie - 1; j++)
    	{
    		printf("|---", show[i][j]);
    	}
    	printf("|\n");
    }
    
    int sweep(int boom[xx][yy], char show[xx][yy])
    {
    	int num(int boom[xx][yy], char show[xx][yy], int x, int y);
    	int x, y, count = 0, l, k, win = 0;
    
    	begin = clock();
    	while (1)
    	{
    
    	start:
    	win = 0;
    		for (l = 1; l<hang - 1; l++)
    		{
    			for (k = 1; k<lie - 1; k++)
    			if (show[l][k] >= 48 && show[l][k]<57)//胜利条件检测 
    				win++;
    
    		}
    		if (win == ((hang - 2)*(lie - 2) - oo))//胜利条件判断 
    			break;
    	
    		printf("请输入坐标,输入坐标的相反数可以标记为雷区\n");
    		scanf("%d %d", &x, &y);
    		if (x>(hang-2) || y>(lie-2)||x<-(hang-2)||y<-(lie-2)||!((x>0&&y>0)||(x<0&&y<0)))
    		{
    		
    				system("cls");
    				display(show);
    			printf("输入错误,请重新输入\n");
    			goto start;
    		}
    
    		if (x<0)
    		{
    			if (show[-x][-y] == '\0')
    				show[-x][-y] = '!';
    				else  
    			if(show[-x][-y] == '!')
    				show[-x][-y] = '\0';
    			else {goto start;
    			}
    			system("cls");
    			display(show);
    
    			continue;
    		}
    
    		if (count == 0)//防止第一次踩雷
    		{
    			if (boom[x][y] == 1)//count在这里是计步作用 记录操作次数
    			{
    				boom[x][y] = 0;
    				l = rand() % (hang-3)+ 1;
    				k = rand() % (lie-3) + 1;
    				if (boom[l][k] == 0)
    				{
    					boom[l][k] = 1;
    
    				}
    
    			}
    		}
    
    
    		if (boom[x][y] == 1){
    			for (l = 1; l<hang - 1; l++){
    				for (k = 1; k<lie - 1; k++)
    				if (boom[l][k] == 1)
    					show[l][k] = '*';//失败时雷区显示
    			}
    			system("cls");
    			display(show);
    			finish = clock();
    			printf("你踩到地雷了!\n");
    			printf("游戏结束,用时%d秒\n", (int)(finish - begin) / 1000);
    			return 0;//游戏失败
    		}
    		else
    		{
    			num(boom, show, x, y);
    			system("cls");
    			display(show);
    			count++;
    
    		}
    
    	}
    	finish = clock();
    	printf("你赢了!!\n");
    	printf("游戏结束,用时%d秒\n", (int)(finish - begin) / 1000);
    	printf("输入任意数字返回主菜单\n");
    	return 0;
    
    }
    
    int num(int boom[xx][yy], char show[xx][yy], int x, int y)//查看一点周围雷的个数 
    
    {
    	int nnn = 0, p, q;
    	if (a[x][y] == 0)
    	{
    
    		if (boom[x - 1][y - 1] == 1)
    			nnn++;
    		if (boom[x - 1][y] == 1)
    			nnn++;
    		if (boom[x - 1][y + 1] == 1)
    			nnn++;
    		if (boom[x][y - 1] == 1)
    			nnn++;
    		if (boom[x][y + 1] == 1)
    			nnn++;
    		if (boom[x + 1][y - 1] == 1)
    			nnn++;
    		if (boom[x + 1][y] == 1)
    			nnn++;
    		if (boom[x + 1][y + 1] == 1)
    			nnn++;
    		show[x][y] = nnn + '0';
    		if (nnn == 0){//连锁反应递归 
    			a[x][y] = 1;
    
    
    
    
    			for (p = x - 1; p<x + 2; p++)
    			{
    				for (q = y - 1; q<y + 2; q++)
    					num(boom, show, p, q);
    
    			}
    
    		}
    	}
    
    	else return 0;
    
    
    

    运行结果

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    实验心得

    在这里插入图片描述

                                                   COPYRIGHT BY LIDONGLIN
    
    展开全文
  • 2012级“C语言程序设计实践”任务书,C语言课程设计的
  • 第一章 程序设计概述本章知识体系 重点C语言相关基本概念C语言程序结构的组成难点C语言程序书写规范的掌握任务1.1 了解C语言的发展过程 语言问世于20世纪70年代1978年由美国电话电报公司(AT&T)贝尔实验室正式发表...
  • C语言程序设计实践教程》实验题源程序
  • C语言程序设计实践3.1 ABS ★实验任务  chriswho在大学学了一年c语言了,有一天他过来考你。他的题目是给一个实数,输出 其绝对值。 ★数据输入  输入样例包含一行,为一个实数n。 ★数据输出  输出n的...

    C语言程序设计实践3.1 ABS

    ★实验任务

        chriswho在大学学了一年c语言了,有一天他过来考你。他的题目是给一个实数,输出
    其绝对值。

    ★数据输入

        输入样例包含一行,为一个实数n。

    ★数据输出

        输出n的绝对值(保留两位小数)并换行。

                 输入示例                       输出示例

                 -240.0                     240.00

    代码:
                #include<stdio.h>
    int main()
    {
    float r;
    scanf("%f",&r);
    if(r<0)
    r=-r;
    else
    r=r;
      printf("%.2f",r);
    return 0;
    }
    展开全文
  • C语言程序设计实践-C语言应用实践

    千次阅读 2016-11-02 11:28:41
    第10周实践-阅读下面的程序,试运行并理解其中技术手段 上机时,直接到课程主页点击链接,然后复制源码 【阅读1】使用文件输入输出:运行教学视频中关于文件的程序,体会文件的读写: (1)源码1:文件读写1; ...
  • 第八章 文件的应用huy本章中的知识点主要涵盖了C语言文件的概念及C语言文件的建立和使用通过本章的学习应了解C语言文件的概念熟练掌握C语言文件操作函数及读写函数掌握C语言文件的建立和使用重点是C语言文件的建立和...
  • 实训报告 实训项目名称 专 业 班 级 姓名 与 学号 完 成 时 间 年 月 日...更加深入掌握C语言 熟练的掌握函数的定义调用说明的方法 熟练掌握对文件的操作 掌握数组作为函数参数的程序设计方法 掌握模块化程序设计的方法
  • 第九章 综合实践项目;任务9.1 项目要求;任务9.2 主菜单的设计与实现;代码;任务9.3 信息录入及信息浏览模块的设计与实现;代码;任务9.4 信息查询模块的设计与实现;代码;任务9.5 信息修改及文件保存模块的设计与实现;...
  • 实训报告 实训项目名称 专 业 班 级 姓名 与 学号 完 成 ...掌握一维数组二维数组应用程序设计方法 掌握用函数进行模块化程序设计 掌握结构体的程序设计方法 二实训性质 实训性质: 验证 综合 设计 三实训任务 2016.5.31
  • 专 业 班 级 姓名 与 学号 完 成 时 间 年 月 日 评语 评语 成绩 指导教师 胡洋 批阅时间 年 月 日 基础项目六调用函数进行数值排列函数文件综合训练 一实训目的和要求 掌握选择结构循环结构程序设计方法 ...
  • 第三章 程序的控制结构本章知识体系 重点是if-else语句if语句的嵌套使用switch多分支选择语句的使用及选择结构的常用算法for语句while语句do while语句的使用及循环的常用算法难点是if语句的嵌套使用和应用选择结构...
  • 第五章 函数的应用;本章知识体系;任务5.1 简单函数编程;有返回值函数?此类函数被调用执行完后将向调用者返回一个执行结果 称为函数返回值如数学函数即属于此类函数 由用户定义的这种要返回函数值的函数必须在函数...
  • 第七章 结构体与联合体应用; 本章知识体系;任务7.1 结构体变量与结构体数组编程;2既然结构体是一种数据类型那么就可以用它来定义变量说明结构变量有以下三种方法 1先定义结构再说明结构变量如 struct stu { int num;...
  • 第六章 指针的应用;本章知识体系;任务6.1 指向变量的编程? 知识点 1.指针变量是用来存放其他变量地?址的变量通过指针可以间接访问其他变量的值 指针变量定义的一般形式为 类型标识符 *指针变量名 指针变量使用之前...
  • C语言程序设计实践》————如何买玫瑰?(贪心思维) 要求:小慧过生日,小明要买玫瑰送她。每枝红玫瑰5元,满5支送1枝,满20枝送5枝。小明一共有n(n>10)元钱,最多能买到多少? 样例输入:135 样例输出:33 ...
  • 学生成绩管理系统C语言程序设计实践报告(此文档为word格式,下载后您可任意编辑修改!)中南大学C语言程序设计实践报告题 目 学 生 成 绩 管 理 系 统学生姓名 木雕小象指导教师 × × ×学 院 信 息 科 学 与 工 程 ...
  • 课 程 报 告 课 程 名 称 程序设计实践 专 业 班 级 计算机科学与技术1205班 学 生 姓 名 雷原康 学 号 201216010522 任 课 教 师 陈卫东 学 期 2012-2013学年第二学期 课程报告任务书 题 目 图书信息管理系统 主要 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,273
精华内容 909
关键字:

c语言程序设计实践

c语言 订阅