当前位置:首页 > c语言程序设计上机练习
第1章 简单C程序设计
1.1 目的要求
(1) 熟悉VC6.0编译系统的组成,熟练掌握上机建立、编写C程序的步骤及方法。 (2) 通过简单程序的编写进一步巩固所学的理论知识。 (3) 掌握基本输出语句的使用。
1.2 例程分析
【例1-1】 分析理解以下源程序中printf函数的输出格式的定义规则。
行号 源程序 01 main() 02 { 03 int a,b,c; 04 long int m,n; 05 float x,y; 06 char c1,c2; 07 a=3861; b=48; c=5; 08 x=1; y=2.4;
09 m=12345; n=123456; 10 c1='a'; c2='A'; 11 printf(\
12 printf(\13 printf(\14 printf(\15 printf(\ c2=%d\\n\16 }
注:为了便于分析,源程序左侧列有行号,在TC集成环境编写源程序时,不能列此行号,下同。
程序运行结果参见图1-1。
图 1-1 图多种输出格式
- 1 -
输出函数printf( )的主要输出格式说明如下:
对于printf( )函数引号中的\=、b=、c2=\等,程序运行时原样输出。
程序第11行中的\表示换行输出,在此将输出1空行。第12行变量a的值为\是4位,大于\中的\,所以此处的3不起作用。而b中的\是2位,比\少1位,所以输出的\与等号间有1个空格。同理,c输出的结果\与等号间有4个空格。
程序第13行中的\和\,其小数点前的8和7是定义包括小数点在内的总位数宽度,后面的3和5是定义小数的位数。其中\是定义按3位小数、8位列宽格式输出,而x里存放1,所以小数部分要添3个0,这样整数、小数点和小数部分合起来共占5位列宽,所以整数1与等号间有3个空格。\是定义按5位小数、7位列宽格式输出,而y中存放2.4,小数仅有1位,所以后面需添4个零,5位小数位+1位小数点位+1位整数位=7位,输出宽度正好占用7位,所以整数2与等号之间没有空格。依此总结出小数位后添零、整数位前添空格的规则,读者不难自行分析出14行的输出格式。
宽度定义为负数(如\)时,通常控制小数位后面的空格。即整数位+小数点+小数位的总位数不足定义宽度(如前面的-8),则在最后1个小数位后面添空格。
第15行\中的\指定按字符格式输出,所以字符变量c1按原类型输出字符'a',而\,指定按10进制数格式输出,所以字符变量c2中的字符'A'按10进制ASCII码输出\。
以上仅仅是printf( )函数的部分输出格式,它能完成的格式定义远不至此,其格式定义十分灵活、方便、实用。读者可在今后上机实习中,认真体会总结,融会贯通。
【例1-2】 已知两个变量a,b,其值分别为100和200,编程求它们的和SUM。
分析:根据题意3个变量a、b、SUM之间的关系为 SUM=a+b,这是程序编写的基础。而变量a,b的值已知,可用赋值语句而不必从键盘输入。 源程序1: main()
{
int a, b ,SUM; /*严格区分大小写*/ a=100;
b=200; /*给两个变量a,b赋值*/
SUM=a+b; /*将a,b两个变量值的和赋给变量SUM*/ printf(\ /*输出结果SUM*/
说明:
}
C程序在定义变量的同时可以赋值,这样前3行语句可简化成如下写法:
\
这样可以使程序更加简洁。
- 2 - 通常程序的赋值不仅是具体的数据,还可以是变量或表达式等,自然C语言编程也不例外。为了体验这些赋值语句的应用,可将【例1-2】源程序1改写成如下的源程序2形式。
源程序2:
main()
{
int SUM , a=100, b=200; /*定义变量a,b的同时赋值*/ SUM= a; /*变量a的值赋给SUM,即SUM=100*/
SUM=SUM+b; /*表达式赋值,将SUM(其值为100)+b(其值为200)再赋给
SUM*/
printf(\ /*输出结果SUM*/
源程序2将与源程序1的结果完全一样。
程序中第6条语句\,是依据解题要求作出的算法分析,再结合C语言的语法规则建立a,b,SUM等变量间的表达式关系。依据题意作出算法分析,是程序编写的切入点,望能引起读者的注意。
}
1.3 实习内容
1-1 验证以下每个printf函数的显示结果是什么?
1) printf (\2) printf (\3) printf (\4) printf (\’d’);
1-2 验证以下逻辑表达式的值,设 a=3,b=4,c=5。
1) a+b>c&&b==c 2) a||b+c&&b-c 3) !(a>b)&&!c||1 4) !(a+b)+c-1&&b+c/2 1-3 写出如下程序的执行结果
main()
{
int a; float b; a=4; b=9.5;
printf(\
}
- 3 -
第2章 结构化程序设计—顺序结构
2.1 目的要求
(1) 进一步熟悉VC6.0编译系统。 (2) 掌握赋值语句的使用。
(3) 掌握数据的输入、输出方法,能正确的使用各种格式转换符。 (4) 掌握顺序结构程序设计的方法。
2.2 例程分析
【例2-1】 已知一个圆柱体的半径r为6,高h为7,求圆柱体的体积。(单位省略) 源程序:
#define PI 3.14159 /*定义圆周率的值*/
main( ) { float r, h; float s;
float v; /*定义四个浮点型变量*/ r=6.0;
h=7.0; /*给变量R,H赋值*/ s=PI*r*r; /*计算底面积*/ v=s*h; /*计算圆柱体体积*/ printf(\圆柱体的体积为%f\\n\}
出现语法上面的错误。比如:
忘记了C语言一条语句的最后应该加上\。
数学中的\乘\在C语言编程语句中应该写成\,而不能省略或者用数学中的其他写法。 C语言的语法规则规定在定义变量的时候数据类型和变量名之间应该有空格,这个很多初学者容易犯错。
结束 图2-1 求圆柱体积流程
开始 给r、h赋值 计算面积 s=π*r*r 计算体积 v=s*h 输出结果 说明:这是一个非常简单的关于数学问题的C语言程序,对于刚刚学习C语言的人来说,经常
【例2-2】 下面程序是求四个数的算术平均值,标有“*”行有错,请改正。
main( ) {
- 4 -
共分享92篇相关文档