C语言项目实验作业
系(部) 机电与汽车工程学院
姓 名(学号) 40 庞文胤 25 梁志坚
专 业(班级) 13电子2班
电子教研室编制
实验一 数据类型、运算符和表达式应用
一、实验目的
1.掌握C语言数据类型的种类和作用;
2.熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,
3.掌握不同的类型数据之间赋值的规律;
4.灵活运用各种运算符及其表达式;
二、实验步骤
(一)阅读程序
1. 输入并运行以下程序,观察运行结果。
#include <stdio.h>
main()
{ char c1,c2;
c1=97;c2=98;
printf("%c,%c\n",c1,c2); }
(1)在第五行后面加入以下printf语句,并运行。
printf("%d,%d\n",c1,c2);
分析结果 | 97,98 |
运行结果 | 97,98 |
(2)在(1)的基础上,将第三行改为以下语句,并运行。
int c1,c2;
分析结果 | 97,98 |
运行结果 | 97,98 |
(3)在(1)的基础上,将第四行改为以下语句,并运行。
c1=321;c2=400;
分析结果 | 321,400 |
运行结果 | 65,-112 |
2. 分析并运行此程序,当输入的数据为10时,下面程序的运行结果。
#include <stdio.h>
main()
{ float x,y;
scanf("%f",&x);
printf("\n2.4*x-1/2=%f",2.4*x-1.0/2);
printf("\nx%%2/5-x=%f",(int)(x)%2/5-x);
printf("\n(x-=x*10,x/=10)=%d\n",(x-=x*10,x/=10)); }
分析结果 | |
运行结果 | |
3.分析以下程序运行的结果
#include <stdio.h>
main()
{ int i,j,m,n ;
i=8;j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%d\n",i,j,m,n);}
分析结果 | |
运行结果 | |
(2) 将第6、7行改为:m=i++;
n=++j;
分析结果 | |
运行结果 | |
(3)程序改为:
#include <stdio.h>
main()
{ int i , j , m=0 , n=0 ;
i=8; j=10;
m+=i++;
n-=--j;
printf(“%d,%d,%d,%d\n”,i,j,m,n);}
分析结果 | |
运行结果 | |
(二)完成程序
要求:依据题目要求,分析已给出的语句,填写空白。但是不要增行或删行,改动程序的结构。
1.求任意输入字符的ASCⅡ码。
#include <stdio.h>
c语言编写递归函数main( )
{ ;//变量的定义
printf(“请输入一个字符:”);
scanf(“%c”,&a);
b=(int)a;
printf(“\n\n%c的ASCⅡ码为%d\n”,a,b);}
(三)调试程序
要求:调试运行下列程序是否正确,若有错,写出错在何处?填写正确的运行结果。
1.行号 #include <stdio.h>
1 main( )
2 { int u=v=89;
3 printf(“u=%d,v=%d\n”,u,v); }
错 | 错误在 行 |
应改为: | |
调试正确后的运行结果 | 输出结果: |
2.下面的程序试图计算由键盘输入的任意两个整数的平均值:
行号 #include <stdio.h>
1 main()
2 {
3 int x,y,a;
4 scanf("%x,%y",&x,&y);
5 a=(x+y)/2;
6 printf("The average is %d:\n", a); }
错 | 错误在 行 | |
应改为: | ||
调试正确后的运行结果 | 输入数据 2,6 1,4 -1,-3 -2,4 2,0 | 输出结果: |
(四)编写程序
1.输入圆半径(值为5),输出圆的周长和面积。
实验二 顺序结构程序设计
一、实验目的
1.掌握各种类型数据输入输出的方法,能正确使用各种格式转换符。
2.熟练掌握顺序结构的程序设计,能够编写简单的应用程序。
二、实验步骤
(一)阅读程序
1. 输入并运行以下程序,观察运行结果。
#include <stdio.h>
main( )
{ int a=17;
float u=1234.567;
printf("%d,%7d,%-7d\n",a,a,a);
printf("%f,%7.2f\n",u,u);}
分析结果 | |
运行结果 | |
2. 输入并运行以下程序,观察运行结果。
#include <stdio.h>
main( )
{ int a,x,y;
x=(a=2,6*2);
y=a=2.6 *a;
printf(“x=%d,y=%d\n”,x,y);}
分析结果 | |
运行结果 | |
3.阅读以下程序,若输入的数据形式为25 13 10,输出结果为:
#include <stdio.h>
main( )
{ int x,y,z;
scanf("%d%d%d", &x,&y,&z);
printf("x+y+z=%d\n", x+y+z);}
分析结果 | |
运行结果 | |
(二)完成程序
要求:按照给定题目要求,参照出现的语句,填写程序空白处。
求的值。(设a=25,b=5)
#include<stdio.h>
main( )
{ float a=25,b=5;
float c;
c= ;
printf("c=%f\n ",c);}
(三)调试程序
要求:分析下列程序是否正确,如有错误,指出错误所在,并改正;若正确,写出运行结果。
1. 行号 #include <stdio.h>
1 main( )
2 { int i,k;
3 i=8;
4 k=5*I*I;
5 printf("%d\n",k); }
错 | 错误在 行 |
应改为: | |
调试正确后的运行结果 | |
(四)编写程序
1.编程求出某学生期末三门课程的总分及平均分。结果保留小数点后一位。
实验三 if选择结构程序设计1
一、实验目的
1.掌握关系运算符和逻辑运算符;
2.学会正确书写关系表达式和逻辑表达式;
3. 熟练掌握三种if语句和if嵌套
二、实验步骤
(一)阅读程序
1. 输入并运行以下程序,观察运行结果。
#include <stdio.h>
main()
{ int a,b,c;
a=10;b=60;c=30;
if(a>b) a=b;
b=c;
c=a;
printf("a=%d,b=%d,c=%d\n" , a , b, c );}
分析结果 | |
运行结果 | |
2. 输入并运行以下程序,观察运行结果。
#include <stdio.h>
main()
{ int x=60,a=30,b=20;
int v1=3,v2=8;
if (a<b)
if (b!=15)
if (!v1) x=1;
else
if (v2) x=10;
x=-2;
printf(“%d\n”, x);}
分析结果 | |
运行结果 | |
(二)完成程序
要求:按照给定题目要求,参照出现的语句,填写程序空白处。
1. 输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其他字符不变,请在_______上填写正确内容。
#include <stdio.h>
main()
{ char ch ;
scanf("%c",&ch);
if (_______________________)ch=ch+32;
else if (ch>='a' && ch<='z' ) ____________________;
printf("%c\n" ,ch);}
(三)调试程序
要求:分析下列程序是否正确,如有错误,指出错误所在,并改正;若正确,写出运行结果。
1. 以下程序实现求分段函数。
y= -1 x>9
x*(x+2) 3<x<=9
2*x -1<x<=3
x-1 x<=-1
#include <stdio.h>
main()
1 { int x ,y ;
2 scanf(“%d”,&x);
3 if (3<x<=9) y=x*(x+2);
4 else if (-1<x<=3) y=2*x;
5 else if (x<=-1)y=x-1;
6 else y=-1;
7 printf(“%d\n”, y);}
错 | 错误在 行 |
应改为: | |
调试正确后的运行结果 | 输入数据:4 2 1 -3 10 |
输出结果: | |
(四)编写程序
1. 输入某学生的成绩(成绩为100分制,可以为89.5,如果输入的成绩不在0-100之间,请给出出错提示。),经处理后给出学生的等级,等级分类如下:
90分以上(包括90): A
80至90分(包括80):B
70至80分(包括70):C
60至70分(包括60):D
60分以下: E
实验四 选择结构程序设计2
一、实验目的
1.掌握关系运算符、逻辑运算符和条件运算符;
2.学会正确书写关系表达式、逻辑表达式和条件运算符;
3. 熟练掌握switch语句。
二、实验步骤
(一)阅读程序
1. 输入并运行以下程序,观察运行结果。
#include <stdio.h>
main()
{ int i=1;
switch(i)
{case 1:printf("%d\t",i++);
case 2:printf("%d\t",i++);
case 3:printf("%d\t",i++);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论