实验二 C#编程基础(含答案)
c语言实验二实验报告

一、实验目的1、掌握关系表达式和逻辑表达式的使用。
2、掌握选择结构程序设计的一般方法。
3、熟练使用if语句进行程序设计。
4、掌握使用switch语句实现多分支选择结构。
二、实验内容有一分段函数如下:编写程序,输入x(实数)的值,输出以如下格式:x=??.??,y=??.?? ( 即小数部分保留2位)程序代码:#include "stdio.h"int main(){float x,y;scanf("%f",&x);if(x<1)y=x*x;if(x>=1&&x<10)y=5*x-1;if(x>=10)y=2*x+4;printf("x=%.2f,y=%.2f\n",x,y);return 0;}2、从键盘输入三个实数,输出最大数和最小数。
样例输入:1.23 3.45 5.67样例输出:5.67 1.23程序代码:#include "stdio.h"int main(){float a,b,c,max,min;scanf("%f%f%f",&a,&b,&c);if(a>b){max=a;min=b;}else{max=b;min=a;}if(a>c)if(b>c){min=c;}else {min=b;}else {max=c;}printf("%.2f %.2f\n",max,min);return 0;}3、读入3个非零的double数后,判别这三个值是否可以表示一个三角形的三条边。
样例输入1:1.23 1.23 1.23样例输出1:yes.样例输入2:5.23 3.45 -12.34样例输出2:no.程序代码:#include "stdio.h"int main(){double a,b,c;scanf("%lf%lf%lf",&a,&b,&c);if(a>0&&b>0&&c>0)if(a+b>c&&b+c>a&&a+c>b)printf("yes.\n");else printf("no.\n");else printf("no.\n");return 0;}4、读入3个非零整数后,判别这三个值是否可以表示一个直角三角形的三条边。
C程序语言设计及实验指导—实验二程序及运行结果-推荐下载

printf("c=%c,c=%d\n",c,c); }
1-3 #include<stdio.h> void main() { int m=18,n=13; float a=27.6,b=5.8,x; x=m/2+n*a/b+1/4; printf("%f\n",x); }
1-4
#include<stdio.h> void main() { float Байду номын сангаас,y;
1-1
#include<stdio.h> void main() { printf("\t*\n"); printf("\t\b*****\n"); printf("\t\b\b*****\n"); }
1-2
#include<stdio.h> void main() { int x=010,y=10,z=0x10; char c1='M',c2='\x4d',c3='\115',c;
printf("x=%o,y=%d,z=%x\n",x,y,z); printf("x=%d,y=%d,z=%d\n",x,y,z); printf("c1=%c,c2=%c,c3=%c\n",c1,c2,c3); printf("c1=%d,c2=%d,c3=%d\n",c1,c2,c3); c=c1+32;
int z; scanf("%f,%f,%d",&x,&x,&z); y=x-z%2*(int)(x+17)%4/2; printf("x=%f,y=%f,z=%d\n",x,y,z);
C语言实验二报告

