C语言程序设计-第二章 求三角形的面积-数据类型及表达式

合集下载

c语言程序设计课程教学大纲(计算机科学与技术)

c语言程序设计课程教学大纲(计算机科学与技术)

甘肃民族师范学院计算机专业课程教学大纲C语言程序设计一、说明(一)课程性质必修课(二)教学目的本课程是为计算机类等本、专科学生开设的,以培养学生程序设计能力为目的的专业基础课,是学习其他专业课的基础,同时也是第一门高级语言程序设计课。

本课程的任务是结合一般数值计算向学生介绍计算机程序设计的基本知识,使学生掌握C语言的基本语法,掌握程序设计的基本思想、基本概念和基本方法和技巧,并能运用所学的知识和技能对一般问题进行分析和程序设计,编制出高效的C 语言应用程序;同时了解进行科学计算的一般思路,培养应用计算机解决和处理实际问题的思维方法与基本能力,为进一步学习和应用计算机打下基础。

(三)教学内容计算机程序语言发展史,结构化程序设计的三种基本结构,函数,数组,指针,文件。

(四)教学时数90学时,60理论,30上机(五)教学方式多媒体授课二、本文第一章C语言程序设计基础教学要点:C程序的基本结构。

上机环境,进行简单C程序的编写。

教学时数:4学时(理论3学时,上机1学时)教学内容:第一节概述程序设计语言的发展。

C程序的基本结构。

第二节开发环境上机环境,进行简单C程序的编写。

考核要求:1.掌握编写C语言程序的基本步骤。

2. 掌握上机调试过程。

第二章数据类型、运算符与表达式教学要点:数据类型。

表达式。

输入输出函数。

教学时数:12学时(理论8学时,上机4学时)教学内容:第一节数据类型整型、实型、字符型、枚举型、构造类型、指针。

第二节常量与变量第三节运算符与表达式算术运算符及表达式、关系运算符及表达式、逻辑运算符及表达式、逗号运算符及表达式、条件运算符及表达式、赋值运算符及表达式。

第四节标准输入/输出scanf()函数、printf()函数。

第五节数学函数数学库头文件<math.h>。

第六节随机数发生器函数rand()和srand()函数,对应的头文件“stdlib.h”。

考核要求:1.理解数据结构、常量、变量的概念;2.掌握各种运算符的优先级及结合方向;3.熟练掌握数据的输入、输出方法;4.了解其他数学函数及随机函数的使用方法。

第2章_数据类型、运算符和表达式《C语言程序设计(第三版)》-电子教案

第2章_数据类型、运算符和表达式《C语言程序设计(第三版)》-电子教案

2.2 标识符、常量与变量

符号常量
【例2-1】输入圆的半径,计算周长和面积。 #define PI 3.14159 void main() { float r,c,s; scanf("%f",&r); c=2*PI*r; s=PI*r*r; printf("r=%f,c=%f,s=%f\n",r,c,s); }

以下是合法的整型常量:

2.2 标识符、常量与变量

实型常量

实型常量只能用十进制形式表示 表示形式:


小数形式。由数字序列和小数点组成,如 3.1415926、-0.15、.15、2.等都是合法的实型 常量。 指数形式。由十进制数加上阶码标志“e”或 “E”及阶码组成,如3.14e-4或3.14E-4表示 3.14×10-4。
2.2 标识符、常量与变量

2.2.3 变量


在程序运行过程中,其存储的值可以被改变的量称 为变量 变量必须通过标识符进行说明,称为变量名。 变量名和内存单元地址存在映射关系,程序可以通 过变量名寻址,从而访问其存储的数据。
2.2 标识符、常量与变量

变量的定义和说明

数据类型 变量名1[,变量名2,…,变量名n];
long型转换成float型时由原来可达10位整数变成只有7位有效数字精度丢失但由于数的范围扩大了数据类型从较低级提升到较高级随着竞争日益激烈酒店嘴中的肥肉被大肆抢夺各大酒店在这场竞争中几乎溃不成军
21世纪高等学校精品规划教材
第2章 数据类型、运算符 和表达式



掌握C语言的基本数据类型 掌握标识符、关键字、常量和变量的使用 掌握运算符、表达式以及数据类型之间的转换 等 掌握简单数据的输入输出

C语言教程课件第二章 数据类型、运算符和表达式

C语言教程课件第二章 数据类型、运算符和表达式

例 整型变量的定义与使用
#include <stdio.h> void main() { int a,b,c,d; /*指定a、b、c、d为整型变量*/ unsigned u; /*指定u为无符号整型变量*/ a=12;b=-24;u=10; c=a+u;d=b+u; printf("a+u=%d,b+u=%d\n",c,d); }
例 向字符变量赋以整数。 • 运行结果: #include <stdio.h> a b void main() 97 98 { char c1,c2; c1=97; c2=98; printf("%c %c\n",c1,c2); printf("%d %d\n",c1,c2); }
• 说明:在第4和第5行中,将整数97和98分别赋给c1和c2,它 的作用相当于以下两个赋值语句: c1='a';c2='b'; 因为'a'和'b'的ASCII码为97和98
• 字符型变量用来存放字符常量,注意只能放一个字符。 • 字符变量的定义形式如下:char c1,c2; • 在本函数中可以用下面语句对c1,c2赋值: c1='a';c2='b'; • 一个字符变量在内存中占一个字节; • 将一个字符常量放到一个字符变量中,是将该字符的 相应的ASCII代码放到存储单元中,这样使字符型数据 和整型数据之间可以通用。一个字符数据既可以以字 符形式输出,也可以以整数形式输出。
运行结果: total=300 例2.1 符号常量的使用 #define PRICE 30 #include <stdio.h> void main ( ) 说明:如再用赋值语句给PRICE赋值是错的 { PRICE=40;/*错误,不能给符号常量赋值*/ int num, total; num=10; total=num * PRICE; printf(″total=%d\n ″,total); } 说明: 程序中用#define命令行定义PRICE代表常量30,此后凡在 本文件中出现的PRICE都代表30,可以和常量一样进行运算

