版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(1)实验学时(2)实验目的(2)预习要求(4)实验内容(5)实验注意事项(6)思考题(1)实验题目(3)流程图(4)程序源代码(6)存在的问题。一、实验学时2学时(二)启动VisualC++6.0集成开发环境(三)开始一个新程序/*/*c1-1.cC语言的第一个程序*/0×八组建(调状入在文计中查机入在文件24*11就绪就绪文件工程I工作区丨其它文档1E盘新建的文件夹文件2)编排①)查看0指入④)工程L)组建Q)工具)窗口①)树助p山就绪行10.列4uccou服温读厘×{printf("*\n");"*"}3.程序的编译、连接与运行将C语言源代码编译成计算机能执行的目标代码。单击主菜单下的“组建”→“编译[c1-1.c]”(或者是工具栏上的按钮或按快捷键Ctrl+F7),此时将弹出一个对话框,询问是否创建一个项目工作区,选择“是(Y)”。VisualC++6.0集成开发环境会自动在c1-1.c文件所在文件夹中建立相应的项目文件。编译时,在下方的输出框中将显示出相应的编译说明,如图1-5所示。如果代码编译无误,最后将显示:这说明编译没有错误(error)和警告(warning),生成目标文件,程序编译顺利完成。目标文件(.obj)不能被计算机直接执行,接下来将目标文件(.obj)和相关的库函数或目标程序连接成为可执行程序(可执行程序(.exe)。文件①)编辑×)查着(插入①)工程(P)组建①)工具④)窗口①)帮动QD[Alglobalmember出全部重建清除prin!执行[el-1.es】Curl45称工程配置③)prin配置》配置文件--Configuration:c1-1-wina2Debug-mlS单击主菜单下的“组建”→“批组建”命令,将弹出如图1-6所示的对话框。×单一选择S确保选中“c1-1-Win32Release”复选框,这样生成的可执行文件才是发行版的程序,否则生成的是调试(Debug)版的程序。单击“创建”按钮,生成可执行文件。如果在“批组建”对话框中选中了两个复选框,可以看到程序中生成了两个可执行文件,一个文件为调试版本,存储在与c1-1.c同一文件夹下的Debug文件夹中;另一个是发行版本,保存在与c1-1.c同一文件夹下的Release文件夹中。这一步只是为了生成发行版的程序文件,只有在程序准备发行时才需要执行这种编译。在通常情况下,可以单击主菜单下的“组建”→“组建[]”(或工具栏按钮或按快捷键F7),直接生成“E:\Debugle1-1.x°{}printf("a=%d,b=%d,c=%d\n",a,b,c);命令,选择(三)创建的cl-1.c文件,然后打开。按照(二)、(三)再次进入按照(二)、(三)再次进入VisualC++6.0集成环境,输入以下程序:#include"stdio.h"voidmain()printf("%d,%5d,%-5d\n",a,a,a);printf("%d,%o,%x,%u\n",a,a,a,a);}(七)在VisualC++6.0集成环境,输入以下程序:voidmain()printf("a=%ld\t",a);printf("a=%u\t",a);printf("a=%d\n",a);}(八)在VisualC++6.0集成环境,,输入以下程序://*c1-5.cC语言的第五个程序*1#include"stdio.h"voidmain(){charc1=97,c2=98;printf("%3c,%3c\n",c1,c2);printf("%d,%d\n",c1,c2);printf("\n%c%c\n",a,b);}#include"stdio.h"voidmain()printf("%%d\n",1/a);printf("b=%d\n",b);printf("%f%f\n",(float)(1/a),(float)b);}#include"stdio.h"voidmain()i=3;j=4;printf("%d,%d\n",i++,++j);printf("%d,%d\n",i,j);printf("%d,%d\n",-i++,-++j);}/*c1-8.cC语言的第八个程序*1#include"stdio.h"voidmain(){inta,b;a=5;a-=a*a;printf("a=%d\n",a);b=(a=3*5,a*4,a+5);printf("a=%d,b=%d\n",a,b);}}(二)由于C程序运行必须从main函数开始,因此一个C程序要有一个main函数,且只能有(三)在程序的输入过程中:格);4.所定义的变量的类型与输入的数据的类型要一致,输出时的格式一定6.注意自加和自减运算符的运算规则,仔细分析实验内容(十)中程序的输出结果。(一)有如下程序:##include"stdio.h"voidmain()printf("%d,%o,%x,%u\n",a,a,a,a);}-1,,ffffffff,_(二)有如下程序:##include"stdio.h"voidmain(){charc1=97,c2=98;inta=97,b=98;printf("%3c,%3c\n",c1,c2);printf("%d,%d\n",c1,c2);printf("%%c%c\n",a,b);}最后一个printf语句的运行结果是a,b(三)有如下程序:printfprintf("%d%d\n",i++,++j);printf("%%d,%d\n",i,j);printf("%d,%d\n",-i++,-++j);}最后一个printf语句的运行结果是(四)程序填空:#include#include"stdio.h"_z=x+a%3*(int)(x+y)%2/4;printf("z=%f\n",z);}程序中空格处应填(1)了解C语言数据类型的意义,掌握基本数据类型变量的特点和定义方法。(2)学会使用C的算术运算符,以及包含这些运算符的算术表达式。(3)掌握自加(++)和自减(--)运算符的使用。(4)进一步熟悉C程序的编辑、编译、连接和运行的过程。(1)上机前先阅读和编写以下要调试的程序。(2)上机输入和调试程序并存在磁盘上。(3)检查实验结果是否正确。(1)输入并运行以下程序。b=a+20;printf("a=%f,b=%f\n",a,b);}float型变量最多只能保证7位有效数字,后面的数字是无意义的,不能准确表示该数。(2)输入并运行以下程序。main(){charc1=97;c2=98;printf("%%cprintf("%d}下面的程序计算由键盘输入的任意两个整数的平均值:main()main(){intx,y;scprintf("Theaverageis:%f",a);}输入x=10,y=203.指出以下程序的错误并改正,上机把程序调通mainmain();{inta;printf("a=%d,a)}4.编写程序并上机运行五、思考与总结(选做)一、实验学时(一)掌握C语言关系表达式和逻辑表达式的运算和使用;(二)正确使用条件控制语句(if语句、switch语句)进行选择结构程序设计。(一)关系运算符和关系表达式、逻辑运算符和逻辑表达式;(二)if语句的三种形式(单分支、双分支、多分支),以及if语句的嵌套;(一)分析下面程序,掌握关系及逻辑表达式的运算规则。/*c3-1.c关系及逻辑表达式运算规则*/}注意该程序中的条件判断表达式a++<3&&c--!=0是一个逻辑表达式,关系表达式a++<3的值为假,因此后一部分c--!=0就不再计算。试比较下列各部分运行结果。#include#include"stdio.h"voidmain(){inta=3,b=5,c=8;inta=3,b=5,c=8;if(c--!=0&&a++<3)b=b+1;printf("a=%d\tb=%d\tc=%d\n",a,b,c);if(a++<3l|c--!=0)b=b+1;printf("a=%d\tb=%d\tc=%d\n",a,b,c);if(c--!=0||a++<3)b=b+1;printf("a=%d\tb=%d\tc=%d\n",a,b,c);}(二)输入下面两段程序并运行,掌握case语句中break语句的作用。//*含break的switch*/#include"stdio.h"voidmain(){inta,m=0,n=0,k=0;scanf("%d",&a);switch(a){case1:m++;break;case2:}printf("%d,%d,%d\n",m,n,k);}/*不含break的switch*/#include"stdio.h"voidmain(){inta,m=0,n=0,k=0;scanf("%d",&a);switch(a){case1:m++;case2:}printf("%d,%d,%d\n",m,n,k);}分别从键盘上输入1、3、5,写出程序运行的结果。(三)完善程序,从键盘上输入x的值,按下式计算y的值。&&x<10)来表示。/*c3-4./*c3-4.cif语句实现的多分支结构*/{定义变量;输入x;y=2*x-1;else//按y=3x-11为变量y赋值;}注意:在赋值语句中2x应该写成2*x。//按y=x为变量y赋值;//按y=2x-1为变量y赋值;y=x*3-11;80~89分为'B',70~79分为℃',60~69分为'D',60分3.将百分制成绩按10分,分档作为switch语句中括号内的表达式;(五)下面程序运行时从键盘上分别输入(20,15),(15,20),写出运行结果。t=0;if(a>b)}printf("a=%d,b=%d\n",a,b);}输入(20,15),结果为a=15,b=20输入(15,20),结果为a=15,b=20(六)编写程序,给出一个不多于3位的正整数n,要求:(1)求出它是几位数;(2)分别打印出每一位数字(数字之间加一个空格);(3)按逆序打印出各位数字(数字之间加一个空格)。1.定义变量(考虑需要几个变量)并输入一个3位以下的正整数n3.用一个嵌套的选择结构,按照百位数、十位数是否为0决定n为几位数。4.按相反的顺序输出n。思考:如果是对一个5位的正整数进行上述处理,程序应如何改动?(七)写出与表达式z=(x>=y?x:y(二)控制表达式是指任何合法的C语言表达式(不只限于关系或逻辑表达式),只要表达式的值为“非零”,则为“真”,“零”则为“假”(四)case及后面的常量表达式,实际仅是起标号作用。控制表达式的值与某个情况常量一旦(一)下面程序的功能是实现表达式z=(x>=y?x:y),(一)下面程序的功能是实现表达式z=(x>=y?x:y),请将程序填写完整。/*分支结构的程序*1printf("Pleaseinputx,y:");scanf("%d%d",&x,&y);if(x>=y)z=x;}(二)下面程序的运行结果为/*/*分支结构的程序*1if(a++<3&&c--!=0)b=b+1;printf("a=%d,b=%d,c=%d\n",a,b,c);}(三)程序填空,从键盘上输入x的值,按下式计算y的值。#include"stdio.h"voidmain(){floatx,y;printf("x=");scanf("%f",&x);y=2*x-1;y=3*x-11;printf("y=%f\n",y);}(四)下面程序运行时从键盘上输入15,20,运行结果为b=20t=0;scanf("%d,%d",&a,&b);if(a>b)a=b;}printf("b=%d\n",b);}实验四循环结构程序设计(一)2学时x=-1;(三)编程求1!+2!+3!+……+20!的值。/*c4-1.c求1!+2!+3!+……+20!*/{变量p连乘;设n为m和n中较小的数,则如下程序段可实现:k即为最大公约数。printf(“%d和%d的最大公约数为%d”,m,n,i);2.从整数1开始向上找,直至m和n中较小的数,每找到一个能同时被m和n整除的整数,将其存入一个变量中,当循环结束时,变量中存放的即为最大公约数。设n为m和n中较小的数,则如下程序段可实现:变量x的值即为最大公约数。printf(“%d和%d的最大公约数为%d”,m,n,num);3.用辗转相除法,即将求m和n的最大公约数问题转化为求其中的除数和两个数相除所得余数的公约数。每次循环中,先求两个数的余数,然后以除数作为被除数,以余数作为除数,当余数为0时结束循环,此时除数即为最大公约数。设m和n中n为较小的数,则可用如下程序段实现:while(b!=0)类似地,求最小公倍数的方法也可以从m和n中较大的数开始向上找,或者从m*n向下找,请自己考虑程序的设计方法。另外,两个数的最大公约数和最小公倍数的关系为:最小公倍数=m*n/最大公约数可利用此关系进行程序设计。(五)编程实现,从键盘上输入一行字符,统计其中英文字母、数字、空格和其它字符的个数。编程提示:先定义一个字符型的变量(如c),再定义4个整型变量作为计数器,作为计数器的变量要先赋初值0。在循环中每次从键盘上读入一个字符,在循环体中对读入的字符进行判断,相应的计数器加1,当读入的字符为’\n’时结束。编程中可使用如下的循环结构:while((c=getchar())!=’\/*c4-5.c统计字符串中指定字符的个数*/中括号的使用,第二层的小括号不能省略,想一想为什么?2.字符常量’0’与数值常量0是不同的。(六)下面程序的功能是:计算1到100之间的奇数之和及偶数之和,并输出。请在程序中的/*/*c4-6.c计算1到100之间的奇数之和及偶数之和*/i=100;i+=2)b=i+1;/*变量初始化*//*变量a存放偶数的和*//*变量c存放奇数的和*1}printf("sumofevensis%d\n",a);printf("sumofoddsis%d\n",c-101);}(七)编程打印出所有的“水仙花数”,所谓水仙花数是指一个3位数,其各位数字的立方和(七)编程打印出所有的“水仙花数”,所谓水仙花数是指一个3位数,其各位数字的立方和编程提示:定义一个变量作为循环变量,再定义3个变量分别存放三位数的每位数字,在循环体中将一个三位数拆分成个位、十位、百位后判断循环变量的值{定义4个整型变量;{a=j/100;/*分离出百位数*/b=j/10-a*10;/*分离出十位数*1c=j%10;/*分离出个位数*/输出j;}printf("\n");}#include"stdio.h"voidmain(){floatx,amax,amin;scanf("%f",&x);while(x>=0){if(x>amax)amax=x;if(x<amin)amin=x;scanf("%f",&x);}printfprintfnamaxnaminamaxam}{定义变量;变量s累加求和;printf("Sumis:%ld\n",s);}#include"stdio.h"voidmain(){intnum,k;k=0;{k=k+num%10;/*取最低位并累加*/num/=10;/*去掉最低位*/}(一)求两个正整数x和y的最大公约数,请填空。/*求最大公约数程序*/#include"stdio.h"voidmain()scanf("%d,%d",&x,&y);if(x>y){t=x;x=y;yfor(i>=1;i<=x;i++)}printf("%d\n",i);}(二)计算1到100之间的奇数之和及偶数之和。请填空。/*/*计算1到100之间的奇数之和及偶数之和*/for(i=0;i<=100;i+=2){a+=i;b=i+1;/*变量赋初值*1/*变量a存放偶数的和*1/*变量c存放奇数的和*/}printf("SumofEvensis%d\n",a);printf("SumofOddsis%d\n",c-101);}(三)下面程序的功能是:计算正整数num的各位上的数字之和。例如,若输入:252,则输出应该是:9;若输入:202,则输出应该是:4。请将程序补充完整。/*计算整数各位数字和*/#include"stdio.h"voidmain(){intnum,k=0;num/=10;}while(num);printf("\n%d\n",k);}(四)求两个正整数[m,n]之间所有既不能被3整除也不能被7整除的整数之和。请填空。longints=0;scanf("%d,%d",&m,&n);{t=m;m=n;n=t;}for(i=m;i<=n;i++)}实验五循环结构程序设计(二)2学时二、实验目的(一)掌握使用for,while,do-while语句实现循环嵌套的方法;(二)巩固break和continue语句的使用。预习教材中有关用for,while,do-while语句实现循环嵌套的方法以及循环嵌套的执行过程。编程提示:定义一个变量存放最后的求和结果(假设为sum),sum的数据类型应为实型,定义变量t计算整数的阶乘。使用双重循环,程序的基本结构为:{t赋初值1;for(j=1;j<=i;j++)变量sum累加t的倒数;注意上述程序结构和内循环变量的终值。想一想是否可以将t=1放在外循环之前? for(j=1;j<=n;j++) printf("%10.2f\n",sum);(二)编程输出九九乘法表。 printf("%d*%d=%-4d",i,j,i*j) (三)编程求100~300之间的素数和。编程提示:首先,弄清素数的概念是本题的关键,素数:只能被1和它本身整除的数为素数。判断一个数是否为素数需要使用循环结构才能实现,求出100~300之间的全部素数要使用循环的嵌{定义变量;外层循环变量i从100递增到300{标志变量赋0;内层循环变量从2递增到i-1如果不是素数(能整除),则标志变量赋1,跳出循环;如果标志变量为0(是素数),进行求和;}(四)编程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 婴儿脐部渗水护理
- 心肌梗死CI术后护理
- 2026中国自动驾驶仿真测试平台数据迭代效率评估报告
- 2026全国执业兽医资格考试(水生动物类-临床科目)历年参考题库含答案详解
- 2026信号工-电子电气设备维修(官方)-中级工参考试题库历年考点答案详解
- 2026住院医师规培-黑龙江-黑龙江住院医师规培(全科医学)历年参考题库含答案详解
- 2026住院医师规培-贵州-贵州住院医师规培(骨科)历年参考题库含答案详解
- 2026住院医师规培-湖北-湖北住院医师规培(神经外科)历年参考题库含答案详解
- 2026住院医师规培-河南-河南住院医师规培(中医骨伤科)历年参考题库含答案详解
- 2026住院医师规培-新疆-新疆住院医师规培(康复医学)历年参考题库含答案详解
- 2025-2026学年湖南师大附中七年级(上)期中数学试卷
- (2025)义务教育英语课程标准【2025年版】测试题(含参考答案)
- 药事管理学考试真题及答案
- 浙江省精诚联盟2025-2026学年高一上学期10月月考化学试题(含答案)
- LNG消防安全培训内容课件
- 养殖蝎子知识培训课件
- 急性重症有机磷农药中毒护理疑难病例讨论
- 水下测绘培训课件下载
- 2024-2025学年度自考专业(学前教育)真题(考试直接用)附答案
- 人工智能通识 课件 第七章 智能之躯-具身智能
- T/CHES 54-2021取水权交易可行性报告编制导则
评论
0/150
提交评论