C语言上机实验例题
- 格式:doc
- 大小:63.50 KB
- 文档页数:10
实验一Visual C++6.0的使用及顺序结构程序设计一、实验目的1、掌握启动和退出VC6 的方法。
2、熟悉 VC6 开发环境。
3、初步掌握简单程序的上机操作基本步骤,熟悉 C 单文件程序的输入、编译、链接和运行过程。
4、初步掌握程序的编辑修改和调试。
5、熟练使用赋值运算、算术运算等表达式。
6、熟练使用标准输入、输出函数及各种数据类型的格式说明符。
二、实验内容1、下面C语言程序,其功能是显示字符串“欢迎同学们来到华北水院计算中心!”。
请同学们按照下面的实验指导学习VisualC++6.0的使用。
1 .启动 VisualC++6 .0 开发环境(1)单击开“始”按钮,选择程“序”——〉“Microsoft Visual Studio6.0菜单项,单击“MicrosoftVisualC++6.0”,屏幕出现标题为“当时的提示”的窗口。
(2)单击“结束”按钮,关闭窗口,进入VC6.0 开发环境的主窗口。
2 .使用 Visual C++6.0 对一个 C 程序进行编辑、编译、连接和运行。
⑴分析Visual C++6.0 中程序的开发过程与其它高级语言的开发过程相仿,都要经过编辑、编译、连接和运行四个步骤。
⑵步骤①编辑图 1-1 New 对话框编辑是将 C 源程序输入计算机的过程。
在Visual C++6.0 主界面下,点击File 菜单,选择Ne w 菜单项,即可出现New 对话框,如图1-1 所示。
在弹出窗口中的Files 标签页下,选择C++ Sour ce File。
在选项卡右面的File 编辑框里输入文件名如“Exa.c”,在 Location 编辑框里输入文件路径,2如 : \test”。
点击 OK 按钮。
将出现编辑窗口 ,如图 1-2 所示。
在图 1-2 所示的右端编辑窗口里输 入以下 C 源程序并保存文件。
图 1-2 编辑窗口②编译编译是使用系统提供的编译器将文本文件 Exa.c 生成机器语言的过程 ,结果为 Exa.obj ,由于没有 得到系统分配的绝对地址,还不能直接运行,如图 1-3 所示。
1.根据下列函数接口,实现该函数.voidSortP(int a[],int m, int flag)函数的功能:如果flag==0,则函数实现对数组a的前m个元素进行降序排列,如果flag!=0,则对数组a的前m个元素进行升序排列.#include<stdio.h>void main(){voidSortP(int a[],int m, int flag);int a[5],m=3,flag;inti;for(i=0;i<5;i++)scanf("%d",&a[i]);scanf("%d",&flag);SortP(a,3,flag);for(i=0;i<5;i++)printf("%d\n",a[i]);}voidSortP(int a[],int m, int flag){inti,t,j;if(flag==0){for(i=0;i<m-1;i++)for(j=0;j<m-i-1;j++){if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}}else{for(i=0;i<m-1;i++)for(j=0;j<m-i-1;j++){if(a[j]<a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}}}2.任意输入三个整数,求其中非负数的和。
#include<stdio.h>void main(){int a[3],i,sum=0;for(i=0;i<3;i++)scanf("%d",&a[i]);for(i=0;i<3;i++)if(a[i]>=0)sum=sum+a[i];printf("%d",sum);}3.任意输入三个整数a,b,c,将他们从大到小输出。
安装Visual C ++6.0下载请从群里下载Microsoft Visual Studio.rar。
将下载的文件Microsoft Visual Studio.rar解压后即可使用。
请直接运行文件“Microsoft Visual Studio\Common\MSDev98\Bin\MSDEV.EXE”实验一认识C语言【实验目的】1.熟悉C程序设计编程环境Visual C ++,掌握运行一个C程序设计的基本步骤,包括编辑、编译、连接和运行。
编辑:编写源程序文件.c编译:生成目标文件.obj连接:生成可执行文件.exe运行:执行.exe文件。
2.掌握C语言程序设计的基本框架,能够编写简单的C程序。
3.了解程序调试的思想,能找出并改正C程序中的语法错误。
【实验内容】1-1 在磁盘上新建一个文件夹,用于存放C程序,文件夹的名字可以是学号,如D:\3050888。
1-2 编程示例,在屏幕上显示一个短句“Hello World!”。
源程序# include <stdio.h>void main( ){printf("Hello World! \n");}运行结果Hello World!作为第一个实验,在Visual C++编程环境下,以上述C语言源程序为例,介绍运行一个C 程序的基本步骤,请读者按照以下步骤操作。
(1)启动VC++执行“开始”—>“程序”—>“Microsoft Visual Studio 6.0”—> “Microsoft Visual C++ 6.0”,进入VC++编程环境(如图1.1所示)。
图1.1 VC++窗口(2)新建文件执行“文件/File”—>“新建/New”,单击“文件/Files”选项卡(如图 1.2所示),先在“文件/File name”栏中输入test,把C源(程序)文件命名为test.cpp,在“目录/Location”框中选择你已经建立的文件夹,如,D:\3050888,然后选中“C++ Sourse Files”,单击“确定”按钮,在D:\3050888下就新建了文件test.cpp,并显示编辑窗口和信息窗口(如图1.3所示)。
c语言上机练习共35篇C 语言程序上机实训题上机练习一一、程序改错题:程序功能:求 100 以内的偶数之和. #include "stdio.h" main() { int i,sum=1; sum+=i; printf("Sum=%d \n";sum); getch(); } 二、程序填空题:程序功能:输入数组最大的与最后一个元素交换,最小的与第一个元素交换,输出数组。
main() { int number[10]; input(number); max_min(number); output(number);} input(int number[10]) { int i; for(i=0;【?】;i++) scanf("%d,",&number[i]); scanf("%d",&number[9]);} max_min(int array[10]) { int max,min,k=0,l=0,t,p,; max=min=array[0]; for(p= 1;pmax) {max= array[p];k=p;} else if(array[0] /**********End **********/} main() { int m; printf("Enter m: "); scanf("%d", &m); printf("\nThe result is %ld\n", fun(m)); }1C 语言程序上机实训题上机练习二一、程序改错题:功能:求 1 到 10 的阶乘的和。
main() { int i; float t,s=0; float fac(int n); for(i=1;i #include 【?】 main() { float a,b,c,disc,x1,x2,realpart,imagpart;scanf("%f%f%f",&a,&b,&c); printf("the equation"); if(【?】/********** }End **********/2C 语言程序上机实训题上机练习三一、程序改错题:功能:将一个正整数分解质因数。
上机编程题的最大值,并将该数以格式"%.3f"写到1. 对x=1,2,...,10,求函数f(x)=x-10*cos(x)-5*sin(x)考生目录下的新建文件design1.dat中。
#include <stdio.h>#include <math.h>void main(){ FILE *p; float f(float),max,x;p=fopen("design1.dat","w");max=f(1);for(x=2;x<=10;x++)if(f(x)>max) max=f(x);fprintf(p,"%.3f",max);fclose(p);}float f(float x){y=y-10*cos(y)-5*sin(y);return (y);},若x、y取值为区间[1,6]的整数,找出使z取最小值的x1、y1,2. z=f(x,y)=(3.14*x-y)/(x+y)并将x1、y1以格式"%d,%d"写入到考生目录下的新建文件design1.dat中。
#include <stdio.h>void main(){ FILE *p; float f(float x,float y),min;int x,y,x1,y1;p=fopen("design1.dat","w");min=f(1,1);for(x=1;x<=6;x++)for(y=1;y<=6;y++)if(f(x,y)<min){min=f(x,y); x1=x;y1=y;}fprintf(p,"%d,%d",x1,y1);fclose(p);}float f(float u,float v){ return (3.14*u-v)/(u+v); }若x,y取值为区间[0,10]的整数,找出使z取最小值的3. z=f(x,y)=10*cos(x-4)+5*sin(y-2),x1,y1,并将x1、y1以格式"%d,%d"写入到考生目录中Paper子目录下的新建文件design1.dat中。
《C语言》上机实验题及参考答案2017《C语言》上机实验题及参考答案为了帮助大家备考接下来的计算机二级考试,应届毕业生店铺整理了2017《C语言》上机实验题及参考答案,希望能帮助大家备考计算机二级考试。
1、编程实现对键盘输入的英文名句子进行加密。
用加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变:2、编程实现将任意的十进制整数转换成R进制数(R在2-16之间)。
3、从键盘输入一指定金额(以元为单位,如345.78),然后显示支付该金额的各种面额人民币数量,要求显示100元、50元、10元、5元、2元、1元、1角、5分、1分各多少张。
4、随机产生20个[10,50]的正整数存放到数组中,并求数组中的所有元素最大值、最小值、平均值及各元素之和。
5、编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。
6、模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用A、B、C、D表示,当选某候选人时直接输入其编号(编号由计算机随机产生),若输入的不是A、B、C、D则视为无效票,选举结束后按得票数从高到低输出候选人编号和所得票数。
7、任何一个自然数m的立方均可写成m个连续奇数之和。
例如:1^3=12^3=3+53^3=7+9+114^3=13+15+17+19编程实现:输入一自然数n,求组成n3的n个连续奇数。
8、已知abc+cba=1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。
9、编制一个完成两个数的四则运算程序。
如:用户输入34+56则输出结果90.00。
要求运算结果保留两位小数,用户输入时一次将两个数和*作符输入。
10、输入一个五位以内的正整数,(1)判断它是一个几位数;(2)请按序输出其各位数字;(3)逆序输出其各位数字。
如输入:56439,输出:5位数5,6,4,3,99,3,4,6,511、编写子函数:(1)用冒泡法将一个数组排成升序的函数---SUB1;(2)在升序数组中插入一个数,并且保持该数组仍为升序数组的函数---SUB2。
C语⾔上机经典题⽬!(1)《C 程序设计2》实验内容实验⼀:循环控制(⼀)1、编程计算 S=1*2+2*3+……+39*40 #include "stdio.h" main(){ int a,b,S=0;for(a=1;a<39;a++) {b=a+a+1;S=S+b;} printf("S=%d\n",S); getch();}2、编程计算 S=∑-71!i i =1!+2!+……+7!#include "stdio.h" main() {float n,s=0,t=1; for(n=1;n<=7;n++) {t*=n; s+=t; }printf("1+2!+3!...+20!=%.0f\n",s); getch(); }3、编写程序,计算如果每年按照年利率I (例如2%),投资S (例如5000),在第Y (例如10)年得到的总钱数M 。
公式:M=S*(1+I)Y#include "stdio.h" main() {float i,s,y,j,m,c=1;printf("please input I,S,Y:\n");scanf("%f,%f,%f",&i,&s,&y);m=s;for(j=1;j<=y;i++){c=1+i;m=m*c;}printf("m=%f\n",m);getch();4、编程输出九九乘法表。
#include "stdio.h"main(){ int i,j;for(i=1;i<10;i++){ for(j=1;j<=i;j++)printf("%d*%d=%-5d",i,j,(i*j));printf("\n");};getch();}实验⼆:循环控制(⼆)1、编写程序,输⼊⼀组字符(以#号结尾),对该组字符做⼀个统计,统计字母、数字和其它字符的个数,输出统计结果。
实验5 函数(1)【实验题5-1】以下程序的功能:从键盘输入两个数,计算出他们的和,并将结果输出在屏幕上。
调试运行程序,观察出现了什么错误,提出两种修改方案。
【实验题5-2】下程序的功能:输出3~1000之的间的素数。
请选择合适的内容填入程序的空白处,并调试运行程序。
【实验题5-3】从键盘输入一个整数n,计算n^3,并将结果输出在屏幕上。
要求计算n^3用函数实现。
【实验题5-4】从键盘输入一个整数n,计算2n+1与++n之和。
要求计算两数之和用函数实现。
注意写计算表达式的时候3*n之间的乘号不要丢掉,否则会提示:invalid suffix “n” on integer constant.调用用户自定义函数是只写ifun=fun(n); 就可以了,不要在括号里加上int。
Ifun=fun(int n) ×【实验题5-5】编写程序,计算Cmn=n!/(n-m)!m!。
要求如下:1)编写一个函数计算n!;2)编写主函数,输入n和m, 调用第1)项中的函数完成计算;3)输出并计算C58、C712的结果。
【实验题6-1】以下程序功能:用已知三角形三边,求三角形面积。
但程序有错,请上机调试并改正错误。
【实验题6-2】以下程序运行的结果应该是a=14, b=15,temp=0。
在程序空白处填写适当的编译预处理命令。
【实验题6-3】用for循环输出20个0~99之间的随机数。
要求没输出五个随机数换一行。
【实验题6-4】从键盘输入一个字母,如果是大写字母就转换成小写字母输出;如果是小写字母就转换成大写字母输出。
要求用库函数实现。
【实验题6-6】调试运行以下程序,掌握内部函数和外部函数的使用。
该程序包括两个源程序文件“6_6_1.C”和“6_6_2.C”。
#include<stdio.h>#define N 9void main(){int itop,ibottom,iresearch,imiddle;int iA[N]={0,1,2,3,4,5,6,7,8};scanf("%d", &iresearch);itop=0;ibottom=N-1;while(itop<=ibottom){imiddle=(itop+ibottom)/2 ;if(iresearch<iA[imiddle])ibottom=imiddle-1;elseif (iresearch>iA[imiddle])itop=imiddle+1;else{printf("\n元素%d在数组中,下标是%d\n, iresearch,imiddle");return;}}printf("\n%d在数组中未找到\n",iresearch);}。
实验一 C语言的运行环境、运行过程和表达式的使用一、目的与要求1、了解Dos、Windows环境下C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。
2、了解在该系统上如何编辑、编译、连接和运行一个C程序。
3、通过运行简单的C程序,初步了解C源程序的特点。
4、掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。
5、学会使用C的有关算术运算符,以及包含这些运算符的表达式二、实验例题【例1】编程实现在屏幕上显示如下三行文字Hello, world !Wolcome to the C language world!Everyone has been waiting for.在Turbo C的集成环境下,键入如下源文件。
敲Alt+F组合键打开File菜单,File菜单中Write to或save as选项可将默认noname.c文件名改为任意文件名。
程序example.c如下:main(){printf("Hello,World!\n");printf("Wolcome to the C language world!\n");printf("Everyone has been waiting for.\n");}然后用Ctrl+F9执行example.c,用Alt+F5查看结果,即在屏幕上显示题目要求的三行文字。
按回车键重新返回Turbo C的编辑环境。
注意,在运行程序之前最好先存盘。
【例2】输入并运行程序,写出运行结果。
main(){int a,b,sum;a=123;b=456;sum=a+b;printf(“sum is %d\n”,sum);}运行方法同上,最后结果为:sum is 579。
【例3】输入并运行程序,写出运行结果。
main(){int a,b,c;int max(int,int);scanf(“%d,%d”,&a,&b);c=max(a,b);printf(“max=%d”,c);}int max(int x,int y){int z;if (x>y) z=x;else z=y;return(z);}这个程序的功能是对于任意输入的两个整数,输出较大的那个数。
所以程序运行之后,光标将停留在用户屏幕上,等待用户输入两个整数,比如输入“3,5”,回车,在用户屏幕上就会输出“max=5”。
【例4】输入并运行下程序,写出运行结果。
mian(){char c1 , c2;c1=97;c2=98;printf(“%c %c”, c1, c2);}在此基础上1)加一个printf语句,并运行之。
printf(“%d,%d”, c1, c2 );2)再将第二行改为:int c1, c2;再使之运行。
3)再将第三行改为:c1=300; c2=400;再使之运行,分析其运行结果。
在该程序中,说明了字符型数据在特定情况下可作为整型数据处理,整型数据有时也可以作为字符型数据处理。
【例5】分析下面程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比较对照。
main(){char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;printf(“a%c b%c\tc%c\tabc\n”,c1,c2,c3);printf(“\t%c %c”,c4,c5);}在该程序中,主要考查对转义字符的掌握情况。
【例6】分析下面程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比较对照。
main(){int i , j , m , n ;i=8; j=10;m=++i; n=j++;printf(“%d,%d,%d,%d”,i,j,m,n);}分别作以下改动之后,先分析再运行:1)将第四行改为:m=i++; n= ++j;2)程序改为:main(){int i , j ;i=8; j=10;printf(“%d,%d”, i++, j++);}3)在2)的基础上,将printf语句改为:printf(“%d,%d”, ++ i, ++ j );4)再将printf语句改为:printf(“%d,%d,%d,%d”,i,j,i++,j++);5)程序改为:main(){int i , j , m=0 , n=0 ;i=8; j=10;m+= i ++; n -= --j;printf(“i=%d,j=%d,m=%d,n=%d”,i,j,m,n);}此程序主要考查自加、自减运算符以及复合运算符的用法。
三、上机内容1.用turbo c输入并运行前面6道例题中程序,记下运行结果,熟悉调试C程序的方法与步骤。
2.参照例题,编写一个C程序,输出以下信息:****************************Hello,World!****************************四、实验结果分析对实验结果进行检验,如结果出现错误,分析产生错误的原因并修改程序、改正错误。
实验二顺序结构与选择结构程序设计一、实验目的及要求1.理解C语言程序的顺序结构;2.掌握常用的C语言语句,熟练应用赋值、输入、输出语句;3.了解C语句表示逻辑量的方法(以0代表“假”以1代表“真”);4.学会正确使用逻辑运算符和逻辑表达式;5.熟练掌握if语句和switch语句。
二、实验内容1、已知圆半径r=1.5,圆柱高h=3, 求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。
2、输入一个华氏温度,要求输出摄氏温度。
公式为c=5/9*(f-32)。
3、有3个整数a、b、c,由键盘输入,编程序按从小到大的顺序将它们排序并输出。
4、编程序计算下面的函数:e x-1 0<x<1y= |x|+2 3≤x≤4sin(x2) 当x取其他值时5、输入一个整数m,判断它能否被7、11、17整除,如果能被以上三个数之一整除,则输出它能被整除的信息,否则输出m不能被7、11、17整除的信息。
6、电文加密的算法是:将字母A变成字母G,a变成g,B变成H,b变成h,依此类推,并且U变成A,V变成B,等等。
从键盘输入一个电文字符,输出其相应的密码。
7、企业发放的奖金根据利润提成。
若利润I≤10万元,奖金可提10%;若10万<I≤20万时,则低于等于10万元的部分按10%提成,高于10万元部分,可提成7.5%;若20万<I ≤40万时,低于等于20万元的部分仍按上述办法提成,高于20万元部分按5%提成;按类似的办法,若40万<I≤60万元时,高于40万元部分按3%提成;若60万<I≤100万元时,高于60万元的部分按1.5%提成;若I>100万时,超过100万元部分按1%提成。
从键盘输入当月利润I,求应发奖金总数。
三、实验结果分析对实验结果进行检验,如结果出现错误,分析产生错误的原因并修改程序、改正错误。
实验三 循环结构程序设计一、实验目的及要求1.熟练掌握while 、do —while 和for 三种循环语句的应用。
2.掌握基本的编程算法。
二、实验内容1sinx=x-x 3/3!+x 5/5!-x 7/7!+x 9/9!-…+(-1)(n-1)·x(2n-1) /(2n-1)!编程计算sinx 的值。
设x=0.5,n=9。
2、编写程序求:3、输入20个有符号整数,统计正整数、零、负整数的个数。
4、输入m 个数,求其最大数、最小数和平均值。
5、在100和1000之间,有多少个其数字之和等于9而且该数可被5整除的整数?6、一位同学问老师和老师夫人的年龄是多少,老师说:“我年龄的平方加上我夫人的年龄恰好等于1053,而我夫人年龄的平方加上我的年龄等于873。
”试计算老师和其夫人的年龄。
7、打印下列图案*************三、实验结果分析对实验结果进行检验,如结果出现错误,分析产生错误的原因并修改程序、改正错误。
∑==101n !n s一、实验目的及要求1.掌握一维、二维数组的定义、赋值和输入输出的方法;2.掌握字符数组的使用;3.掌握与数组有关的算法(例如排序算法)。
二、实验内容1、给整型二维数组 b[3][4]输入12个数据,计算并输出数组中所有正数之和、所有负数之和。
2、青年歌手参加歌曲大奖赛,有10个评委进行打分,试编程求这位选手的平均得分(去掉一个最高分和一个最低分)。
分析:这道题的核心是排序。
将评委所打的10个分数利用数组按增序(或降序)排列,计算数组中除第一个和最后一个分数以外的数的平均分。
3、设二维数组 b[5][4]中有鞍点,即b[i][j]元素值在第i行中最小,且在第j列中最大,试编写一程序找出所有的鞍点,并输出其下标值。
也可能没有。
4、从键盘输入一数,然后在一个整型一维数组a[20]中,用折半查找法找出该数是数组中第几个元素的值。
如果该数不在数组中,则打印”No found”。
5、编程打印如下图形:** ** ** **6、有一电文,已按下列规律译成译码:A→Z a→zB→Y b→yC→X c→x即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。
非字母字符不变。
编写一个程序将密码译成原文,并输出密码和原文。
三、实验结果分析对实验结果进行检验,如结果出现错误,分析产生错误的原因并修改程序、改正错误。
一、目的与要求1、掌握C语言函数的定义方法、函数的声明及函数的调用方法。
2、了解主调函数和被调函数之间的参数传递方式。
二、实验内容1、分别编写求圆面积和圆周长的函数,另编写一主函数调用之, 要求主函数能输入多个圆半径,且显示相应的圆面积和周长。
2、编写一程序,把M×N矩阵a的元素逐列按降序排列。
假设M、N不超过10。
分别编写求一维数组元素值最大和元素值最小的函数,主函数中初始化一个二维数组a[10][10],调用定义的两函数输出每行、每列的最大值和最小值。
3、编写一判别素数的函数,在主函数中输入一个整数,输出该数是否为素数的信息。
4、编写一个将两个字符串连接起来函数(即实现strcat函数的功能),两个字符串由主函数输入, 连接后的字符串也由主函数输出。
5、编写计算最小公倍数的函数,试由主函数输入两个正整数a和b调用之。
计算最小公lcm(u,v)=u*v/gcd(u,v) (u,v≥0)其中,gcd(u,v)是u、v的最大公约数。
lcm(u,v)是u、v的最小公倍数。
三、实验结果分析对实验结果进行检验,如结果出现错误,分析产生错误的原因并修改程序、改正错误。
一、目的与要求1、通过实验进一步掌握指针的概念,会定义和使用指针变量;2、能正确使用数组的指针和指向数组的指针变量;3、能正确使用字符串的指针和指向字符串的指针变量;4、能正确使用指向函数的指针变量;5、了解指向指针的指针的概念及其使用方法。