北京电子科技学院(BESTI)实验报告课程:程序设计基础班级:姓名:学号:成绩:指导教师:张晓昆实验日期:实验密级:预习程度:实验时间:15:30~18:30仪器组次:必修/选修:必修实验序号: 2实验名称:函数编程练习实验目的与要求:主函数通常只处理输入和输出;掌握定义函数的方法;掌握函数实参与形参的对应关系,以及“值传递”的方式;掌握全局变量、局部变量、动态变量、静态变量的概念和使用方法,、了解函数的嵌套调用方法和递归调用方法。
观察堆栈窗口call stack,注意函数调用过程堆栈的动态变化。
有兴趣的同学可以将几个函数分别放到不同的.C文件中,分别编译,再利用Project建立工程文件,然后连接执行,观察结果。
实验内容素数(Prime Number),又称为质数,它是不能被1和它本身以外的其他整数整除的正整数。
按照这个定义,负数、0和1都不是素数,而17之所以是素数,是因为除了1和17以外,它不能被2~16之间的任何整数整除。
任务1:试商法是最简单的判断素数的方法。
用i=2~m-1之间的整数去试商,若存在某个m能被1与m本身以外的整数i整除(即余数为0),则m不是素数,若上述范围内的所有整数都不能整除m,则m是素数。
采用试商法,分别用goto语句、break语句和采用设置标志变量并加强循环测试等三种方法编写素数判断函数IsPrime(),从键盘任意输入一个整数m,判断m是否为素数,如果m是素数,则按"%d is a prime number\n"格式打印该数是素数,否则按"%d is not a prime number\n"格式打印该数不是素数。
然后分析哪一种方法可读性更好。
1、goto语句#include <stdio.h>#include <stdlib.h>int IsPrime(int n); //判断是否是素数的函数原型int main(){int m;printf("Please enter a integer:");scanf("%d", &m); //用户输入欲判断的数if( IsPrime(m) == 1){ //调用判断是否是素数的函数并输出结果printf("%d is a prime number!\n", m);}else{printf("%d is not a prime number!\n", m);}return 0; //返回0} //主函数结束int IsPrime(int n) //判断是否是素数的函数{int i = 2;int j = 0;if(n < 2){ //若n小于2,返回0值return 0;}if(n == 2){return 1;}loop:if(n % i == 0){ //利用goto语句i++;j++;goto loop;}if(j >= 1){ //若j大于2,则说明能被2~n-1之间的数整除,返回0;否则返回1 return 0;}else{return 1;}} //子函数结束2、break语句#include <stdio.h>#include <stdlib.h>int IsPrime(int n); //判断是否是素数的函数原型int main(){int m;printf("Please enter a integer:");scanf("%d", &m); //用户输入欲判断的数if( IsPrime(m) == 1){ //调用判断是否是素数的函数并输出结果printf("%d is a prime number\n", m);}else{printf("%d is not a prime number\n,", m);}return 0; //返回0} //主函数结束int IsPrime(int n) //判断是否是素数的函数{int i;int j = 0;if( n < 2 ){ //若n小于2,返回0值return 0;}for(i = 2; i <= n - 1; i++){if( n % i == 0){ //利用试商法判断是否能被2~n-1之间的数整除j++;}if(j > 1){ //若j大于2,则说明能被2~n-1之间的数整除,返回0;否则返回1 return 0;break;}}if( j == 0)return 1;} //子函数结束3、采用设置标志变量并加强循环测试#include <stdio.h>#include <stdlib.h>int IsPrime(int n); //判断是否是素数的函数原型int main(){int m;printf("Please enter a integer:");scanf("%d", &m); //用户输入欲判断的数if( IsPrime(m) == 1){ //调用判断是否是素数的函数并输出结果printf("%d is a prime number\n", m);}else{printf("%d is not a prime number\n,", m);}return 0; //返回0} //主函数结束int IsPrime(int n) //判断是否是素数的函数{int i;int j = 0;if( n < 2 ){ //若n小于2,返回0值return 0;}for(i = 2; i <= n - 1; i++){if( n % i == 0){ //利用试商法判断是否能被2~n-1之间的数整除j++;}}if(j >= 1){ //若j大于2,则说明能被2~n-1之间的数整除,返回0;否则返回1 return 0;}else{return 1;}} //子函数结束任务2:用数学的方法可以证明,不能被2取整)之间的数整除的数,一定不能被1和它本身之外的其他任何整数整除。
C语言实验二程序 总结 顺序结构与输入 输出方法

编写程序,用 getchar 函数读入两个字符 c1,c2,然后分别用 putchar 函数和 printf 函数输出这两个字符。并思考以下问题:
程序如下: #include<stdio.h> main() {
char c1,c2;
c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); putchar(‘\n’); pritf(“%c,%c\n”,c1,c2); }
符的表达式,特别是自加(++)和自减(--)运算符的使用,掌握 C 语言中赋值 语句的使用,掌握 C 语言中各种数据的输入/输出方法,能正确使用各种格式转 换符,通过本次实验加深了对顺序结构的输入输出的认识。
程序如下: #include <stdio.h> main() {float r,h,l,s,v; scanf(“%f,%f”,&r,&h); l=2*3.14159*r; s=3.14159*r*r; v=3.14159*r*r*h; printf("圆柱底周长 l 为%.3f\n",l); printf("底面积 s 为%.3f\n",s); printf("圆柱体积 v 为%.3f\n",v); } 运行结果如下:
下图
⑵ 在程序最后增加两行,记录并分析该行的输出。
i=j=8;
/* 第 8 行 */
printf("%d,%d,%d,%d\n",i,++i,j,j++); /* 第 9 行 */
调试分析:结果如下图
2 运行以下程序,并分析输出结果
#include <stdio.h>
实验二C语言中的分支语句程序设计实验

实验二 C语言中的分支语句程序设计一、实验目的:1.掌握C语言的基本语法;2.掌握C语言的表达式运算及标准库函数的调用方法;3.掌握C语言的基本输入输出语句;4.掌握字符类型、整型和浮点型数据的输入输出及表达式计算方法;5.掌握if语句和switch语句的用法;6.掌握分支程序结构的设计思想;二、实验内容(一)分析程序,用程序验证下面各个表达式的值1、当整型变量a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的值为多少? (1) if(a>c) {a=b; b=c; c=a;}else {a=c; c=b; b=a;}执行后a,b,c的值为,,(2) if(a<c) a=c;else a=b; c=b; b=a;执行后a,b,c的值为,,(3) if(a!=c) ;else a=c; c=b; b=a;执行后a,b,c的值为,,2、若整数x分别等于95、87、100、43、66、79,57,则以下程序段运行后屏幕显示是什么?switch(x/10){ case 6:case 7: printf("Pass\n"); break;case 8: printf("Good\n"); break;case 9:case 10: printf("V eryGood\n"); break;case 5 : printf("Between Pass and Fail\n");default: printf("Fail\n");}x等于95时,程序段运行后屏幕上显示。
x等于87时,程序段运行后屏幕上显示。
x等于100时,程序段运行后屏幕上显示。
x等于43时,程序段运行后屏幕上显示。
x等于66时,程序段运行后屏幕上显示。
x等于79时,程序段运行后屏幕上显示。
x等于57时,程序段运行后屏幕上显示。
实验二 简单的C程序设计

