@
@南方
实验一:C程序的运行环境和C语言的数据类型、运算符和
表达式以及运行C程序的方法
一.实验目的
1. 了解所用的计算机系统的基本操作方法,学会独立使用该系统。
2. 掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值方法,了解以上类型数据输出时所用的格式转换符。
3. 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
4. 了解在该系统上如何编辑、编译、连接和运行一个C程序
二.实验环境
CPU:P133; RAM:48M; OS:WINDOWS98; SOFTWARE:TURBO C2。0
三.实验过程
1.运行环境的建立
打开电脑,启动切换到MS-DOS模式,键入D:并回车进入D盘根目录下。先键入MD TC并回车建立TC目录。用DIR命令查看一下,这时TC目录已存在。把TURBO C安装盘放入软驱, 在D:\下键入A:INSTALL并回车,然后遵循屏幕上的提示进行操作,把TURBO C安装到D:\TC中。安装完成后键入CD TC↙进入该目录,键入MD QH↙建立自已的工作目录,再键入TC↙就进入了TURBO C的主菜单。
进入了主菜单后先设置自已的工作目录:同时按ALT键和F键,这时会打开一个窗口,把亮块移动到Chang dir处回车,会出现一个目录提示框,这时键入D:\TC\QH↙就完成了设置。
2.程序实践
同时按ALT键和F键,会打开一个窗口,把亮块移动到New处回车,即可输入新程序了。
程序一:
main()
{char c1,c2;
c1=97;c2=98;
printf("%c %c",c1,c2);
printf("%d,%d",c1,c2);
}
同时按CTRL键和F9键运行该程序,再同时按ALT键和F5键,切换到MSDOS界面查看运行结果:
a b97,98
把第二行改为:int c1,c2; 其运行结果同上。但将第三行改为c1=300,c2=400;后第一条printf的输出结果会出现异常,这是因为作为字符,它的ASCII码最大范围是0~255,超过这个范围就会产生错误。
程序二:
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",c4,c5);
}
根据程序分析第一条printf输出结果应该是:先输出aa和bb然后跳一个tab位置输出cc再跳一个tab位置输出abc,第二条printf输出结果应该是:先跳到下一个tab位置再向前退一格输出(101)8(十进制是65,在ASCII表是对应A)和(116)8(十进制是78,在ASCII表是对应A)对应的字母。
程序运行结果如下:
aa bb cc abc
A N
程序三:
main()
{int i,j,m,n;
i=8;j=10;
m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);
}
程序运行结果如下:
9,11,9,10
把第四行改为:m=i++;n=++j; 其运行结果为
9,11,8,11。
由此可见,++i是先执行i=i+1,再使用i的值;i++是先使用i的值再执行i=i+1;
现将程序改为:
main()
{int i,j;
i=8;j=10;
printf("%d,%d ",i++,j++);
}
运行结果为:
8,10
把第四行改为:printf("%d,%d ",++i,++j);其运行结果为
9,11
把第四行改为:printf("%d,%d,%d,%d ",i,j,i++,j++);
其运行结果为9,11,8,10
由结果可看出本系统是由右向左的,先执行j++和i++,再执行j和i
赋值表达式是由赋值运算符将一个变量和一个表达式连接起来的式子
再将程序改为:
main()
{int i,j,m=0,n=0;
i=8;j=10;
m+=i++;n-=--j;
printf("i=%d,j=%d,m=%d,n=%d",i,j,m,n);
}
运行结果为:
i=9,j=9,m=8,n=-9
m+=i++和n-=--j都是赋值表达式。m+=i++相当于m=m+i和i=i+1; n-=--j相当于j=j-1和n=n-j
2.7题 将“China”译成密码。密码规律:用原来的字母后面第4个字母代替原来的字母,例如,字母“A”后面4个字母“E”,用“E” 代替“A”。因此,“China”应译成“Glmre”。编一程序,用赋初值的方法使c1,c2,c3,c4,c5五个元素的值分别为“C”、“h”、“i”、“n”、“a”。经过运算使c1,c2,c3,c4,c5分别变为“G”、“l”、“m”、“r”、“e”输出。
程序如下:
main()
{
char c1='C',c2='h',c3='i',c4='n',c5='a';
c1+=4;
c2+=4;
c3+=4;
c4+=4;
c5+=4;
printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5);
}
运行结果为:
密码是Glmre
在“=”之前加上其它的运算符,可以构成复合的赋值运算符。c1+=4是复合的赋值运算符。它相当于c1=c1+4
程序输入完成后,直接用RUN命令或直接按CTRL-F9键,TURBO C将一次完成从编译、连接到运行的全过程。这时在工作目录中会存在相同文件名但后缀名分别为C、OBJ、EXER的三个文件。这是运行TURBO C程序最常用的方法。
表达式以及运行C程序的方法
一.实验目的
1. 了解所用的计算机系统的基本操作方法,学会独立使用该系统。
2. 掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值方法,了解以上类型数据输出时所用的格式转换符。
3. 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
4. 了解在该系统上如何编辑、编译、连接和运行一个C程序
二.实验环境
CPU:P133; RAM:48M; OS:WINDOWS98; SOFTWARE:TURBO C2。0
三.实验过程
1.运行环境的建立
打开电脑,启动切换到MS-DOS模式,键入D:并回车进入D盘根目录下。先键入MD TC并回车建立TC目录。用DIR命令查看一下,这时TC目录已存在。把TURBO C安装盘放入软驱, 在D:\下键入A:INSTALL并回车,然后遵循屏幕上的提示进行操作,把TURBO C安装到D:\TC中。安装完成后键入CD TC↙进入该目录,键入MD QH↙建立自已的工作目录,再键入TC↙就进入了TURBO C的主菜单。
进入了主菜单后先设置自已的工作目录:同时按ALT键和F键,这时会打开一个窗口,把亮块移动到Chang dir处回车,会出现一个目录提示框,这时键入D:\TC\QH↙就完成了设置。
2.程序实践
同时按ALT键和F键,会打开一个窗口,把亮块移动到New处回车,即可输入新程序了。
程序一:
main()
{char c1,c2;
c1=97;c2=98;
printf("%c %c",c1,c2);
printf("%d,%d",c1,c2);
}
同时按CTRL键和F9键运行该程序,再同时按ALT键和F5键,切换到MSDOS界面查看运行结果:
a b97,98
把第二行改为:int c1,c2; 其运行结果同上。但将第三行改为c1=300,c2=400;后第一条printf的输出结果会出现异常,这是因为作为字符,它的ASCII码最大范围是0~255,超过这个范围就会产生错误。
程序二:
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",c4,c5);
}
根据程序分析第一条printf输出结果应该是:先输出aa和bb然后跳一个tab位置输出cc再跳一个tab位置输出abc,第二条printf输出结果应该是:先跳到下一个tab位置再向前退一格输出(101)8(十进制是65,在ASCII表是对应A)和(116)8(十进制是78,在ASCII表是对应A)对应的字母。
程序运行结果如下:
aa bb cc abc
A N
程序三:
main()
{int i,j,m,n;
i=8;j=10;
m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);
}
程序运行结果如下:
9,11,9,10
把第四行改为:m=i++;n=++j; 其运行结果为
9,11,8,11。
由此可见,++i是先执行i=i+1,再使用i的值;i++是先使用i的值再执行i=i+1;
现将程序改为:
main()
{int i,j;
i=8;j=10;
printf("%d,%d ",i++,j++);
}
运行结果为:
8,10
把第四行改为:printf("%d,%d ",++i,++j);其运行结果为
9,11
把第四行改为:printf("%d,%d,%d,%d ",i,j,i++,j++);
其运行结果为9,11,8,10
由结果可看出本系统是由右向左的,先执行j++和i++,再执行j和i
赋值表达式是由赋值运算符将一个变量和一个表达式连接起来的式子
再将程序改为:
main()
{int i,j,m=0,n=0;
i=8;j=10;
m+=i++;n-=--j;
printf("i=%d,j=%d,m=%d,n=%d",i,j,m,n);
}
运行结果为:
i=9,j=9,m=8,n=-9
m+=i++和n-=--j都是赋值表达式。m+=i++相当于m=m+i和i=i+1; n-=--j相当于j=j-1和n=n-j
2.7题 将“China”译成密码。密码规律:用原来的字母后面第4个字母代替原来的字母,例如,字母“A”后面4个字母“E”,用“E” 代替“A”。因此,“China”应译成“Glmre”。编一程序,用赋初值的方法使c1,c2,c3,c4,c5五个元素的值分别为“C”、“h”、“i”、“n”、“a”。经过运算使c1,c2,c3,c4,c5分别变为“G”、“l”、“m”、“r”、“e”输出。
程序如下:
main()
{
char c1='C',c2='h',c3='i',c4='n',c5='a';
c1+=4;
c2+=4;
c3+=4;
c4+=4;
c5+=4;
printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5);
}
运行结果为:
密码是Glmre
在“=”之前加上其它的运算符,可以构成复合的赋值运算符。c1+=4是复合的赋值运算符。它相当于c1=c1+4
程序输入完成后,直接用RUN命令或直接按CTRL-F9键,TURBO C将一次完成从编译、连接到运行的全过程。这时在工作目录中会存在相同文件名但后缀名分别为C、OBJ、EXER的三个文件。这是运行TURBO C程序最常用的方法。