当前位置:网站首页>C语言实验二 数据类型、运算符和表达式
C语言实验二 数据类型、运算符和表达式
2022-07-31 05:09:00 【Meteor.792】
一、实验目的
(1)了解C 语言数据类型的意义,掌握基本数据类型变量的特点和定义方法。
(2)学会使用C 的算术运算符,以及包含这些运算符的算术表达式。
(3)掌握自加(++)和自减(--)运算符的使用。
(4)进一步熟悉C 程序的编辑、编译、连接和运行的过程。
二、实验要点
基本数据类型包括整型、字符型、实型。
三、实验要求
(1)上机前先阅读和编写以下要调试的程序。
(2)上机输入和调试程序并存在磁盘上。
(3)检查实验结果是否正确。
四、实验内容
第一次实验内容:
- 重新开始一个新的程序
关闭所有工作空间,点击Visual C++ 6.0窗口的关闭按钮即可退出Visual C++ 6.0集成环境,再次进入Visual C++ 6.0集成环境,输入以下程序:
/* c1-3.c C语言的第三个程序 */
#include "stdio.h"
void main( )
{ int a=38;
printf("%d,%5d,%-5d\n",a,a,a);
printf("%d,%o,%x,%u\n",a,a,a,a);
}注意观察两个printf函数语句输出结果有何不同?
- 在Visual C++ 6.0集成环境,输入以下程序:
/* c1-4.c C语言的第四个程序 */
#include "stdio.h"
void main( )
{ long int a=32767;
printf("a=%ld\t",a);
printf("a=%u\t",a);
printf("a=%d\n",a);
}将程序中的a改为a=65535,并再次运行程序,观察结果。
- 在Visual C++ 6.0集成环境,,输入以下程序:
/* c1-5.c C语言的第五个程序 */
#include "stdio.h"
void main( )
{ char c1=97,c2=98;
int a=97,b=98;
printf("%3c,%3c\n",c1,c2);
printf("%d,%d\n",c1,c2);
printf("\n%c %c\n",a,b);
}观察程序运行结果,掌握int与char类型数据的互通性。
- 在Visual C++ 6.0集成环境,输入以下程序:
/* c1-6.c C语言的第六个程序 */
#include "stdio.h"
void main( )
{ int a,b;a=2;
b=1%a;
printf("%d\n",1/a);
printf("b=%d\n",b);
printf("%f %f\n",(float)(1/a),(float)b);
}观察程序运行结果,从中掌握类型转换运算符的使用。
- 在Visual C++ 6.0集成环境,输入以下程序:
/* c1-7.c C语言的第七个程序 */
#include "stdio.h"
void main( )
{ int i,j;
i=3; j=4;
printf("%d,%d\n",i++,++j);
printf("%d,%d\n",i,j);
printf("%d,%d\n",-i++,-++j);
}观察程序运行结果,从中掌握自加自减运算符的使用。
- 在Visual C++ 0集成环境,输入以下程序
/* c1-8.c C语言的第八个程序 */
#include "stdio.h"
void main( )
{ int a,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);
}观察程序运行结果,从中掌握复合赋值运算符、逗号运算符的使用。
- 下面程序,计算输出当x=2.5,a=7,y=4.7时,表达式
x + a % 3 * (int) (x + y) % 2 / 4的运算结果z的值。
/* c1-9.c C语言的第九个程序 */
#include "stdio.h"
void main( )
{ int a=7;
float x=2.5,y=4.7, z ;
z= x + a % 3 * (int) (x + y) % 2 / 4;
printf("z=%f\n",z);
}第二次实验内容:
1. 调试程序,分析输出结果
(1)输入并运行以下程序。
main()
{ float a,b;
a=123456.789e5;
b=a+20;
printf("a=%f,b=%f\n",a,b);
}将第二行改为:
double a,b;重新运行该程序,分析运行结果。
说明:由于实型变量的值是用有限的存储单元存储的,因此其有效数字的位数是有限的。float型变量最多只能保证7 位有效数字,后面的数字是无意义的,不能准确表示该数。
(2)输入并运行以下程序。
main()
{ char c1,c2;
c1=97;c2=98;
printf("%c %c\n",c1,c2);
printf("%d %d\n",c1,c2);
}① 将第二行改为:
int c1,c2;再运行。
② 再将第三行改为:
c1=300;c2=400;再运行,分析运行结果。
说明:字符型数据可作为整型数据处理,整型数据也可以作为字符型数据处理,但应注意字符数据只占一个字节,它只能存放0-255 范围的整数。
2.完成以下代码,并把程序调通,写出运行结果。
下面的程序计算由键盘输入的任意两个整数的平均值:
main()
{ int x,y ;
float a;
scanf(“%d,%d”,&x,&y);
a=(x+y)/2;
printf("The average is :%f ",a);
}边栏推荐
- Flink sink redis 写入Redis
- Shell重油常压塔模拟仿真与控制
- 数据库学习笔记
- STM32——DMA
- 剑指offer基础版 ----- 第25天
- Unity resources management series: Unity framework how to resource management
- MySQL transaction (transaction) (this is enough..)
- Duplicate entry 'XXX' for key 'XXX.PRIMARY' solution.
- Minio upload file ssl certificate is not trusted
- 基于flask的三方登陆的流程
猜你喜欢

MySQL (updating)

mysql5.7.35安装配置教程【超级详细安装教程】

运用flask框架发送短信验证码的流程及具体代码

剑指offer基础版 --- 第22天

A complete introduction to JSqlParse of Sql parsing and conversion

ES source code API call link source code analysis

MySQL优化:从十几秒优化到三百毫秒

Numpy中np.meshgrid的简单用法示例

MySQL-Explain详解

DVWA shooting range environment construction
随机推荐
centos7安装mysql5.7
Distributed transaction processing solution big PK!
面试官,不要再问我三次握手和四次挥手
Minesweeper game (written in c language)
Flask 的初识
tf.keras.utils.get_file()
Temporal客户端模型
Interviewer: If the order is not paid within 30 minutes, it will be automatically canceled. How to do this?
对list集合进行分页,并将数据显示在页面中
C语言教程(一)-准备
【一起学Rust】Rust的Hello Rust详细解析
关于小白安装nodejs遇到的问题(npm WARN config global `--global`, `--local` are deprecated. Use `--location=glob)
MySQL-如何分库分表?一看就懂
Distributed Transactions - Introduction to Distributed Transactions, Distributed Transaction Framework Seata (AT Mode, Tcc Mode, Tcc Vs AT), Distributed Transactions - MQ
wx.miniProgram.navigateTo在web-view中跳回小程序并传参
The interviewer asked me how to divide the database and the table?Fortunately, I summed up a set of eight-part essays
MySQL forgot password
[MQ I can speak for an hour]
C语言教程(三)-if和循环
剑指offer基础版 --- 第21天