C语言程序设计(第二版)习题参考答案1

C语言程序设计(第二版)习题参考答案1

C语言程序设计习题参考答案之袁州冬雪创作习题 1一、断定题1.在计算机中,小数点和正负号都有专用部件来保管和暗示.2.二进制是由0和1两个数字组成的进制方式.3.二进制数的逻辑运算是按位停止的,位与位之间没有进位和借位的关系.4.在整数的二进制暗示方法中,0的原码、反码都有两种形式.5.有符号数有三种暗示法:原码、反码和补码.6.常常使用字符的ASCII码值从小到大的摆列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母.解:1.F2.T 3.T 4.T 5.T 6.T二、单选题1.在计算机中,最适合停止数值加减运算的数值编码是 .A. 原码B. 反码C. 补码D. 移码2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII码为十进制数 .A. 112B. 120C. 121D. 1223.关于ASCII码,在计算机中的暗示方法准确地描绘是 .A. 使用8位二进制数,最右边一位为1B. 使用8位二进制数,最左边一位为1C. 使用8位二进制数,最右边一位为0D. 使用8位二进制数,最左边一位为04.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是___________.A. X∧Y=1000B. X∨Y=1111C. X⊕Y=0011D. ¯Y=10005.下列叙述中正确的是().A.高级语言就是机器语言B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种D.C源程序颠末编译、毗连,若正确,执行后就可以得到正确的运行成果6.用C语言编写的源程序颠末编译后,若没有发生编译错误,则系统将().A.生成可执行文件B.生成方针文件C.输出运行成果D.自动保管源文件7.下列叙述中不正确的是().A.main函数在C程序中必须有且只有一个B. C程序的执行从main函数开端,所以main函数必须放在程序最前面C. 函数可以带参数,也可以不带参数.D. 每一个函数执行时,按函数体中语句的先后次序,依次执行每条语句解:1.C 2.C 3.D 4.B 5.B 6.B 7.B三、填空题1.(87.625)10=()2=()8=()162.(1001010111001.10111)2=()8=()16=()103.输入三个数,计算并输出三个数的和与三个数的乘积.程序如下:#include <stdio.h>void main(){inta,b,c,s,z;printf("Please input a b c:\n");s=a+b+c;printf("%d\n",s);}*4. 输入三角形三条边的边长,计算并输出三角形的面积.根据三条边的边长,计算三角形面积的公式如下:程序如下:#include <stdio.h>#include <math.h>void main(){double x,y,z,s,dime;scanf("%lf%lf%lf",&x,&y,&z);dime=sqrt(s*(s-x)*(s-y)*(s-z));}解:1.1010111.101 127.5 57.A2.11271.56 12B9.B8 4793.718753.scanf("%f%f%f",&a,&b,&c); z=a*b*c; printf("%f",z);4.s=(x+y+2)/2; printf("%f",dim);四、编程题1.仿照例1.1,编程序在屏幕上显示:*****************************MerryChristmas!HappyNewYear!*****************************解:#include <stdio.h>void main(){ printf("*****************************\n");printf(" Merry Christmas!\n");printf(" Happy New Year!\n");printf("*****************************\n");}2.仿照例1.2编程,输入一个整数,计算这个数的平方.解:#include<stdio.h>void main(){ int a,z;printf("请输入一个整数:\n");scanf("%d",&a);z=a*a;printf("%d*%d=%d\n",a,a,z);}*3.仿照例1.3编程,输入两个数后,输出其中较小值.解:#include<stdio.h>float min(float x, float y){ float m;if (x<y) m=x;else m=y;return m;}void main(){ float a,b,c,mindata;printf("请输入二个数:\n");scanf("%f %f",&a,&b);mindata=min(a,b);printf("较小数:%f\n",mindata);}*4.仿照例 1.2编程,输入a、b后,输出一元一次方程ax+b=0的解.解:#include<stdio.h>void main(){ float a,b,x;printf("请输入a、b:\n");scanf("%f %f",&a,&b);x=-a/b;printf("x=%f\n",x);}*5.仿照例 1.2编程,输入圆柱体的半径和高,计算并输出圆柱体的体积.解:#include <stdio.h>void main(){ float r,h,s,v;printf("Please input r and h:\n");scanf("%f %f",&r,&h);v=3.14*r*r*h;printf("V=%f\n",v);}习题2一、断定题1.任何变量都必须要定义其类型.2.C语言的double类型数据在其数值范围内可以暗示任何实数.3.C语言的任何类型数据在计算机内都是以二进制形式存储的.4.isdigit(‘5’)的成果为0.5.printf函数中格式符“%c”对应的参数只能是字符类型.6.按格式符“%d”输出float类型变量时,截断小数位取整后输出.7.在C语言程序中,ABC与abc是两个相同的变量.8.scanf函数中的格式符“%d”不克不及用于输入实型数据.9.格式符“%f”不克不及用于输入double类型数据.10.当格式符中指定宽度时,输出的信息完全取决于所指定的宽度.解:(1)T (2)F (3)T (4)F (5)F (6)F (7)F (8)T (9)T (10)F二、指出下列各项中哪些是C语言中的常量,并指出其类型10,150 007 –0x3d π 1e0 e1 o7o8‘x’ ‘x o’ 1.52e0.5 sin(3) 0xf16‘\a’‘\009’1.414E+22.54‘\\’ ‘a’+2 0x100h 0128 10L解:合法的C常量有:整型常量: 007 –0x3d0xf16 10L实型常量: 1e0 1.414E+2字符型常量:‘x’‘\a’‘\\’三、指出下列各项中哪些是C语言中的用户标识符x_1 X_2 High printf β 3DS i/je2 -e2 count Int number $23 next_sizeof IF sum_12_123# NO1: double for解:C的用户标识符有:x_1 X_2 High e2 count Int numbernext_ IF sum_12四、单项选择题1.C语言中,char型数据在内存中的存储形式是().A.原码 B.反码C.补码D.ASCII码2.若有定义语句“char c='\72';”则变量c().A.包含1个字符B.包含2个字符 C.包含3个字符 D.定义分歧法3.C语言中的基本数据类型包含().A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、字符型4.设c1、c2为字符型变量,执行语句“c1=getchar();c2=getchar();”时,从键盘输入A↙,c1和c2的值分别为().A.都是‘A’B.c1是‘A’,c2未输入C.c1未输入,c2是‘A’D.c1是‘A’,c2是‘\n’5.a、b是整型变量,执行语句“scanf("a=%d,b=%d",&a,&b);”,使a和b的值分别为1和2,正确的输入是().A.1 2B.1,2C.a=1,b=2D.a=1 b=26.设c为字符型变量值为‘A’,a为整型变量值为97,执行语句“putchar(c);putchar(a);”后,输出成果为().A.AaB.A97C.A9D.aA7.已知字母A的ASCII码值为65,以下语句段的输出成果是().char c1='A',c2='Y'; printf("%d,%d\n",c1,c2);A.输出格式非法,输出错误信息B.65,90C.A,YD.65,898.若要使用输入语句“scanf("%4d%4d%10f",&i,&j,&x);”,为i输入-10,为j输入12,为x输入345.67,则正确的输入形式是().A.–1012345.67↙B.–1012345.67↙C.–10001200345.67↙D.–10,12,345.67↙9.能正确地定义符号常量的是().A.#define n=10B.#define n 10C.#define n 10;D.#DEFINE N 1010.在C语言中,int、char、short三种类型数据在内存中所占的字节数().A.由用户自己定义 B.均为2个字节 C.是任意的 D.由机器字长决议解:(1) D (2) A (3) B (4) D (5) C(6) A (7) D (8) B (9) B (10) D五、填空题1.char ch='$';float x=153.4523;语句“printf("%c%–8.2f\\n",ch,x);”的输出成果是 .解:$153.45 \n2.int i=123;float x=– 1234.56789;语句“printf("i=%5d x=%7.3f\n",i,x);”的输出成果是 .解:i= 123 x=-1234.5683.char c='a';int a=65;语句“putchar(c+1);putchar(a);”的输出成果是 .解:bA4.int a=98;语句“printf(“%d,%c,%o,%x”,a,a+1,a+2,a+3);”的输出成果是 .解:98,c,144,655.int k; float f;语句“scanf(“%3d%*4d%6f ”,&k,&f);”执行时输入 12345678765.43↙则 k= ,f= .解:k=123 f=8765.46.使用pow()函数时,程序的开首必须写一条预处理饬令: . 解:#include <math.h>5.填空题.(1)int i=123,j=45;函数printf("%d,%d\n",i,j);的输出成果是.解:123,45(2)int i=123; float x=-45.678;语句printf("i=%5d x=%7.4f\n",i,x); 的输出成果是.解:i= 123 x=-45.6780(3)float alfa=60,pi=3习 题 3一、根据下列数学式,写出C 的算术表达式.解:-(a 2+b 2)×y 4的C 表达式:-(a*a+b*b)*pow(y,4)π++-x 12tan 102的C 表达式:(sqrt(2)+10*10)/(pow(tan(x),-1)+3.141593)5.3|)sin(|x 的C 表达式:sqrt(pow (fabs (sin(x)),3.5))56e x -的C 表达式:pow(x,6)-exp(5)cd d c b a d c ab +-+++221的C 表达式:(1.0/2*a*b+c+d)/(a+2*b-(c+d)/c/d)二、依照要求,写出下列C 的表达式.1.写出int 类型变量x 为“奇数”的表达式.解:x%2==12.Int 类型变量x 、y 、z ,写出描绘“x 或y 中有且唯一一个小于z ”的表达式.解:x<z&&y>=z||x>=z&&y<z3.将double 类型变量y 保存四位小数的表达式.解:(int)(y*10000+0.5)/10000.04.为变量s 赋值:取变量x 的符号,取变量y 的相对值.解:s=(x>=0?1:-1)*(y>=0?y:-y)5.条件“-5≤x≤3”所对应的C逻辑表达式.解:-5<=x&&x<=36.a、b是字符变量,已知a的值为大写字母、b的值为小写字母,写出断定a、b是否为同一字母(不区分大小写)的逻辑表达式解:a+32==b 或 b-a==32?1:07.int类型变量a、b均为两位正整数,写出断定a的个位数等于b的十位数、且b的个位数等于a的十位数的逻辑表达式.解:a%10==b/10&&a/10==b%108.写出断定某个人是否是成年人(春秋大于21),且不是老年人(春秋大于65)的逻辑表达式.解:y>21&&y<=659.写出取变量a、b、c中最大值的条件表达式.解:(a>b?a:b)>c?(a>b?a:b):c10.若字符变量ch为小写字母,则将其转换为对应的大写字母.解:ch=ch>='a'&&ch<='z'?ch-32:ch三、单项选择题1.设int x=3,y=4,z=5;,下列表达式中值为0的是().A.'x'&&'y'B.x<=yC.x||y+z&&y–zD.!((x<y)&&!z||1)2.已知x=10,ch='A',y=0;,则表达式“x>=y&&ch<'B'&&!y”的值是().A.0B.1C.“假”D.“真”3.断定char型变量c为数字字符的正确表达式为().A.'0'<=c<='9'B.'0'<=c&&c<='9' C.c>='0'||c<='9'D.c>=0&&c<=94.下列运算符中,优先级最低的是().A.?:B.&&C.= =D.*=5.若有条件表达式“x?a++:b--”,则以下表达式中()等价于表达式x.A.x==0B.x!=0C.x==1D.x!=16.有定义int k=4,a=3,b=2,c=1;,表达式“k<a?k:c<b?c:a”的值是().A.4B.3C.2D.17.执行下列程序段后,变量a,b,c的值分别是().int x=10,y=9,a,b,c;a=(--x= =y++)?--x:++y;b=x++;c=y;A.a=9,b=9,c=9B.a=8,b=8,c=10C.a=9,b=10,c=9D.a=1,b=11,c=108.有定义int a=9;,语句“a+=a–=a+a;”执行后,变量的值是().A.18B.9C.–18D.–99.设x和y均为int型变量,则语句“x+=y;y=x–y;x–=y;”的功能是().A.把x和y按从小到大摆列B.把x和y按从大到小摆列C.无确定成果D.交换x和y中的值10.有定义double x=1,y;,表达式“y=x+3/2”的值是().A.1B.2C.2.0D.2.511.设有定义int x;double y;,则下列表达式中成果为整型的是().A.(int)y+xB.(int)x+yC.int(y+x)D.(double)x+y12.设有整型变量x,下列说法中,错误的是().A.“5.0”不是表达式B.“x”是表达式C.“!x”是表达式D.“sqrt(x)”是表达式解:(1)D (2)B (3)B (4)D (5)B (6)D(7)B (8)C (9)D (10)C (11)A(12)A四、填空题.1.设float x=2.5,y=4.7; int a=7;,表达式x+a%3*(int)(x+y)%2/4 值为 .解:2.52.设int x=2,y=3;,执行语句“x*=x+y”后x的值为 .解:103.设int x=17,y=5;,执行语句“x%=x–y”后x的值为.解:54.设 int a=6,b=4,c=2;,表达式 !(a-b)+c-1&&b-c/2 的值为 .解:15.设 int a=2,b=4,x,y;,表达式!(x=a)||(y=b)&&!(2-3.5) 的值为 .解:06.断定变量a、b是否相对值相等而符号相反的逻辑表达式为 .解:a==-b7.断定变量a、b中必有且只有一个为0的逻辑表达式为 .解:a*b==0&&a+b!=08.设int m=2,n=2,a=1,b=2,c=3;执行语句d=(m=a==b)&&(n=b>c);后,m和n的值分别为 .解:m为0,n为29.设int a=2;,表达式“a%2!=0”的值为.解:010.设char c='y';,表达式“c>='a'&&c<='z'|| c>='A'&&c<='Z'”的值为.解:111.写出与代数式 (x+2)e x+2对应的C表达式 .解:(x+2)*exp(x+2)12.设int a=2;执行语句a=3*5,a*4;后a的值为 .解:15五、写出下列程序的输出成果.1.#include <stdio.h>void main(){unsigned k,n;scanf("%u",&n); //输入数据为:69k=n%10*10+n/10;printf("n=%d k=%d\n",n,k);}解:n=69 k=962.#include <stdio.h>void main(){int x=2,y=3;x*=y+4;printf("%d,%d\n",x,y);x/=y=5;printf("%d,%d\n",x,y);x-=y%2;printf("%d,%d\n",x,y);}解:14,32,51,53.#include <stdio.h>void main(){int a, b;a=8;b=7;a=(a-- ==b++)? a%3 : a/3;printf("a=%d b=%d\n",a,b);}解:a=2 b=8六、程序填空题.1.以下程序输入三个整数值给a,b,c,程序把b中的值给a,把c 中的值给b,把a中的值给c,交换后输出a、b、c的值.例如输入1 2 3,输出a=2 b=3 c=1.#include <stdio.h>void main(){ int a,b,c,①;print f(“Enter a,b,c:”);scanf(“%d%d%d”,②);③; a=b; b=c; ④;printf(“a=%d b=%d c=%d\n”,a,b,c);}解:① t ② &a,&b,&c ③ t=a ④ c=t2.以下程序不借助任何变量把a、b中的值停止交换.#include <stdio.h>void main(){ int a,b;printf(“Input a,b:”);scanf(“%d%d”,①);a+=②; b=a-③; a-= ④;printf(“a=%d b=%d\n”,a,b);}解:① &a,&b ② b ③ b ④ b七、编程题.1.输入3个字符后,按各字符ASCII码从小到大的顺序输出这些字符.解:#include <stdio.h>void main(){ char c1,c2,c3,t,min,mid,max;c1=getchar(); c2=getchar(); c3=getchar();min=(t=c1<c2?c1:c2)<c3?t:c3;max=(t=c1>c2?c1:c2)>c3?t:c3;mid=c1+c2+c3-min-max;putchar(min);putchar(mid);putchar(max);}2.输入两点坐标(x1,y1)、(x2,y2),计算并输出两点间的间隔.解:#include <stdio.h>#include <math.h>void main(){double x1,y1,x2,y2,d;printf(“请输入两点坐标 (x1,y1),(x2,y2)\n”);scanf(“(%lf,%lf),(%lf,%lf)”,&x1,&y1,&x2,&y2);d=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));printf(“两点间间隔=%f\n”,d);}3.编写程序,计算球体积并输出它的值.要求输入半径值,计算成果保存三位小数.解:#include <stdio.h>#include <math.h>#define PI 3.1415926void main(){ double r,gv;printf(“请输入半径值:\n”);scanf(“%lf”,&r);gv=4.0/3*PI*pow(r,3);printf(“半径为%f的球的体积为:%.3f\n”,r,gv);}4.输入三角形的底和高,求三角形面积.解:#include <stdio.h>#define PI 3.14159void main(){double a,h,s;printf(“请输入三角形的底,高\n”);scanf(“%lf,%lf”,&a,&h);s=a*h/2;printf(“三角形面积=%f\n”,s);}5.编写程序,输入一个实数后输出该数的相对值.解:#include <stdio.h>void main(){double x,y;printf(“请输入一个实数\n”);scanf(“%lf”,&x);y=x>=0?x:-x;printf(“|%g|=%g\n”,x,y);}6.输入梯形的上底、下底和高,求梯形面积.解:#include <stdio.h>void main(){double a,b,h,s;printf(“请输入梯形的上底,下底,高\n”);scanf(“%lf,%lf,%lf”,&a,&b,&h);s=(a+b)*h/2;printf(“梯形面积=%f\n”,s);}7. 输入矩形的边长,求矩形面积.解:#include <stdio.h>void main(){double a,b,s;printf(“请输入矩形的长,宽\n”);scanf(“%lf,%lf”,&a,&b);s=a*b;printf(“矩形面积=%f\n”,s);}8. 已知等差数列的第一项为a,公差为d,求前n项之和,a、d、n由键盘输入.解:#include <stdio.h>void main(){int a,d,n,sum;printf(“请输入等差数列的首项公差项数\n”);scanf(“%d%d%d”,&a,&d,&n);sum=a*n+n*(n-1)*d/2;printf(“ sum=%d\n”,sum);}9. 编写程序,将d天h小时m分钟换算成分钟,输入d、h、m,输出换算成果.解:#include <stdio.h>void main(){int d,h,m,t;printf(“请输入天小时分钟\n”);scanf(“%d%d%d”,&d,&h,&m);t=d*24*60+h*60+m;printf(“%d天%d小时%d分钟=%d分钟\n”,d,h,m,t);}10. 编写程序,求出给定半径r的圆以及内接正n边形的面积,输出计算成果.r和n的值由键盘输入.解:#include <stdio.h>#include <math.h>#define PI 3.14159void main(){double r,s1,s2;int n;printf(“Input r n\n”);scanf(“%lf%d”,&r,&n);s1=PI*r*r;s2=n/2.0*r*r*sin(2*PI/n);printf(“圆面积=%f,正内接%d边形面积=%f\n”,s1,s2);}习题4一、单项选择题1.下列语句将小写字母转换为大写字母,其中正确的是().A.if(ch>='a'&ch<='z')ch=ch-32;B.if(ch>='a'&&ch<='z')ch=ch-32;C.ch=(ch>='a'&&ch<='z')?ch-32:'';D.ch=(ch>'a'&&ch<'z')?ch-32:ch;2.下列各语句中,可以将变量u、s中最大值赋给变量t的是().A.if(u>s)t=u;t=s;B.t=s;if(u>s)t=u;C.if(u>s)t=s;else t=uD.t=u;if(u>s)t=s;3.假设变量x、k都已定义,下列语句片段中,无语法错误的是().A.switch(x){case x>=90: putchar('A');case x<60: putchar('E');}B.switch(x) {case 1+2: k='A';defualt: k='E';case 2*4: k='B';}C.switch(x){case 2+x: k=x-2;case 3*x: k=x+3;default: k=0;}D.switch(x){case 3.5: k=0.5*x;case 7.8: k=8*x;default: k=0;}*4.与语句while(!s )中的条件等价的是().A.s==0B.s!=0C.s==1D.s=05.下列语句中,哪个可以输出26个大写英文字母().A.for(a='A';a<='Z';printf("%c",++a));B.for(a='A';a<'Z';a++)printf("%c",a);C.for(a='A';a<='Z';printf("%c",a++));D.for(a='A';a<'Z';printf("%c",++a));6.断定下面的while循环体的执行次数().i=0;k=10;while( i=8 ) i=k––;A.8次B.10次C.2次D.无数次解:(1) B (2) B (3) B (4) A (5) C (6) D 二、写出下列程序的输出成果1.#include <stdio.h>void main(){char x;。

