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.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语言教程课件第二章 数据类型、运算符和表达式
例 整型变量的定义与使用
#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一、断定题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章 基础实验
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语言运算符与表达式
第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》第一个范例程序——求三角形面积的程序作简单小结如下。
一、算法
利用建议菜单选择三角形的三种求法,然后输入对应的参数求出相应的面积。
利用循环,程序可重复求解。
二、流程图
算法必须用流程图描述出来。
在开始程序编写前,首先要做的就是程序流程图的设计。
然后根据流程图,可以方便地写成源程序。
这是规范的程序设计必须的一步。
请大家要重视正确画流程图的技能锻炼。
以下是主函数的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程序运行环境班级学号姓名成绩一、实验目的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数据类型的概念、熟悉整型、字符型和实型基本类型的常量的用法;学会三种基本类型变量的定义、赋值和使用方法。
2011C语言程序设计习题集答案
第1~2章C语言概述、算法、数据类型、运算符与表达式一、选择题ACDbB CCDCBD二、填空题1、n=202、a=66,b=E第3章顺序程序设计一、选择题BAAD二、程序阅读1、12 240 122、2,3,2,23、0三、编程1.输入三个整数作为三角形的边,设能构成三角形,计算其面积和周长。
三角形的周长面积公式分别为:L=(a+b+c)/2; area=(s*(s-a)*(s-b)*(s-c))^(1/2).#include <stdio.h>#include <math.h>void main(){int a,b,c;floats,area;scanf("%d,%d,%d",&a,&b,&c);s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%f,b=%f,c=%f,area=%f",a,b,c,area);}2.求ax2+bx+c=0方程的根,a,b,c由键盘输入,设b2-4ac>0。
#include <stdio.h>#include <math.h>void main(){float a,b,c,del,x1,x2;scanf("%f,%f,%f",&a,&b,&c);del=b*b-4*a*c;if (del>=0){x1=(-b+sqrt(del))/(2*a);x2=(-b-sqrt(del))/(2*a);printf("x1=%f,x2=%f",x1,x2);}elseprintf("没有实根");}3.求摄氏温度26度对应的华氏温度,计算公式为:F=(9/5)C+32,式中:C表示摄氏温度,F表示华氏温度。
c语言程序设计第二章课后参考答案[修改版]
第一篇:c语言程序设计第二章课后参考答案第二章:C程序的基本结构一、单项选择题1、以下不是C语言的特点的是________。
A)语言的表达能力强B)语言定义严格C)数据结构系统化D)控制流程结构化2、TC编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是________。
A)编辑和编译B)编译和连接C)连接和运行D)编辑和运行3、以下不是二进制代码文件是________。
A)标准库文件B)目标文件C)源程序文件D)可执行文件4、下面个选项组中,均属于C语言关键字的一组是________。
A)auto,enum,includeB)switch,typedef,continue C)signed,union,scanf D)if,struct,type5、下面四组字符串中,都可以用作C语言标识符的是________。
A)print B)I \am C)signed D)if _maf scanf 3mf ty_pr mx_2d mx_ a.f x1# aMb6 AMB A&B 5XY6、以下不属于流程控制语句的是_________。
A)表达式语句B)选择语句C)循环语句D)转移语句7、下面描述中,不正确的是________。
A)C语言的函数体由一系列语句和注释组成。
B)注释内容不能单独写在一行上。
C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明。
D)scanf和printf是标准库函数而不是输入和输出语句。
8、下面描述中,正确的是________。
A)主函数的花括号必须有,而子函数中的花括号是可有可无的。
B)一个C程序行只能写一个语句。
C)主函数是程序启动时的唯一入口。
D)函数体包含了函数说明部分。
二、填空题1、一个完整的C程序至少要有一个________函数。
(主函数)2、标准库函数不是C语言本身的组成部分,它是由__________提供的功能函数。
2 C语言 第二章数据类型、表达式
说明
在整型常量尾部加上字母1或 时 在整型常量尾部加上字母 或L时,则 表示长整型常量.比如: 表示长整型常量.比如:18L或18l 或 整型(int)常量的值在 32768~32767之间 常量的值在 整型 之间 长整型(long int)常量的值在 长整型 常量的值在 2147483648 ~ 2147483647之间 之间
三位八进制 001 000 001 二进制 ( (用十进制表示为65) 65)
A' 如 \ 101 –– 表示字符'A' 又: \ x hh
用1到2位16进制数表示的 到 位 进制数表示的 进制数表示的ASCII码对应的字符 码对应的字符
如 \ x 41–– 表示字符'A'
0100 0001 二进制 (用十进制表示为65)
注意: 注意: 实型变量的有效数字的长度视机器而定 例如: 例如: pc机, 单精度一般为7位, 双精度15位 于是: float a; a=123456.789 则实际赋值a←123456.7 单精度表数范围: 单精度表数范围 10–38~1038 双精度表数范围: 双精度表数范围 10–308~10308 实数可以赋给float或double型变量.
对于较大或较小的数,可用指数形式 0.0000126 1260000 1.26E –5 1.26E+6 或1.26E6
' E ', 'e ' 均可, 表示以10为基数.E或e之前必须要 有数字,称为尾数部分或数码部分.规范化的尾数是将 小数点固定在第一位有效数字之后.ddd称为指数,指数 最多可达3位整数.
2.4.2 实型变量
分为单精度型 双精度型 单精度型与双精度型 单精度型 双精度型. 例如: 例如: float x, y, z ; 定义x, y, z为单精度变量. double a, b, c ; 定义a, b, c为双精度变量. 一般地: 单精度占4字节内存单元 字节内存单元; 一般地 单精度占 字节内存单元 双精度占8字节内存单元 双精度占 字节内存单元. 字节内存单元
C语言程序设计函数练习题及参考答案
C语言程序设计练习题及参考答案1、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。
#include <stdio.h>int fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c)return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写一个程序,将两个变量的值交换, 例如变量a中的值原为3,b中的值原为8,程序运行后a 中的值为8,b中的值为3。
#include <stdio.h>void fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输入3个数,将最大值放在变量a中,最小值放在变量c中。
例如,输入的数为:55 12 34,输出结果应当是:a=55.0,b=34.0,c=12.0。
第2章 C语言,数据类型、运算符和表达式
(C语言运算符总表见教材P26或P325附录C) return 31
C语言程序设计
算术运算符
+ - * / % 功能: 操作数要求: 结合性: 优先级: 注意事项: 算术运算 两个操作数 (当-用作负号时除外) 自左至右(当-用作负号时除外) -(负号) —— * / % —— + - (由高→低) ① 两个整数相除,结果为整数! 例: 3/2=1 ② %要求两个操作数均为整型数据! 且余数与被除数同号!
说明: ① 字符变量中存放的是字符ASCII码值! ② char与int数据间可进行算术运算!
char choice = 'A';
return24
C语言程序设计
字符串常量
字符常量是用双引号括起来的字符序列. 例如: "hello!" , "0" (1) 字符串常量在内存中的存储 (2) 字符串常量.vs.字符常量
整型
浮点型 字符型 说明:
① 数据类型所占字节数随机器硬件不同而不同! ② 可用sizeof(数据类型说明)来计算某一数据类型占内存的字节数! return
C语言程序设计 next part
2. 常量与变量
标识符命名 常量 变量
go go go
6
C语言程序设计
标识符命名
例: 判断下列标识符号合法性
next
ห้องสมุดไป่ตู้
20
C语言程序设计
字符常量
转义字符是用反斜杠\后面跟一个字符或一个八进制或十 六进制数表示的ASCⅡ码值。例如: '\n', '\101' (1) C语言中常用的转义字符 (2) 转义字符使用实例
C语言程序设计第2章-1数据类型、运算符和表达式
2、 C 语言的运算符的优先级与结合性
3、表达式:由操作数和运算符组成的序列。
5
精品文档
⒉ 真值: 带符号位的机器数对应的数值称为机器数的真值。 (10100011)2= -35
⒊ 无符号数:当计算机字长的所有二进位都用来表示(biǎoshì)数值时,称 为无符号数。
2.2.2 原码、反码和补码
⒈ 原码
整数 X 的原码指:其数符位 0 表示正,1 表示负,其数值部分
就是 X 的绝对值的二进制表示。
2.1 常用 的进位制 (chánɡ yònɡ)
2.1.1 二进制、八进制和十六进制(shíliùjìn zhì)数
3
精品文档
2.1.2十、二进制、八进制和十六进制数之间的换算
⒈ 二、八、十六进制数 → 十进制数的换算采用按权展开法。
(2AB.F)16 = 2χ162+10χ161+11χ160+15χ16-1 = 683.93 ⒉ 十进制数 → 二进制数的换算整数部分(bù fen)采用除以二取余直到商
19
精品文档
2.5.1 算术运算符与算术表达式
⒈ 基本的算术运算符:
14
精品文档
3.字符常量
字符常量是用单撇号括起来的单个字符或转义字符,
如: ‘a’, ‘9’, ‘&’, ‘\n’, ‘\’’, ‘\101’。
字符常量的值为该字符的ASCII码值,如 ‘a’值为97, ‘\n’
求三角形的面积和周长c语言编程方法
求三角形的面积和周长c语言编程方法【原创实用版3篇】目录(篇1)一、引言二、三角形面积的计算方法1.海伦公式2.海伦公式的 C 语言实现三、三角形周长的计算方法1.周长公式2.周长公式的 C 语言实现四、总结正文(篇1)一、引言在数学和实际应用中,三角形是一个非常基本的形状。
计算三角形的面积和周长是常见的计算任务。
本文将介绍如何使用 C 语言编程实现三角形面积和周长的计算方法。
二、三角形面积的计算方法1.海伦公式海伦公式是一种计算三角形面积的公式,它的公式如下:面积 = sqrt[p * (p - a) * (p - b) * (p - c)]其中,a、b、c 是三角形的三边长,p 是三角形的半周长,即 (a + b + c) / 2。
2.海伦公式的 C 语言实现以下是使用 C 语言实现海伦公式计算三角形面积的示例代码:```c#include <stdio.h>float helen_area(float a, float b, float c) {float p = (a + b + c) / 2;float area = sqrt(p * (p - a) * (p - b) * (p - c)); return area;}int main() {float a, b, c;printf("请输入三角形的三边长:");scanf("%f %f %f", &a, &b, &c);float area = helen_area(a, b, c);printf("三角形的面积为:%.2f", area);return 0;}```三、三角形周长的计算方法1.周长公式三角形的周长公式为:周长 = a + b + c其中,a、b、c 是三角形的三边长。
2.周长公式的 C 语言实现以下是使用 C 语言实现周长公式计算三角形周长的示例代码:```c#include <stdio.h>float triangle_perimeter(float a, float b, float c) {float perimeter = a + b + c;return perimeter;}int main() {float a, b, c;printf("请输入三角形的三边长:");scanf("%f %f %f", &a, &b, &c);float perimeter = triangle_perimeter(a, b, c);printf("三角形的周长为:%.2f", perimeter);return 0;}```四、总结本文介绍了如何使用 C 语言编程实现三角形面积和周长的计算方法。
c语言程序设计教程 选择结构程序设计
3.1 if语句---3.1.1单分支选择结构 /*li3_1_1 从键盘任意输入一个整数,输出该数的绝对值*/ #include <stdio.h> int main(void) 将程序运行了3次,每次 { 输入不同的整数,结果分 int x; 别如下: printf("输入一个整数:"); scanf("%d",&x); 输入一个整数:-1 绝对值为:1 if (x<0) x=-x; printf("绝对值为:%d\n",x); 输入一个整数:0 绝对值为:0 return 0; 输入一个整数:1 } 绝对值为:1
【学习重难点】
(1)选择结构编程思想
(2)if语句使用
(3)switch语句的使用
第3章 选择结构程序设计
p
成立 不成立
A
B
(1)又称为分支结构,根据条件来判断哪些语句被执行。 (2)先计算条件表达式的值。如果为真,则执行程序段A,如果 为假,则执行程序段B。A程序段和B程序段是有选择的进行执行, 不可能两个模块都执行。 (3)只有一个入口(a点)和一个出口(b点)。 (4)主要用于解决不同条件选择不同操作的多分支类的问题。
输入一个整数:-2 1 输入一个整数:-3 13 输入一个整数:3 13
#include <stdio.h> #include<math.h> int main(void) { int x,y; printf(“输入一个整数:”); scanf("%d",&x);
3.1 if语句---3.1.3多分支选择结构---if else if语句
②执行过程:先计算表达式的值,当表达式为真时执行语句部分,
c语言计算三角形面积程序
c语言计算三角形面积程序1. 引言三角形是我们数学课程中比较基础的概念,同时,计算三角形面积也是一个相当基础的计算问题。
本文旨在通过介绍C语言计算三角形面积的程序来让读者更详细地了解C语言的编程过程。
2. 程序目标我们在本篇文章中要实现的程序是计算三角形面积的程序,首先,我们需要对三角形的面积计算公式进行理解和掌握,即S = (a+b+c)*(a+b-c)*(a+c-b)*(b+c-a)的平方根 /4,其中,a、b、c表示三角形的三个边长。
3. 程序逻辑为实现目标,我们需要先确定程序的逻辑流程,具体如下:(1)用户输入三角形的三条边长;(2)根据输入的三条边长计算三角形的面积;(3)输出计算结果,即三角形的面积。
下面我们将逐一介绍如何实现以上三个步骤。
4. 代码实现(1)用户输入三角形的三条边长在C 语言中,我们可以通过scanf()函数实现控制台的输入。
具体实现方法如下:float a, b, c; printf("请输入三角形的三条边长:\n"); scanf("%f%f%f", &a, &b, &c); 其中,float 指数据类型为浮点型,%f为输入控制字符,&a为获取变量a的内存地址,其余变量以此类推。
注意输入三条边长时需要加上空格键。
(2)根据输入的三条边长计算三角形的面积当我们获取了用户输入的三角形三条边长后,就可以按照三角形面积的计算公式进行计算,具体方法实现如下:float p, s; p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c)); 其中,p表示半周长,即(p=a+b+c)/2,函数sqrt(x)表示求x的开平方。
(3)输出计算结果,即三角形的面积计算得到三角形的面积后,我们需要通过printf()函数将结果输出,示例代码如下:printf("三角形的面积为:%f\n", s);5. 完整程序我们将以上三个步骤结合起来,得到了完整的计算三角形面积的程序,示例代码如下:#include<stdio.h> #include<math.h> int main() { float a, b, c; printf("请输入三角形的三条边长:\n"); scanf("%f%f%f", &a, &b, &c); float p, s;p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c));printf("三角形的面积为:%f\n", s); return 0; }6. 总结本文旨在介绍C语言计算三角形面积的基本方法。
《C语言程序设计(第2版)》课后习题参考答案prt
《C语言程序设计》(邱晓红主编)课后习题参考答案第1章C语言及程序设计概述1.单选题(1)A (2)B (3)A (4)B (5)C2.填空题(1)//,/*…*/(2)scanf()(3)printf()3.判断题(1)对(2)错(3)错(4)对1.4简答题①概述C语言和C语言程序的主要特点。
答:1.C语言是高级语言。
它把高级语言的基本结构和语句与低级语言的实用性结合起来。
2。
C语言是结构式语言。
结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。
这种结构化方式可使程序层次清晰,便于使用、维护以及调试。
①C语言功能齐全。
具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。
②C语言适用范围大。
适合于多种操作系统,如Windows、DOS、UNIX、LINUX等等;也适用于多种机型。
②请编程,在计算机屏幕上显示:“您好,欢迎进入C语言世界!”解:#include<stdio.h>void main(){printf("您好,欢迎进入c预言世界!");}第二章:数据类型运算符与表达式1.单选题(1)C (2)D (3)C (4)B (5)C (6)A (7)B (8)D (9)A (10)B(11)C (12)C (13)D (14)A (15)B (16)C (17)A (18)A (19)B (20)C (21)C (22)D (23)C (24)A (25)D (26)B (27)C (28)B (29)B (30)A 2.填空题(1)sqrt(pow(y,x)+log10(y)) (2)36(3)6 (4)3 3(5)6 (6)36(7)int x=8,y=8; (8)1(9)E (10)7,9,6,8)(11)6 (12)66,96(13)240 (14)1,1,-1,-1(15)5,2,6 (16)1(17)!(18)2(19)(a>0&&a<101)&&(a%3==0||a%7==0)(20)A3.程序分析题(1)2 7 (VC++环境下,其它编译环境可能有不一样的结果)2 74 94 412 12(2)3 1 4 01 -616(3)100 d 68 D97 a 49 1(4)0 1 0 1(5)2 4 6 7-0.5800000 7.00000046.5800007.500000(6)33 12 113 13 082 32(7)618 30181(8)1 1 0 04.改错题(1)①无初始赋值,不能输出②数据精度丢失③少“;”号④单字符变量不能保存字符串常量⑤不能连续初始化⑥非法标识符(2)short i=38000溢出PI=3.1416 常量不能修改值Printf(“%d”,x%y) %必须是整数a*=(b+c)/=d复合赋值左边不能是表达式5、(1)#include <stdio.h>int main(){int H;float v,L1,L2,L,T,s1,M;printf("请输入开始里程数,单位为千米:\n");scanf("%f",&L1);printf("请输入结束里程数,单位为千米:\n");scanf("%f",&L2);printf("请输入时间,格式为时,分,秒\n");scanf("%d,%f,%f",&H,&M,&s1);T=H+M/60.0+s1/3600.0;//将时间折算成小时;L=L2-L1;//计算出这段时间走的路程,以千米计;v=L/T;printf("%f\n",v);return 0;}(2)#include <stdio.h>#define PI 3.14int main(){double r=2.5,h=5,V;V=(PI*r*r*h)/3;printf("%f\n",V);return 0;}第三章:算法概念与顺序结构程序设计1.选择题(1)D (2)D (3)D (4)B (5)C (6)A (在16位机答案为D)(7)B (8)C (9)B (10)D2.填空题.(1)一条语句;(2)小于左右(3)%%(4)输出项列表输出控制符(5)取地址取a的地址(6)从盘获取一个字符(7)大括号(8)f=68.000000(9)n1=%d\n n2=%d(10)7,5,c=33.程序分析题.(1)i=100,c=a,f=1.234000(2)i=65535,j=65536(10)1234,123.5,12345.53.4 编程题①编写一个程序,交换两个数的值。
C语言程序设计教程(第2版)课后习题答案(完美版)
C语言程序设计教程(第二版)课后习题答案第一章C语言程序设计概述-习题答案1算法的描述有哪些基本方法?答1、自然语言2、专用工具2 C语言程序的基本结构是怎样的?举一个例子说明。
答1、C语言程序由函数构成;2、“/*”与“*/”之间的内容构成C语言程序的注释部分;3、用预处理命令#include、#define可以包含有关文件或预定义信息;4、大小写字母在C语言中是有区别的;5、除main()函数和标准库函数外,用户也可以自己编写函数,应用程序一般由多个函数组成,这些函数指定实际所需要做的工作。
3 C语言有什么特点?答1、具有结构语言的特点,程序之间很容易实现段的共享;2、主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译代码,以实现程序的模块化;3、运算符丰富,包含的范围很广;4、数据类型丰富;5、允许直接访问物理地址,即可直接对硬件进行损伤,实现汇编语言的大部分功能;6、限制不太严格,程序设计自由度大,这样使C语言能够减少对程序员的束缚;7、生成的目标代码质量,程序执行效率高,同时C语言编写的程序的可移植性好。
4★指出合法与不合法的标识符命名。
答AB12--√leed_3-- a*b2--× 8stu--× D.K.Jon--× EF3_3--√ PAS--√ if--× XYZ43K2 --√ AVE#XY--× _762--√ #_DT5--× C.D--×5说明下列Turbo C热键的功能。
答F2:源文件存盘 F10:调用主菜单 F4:程序运行到光标所在行(用于调试程序) Ctrl+F9:编译并链接成可执行文件 Alt+F5:将窗口切换到 DOS 下,查看程序运行结果。
6说明下列Turbo C方式下输入并运行下列程序,记录下运行结果。
①main(){printf("********************\n");printf(" welcome you \n");printf(" very good \n);printf("********************\n");}②main()printf("please input three numbers;");scanf("%d,%d,%d",&a,&b,&c); /*教材S是错误的*/t=max(max(a,b),c);printf("max number is:%d\n",t);}int max(int x, int y){ int z;if(x>y)z=x;else z=y;return(z);}答运行结果:********************welcome youvery good********************运行结果:please input three numbers;3,1,4 /*左侧下划线内容为键盘输入*/max number is:47一个C程序是由若干个函数构成的,其中有且只能有一个___函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
项目二 求三角形的面积—数据类型
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
为了区别程序中的符号常量 名和变量名,习惯上用大写 字母命名符号常量。 项目二 求三角形的面积—数据类型