实验1-数据类型、运算符和表达式
实验1 数据类型、运算符和表达式
一、实验目的
1.掌握C语言数据类型,熟悉如何定义一个整形、字符型和实型的
变量,掌握它们赋值的方法。
2.掌握不同数据类型数据之间赋值的规律。
3.学会使用C的有关算术运算符,以及包含这些运算符的表达式,
特别是自加(++)和自减(--)运算符的使用。
二、实验内容
1.变量a、b中各存有一个整数,交换两数后输出。
2.从键盘输入一个字符,输出这字符的ASCII码的值。
3.整形变量的用法。编辑运行下面的程序,在上机前先用人工分析
程序,写出应得结果,上机后将二者对照。
#include
Int main()
{
int 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, b);
c = a = e;
d = b = f;
printf("%d,%d\n", a, b);
printf("%u,%u\n", c, d);
return 0;
}
4.基本输入输出函数的用法。编辑运行下面的程序,并根据执行结
果分析程序中各个语句的作用。
#include
int main()
{
int a, b;
float d, e;
char c1, c2;
double f, g;
long m, n;
unsigned int p, q;
a=61; b=62;
c1='a'; c2='b';
d=5.67; e=-6.78;
f=1234.56789; g=0.123456789;
m=50000; n=-60000;
p=32768; q=40000;
printf("a=%d,b=%d\nc1=%c,c2=%c\n",a,b,c1,c2);
printf("d=%6.2f,e=%6.2f\n",d,e);
printf("f=%15.6f,g=%15.10f\n",f,g);
printf("m=%ld,n=%ld\np=%u,q=%u\n",m,n,p,q);
return 0;
}
三、实验指导
1.设a=10,b=20,若要交换这两数,则需要借用一中间变量。首先将a
中的数值存入变量t 中进行保存,然后将b中的数值存入a中,再将t
中的数值存入b中。写出程序代码。
2.一个整数,只要它的值在0—255之间,就以用字符形式输出,在输出
前,系统会将该整数转换为相应的ASCII码的字符;一个字符也可以用
一个整数输出,输出的整数即为这字符的ASCII码值。
根据上面的分析,自己写出程序代码。
运行时:从键盘上输入字符:a
输出结果为_______,此结果代表着什么含义?
3.请对照程序和运行结果分析:
(1).将一个负整数赋给一个无符号的变量,会得到什么结果。画出它
们在内存中的表示形式。
(2).将一个大于32767的长整数赋给整形变量,会得到什么结果。画
出它们在内存中的表示形式(在VC环境中,用short int )。
(3).将一个长整数赋给无符号的变量,会得到什么结果(分别考虑该
长整数的值大于或等于65535 以及小于65535 的情况)。画出它们
在内存中的表示形式((在VC环境中,用short int ))。
同学们可以改变程序中各变量的值,以便比较。例如: a = 65580, b = -40000,
e = 65535,
f = 65580。
4.基本输入输出函数的用法。
(1).运行所给出的源程序,对照结果分析各语句的作用。
(2).将程序中的第二、第三个printf语句修改为如下形式,然后运
行程序,察看结果。
printf("d=%-6.2f,e=%-6.2f\n",d,e);
printf("f=%-15.6f,g=%-15.10f\n",f,g);
(3).将上述两个printf语句进一步修改为如下形式,然后运行程序,
察看结果。
printf("d=%-6.2f\te=%-6.2f\n",d,e);
printf("f=%-15.6f\tg=%-15.10f\n",f,g);
(4).将程序的第10-15行修改为如下语句:
scanf用法c++a=61;b=62;
c1='a';c2='b';
f=1234.56789;g=0.123456789;
d=f;e=g;
p=a=m=50000;q=b=n=-60000;
运行程序,并分析结果。
(5).修改(1)中的程序,不使用赋值语句,而用下面的scanf语句为
a、b、c1、c2、d、e输入数据:
scanf("%d%d%c%c%f%f",&a,&b,&c1,&c2,&d,&e);
请按照程序原来中的数据,选用正确的数据输入格式,为上述变
量提供数据。
使用如下数据输入格式,为什么得不到正确的结果?输入数据:
61 62 a b 5.67 -6.78
(6).进一步修改⑸中使用的程序,使f和g的值用scanf()函数输入。
(7).进一步修改上面的程序,使其他所有变量的值都改用scanf()函
数输入。
参考程序
#include
int main()
{
int a, b;
float d, e;
char c1, c2;
double f, g;
scanf("%d%d
long m, n;
unsigned int p, q;
printf("Input(a,b,c1,c2,d):");
scanf("%d%d%c%c%f%f",&a,&b,&c1,&c2,&d,&e);
printf("Input(f,g):");
scanf("%lf%lf",&f,&g);
printf("Input(m,n,p,q):");
scanf("%ld%ld%u%u",&m,&n,&p,&q);
printf("a=%d,b=%d\nc1=%c,c2=%c\n",a,b,c1,c2);
printf("d=%-6.2f,e=%-6.2f\n",d,e);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论