C语言实验2

合集下载

c语言第二次实验报告

c语言第二次实验报告

c语言第二次实验报告摘要:本次实验主要是关于C语言的指针和数组的实验。

通过这次实验,我对C语言的指针和数组有了更深入的理解和应用能力。

一、实验要求:1.编写一个程序,实现对10个整数的输入、输出、求和、求平均数等操作。

2.编写一个程序,实现对10个学生的成绩进行排序并输出。

二、实验过程及结果:1.程序一:对10个整数进行输入、输出、求和、求平均数等操作。

步骤:(1)定义整型数组a[10],用for循环对其进行输入。

(2)定义sum变量并用for循环对数组元素进行求和运算。

(3)定义double类型的avg变量,计算数组元素的平均数。

(4)输出数组元素和平均数。

结果:输入10个整数:1 2 3 4 5 6 7 8 9 1010个数字的和为:5510个数字的平均数为:5.502.程序二:对10名学生的成绩进行排序并输出。

步骤:(1)定义数组grade[10],用for循环进行输入。

(2)用冒泡排序法进行排序。

(3)用for循环进行打印输出操作。

结果:输入10名学生的成绩:99 60 88 72 65 92 78 84 70 95排序后的成绩为:60 65 70 72 78 84 88 92 95 99三、实验总结:通过本次实验,我深刻认识到指针和数组对于C语言程序设计的重要性。

指针和数组是C语言中非常重要的概念,其掌握程度直接影响着程序的设计和效率。

在实验过程中,我充分体会到了C语言指针和数组的使用方法,并加深了其中的应用技巧。

在以后的编程过程中,我会更加熟练的使用指针和数组,努力提高自己的编程能力,为今后的学习和工作打下坚实的基础。

实验二实验报告

实验二实验报告

C语言程序设计报告二数据类型,运算符和简单的输入输出计算机学院软件工程2班王莹0411402011,实验目的(1)掌握C语言数据类型,了解字符型数据和整型数据的内在关系。

(2)掌握对各种数值型数据的正确输入方法。

(3)学会使用C语言的有关算数运算符,移机包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。

(4)学会编写和运行简单的应用程序。

(5)进一步熟悉C程序的编辑、编译、连接和运行的过程。

2,实验内容和步骤(1)输入并运行教材第3章第4题给出的程序。

○1运行以上程序,分析为什么会输出这些信息。

因为第6行是将c1,c2按%c的格式输出,97是字符a的AS CⅡ代码,98是字符b的AS CⅡ代码。

第7行是将c1,c2按5d的格式输出,所以输出两个十进制整数。

○2如果将程序第4,5行改为c1=197;c2=198;运行时会输出由于Visual C++6.0字符型数据是作为signed char类型处理,它存字符的有效范围为0~127,超出此范围的处理方法,不痛的系统得到的结果不痛,因而用“%d”格式输出,结果是不可预期的。

用“%d”格式输出时,输出c1=-59,c2=-58.这是按补码形式输出的,内存字节中第1位为1时,作为负数。

59和197之和等于256,58与198之和也等于256.○3如果将程序第3行改为int c1,c2;运行时会输出因为97和98在int类型的有效范围。

(2)输入第3章第5题得程序。

即:用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。

运行时分别按一下方式输入数据,观察输出结果,分析原因。

1,a=3,b=7,x=8.5,y=71.82,A,a↙2,a=3 b=7 x=8.5 y=71.82 A a↙3,a=3 b=7 8.5 71.82 A a↙4,a=3 b=7 8.5 71.82Aa↙5,3 7 8.5 71.82Aa↙6,a=3 b=7↙8.571.82↙A↙a↙7,a=3 b=7↙8.571.82↙Aa↙8,a=3 b=7↙8.671.82Aa↙12345678(3)输入以下程序○1编译和运行程序,注意i,j,m,n各变量的值。

C语言实验二报告

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和它本身之外的其他任何整数整除。

实验项目2

实验项目2

实验2:数据及运算【实验目的】1、掌握C语言数据类型,熟悉如何定义一个整形、字符型和实型的变量,以及对他们赋值的方法。

2、握不同的类型数据之间赋值的规律。

3、学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。