实验二简单的C程序设计实验目的:1.掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。
2.通过编程进一步理解和掌握运算符的确切含义和功能。
3.理解和掌握运算符与运算对象的关系,优先级和结合方向。
1.通过编程,掌握C语言的几种基本数据类型,int、char、flloat、double,以及由这些基本数据类型构成的常量和变量的使用方法。
2.掌握基本输入/输出函数的使用方法,包括printf()、scanf()、getchar()、putchar()。
3.掌握简单的C程序的查错方法。
实验内容:一、输入程序,观察输出结果,并对输出结果作出合理的解释。
1./* e1.cpp */#include<stdio.h>void main(){ float x;double y;x=213.82631;y=213.82631;printf("%-4.2f,-6.2e\n",x,y);}输出结果:解释:2./* e2.cpp */#include<stdio.h>void main(){ char ch;int k;ch=’a’;k=10;printf(“%d,%x,%o,%c”,ch,ch,ch,ch,k);printf(“k=%%d\n”,k);}输出结果:解释:3./* e3.cpp */#include<stdio.h>void main(){ float a1,a2;double b1,b2;a1=3141.59;a2=0.000001;b1=3141.59;b2=0.000001;printf(“%f,%lf\n”,a1+a2,b1+b2);}输出结果:解释:4./* e4.cpp */#include<stdio.h>void main(){ float x=5/2,y=5.0/2;printf("x=%f,y=%f\n",x,y);}输出结果:解释:二、编写程序。
C语言实验报告,实验一和实验二

实验一C语言的运行环境、运行过程和表达式的使用一、目的与要求1、了解Dos、Windows环境下C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。
2、了解在该系统上如何编辑、编译、连接和运行一个C程序。
3、通过运行简单的C程序,初步了解C源程序的特点。
4、掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。
5、学会使用C的有关算术运算符,以及包含这些运算符的表达式二、上机实验及运行结果1、例题实验及运行结果例一:#include"stdio.h"void main(){printf("Hello,World!\n");printf("Wolcome to the C language world!\n");printf("Everyone has been waiting for.\n");}运行结果为Hello, world !Welcome to the C language world!Everyone has been waiting for.在第一次输入源程序时,由于粗心在printf(“Hello,world!”)后面忘记输入“;”,在编译中检查出来,修改后编译成功。
例二:#include"stdio.h"void main(){int a,b,sum;a=123;b=456;sum=a+b;printf("sum is %d\n",sum);}运行结果为:sum is 579。
一次编译就成功了。
例三:#include"stdio.h"void 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);}键盘输入“8,9”,屏幕上输出“max=9”例四:#include"stdio.h"void main(){char c1 , c2;c1=97;c2=98;printf("%c %c", c1, c2);}在此基础上1)加一个printf语句,并运行之。
实验2-C++对C的扩充