C语言程序设计实训教程第2章 基础实验

C语言程序设计实训教程第2章  基础实验

19
(2)编写程序求出任一输入字符的 ASCII码。 提示:从键盘输入一个字符赋给字符变量,以 整型格式输出该变量。 (3)编写程序,由键盘任意输入 3个 1位整数 (第一个整数不为 0),将它们按输入顺序组合为 一个 3位数输出,如输入 2,5,8,则输出为258。 提示:输入 a,b,c3个整数,组合整数为 d =a﹡100 +b﹡10 +c。
(3)写一个函数,用“冒泡法”对输入的 10 个数字由小到大顺序排列,并输出。 提示: ①排序的函数名为 Sort。 ②排序前后的输入输出都应在主函数中完成。 ③使用数组作为函数参数。 ④使用“冒泡法”排序。
67
(4)写一函数,使给定的一个二维数组(5 ×5)转置,即行列互换。 提示: ①使用 5 ×5的二维数组存放数据。 ②矩阵转置的函数名为 Turn。 ③转置前后的输入输出都应在主函数中完成。 ④使用数组作为函数参数。
20
2.3
数据的输入和输出
1)实验目的 ①熟悉顺序结构的程序设计方法。 ②熟练使用 C 的赋值语句和各种表达式。 ③熟练掌握各种数据的输入、输出方法,能正 确使用各种格式转换符。
21
2)实验内容 程序验证性实验
22
23
24
25
程序填空性实验 程序功能:可以计算两个整数的商和余数。
26
程序设计性实验 (1)编写程序由键盘输入任意一个数字字符 (0 ~ 9),将其转换为数字输出。 提示:将该字符和“0”字符相减(字符的 ASCII码值相减)即得到数字。 (2)输入三角形三边长 a,b,c,求三角形 周长 l和面积 s。用 scanf()函数输入数据,printf ()函数输出计算结果,输出时要求有文字说明。
2)实验内容 程序验证性实验