4、程序的编辑、编译、连接和运行的过程。

【实验步骤】按照下列要求,分别编写、运行以及调试程序。

1、输入并运行下面的程序#include <stdio.h>void main(void){char c1, c2;c1 = 'a';c2 ='b';printf (“%c %c\n”, c1, c2);}(1).运行此程序。

结果分析:定义c1和c2为字符,将a和b的值分别赋给c1和c2,程序的输出形式是以字符的形式输出,所以输出的结果是以原样输出的。

(2).在此基础上增加一个语句:printf(“%d%d\n”,c1,c2);再运行,并分析结果。

结果分析:定义c1和c2为字符,将a和b的值分别赋给c1和c2,程序的输出形式分别是以字符的形式和十进制形式输出,所以输出的结果是以原样输出和数字输出。

(3).再将第2行改为:int c1,c2;再使之运行,并观察结果。

结果分析:定义c1和c2为整形,将a和b的值分别赋给c1和c2,但程序的输出形式是以字符的形式输出,所以输出的结果是以原样输出的。

(4).再将第 3、4行改为:c1 = a; /* 不用单撇号 */c2 = b;再使之运行,分析其运行结果结果分析:其中a和b是字符,应该用‘’将其包含,程序有错,所以得不到输出结果。

(5).再将第 3、4行改为:c1 = ”a”; /* 用双撇号 */c2 = ”b”;再使之运行,分析其运行结果。

结果分析:“”其作用是包含字串符,而不是包含一个字符,此程序步骤有误,所以得不到输出结果。

(6).再将第 3、4行改为:c1 = 300; /* 用大于255的整数 */c2 = 400;再使之运行,分析其运行结果结果分析:定义c1和c2为字符,将300和400的值分别赋给c1和c2,输出形式是以字符c1,c2的ASCII值形输出,2、输入并运行以下给出的程序#include <stdio.h>void main(void){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\b%c%c”, c4, c5);}在上机前先用人工分析程序,写出应得结果,上机后将二者对照。

《c语言程序设计》实验报告(实验-2)

《c语言程序设计》实验报告(实验-2)

《c语⾔程序设计》实验报告(实验-2)《C语⾔程序设计》实验报告2013~2014学年第⼆学期班级姓名学号指导教师实验⼀实验项⽬名称:C程序的运⾏环境和运⾏C程序的⽅法所使⽤的⼯具软件及环境:Visual C++ 6.0⼀、实验⽬的:1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运⾏⼀个C程序;2.通过运⾏简单的C程序,初步了解C源程序的特点。

⼆、预习内容:教材《C语⾔程序设计教程》第1章。

三、实验内容:1. 在Visual C++ 6.0环境下输⼊并运⾏下⾯的程序:#includeint main( ){printf("This is a C program.\n");return 0;}2. 在Visual C++ 6.0环境下输⼊下⾯的程序(有语法错误),编译、连接、调试该程序,直⾄程序⽆语法错误,然后运⾏程序,并观察分析运⾏结果。

#includeint main( ){int a,b,suma=3;b=4;sun=a+b;print(“%d+%d=%d\n”,a,b,sum);return 0;}四、实验结果:1. 运⾏结果(或截图):This is a C program.Press any key to continue2. (1) 改正后的源程序:#includeint main( ){int a,b,sum;a=3;b=4;sum=a+b;printf("%d+%d=%d\n",a,b,sum);return 0;}(2) 运⾏结果(或截图):3+4=7五、思考题:1. ⼀个C程序上机的步骤有哪些?答:上级输⼊与编辑源程序—对原程序进⾏编译–与库函数链接–运⾏可执⾏的⽬标程序。

2. 组成C程序的基本单位是函数,⼀个函数包括哪⼏个部分?答:⼀个函数包括两部分:分别为函数头或函数⾸部和函数体。

成绩指导教师签名实验⼆实验项⽬名称:数据类型、运算符和表达式所使⽤的⼯具软件及环境:Visual C++ 6.0⼀、实验⽬的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使⽤⽅法;3. 掌握基本算术运算符及其表达式的使⽤⽅法;4. 掌握++、--运算符、赋值运算符及其表达式的使⽤⽅法。