电子信息学院实验报告书课程名:面向对象程序设计题目:实验2 C++对C的扩充实验类别:设计研究型班级:BX1004学号:姓名:施程程1、实验目的〔1〕了解在面向过程程序设计中功能的扩充与增强,并善于在编写过程中应用这些新的功能。
〔2〕进一步熟悉在所用的系统上编辑、编译、连接和运行C++程序的方法。
〔3〕进一步熟悉C++程序的结构和编程方法。
2、实验内容要求事先编好解决下面问题的程序,然后上机输入并调试运行。
(1)输入以下程序,进行编译,观察编译情况,如果有错误,请修改程序,再进行编译,直到没有错误,然后进行连接和运行,分析运行结果。
#include<iostream>using namespace std;int main〔〕{int a,b;c=add〔a,b〕cout<<“a+b=”<<c<<endl;return 0;}int add〔int x,int y〕{z=x+y;return〔z〕;}(2)编一个程序,用来求2个或3个正整数中的最大数。
1、用不带默认参数的函数实现。
2、用带有默认参数的函数实现。
比照两种方法,分析用带有默认参数的函数的优点和应用场合,总结如何选择默认b参数的值。
请分析此题中默认参数的值应该在什么范围。
(3)对3个变量按由小到大顺序排序,要求使用变量的引用。
1、使用指针方法2、使用变量的的引用请总结引用时要注意什么问题。
(4)有5个字符串,要求对他们按由小到大的顺序排列,用string方法,(5)编译一个程序,用同一个函数名对n个数据进行从小到大排序,数据类型可以是整型、单精度型、双精度型。
1、用重载函数实现。
2、用函数模板实现。
比较这两种方法各有什么特点,什么情况下可以用函数模板代替重载函数?3.实验结果〔1〕程序:#include <iostream>using namespace std;int main( ){int add(int x,int y);int a,b,c;cin >> a >> b;c=add(a,b);cout <<" a+b=" << c <<endl;return 0;}int add(int x,int y){int z;z=x+y;return(z);}运行结果:〔2〕程序1:用不带默认参数的函数实现#include <iostream>using namespace std;int main( ){int max(int a,int b,int c);int max(int a,int b);int a,b,c;cin >> a >> b >> c;cout << " max(a,b,c)= " << max(a,b,c) << endl;cout << " max(a,b)= " <<max(a,b) << endl;return 0;}int max(int a,int b,int c){if(b>a) a=b;if(c>a) a=c;return a;}int max(int a,int b){if(a>b) return a;else return b;}运行结果:程序2:用带有默认参数的函数实现#include <iostream>using namespace std;int max(int a,int b,int c=0){if (b>a)a=b;if (c>a)a=c;return a;}int main(void){int a,b,c;cin >> a >> b >> c;cout << " max(a,b,c)= " << max(a,b,c) << endl;cout << " max(a,b)= " <<max(a,b) << endl;return 0;}运行结果:有时多次调用同一函数时用的是同样的实参直,C++提供的带有默认参数的的使用更加方便,给形参一个默认值,这样形参就不必一定要从实参取值了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二C#编程基础1 整数排序
参考答案:
3_1代码如下:
运行结果如图:
图3-1
2 简单计算器
编写一个简单的计算器程序,能够根据用户从键盘输入的运算指令和整数,进行简单的加减乘除运算。
参考答案:
3_2的代码如下:
//Test3_2.cs
using System;
class test3_2{
static void Main(){
//声明两个输入的操作数。
int firstNumber,secondNumber;
//声明一个字符串类型来定义运算符。
string operation;
//来判断是否继续运算。
string response;
do{
Console.Write("请输入运算符(+、-、*、/):");
operation=Console.ReadLine();
Console.Write("请输入第一个操作数:");
运行结果如下图:
图3-2
3 求指定范围内的所有合数
合数就是非素数,即除了1和它本身之外还有其他约数的正整数。
编写一个程序求出指定数据范围(假设10~100)内的所有合数。
参考答案:
//Test3_3.cs
using System;
class Test3_3{
static void Main(){
int min=10,max=100;
int num=0;
Console.WriteLine("{0}到{1}之间的合数有:",min,max);
for(int i=min;i<=max;i++){
//for(int j=2;j<i;j++){
for(int j=2;j<i/2;j++){
if(i%j==0){
num++;
Console.Write(" {0}",i);
//让结果每行显示10个合数。
if(num%10==0)
Console.WriteLine();
break;
}
}
}
Console.WriteLine();
Console.WriteLine("总共有{0}个合数",num);
}
}
运行结果如图:
图3-3
4、浮点型数组排序
用户输入6个浮点型数组,程序根据其值的大小,进行排序输出。
using System;
using System.Collections.Generic;
using System.Text;
namespace Example_4
{
/// <summary>
/// 此程序演示数组和嵌套for循环的用法。
此应用程序的输出结果如图1.2所示。
图1.2 ArrayDemo.cs的输出结果
5、输出从1到9的乘法口诀表
参考代码
using System;
using System.Collections.Generic;
using System.Text;
namespace multiplicationTable
{
class Program
{
static void Main(string[] args)
{
for (int i = 1; i < 10; i++)
{
//输出一行
for (int j = 1; j <= i; j++)
{
Console.Write(j.ToString()+" * "+i.ToString()+Convert.ToString(i*j));
}
Console.Write("\n");//换行
}
}
}
}
此应用程序的输出结果如图1.3所示。
6 按照元素的顺序打印出一个二维数组中的各个值:
如某二维数组double[,] values = { {1.2, 2.3, 3.4, 4.5}, {5.6, 6.7, 7.8, 8.9} };
输出为:1.2 2.3 3.4 4.5 5.6 6.7 7.8 8.9
class Test
{
static void Main() {
double[,] values = { {1.2, 2.3, 3.4, 4.5},
{5.6, 6.7, 7.8, 8.9} };
foreach (double elementValue in values)
Console.Write("{0} ", elementValue);
Console.WriteLine();
}
}
输出为:
1.2
2.3
3.4
4.5
5.6
6.7
7.8
8.9。