C语言运算符与表达式

C语言运算符与表达式

第2章基本数据类型和运算 章基本数据类型和运算
13
三、算术运算符 4.算术运算符的优先级和结合性 4.算术运算符的优先级和结合性
C语言中对表达式的求解依据运算符的优先级 附录B). 和结合性( 和结合性(见P224附录B). 优先级 使用1,2,3,4 ..表示 数字越小,优先级越高, 1,2,3,4…..表示, 使用1,2,3,4 ..表示,数字越小,优先级越高,运 算时优先级高的运算符先运算. 算时优先级高的运算符先运算. ++ -* / % + 结合性 左结合性:+ 左结合性:+ - * 右结合性:++ 右结合性:++ -第2章基本数据类型和运算 章基本数据类型和运算
第3章
运算符与表达式
九江职业大学信息工程学院
1
例1:输入一个球的半径值,计算并输出球的体积。 输入一个球的半径值,计算并输出球的体积。 V=4/3π (V=4/3πr3 ) 例2:编写程序,输入三角形的三边长,求三角形的面积。 :编写程序,输入三角形的三边长,求三角形的面积。
判断某一年是否为闰年,闰年必须符合下面二者之一: 例3: 判断某一年是否为闰年,闰年必须符合下面二者之一: (1)能被 整除,但不能被100整除. 能被4 100整除 (1)能被4整除,但不能被100整除. (2)能被400整除 能被400整除. (2)能被400整除. 例4:判断两个数的大小。 4:判断两个数的大小。 判断两个数的大小
第2章基本数据类型和运算 章基本数据类型和运算
4
二、表达式
表达式:用运算符将操作数连接起来构成的式子 1.表达式 用运算符将操作数连接起来构成的式子 表达式 表达式语句:在表达式后面加上一个 2.表达式语句 在表达式后面加上一个”;” 表达式语句 在表达式后面加上一个” 如: x+y a=b+c sin(2.0)+2/5 x>y

C求三角形面积范例程序的简单小结

C求三角形面积范例程序的简单小结

C求三角形面积范例程序的简单小结
绍兴文理学院沈红卫
各位同学:
为方便大家回忆和复习前阶段的内容,特将《C》第一个范例程序——求三角形面积的程序作简单小结如下。

一、算法
利用建议菜单选择三角形的三种求法,然后输入对应的参数求出相应的面积。

利用循环,程序可重复求解。

二、流程图
算法必须用流程图描述出来。

在开始程序编写前,首先要做的就是程序流程图的设计。

然后根据流程图,可以方便地写成源程序。

这是规范的程序设计必须的一步。

请大家要重视正确画流程图的技能锻炼。

以下是主函数的N-S流程图。

其他流程图请大家自行补充。

图1 主函数流程图
1
三、源程序清单
2
system("cls");
printf("\n");
3
}
{
int i,j,k;
for(i=0;i<100;i++)
for(j=0;j<1000;j++)
for(k=0;k<1000;k++) ;
4
*/
int i,j,k;
}
float area1(void) //定义了求面积函数1
{
5
6
float area2(float a,float b,float c) {
}
float area3(float a,float h) { }
四、后续改进
改进的方面很多,例如界面的优化,菜单程序的优化(采用光标键切换菜单项)等等。

请大家结合自己的情况进行。

优化的过程就是提高的过程。

C语言程序设计实验实验指导书及答案

C语言程序设计实验实验指导书及答案

常熟理工学院电气与自动化工程学院《C语言程序设计》实验指导书实验一熟悉C程序运行环境班级学号姓名成绩一、实验目的1. 熟悉C语言Visual C++6.0调试环境。

2. 掌握C程序的编辑、调试及运行。

二、实验内容项目1. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int main(){printf(“Good morning!\n”);printf(“Hello,world!\n”);return 0;}运行结果(注意,按照屏幕输出格式写):项目2. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int main(){int a , b , sum; /*定义变量*/a=23; b=56; /*为变量赋值*/sum=a+b; /*计算两个变量的和*/printf(“sum is %d\n”,sum); /*输出计算结果*/return 0;}运行结果:2项目3. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int max(int,int);int main(){int a , b , c; /*定义变量*/a=23; b=56; /*为变量赋值*/c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/return 0;}int max(int x,int y) /*定义max函数,函数值为整型*/ {int z; /*定义变量*/if(x>y)z=x;elsez=y;return(z); /*将z的值返回*/}运行结果:三、提高部分1.试想,如果求10个数中的最大者,则程序该如何编写。

程序代码运行结果:实验二数据及其运算班级学号姓名成绩一、实验目的1. 掌握C数据类型的概念、熟悉整型、字符型和实型基本类型的常量的用法;学会三种基本类型变量的定义、赋值和使用方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
31
项目二 求三角形的面积—数据类型
C语言程序设计
1 基本运算符与表达式
1.1 基本的算术运算 +、-、* /(除) 双目运算符,结合性为 从左至右 符号同被除数
注意两个整数相除结果为整数,“向零取整”
%(求余) +(取正)
-(取负)
32
int n=5; 2.2 变量的定义—变量的初始化 int n; float num=4.96; float num; 变量的初始化,就是在定义变量的同时赋予其与
float sum=0; float sum; 类型相一致的初值,并且与问题解决意义相一致 int i=1; int i; 的初值。
float avg; 或者 int n,i; float num,sum,avg;
29
项目二 求三角形的面积—数据类型
C语言程序设计
相关知识
1. 基本运算与表达式 2. 常用数学库函数
本讲小结
30
项目二 求三角形的面积—数据类型
C语言程序设计
1 运算符与表达式
运算:是对数据的加工处理的过程。 运算符:用来表示各种不同运算的符号。 表达式(Expression):是将运算量用运算符 连接起来组成的式子,其中的运算量可以是 常量、变量或函数。 引例中的运算符与表达式
具有特定含 被用作库函 义的标识符。 数名和预编 关键字不能 另作它用。 译命令的标 识符
9
项目二 求三角形的面积—数据类型
C语言程序设计
2 变量和常量
2.2 变量的定义—自定义标识符命名规则
①自定义标识符由英文字母、数字和下划线构成
②开头字符必须是字母或下划线(不能为数字) ③不能使用关键字(建议也不要使用预定义标识符)
项目二 求三角形的面积—数据类型
C语言程序设计
2 变量和常量 2.4 整型变量 整型变量的定义
[例1]
main() { int a=3,b=5; printf("a+b = %d\n", a+b);
}
程序运行结果:a+b = 8
18
项目二 求三角形的面积—数据类型
C语言程序设计
2 变量和常量 2.5 实型变量 单精度: float 双精度: double
C语言程序设计
项目二 求三角形的面积
-数据类型及表达式
2.1 定义变量
1
C语言程序设计
【任务要求】 求三角形的面积:通过一个三角形三条边的长度, 求这个三角形的面积。
【任务分析】
三角形的边长给定(保证能形成一个三角 形),那么三角形的边长和面积如何表示? 变量
2
项目二 求三角形的面积—数据类型
15
项目二 求三角形的面积—数据类型
C语言程序设计
2 变量和常量
2.3 常量(Constants) 实型常量:小数形式和指数形式
小数形式:由数字、小数点和正负号组成。例如: 3.1416,-12.76,0.12,.12,12.,12.0都是C语言合法 的实型常量。 指数形式:由尾数部分、字母e或E和指数部分组成。如 十进制数320 000.0用指数法可表示为3.2e5,其中3.2称 为尾数,5为指数,e也可用E表示。字母e或E之前(即尾 数部分)必须有数字,e后的指数部分必须是整数,如e-5、 7.2e2.5都是不合法的实型常量。
标识符的长度:一般长度为8 不同的C编译系统有不同的规定:
Turbo C 2.0 最长可允许32个字符;
VC++ 6.0 标识符最长可允许247个字符。
10
项目二 求三角形的面积—数据类型
C语言程序设计
课堂练习
sum, a#3, Sum,n2, 2student, _average, !sum_2, a_3,number.3, student_2_name,num-1,mouth, PI, s123, area, name_1 ,45D, a>b, day-1, m.m
24
项目二 求三角形的面积—数据类型
C语言程序设计
本讲小结
介绍了C语言的数据类型
重点学习了的变量的定义及初始化
重点学习了C语言的基本数据类型及存储形式
25
项目二 求三角形的面积—数据类型
C语言程序设计
课堂练习题
思考题 教材P15,二、简答题 动手练习 教材P14 一、选择题
28
项目二 求三角形的面积—数据类型
C语言程序设计
问题情境及实现
我们已经知道了如何用变量来表示三角形的边长和面积,现在需要计 算三角形的面积。只要把边长求三角形的面积公式中,即可得出该三 角形的面积。 程序段如下: #include <stdio.h> #include <math.h> main() { int a,b,c; float s,area; printf("请输入三边长");/*提示用户进行输入三边长*/ scanf("%d%d%d",&a,&b,&c);/*接受用户从键盘输入的三边长*/ s=(a+b+c)/2.0; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("面积是%f",area); }
16
项目二 求三角形的面积—数据类型
C语言程序设计
2 变量和常量
2.3 常量(Constants) 字符常量: ①字符常量只能用单引号括起来,不能用双引号 或其他括号。 ②字符常量只能是一个字符,不能是字符串。 ③字符可以是字符集中的任意字符。 ④字符在内存中以ASCII码的形式存放。
如:‘a’、‘x’、‘?’、‘$’。 注意,‘a’和‘A’是不同的字符常量。 ‘a’ : ASCII码:97 ‘A’ : ASCII码:65 17
例:float x,y; /* 指定x、y为单精度实型变量 */ double z; /* 指定z为双精度实型变量 */
例:float a; a=123456.711
注意:float型变量只能接受7位有效数字。 double 型变量能接受16位有效数字。
19
项目二 求三角形的面积—数据类型
C语言程序设计
C语言程序设计
任务实现效果演示
例题源代码:area2.c
3
项目二 求三角形的面积—数据类型
C语言程序设计
相关知识
1.基本数据类型 2. 变量与常量
4
项目二 求三角形的面积—数据类型
C语言程序设计
1 基本数据类型
1.1 C语言的数据类型
数值类型 基本类型 字符类型char 数组 C数据类型 构造类型 浮点型
13
float avg=0;
或者
int n=5,i=1;
float num=4.96,sum=0,avg=0;
项目二 求三角形的面积—数据类型
C语言程序设计
2 变量和常量
2.3 常量(Constants) 对于常量,在程序运行期间,其内存单元中存放 的数据值不能改变。 整型常量 实型常量 字符常量
短整型short
整型
整型int 长整型long 单精度型float 双精度double
结构体struct
共用体union 枚举类型enum
指针类型 空类型void
定义类型typedef
5
项目二 求三角形的面积—数据类型
C语言程序设计
1 基本数据类型
1.2 基本数据类型数据的表示形式
十进制: 以非0数字开头,如: 123,-9,0
22
项目二 求三角形的面积—数据类型
C语言程序设计
2 变量和常量 2.5 字符变量 字符变量的定义
[例4] 相当于:c1 = ‘a’; c2 = ‘b’;因为:字符以 ASCII码存放,‘a’的ASCII码为97, 'b'的ASCII码为98。
main() { char c1,c2; c1 = 97; c2 = 98; printf("%c %c",c1,c2); }
C语言程序设计
1 基本数据类型
1.3 基本数据类型的存储长度
类型 整型 关键字 字节数 位数 数的表示范围 int 2 16 -32768—32767
short
long 实型 float
2
4 4
16
32 32
-32768—32767
-2147483648— 2147483647 3.4e-38—3.4e38
a
变量名 变量值 变量的存储单元
3
注意:变量必须先定义,才能使用。否则编译系统 ……
将给出变量未定义的错误信息。 内存单元
8
项目二 求三角形的面积—数据类型
C语言程序设计
2 变量和常量
2.2 变量的定义—标识符(名字) 关键字 预定义标识符 自定义标识符
用于标识变 量、常量、 数组、用户 自定义函数 等的标识符
2 变量和常量 2.4 实型变量 实型变量的定义
[例2]
main() { float a; a=123456.76543; printf("a = %f\n", a);
}
程序运行显示:a=123456.76525
20
项目二 求三角形的面积—数据类型
C语言程序设计
2 变量和常量
2.4 整型变量
实型变量的定义
12、0、-3
4.6、-1.23 ‘a’、‘b’
直接常量
常量 符号常量
#define PI 3.14159 #define N 100
为了区别程序中的符号常量 名和变量名,习惯上用大写 字母命名符号常量。 项目二 求三角形的面积—数据类型
相关文档
最新文档