实验二C语言中的分支语句程序设计实验

实验二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. 掌握关系表达式和逻辑表达式的使用。

2. 熟悉选择结构程序设计。

3. 熟练使用if 语句进行程序设计。

4. 使用switch 语句实现多分支选择结构。

二、实验内容(1 计算a+|b| 2 判断一个整数是否可以被3和5整除)1.[目的]掌握判断一个字符型数据是否数字字符的方法,以及数字字符转换为相应整数的方法。

[题目内容]从键盘输入一个字符型数据,若输入一个数字字符('0'-'9'),则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。

[输入]一个字符型数据[输出]整数或出错信息[提示] 根据字符型数据的ASCII 码值是否在‘0’字符与‘9’字符之间进行判断。

使用if …else …语句和复合语句。

2.[目的]掌握条件表达式的使用[题目内容] 编写一个程序,其功能为:从键盘输入三个数x 、y 、z ,判断x+y=z 是否成立,若成立输出‚x+y=z ‛的信息,否则输出‚x+y!=z ‛的信息。

[输入] 三个数x 、y 、z[输出] ‚x+y=z ‛或‚x+y!=z ‛[提示] 条件判断表达式x+y==z3.[目的]掌握求最大值最小值的方法。

[题目内容] 编写一个程序,其功能为:输入三个整数,输出最大数和最小数。

[输入] 三个整数[输出] 最大值和最小值[提示] 设置最大值变量max 和最小值变量min ;首先比较a,b 的大小,并把大数存入max , 小数存入min ;然后最大值变量max 和最小值变量min 再与c 比较,若c 大于max ,则max 取值c ,否则保持不变;如果c 小于min ,则min 取值c ,否则保持不变。

最后输出max 和min 的值。

使用if …else …语句、if 语句以及复合语句。

4.[目的]运用已学知识解决实际问题。

[题目内容]如下两个线性方程组的两个未知数为x1和x2:ax 1+bx 2=mcx 1+dx 2=n该方程的唯一解为(ad-cb 不等于零时):cb ad bn md x --=1 bcad mc na x --=2 请编写一个程序,读取a 、b 、c 、d 的值,计算x1和x2的值。

最新版C语言重新设计基础实验实验二周信东输入输出方法及分支结构程序设计

