实验一 C语言编程基础—工具、数据类型、运算符、I/O、控制语句、数组
实验目的
学习使用VC++集成开发工具,编辑、编译、运行C语言程序。
编程验证C语言的数据类型和各种运算符。
编程验证C语言的基本I/O函数:printf()、scanf()、putchar()、getchar()。
编程验证C语言的控制语句:if、switch、while、do-while、for、break、continue
编程验证数组的定义、引用。
编程验证数组的在内存的存储方式。
编程验证字符数组的定义和使用,验证字符串函数。
实验内容
1、编程验证C语言的数据类型和各种运算符
(1)输入并运行下面的程序
#include
void main()
{
char c1,c2;
c1='a';
c2='b';
printf("%c %c",c1,c2);
}
①运行此程序
②加入下面的一个语句作为“}”前的最后一个语句:
printf("%d,%d\n",c1,c2);
③将第3行改为:
int c1,c2;
然后再运行程序,并观察结果是否相同。
④将第3行改为int c1,c2;将第4,5行依次改为:
c1=a;c2=b;
c1="a";c2="b"
c1=300;c2=400;
每改为一次后运行程序,观察结果。
(2)输入并运行下面的程序
#include
void 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,d);
c=a=e;
d=b=f;
printf("%d,%d\n",a,b);
printf("%u,%u\n",c,d);
}
请对照程序和运行结果分析:
①将一个负整数赋给一个无符号的变量,会得到什么结果。画出它们在内存中的表示形式。
②将一个大于32767的长整数赋给一个整型变量,会得到什么结果。画出它们在内存中的表示形式。
③将一个长整数赋给无符号的变量,会得到什么结果。画出它们在内存中的表示形式。
(3)输入并运行下面的程序
#include
void main()
{
int i,j;
i=8;j=10;
printf("%d,%d\n",++i,++j);
i=8;j=10;
printf("%d,%d\n",i++,j++);
i=8;j=10;
printf("%d,%d\n",++i,i);
i=8;j=10;
printf("%d,%d\n",i++,i);
}
运行程序并分析运行结果。
(4)关于运算符,请大家在有时间的时候自己编程验证。
2、编程验证C语言的基本I/O函数
(1)掌握各种格式输出符的使用方法。
#include
void main()
{
int a,b;
float d,e;
char c1,c2;
double f,g;
long n,m;
unsigned p,q;
a=61;b=62;
c1='a';c2='b';
d=3.56; e=-6.87;
f=3156.890121;g=0.123456789;
m=50000;n=-60000;
p=32768;q=40000;
printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);
printf("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n",f,g,m,n,p,q);
}
①运行此程序并分析运行结果。
②在此基础上,修改程序的第9-14行:
a=61;b=62;
c1=a;c2=b;
f=3156,890121;g=0.123456789;
d=f;e=g;
p=a=m=50000;q=b=n=-60000;
运行程序,分析运行结果。
③将9-14行改为以下的scanf语句,即用scanf函数接收从键盘输入的数据:
scanf("%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u",&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,&p,&q);
运行程序(无错误的情况下)输入数据如下:
61,62,a,b,3.56,-6.87,3156,890121,0.123456789,50000,-60000,32768,40000
(2)getchar和putchar的验证
编写程序,用getchar函数读入两个字符给c1,c2,