最新版C语言重新设计基础实验实验二周信东输入输出方法及分支结构程序设计
default: printf("E\n");
}
}
运行结果:
请在此粘贴本程序运行成功时的截图
Eh3-1请在下面分别插入完整填空后的源程序代码及运行成功时的画面:
源程序代码:
请在此粘贴填空后正确的程序代码。
#include<stdio.h>
void main()
{
int c,t,m;
printf("int put the number of coat and trousers your want buy:\n");
请把观察这些变量时的画面粘贴到下面:
请在此框内插入观察到变量值的截图
7、C程序在什么情况下运行需要输入数据才能得出运行结果?输入的测试数据需要注意哪些事项?
在此回答问题
在调试与调试完成后的运行中,
类型要对,格式要正确,数据范围要在规定范围内
8、在运行Eh3-1.c时,至少需要输入几组测试数据才能对程序进行完整的测试?如何进行输入多组数据的测试?
源程序代码:
请在此框内粘贴修改后正确的程序代码。
#include<stdio.h>
void main()
{
int i,j,p,m,n;
scanf("%d,%d,%d",&i,&j,&p);
m=i+j+p;
n=(int)m/3;
printf("%d,%d\n",m,n);
}
运行结果:
请在此框内插入本程序运行成功时的截图
{
int score;
printf("enter score=");

C语言实验报告,实验一和实验二

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语句,并运行之。

C语言实验答案(2-6)

C语言实验答案(2-6)
实验二 1.验证性实验 (1) 程序运行结果
x=10,y=10,z=10 x=8,y=10,z=16 c1=M,c2=4d,c3=115,c4=77 c1=M,c2=M,c3=M,c4=M c1=77,c2=77,c3=77,c4=77 c=m,c=109
(2)程序运行结果
输入:
1,2 3,4 5,6 7,6 a,b
运行一: 1 0,1,0,0
运行二: 2 0,0,1,1
运行三: 3 0,0,0,1
运行四: 4 1,0,0,0
运行五: 5 1,0,0,0
输入不同数据以后,a,b,c,d 的结果不一样,分析其原因主要在于:输入值不同, switch 语句进入的 case 分支不同;当分支语句中未出现 break 时 switch 语句会继 续继续进入下一 case 分支分支执行,直到遇到 break 或最后。
实验三
一、验证性试验 15M5.55
b=25,y=2.6,c2=N a= 15,b=25 x=5.550000,y=2.600000 c1=M,c2=N 在 scanf("%d%c%f",&a,&c1,&x);的输入中,由于输入字符型数据时空格会作为 有效输入字符处理,所以空格不能作为数据输入的分隔符,在输入 a 的值后,接 下来输入的应是一个字符型,若之间用空格则此空格将被视为一个字符,但若是 先输字符再输一个数,其间就可以用空格。 二、程序填空: ①a/b ②a%b ③quot,resi 三、程序改错: scanf("%f %f ",&x,&y) 改为 scanf("%d%d",&x,&y); printf("%d+%d=%d",x+y) 改为 printf("%d+%d=%d",x,y,x+y) ; (2) getchar(x) 改为 x=getchar() y=x-32 改为 y=x+32 四、设计性试:

c语言实验报告 (2)

c语言实验报告 (2)

C语言实验报告说明1,所有程序均用VC6.0编译运行,文件名命名为姓名+日期,因为实验存在补做,所以并不是按照日期先后排列的。

2,为了使截图清晰,手动将运行窗口由“黑底白字”改为了“白底黑字”。

实验2 数据类型、运算符和表达式一、实验目的:(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法。

(2)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。

(3)掌握C语言的输入和输出函数的使用(4)进一步熟悉C程序的编辑、编译、连接和运行的过程。

三、程序调试与问题解决:页脚内容1(1)输人并运行下面的程序#include<stdio.h>void main(){char c1,c2;c1='a';c2='b';printf("%c %c\n",c1,c2);}○1运行此程序。

○2在上面printf语句的下面再增加一个printf语句。

printf("%d %d\n",c1,c2);再运行,并分析结果。

输出结果如图,编译成功,无错误。

页脚内容2○3将第3行改为int c1,c2;再运行,并分析结果。

○4再将第4、5行改为c1=a;c2=b;再运行,并分析结果。

a,b没有定义,编译报错。

○5再将第4、5行改为c1=‘’a‘’;c2=‘’b‘’;再运行,并分析结果。

○6再将第4、5行改为c1=300;页脚内容3c2=400;再运行,并分析结果。

以字符型输出时,输出的将是300,400对应的字符。

(2)输人并运行教材第3章习题3. 6给出的程序#include<stdio.h>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\b%c %c\n",c4,c5);}#include<stdio.h>void main(){页脚内容4int a,b;unsigned c,d;long e,f;a=100;b=-100;e=50000;f=32767;c=a;d=b;printf("%d,%d\n",a,b);printf("%u,%u\n",a,b);printf("%u,%u\n",c,d);c=a=e; d=b=f;printf("%d,%d\n",a,b);printf("%u,%u\n",c,d);}请对照程序和运行结果分析:页脚内容5①将一个负整数斌给一个无符号的变t,会得到什么结果。

C语言程序设计实验报告(二)

C语言程序设计实验报告(二)
2
输入:40,50,60↙
5.运行下述程序,分析输出结果。 main(int b=10; float x=10.0; double y=10.0; printf("a=%d, b=%ld,x=%f, y= %lf\n",a,b,x,y); printf("a=%ld,b=%d, x=%lf,y=%f\n",a,b,x,y); printf("x=%f, x=%e, x=%g\n",x,x,x); } 从此题的输出结果认识各种数据类型在内存的存储方式。
4.了解数据类型在程序设计语言中的意义。
三、实验内容及要求:
内容: 1.编程序,输出如下图形: ** ** ** *** *** **** ****
原程序图
运行结果图
2.编写程序,实现下面的输出格式和结果( 表示空格):
a= 5,b= 7,a-b=-2,a/b= 71%
x=31.19,y= -31.2,z=31.1900
3.编写程序,输入变量 x 值,输出变量 y 的值,并分析输出结果。 (1) y =2.4 * x-1/2 (2) y=x%2/5-x (3) y=x>10&&x<100 (4) y=x>=10||x<=1 (5) y=(x-=x*10,x/=10)
要求变量 x、y 是 float 型。 原程序图
运行结果图
C 语言程序设计实验报告
姓名
学号
系别
班级
09 信息
主讲教师
指导教师
实验日期
专业 信息与计算科学
课程名称
C 语言程序设计
一、实验名称:
同组实验者
实验二、 数据类型及顺序结构

C语言实验2-6参考答案

C语言实验2-6参考答案

实验二参考答案1.输入两个整型数字,输出他们的和。

#include<stdio.h>main(){int a, b, sum;scanf(“%d%d ”, &a, &b);sum=a+b;printf(“a+b=%d ”, sum);}2.输入两个实型数,输出他们的和与乘积。

#include<stdio.h>main(){float a, b, sum, product;scanf(“%f%f ”, &a, &b);sum=a+b;product=a*b;printf(“a+b=%5.2f, a*b =%5.2f ”, sum, product);}3.求方程02=++c bx ax 的根(设042≥-ac b )(其中a ,b ,c 的值由键盘输入)。

#include<stdio.h>#include<math.h>main(){float a, b, c, dt, x1, x2;scanf(“%f%f%f ”, &a, &b, &c);dt=sqrt(b*b-4*a*c);x1=(-b+dt)/(2*a);x2=(-b-dt)/(2*a);printf(“x1=%5.2f, x2 =%5.2f ”, x1, x2);}4.鸡兔同笼,已知鸡兔总头数为h,总脚数为f,求鸡兔各多少只?(h和f的值由键盘输入,输出鸡和兔的头数)#include<stdio.h>main(){int h, f, x,y;scanf(“%d%d”, &h, &f);x=2*h-f/2;y=f/2-h;printf(“x=%d, y =%d”, x, y);}实验三参考答案1.输入三个数a、b、c,要求按由小到大的顺序输出。

#include<stdio.h>main(){float a,b,c,t;scanf(“%f,%f,%f”,&a,&b,&c);if(a>b){t=a; a=b; b=t;}if(a>c){t=a; a=c; c=t;}if(b>c){t=b; b=c; c=t;}printf(“%f,%f,%f”,a,b,c);}2.编写程序,输入三角形三边a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。

实验二 C语言中的分支语句程序设计实验

实验二  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("VeryGood\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语言实验2----基本的程序语句

C语言实验2----基本的程序语句

C语言实验2----基本的程序语句1.1目的和要求(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。

(2)学会使用C的有关算术运算符,及包含这些运算符的表达式,(3)自增(++)和自减(--)运算符的使用。

(4)了解字符在计算机中以ASCII码方式表示。

(5)掌握基本的输入输出函数scanf( )、printf( )的基本功能、调用方法、输入/输出格式控制规定等。

(6)巩固学生对于编程概念的理解。

1.2实验内容1.2.1实验练习1:表达式的计算。

实验目的:本实验旨在巩固学生对于编程概念的理解。

在这个实验中将练习:•如何定义浮点型变量•使用scanf输入用户提供的数据•使用printf输出变量问题描述:编写程序sy2_1.c进行温度转换计算,输入华氏温度h,输出摄氏温度c(摄氏温度=5/9*(华氏温度-32))。

示例输出:程序主体模板:#include<stdio.h>void main( ){float h, c;printf("请输入华氏温度:");/*接收用户输入的华氏温度*//*将华氏温度转化为摄氏温度*//*输出对应的摄氏温度*/}问题解答提示:1.依据题目,输入和输出数据均为温度,因此用float来表示,其中输入数据为华氏温度,输出数据为摄氏温度;2.提示用户输入华氏温度,并用scanf语句接收此值;3.根据华氏温度和摄氏温度之间的计算公式,将华氏温度转化为摄氏温度,并存储在变量c中;4.用printf语句显示对应的摄氏温度。

1.2.2实验练习2:自增运算符的使用。

实验目的:本实验旨在巩固学生对于编程概念的理解。

在这个实验中,学生将练习:•掌握自增(++)运算符的使用问题描述:编写程序sy2_2.c,观察其执行结果,思考自增运算符放在变量之前和放在变量之后,表达式的值有何不同。

实验2 数据类型、运算符和简单的输入输出

实验2 数据类型、运算符和简单的输入输出

实验2 数据类型、运算符和简单的输入输出1,实验目的(1)掌握C语言数据类型,了解字符型数据和整型数据的内在关系。

(2)掌握对各种数值型数据的正确输入方法。

(3)学会使用C语言的有关算数运算符,移机包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。

(4)学会编写和运行简单的应用程序。

(5)进一步熟悉C程序的编辑、编译、连接和运行的过程。

2,实验内容和步骤(1)输入并运行教材第3章第4题给出的程序。

#include<stdio.h>Int main(){char c1,c2;c1=97;c2=98;printf(“c1=%c,c2=%c\n”,c1,c2);printf(“c1=%d,c2=%d\n”,c1,c2);return 0;}○1运行以上程序,分析为什么会输出这些信息。

输出信息:c1=a,c2=bc1=97,c2=98Press any key to continue第6行是将c1,c2按%c的格式输出,97是字符a的AS CⅡ代码,98是字符b的AS CⅡ代码。

第7行是将c1,c2按5d的格式输出,所以输出两个十进制整数。

○2如果将程序第4,5行改为c1=197;c2=198;运行时会输出什么信息?为什么?输出信息:c1=?,c2=?c1=-59,c2=-58Press any key to continue由于Visual C++6.0字符型数据是作为signed char类型处理,它存字符的有效范围为0~127,超出此范围的处理方法,不痛的系统得到的结果不痛,因而用“%d”格式输出,结果是不可预期的。

用“%d”格式输出时,输出c1=-59,c2=-58.这是按补码形式输出的,内存字节中第1位为1时,作为负数。

59和197之和等于256,58与198之和也等于256.○3如果将程序第3行改为int c1,c2;运行时会输出什么信息?为什么?输出结果:c1=a,c2=bc1=97,c2=98Press any key to continue因为97和98在int类型的有效范围。

C语言实验报告-实验2 顺序结构程序设计

C语言实验报告-实验2 顺序结构程序设计

实验2 顺序结构程序设计一、实验目的1. 学会使用自然语言或伪代码描述算法2. 掌握变量、运算符、表达式的使用3. 熟悉顺序结构程序中语句的执行过程4. 掌握标准输入流对象cin及标准输出流对象二、实验内容编写程序在屏幕上显示如图2-1所示的菜单。

图2-1 学生选课管理系统主界面实验步骤:范例:1)在VS2008中新建项目,在项目中新建C++源文件,输入下面程序,并且编译、连接。

//***************************************************************//* 程序名:实训2_1.cp *//* 主要功能: *//* 显示主菜单,并获取用户输入的模块编号 *//***************************************************************#include <iostream> // 包含输入输出接口文件using namespace std; // 引用标准命名空间void mainMenu();int main() // 定义主函数{ // 主函数开始mainMenu();return 0;}void mainMenu(){system("cls");cout<<"\n\n\n\n\n";cout<<"\t\t|---------------学生选课系统(学生版)------------|\n";cout<<"\t\t|\t 0. 退出 |\n";cout<<"\t\t|\t 1. 学生信息管理 |\n";cout<<"\t\t|\t 2. 教师信息管理 |\n";cout<<"\t\t|\t 3. 课程信息管理 |\n";cout<<"\t\t|\t 4. 学生选课管理 |\n";cout<<"\t\t|\t 5. 学生成绩管理 |\n";cout<<"\t\t|\t 6. 信息统计模块 |\n";cout<<"\t\t|-----------------------------------------------|\n\n";cout<<"\t\t\t请输入模块编号(0-6):";}2)运行范例所示程序,观察输出结果实训1要求编写程序在屏幕上显示如图2-2所示的菜单。

C语言程序设计 实验报告2--选择结构

C语言程序设计 实验报告2--选择结构

福建农林大学金山学院实验报告系(教研室):专业:年级:实验课程:C语言程序设计姓名:学号:实验室号:计算机号:实验时间:指导教师签字:成绩:实验2:选择结构程序设计一、实验目的和要求1.了解C语言表示逻辑量的方法2.正确使用逻辑运算符和逻辑表达式,掌握if语句和switch语句3.结合程序掌握一些简单算法,并学习调试程序二、实验内容和原理1.有一函数:x2+2x-6(x<0,x≠-3)y = x2-5x+6(0≤x<10,x≠2,x≠3)x2-x-15(x=-3,x=2,x=3,x≧10)写一程序,用scanf函数输入x,输出y值。

2.分别用if语句和switch语句编程实现:给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。

90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。

3.输入4个整数,要求按由小到大顺序输出。

4.有三个整数a,b,c,由键盘输入,输出其中最大的数,请编写程序。

(用两种方法实现)5.输入出租车类型和里程,计算打车的费用。

计算方式为:3公里以内10元;3公里以上0车型每公里1.5元,1车型每公里2元。

三、实验环境1. 硬件:PC机;2. 软件:Windows操作系统、Visual C++ 6.0,DEV-CPP 。

四、算法描述及实验步骤1、先用scanf函数输入,再用if语句的嵌套来计算该方程。

2、(1)用switch语句时,对输入的数据进行检查,在用score/10将其强制转换得到一个整型。

最后用switch语句执行使其得到一个字符型字母。

(2)用if语句分成各个分数段将符合要求的输出对应的字符。

3、用if语句依次比较的方法排出其大小顺序。

4、(1)先用scanf函数输入,再用if语句的嵌套比较其大小顺序。

(2)带入一个中间数用条件表达式比较其大小顺序。

5、在标题写入条件,3公里以下直接输出。

3公里以上判断车型,再带入相应车型计算车费。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验2的内容和要求1.同学们在上机的时候,请选择开机菜单中的“Internet”项进入系统。

2.在实验过程中,你编写的程序不要存放在桌面或者C盘,要存在D盘上。

实验要求✧实验2上传格式要求:✧实验做完之后,会有7个文件:test2-1.c,test2-2.c,test2-3.c,test2-4.c,test2-5.c,test2-6.c和实验内容及其调试成功的程序贴进去生成的:实验2.doc,将这7个文件压缩为:学号-姓名.rar;✧实验2上传时间要求:✧实验2提交截至时间:✧机械和梁希班2015.12.6,22:00之前。

✧车辆和自动化2015.12.13,22:00之前✧实验2上传地址要求:文件夹下的/C语言/homework中各班文件夹中的实验2文件夹中。

实验2的内容第1题1.编写一段程序,程序名称命名为test2-1.c,完成如下任务:歌手大奖赛上有10个评委(放在一个数组中)打分,请你设计一个通用程序,该程序可以实现显示每位歌手的成绩、最高分、最低分;还能显示高于平均值的评委号码及其打分的分值;能显示出给最高分的评委的号码,及给最低分的评委的号码。

例如,图1(假设有6位评委打分)的一次运行结果实例(显示的内容仅供参考):#include<stdio.h>int main(){char z;int i,p=0;float a[10],max,min,average,sum=0,m,b[10],c[10],t,x;do{for(i=0;i<10;i++){printf("Please input a score:");scanf("%f",&a[i]);printf("\n");}for(i=0;i<10;i++)sum+=a[i];average=sum/10;printf("The average:%f\n",average);m=a[0];for(i=0;i<=9;i++){m=a[i];}printf("The max:%f\n",m);m=a[0];for(i=0;i<=9;i++){if(m>a[i])m=a[i];}printf("The min:%f\n",m);for(i=0;i<=9;i++){if(a[i]>average)printf("%d,%f\n",i+1,a[i]);}for(i=0;i<=9;i++)b[i]=a[i];p=0;for(i=1;i<10;i++)if(b[p]<b[i])p=i;if(p!=0){t=b[0];b[0]=a[p];b[p]=t;}printf("max:%d,%f\n",p+1,b[0]); for(i=0;i<=9;i++)p=0;for(i=1;i<10;i++)if(c[p]>c[i])p=i;if(p!=0){t=c[0];c[0]=c[p];c[p]=t;}printf("min:%d,%f\n\n",p+1,c[0]);printf("Next singer? < y or Y>:");getchar();scanf("%c",&z);}while(z=='y'||z=='Y');return 0;}第2题2.编写一段程序,程序名称命名为test2-2.c,完成如下任务:编程实现从键盘输入8个整数存放在一个数组中,由程序自动完成将数组的数据排序后,先从大到小显示,再从小到大显示。

(并且要求排序方法分别使用选择法和冒泡法)一次运行结果实例(显示的内容仅供参考):#include<stdio.h>int main(){int i,a[8],j,k,m,t;for(i=0;i<8;i++)scanf("%d",&a[i]);for(i=0;i<8;i++)printf("%6d",a[i]);printf("\n");printf("The sorted number:\n");for(j=0;j<8;j++)for(k=0;k<=6-j;k++)if(a[k]<a[k+1]){m=a[k];a[k]=a[k+1];a[k+1]=m;}for(j=0;j<8;j++)printf("%6d",a[j]);printf("\n");for(i=0;i<7;i++){m=i;for(j=i+1;j<=7;j++)if(a[m]>a[j])m=j;if(m!=i){t=a[i];a[i]=a[m];a[m]=t;}}for(i=0;i<=7;i++)printf("%6d",a[i]);printf("\n");return 0;}第3题3.编写一段程序,程序名称命名为test2-3.c,完成如下任务:应用数组并利用筛选法求出100之内的素数。

#include<stdio.h>int main(){int a[100],i,m;for(i=0;i<100;i++)a[i]=i+1;for(i=1;i<100;i++){for(m=2;m<=a[i]-1;m++)if(a[i]%m==0)break;if(a[i]==m)printf("%4d",a[i]);}return 0;}第4题(难)4. 编写一段程序,程序名称命名为test2-4.c,完成如下任务:有一个已经按从小到大排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。

#include <stdio.h>int main(){int i,c;float t,m,a[20],b;for(i=1;i<20;i++)a[i]=i+1;printf("请输入要插入数组中的一个数\n");scanf("%f",&b);a[0]=b;c=0;for(i=1;i<20;i++)if(a[c]>a[i]){m=i;i=c;c=m;t=a[c];a[c]=a[i];a[i]=t;}for(i=0;i<20;i++)printf("%20f",a[i]);return 0;}第5题5.编写一段程序,程序名称命名为test2-5.c,完成如下任务:定义一个3行3列的二维数组,类型为整型,其中的内容为9 8 71 2 34 5 6(1)请在定义数组的时候给数组初始化,并且输出二维数组,其中数组元素的格式为“%2d”。

(2)输出二维数组对角线元素之和;(3)输出二维数组中最小的那个元素的值,输出的格式为:数组中值最小的元素为:数组名[行号][列号]=元素值(4)要求在程序中适当的位置给出提示性的输出语句。

#include <stdio.h>int main(){int a[3][3]={{9,8,7},{1,2,3},{4,5,6}},b,c,sum=0,sum2=0,d,e,t;printf("输出的二维数组如下\n");for(b=0;b<=2;b++)for(c=0;c<=2;c++){printf("%2d",a[b][c]);if(c==2)printf("\n");}printf("\n");for(b=0;b<=2;b++)sum+=a[b][b];for(b=0;b<=2;b++)sum2+=a[b][2-b];printf("对角线元素之和分别为%d、%d",sum,sum2);printf("\n");printf("\n");printf("二维数组中最小的那个元素的值如下\n");t=a[0][0];for(b=0;b<=2;b++)for(c=0;c<=2;c++){if(a[b][c]<t){t=a[b][c];d=b;e=c;}}printf("a[%d][%d]=%d",d,e,t);return 0;}实验2的内容和要求第6题6.编写一段程序,程序名称命名为test2-6.c,实现如下任务:编写一个程序,输入一个字符串,求出该字符串的长度,要求不能利用库函数strlen函数。

#include <stdio.h>int main(){char c;int i;printf("请输入字符,以回车结束:\n");i=0;while (c=getchar()!='\n')i++;printf("\n");printf("你已经输入了%d个字符\n",i);return 0;}11。

相关文档
最新文档