易语言程序设计 第十九章 指针 免费

易语言程序设计 第十九章 指针 免费
易语言程序设计 第十九章 指针 免费

<易语言程序设计>

作者:蔷薇的羽翼

第十九章指针

指针是编程语言中的一个重要概念,也是一个重要特点,正确而灵活的运用它,可以有效的表示复杂的数据结构,能动态分配内存,能方便的使用文本,有效而方便的使用数组,能直接处理物理内存等,掌握指针的应用可以使程序简介紧凑高效,每一个学习和使用易语言的人都应当深入学习掌握指针.

指针的概念比较复杂,使用也比较灵活,因此初学的时候经常出错,在学习这部分是务必十分小心,多思考.

一.指针和地址的概念

为了说清楚什么是指针,必须先了解数据在内存中如何储存,如何读取.

在程序中定义一个变量,在运行的时候就会给变量分配内存单元,系统根据程序定义数据类型,分配一定的长度空间,如我们使用一个整数型变量,就会分配4字节,如使用长整数型就分配8字节.内存区域的每个字节都有一个编号,就是地址.

假设我们申请了2个整数型变量甲.乙系统分配2000-2004四个字节给甲分配2005-2009给乙.在程序中一般使用变量名来对甲,乙进行读取操作.这样叫做直接访问.

还可以使用另外一种叫做间接访问的方式将变量甲的地址存放在另一个变量丙中,我们要对变量甲做出读写操作先找到存放变量甲的地址的变量丙,从中取出变量甲(2000-2004)的地址然后对2000-2004进行读取写入得到变量甲的数据.这样的操作叫做间接访问,其中,变量丙指向变量甲的地址.由于通过地址能找到所需要的变量单位,因此在计算机语言中地址形象化的称为"指针"

二.变量的指针和指向变量的指针变量

如前面描述的一样.变量的指针就是变量的地址,存放变量地址的变量是指针变量.用来指向另外一个变量,

在易语言中先申请一个任意类型的变量甲,和整数型变量乙,然后使用取变量数据地址()命令来返回变量甲的内存地址,然后将地址存放到指定变量乙中,这就可以称变量乙为变量甲的指针变量.

例[19-1]我们使用一个简单的例子来完成一次指针操作.

易语言非常方便的提供了写到内存指针到文本指针到字节集等命令.

首先我们申请一个文本变量然后对其进行赋值,然后申请一个整数型变量用来存放内存地址.如果你不打算用扩展支持库可以使用其他方法来得到指针地址

代码如下

详见例子19-1.e

首先我们申请一个程序集文本变量"数据"并对其赋值,因为没赋值的话是取不到内存地址的哦.然后取到其数据地址然后赋值给变量"指针".

然后通过写到内存命令将编辑内容写入变量指针中写到内存命令中第三个参数指针长度,文本型可以为空也就是-1不限制内存长度,但是数值型等必须写入与变量指针原数据类型相同的长度,否则容易造成进程内存垃圾货错误而引发崩溃.

三.数组的指针和指向数组的指针变量

一个变量有地址,一个数组包含若干个变量,每个数组元素都在内存中占用储存单元,他们都有相应的地址,指针变量既可以指向变量,当然也可以指向数组和数组元素.所谓数组的指针是数组的起始地址,数组元素的指针是数组元素的地址.

易语言中规定(其他语言也类似)如果指针变量A指向数组中的元素,那么A+1指向同数组的下一个元素(不是简单的将A+1).例如我们申请的数组成员为整数型.每个成员占4字节,则,A+1就是说A的地址加上4个字节指向下一个地址.

例[19-2]我们申请一个整数数组,并且随机加入10个成员,按钮1事件用下标法取得数组全部数据,按钮2事件下用指针方取得数组全部数据.

详见19-2.e

四.指针在开发DLL中的应用

我前一章讲到,易语言在开发DLL时候,DLL接口参数只能是时间.数值型.而指针恰恰可以弥补这一缺憾,在易语言回调子程序和易语言DLL公开子程序中用作对外输出其他类型数据.这点上一章大体讲过.

后记

这一部分命令都属于高级命令,普通用户较难接触,加之本人也是自学,难免理解错误而误导大家,本不打算写的.考虑到指针的高效和在处理DLL对外输出的方便等.特别添加本章节,如有错误,还望批评指出,谢谢.

C语言程序设计(第二版)课后答案 丁亚涛

习题二 一、选择题 二、填空题 1.18 2.int float double 3.10 11 4.8 16 10 5.% 三、阅读题 1. 10,10,9,10 2. j=1, i=2 k=3,i=3 i=3,i=2 k=1,i=1 习题三 一、选择题 二、填空题 1. 从键盘上读入一个字符在屏幕上输出一个字符 #include 2. 按十进制整数形式输出,有符号 按16进制整数形式输出,没有符号 按十进制小数形式输出,输出的数据长度为7位,有2位小数 按字符形式输出一个字符 3. 按十进制整数形式输入数据 按十进制整数形式输入三位数据 跳过3位十进制数据 按字符形式输入一个字符 4. 分程序;; 5. 大写字母L 6. -1 三、阅读题 1. 6 6 6.00 6.00

2. x=127,x= 127,x=177,x=7f y=123.4567,y= 123.46,y=123,45670 3. 2,1 4. 1234 5. 4,3 6. -6,-6 习题四一、选择题 二、填空题 1. 非0 0 、 2. k==0 3. n%7==0&&n%==0 else 三、阅读题 1. a=1,b=0 2. c=1 习题五一、选择题 二、填空题 1. for语句 do-while 语句 while 语句 2. a=14,y=26 3. k=14,n=-1 4. 39 5. s=19 6. 22222 7. 10 8. 7 9. 8 10. 5,5 三、改错题

1. for( i=0;i<5;i++);for控制部分用分号分隔 2. int j=0;while(j<10){j++;i=j} 分号是多余的,否则会造成死循环 3. int s=1,i=1; while(i<5) {s*=i; i++; } 两条语句需要加上花括号 4. while(j<10);(分号不能少) 5. continue改为break 习题六 一、选择题 二、填空题 1. 20 0 19 2. 数组名 3. 越界 4. 6 5. j==k a[j][k]=1; a[j][k]=0; 三、阅读题 1. 6 5 4 3 2 1 2. aaa bbb ccc ddd 3. 2,2,1 习题七 一、选择题 二、填空题 1. 整个函数体内局部 2. 整型 3. k<=b return y;

第5章-C语言程序设计(第2版)教材习题答案

【教材】《C语言程序设计(第2版)》清华大学出版社,黄保和,江弋编著。2011年10月第二版。ISBN:978-7-302-26972-4。售价:35元。 【答案版本】本习题答案为2012年2月修订版本。 一、选择题 1. 设有程序段”int k=10; while(k=0) k=k-1;”,则下面叙述正确的是D)循环体语句一次也不执行。 A. while循环执行10次 B. 循环是无限循环 C. 循环体语句执行一次 D. 循环体语句一次也不执行 2. 设有程序段”int x=0,s=0;while(!x!=0) s+=++x; printf(“%d”,s);”则A)运行程序段后输出1。 A. 运行程序段后输出1 B. 程序段执行无限次 C. 运行程序段后输出0 D. 程序段中的控制表达式是非法的 3. 下面循环语句中,错误的是D) int a=1,b=2;do b-- while(b= =0);。 A. int a=1,b=2; while(b--); B. int a=1,b=2; do a++; while(a==b); C. int a=1,b=2; while(a=3); D. int a=1,b=2; do b-- while(b==0); 4. 已知”int i=5;”,下列do…while循环语句的循环次数为C) 5。 do{ printf(“%d\n”,i--); } while(i!=0); A. 0 B. 1 C. 5 D. 无限 5. 循环语句”for(int i=0,j=10; i==j; i++,j--)”的循环次数是A) 0。 A. 0 B. 5 C. 10 D. 无限 6. 下述有关break语句的描述中,不正确的是C) break语句用于if语句的内嵌语句内,它结束该if语句。 A. break语句用于循环体内,它将结束该循环 B. break语句用于开关语句,它结束该开关语句 C. break语句用于if语句的内嵌语句内,它结束该if语句 D. break语句在一个循环体内可使用多次 7. 下面关于循环语句的描述中,错误的是B)循环体内必须同时出现break语句和continue 语句。 A. 循环体内可以包含有循环语句 B. 循环体内必须同时出现break语句和continue语句 C. 循环体内可以出现选择语句 D. 循环体可以是空语句 8. 以下不是死循环的是D)for(;(c=getchar()!=’\n’);)printf(“%c”,c);。 A. for(; ; x+=i); B. while(1) { x++; } C. for( i=10; ; i--) sum+=i; D. for( ; (c=getchar() )!=’\n’ ; ) printf( “%c”,c); 9. 执行语句”for(i=0;i++<3;);”后,变量i的值为C) 4。 A.2 B. 3 C. 4 D. 5 10.语句”for(x=0,y=0;y!=1&&x<4;x++);”是C)循环4次。 A. 无限循环 B. 循环次数不定 C. 循环4次 D. 循环3次

《C语言程序设计教程(第二版)》习题答案

2 第1章程序设计基础知识 一、单项选择题(第23页) 1-4.CBBC 5-8.DACA 二、填空题(第24页) 1.判断条件 2.面向过程编程 3.结构化 4.程序 5.面向对象的程序设计语言7.有穷性8.直到型循环9.算法10.可读性11.模块化12.对问题的分析和模块的划分 三、应用题(第24页) 2.源程序: main() {int i,j,k; /* i:公鸡数,j:母鸡数,k:小鸡数的1/3 */ printf("cock hen chick\n"); for(i=1;i<=20;i++) for(j=1;j<=33;j++) for(k=1;k<=33;k++) if (i+j+k*3==100&&i*5+j*3+k==100) printf(" %d %d %d\n",i,j,k*3);} 执行结果: cock hen chick 4 18 78 8 11 81 12 4 84 3.现计算斐波那契数列的前20项。 递推法源程序: main() {long a,b;int i; a=b=1; for(i=1;i<=10;i++) /*要计算前30项,把10改为15。*/ {printf("%8ld%8ld",a,b); a=a+b;b=b+a;}} 递归法源程序: main() {int i; for(i=0;i<=19;i++) printf("%8d",fib(i));} fib(int i) {return(i<=1?1:fib(i-1)+fib(i-2));} 执行结果: 1 1 2 3 5 8 13 21 3 4 55 89 144 233 377 610 987 1597 2584 4181 6765

C语言程序的设计习题参考答案(第二版_杜友福)

C 语言程序设计习题答案 习题一 C 语言程序设计概述 一、名词解释 (1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2 (5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4 (9)结构化的程序设计P9 二、简述题 1. 设计程序时应遵循哪些基本原则?P4 答:正确性、可靠性、简明性、有效性、可维护性、可移植性。 2. 算法的要素是什么?算法具有哪些特点? 答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。 3. 算法的表示形式有哪几种? 答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。 4. 有哪三种基本结构? 答:三种基本结构是:顺序结构、选择结构和循环结构。 5. 传统流程图与N-S 流程图最大的区别是什么? 答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。 三、用传统流程图、N-S 图分别表示求解以下问题的算法。 1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。 2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。 3. 求1+2+3+…+100的值。 4. 求1×2×3×…×10的值。

5. 求下列分段函数的值。 6. 求100~200之间的所有素数。 7. 求一元二次方程ax 2+bx+c=0的根。分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。 四、注释下面C 程序的各个组成部分。 main() /*主函数 */ { /*程序开始 */ int a,k,m; /*定义三个用来存放整数的变量 */ a=10; /*将整数10赋值给变量a */ k=2; /*将整数2赋值给变量k */ m=1; /*将整数1赋值给变量1 */ a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */ printf("%d\n",a); /*在屏幕上打印出变量a 的值 */ } /*程序结束 */ 习题二 数据类型、运算符与表达式 一、选择题 1~10:BCDCB DDBCA 11~20: ADDAA DBADC 21~28: DABAD CDD Y= 3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1

c语言程序设计教程第二版课后习题答案

c 语言程序设计教程第二版课后习题 答 案 篇一: c 语言程序设计教程_李含光_ 郑关胜_ 清华大学 出版社习题答案习题答案[完美打印版]】1.单项选择题 (1)a (2)c(3)d (4)c (5)b 2.填空题(1)函数 (2)主函数(main )(3)printf(),scanf()第 2 章习题参考答案 1.单项选择题 1-5 cbccc 6-10 cdcdc 11-13 dbb 2 .填空题 (1)1(2)26 (3)6 , 4 , 2 (4)10 , 6 (5)3.000000 (6)双精度(double )(7)9 (8)字母,数字,下划线(9)13.700000 (10)11(11)((m/10 )%10 )*100+ (m/100 )*10+m%10 (12)0 (13)10 ,9 ,11(15) (x0y0)||(x0z0)||(y0||z0)(16 )double (17)x==0 (18)sqrt(fabs(a-b))/(3*(a+b))(19 )sqrt((x*x+y*y)/ (a+b)) 第 3 章习题参考答案 1.单项选择题 1-5 cccdd 6-10 bcdbc11-15 bcbbb16 a 2 .填空题 (1)用;表示结束(2){ } (3 )y=x0?1:x==0?0:-1 (4)y%4==0y%100!=0||y%400==0 (5)上面未配对(6)default 标号(7)while ,do while ,for (8)do while (9)本次(10)本层3.阅读程序,指出结果 (1)yes (2)*(3)abother (4)28 70 (5)2,0(6)8(7)36 (8)1(9)3,1,-1,3,1,-1(10)a=12 ,y=12 (11) i=6 ,k=4 (12)1,-2 4 .程序填空 (1)x:y ,u :z (2)m=n ,m !=0 ,m=m/10 (3)teps , t*n/(2*n+1) , printf( n”“,%2*lsf )(4)m%5==0 ,

C语言程序设计习题参考答案!(第二版--杜友福)

C语言程序设计习题参考答案!(第二版--杜友福)

C语言程序设计习题答案 习题一 C语言程序设计概述 一、名词解释 (1)程序P1 (2)程序设计P1(3)机器语言P1(4)汇编程序P2 (5)高级语言P2(6)编译程序P3(7)解释程序P3(8)算法P4 (9)结构化的程序设计P9 二、简述题 1. 设计程序时应遵循哪些基本原则?P4 答:正确性、可靠性、简明性、有效性、可维护性、可移植性。 2. 算法的要素是什么?算法具有哪些特点? 答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。 3. 算法的表示形式有哪几种? 答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S流程图,盒图)。 4. 有哪三种基本结构? 答:三种基本结构是:顺序结构、选择结构和循环结构。 5. 传统流程图与N-S流程图最大的区别是什么?

答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。 三、用传统流程图、N-S 图分别表示求解以下问题的算法。 1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。 2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。 3. 求1+2+3+…+100的值。 输入三个数给a,b,c 如果a

4. 求1×2×3×…×10的值。 5. 求下列分段函数的值。 6. 求100~200之间的所有素数。 Y 3X (X<1) 输入一个数给x X<=1 Yes no

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

C语言程序设计第二版 习题参考答案 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

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. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是 ___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。

谭浩强--C语言程序设计(第二版)习题答案

C语言程序设计(第2版)课后习题答案 第一章 1.请参照本章例题,编写一个C程序,输出以下信息: ************************** Very good! ************************** 解: #include void main() { printf("**************************"); printf("\n"); printf("Very good!\n"); printf("\n"); printf("**************************"); } 2.编写一个C程序,输入a、b、c三个值,输出其中最大值。 解: #include void main() { int a,b,c,max; printf("请输入三个数a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if(max #include void main() { double P, r=0.1, n=10; P=pow((1+r), n);

printf("%lf\n", P); } 3.请编程序将"China"译成密码,译码规律是用原来字母后面的第4个字母代替原来的字母。例如,字母"A"后面第4个字母是"E","E"代替"A"。因此,"China"应译为"Glmre"。请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为'C'、'h'、'i'、'n'、'a',经过运算,使c1、c2、c3、c4、c5分别变为'G'、'l'、'm'、'r'、'e',并输出。 解: #include void 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); } 第三章 3.用下面的scanf函数输入数据,使a=3, b=7, x=8.5, y=71.82, c1='A', c2='a'。问在键盘上如何输入? 解: #include void main() { int a, b; float x, y; char c1, c2; scanf("a=%d, b=%d", &a, &b); scanf(" x=%f, y=%e", &x, &y); scanf(" c1=%c, c2=%c",&c1, &c2); } a=3, b=7 x=8.5, y=71.82 c1=A, c2=a 5. 设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后2位数字。请编程序。 解: #include void main() { float r,h,C1,Sa,Sb,Va,Vb; scanf("%f,%f",&r,&h);

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

C语言程序设计习题参考答案 习题1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F 2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 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 三、填空题

c语言程序设计第二版4~7章课后习题答案清华大学出版社

原题:打印出下题的结果 main() { int a=5,b=7; float x=,y=; char c='A'; long n=1234567; unsigned u=65535; printf("%d%d\n",a,b); printf("%3d%3d\n",a,b); printf("%f,%f\n",x,y); printf("%-10f,%-10f\n",x,y); printf("%,%,%4f,%4f,%3f,%3f\n",x,y,x,y,x,y); printf("%e,%\n",x,y); printf("%c,%d,%o,%x\n",c,c,c,c); printf("%ld,%lo,%x\n",n,n,n); printf("%u,%o,%x,%d\n",u,u,u,u); printf("%s,%\n","COMPUTER","COMPUTER"); } 结果: 57 5 7 , , , ,,,, +01, +02 A,65,101,41 1234567,4553207,d687 65535,177777,ffff,-1 COMPUTER, COM 4-6 原题: 用下面的scanf函数输入数据,使a=3,b=7,x=,y=,c1='A',c2='a'。问在键盘上如何输入main() { int a,b; float x,y; char c1,c2; scanf("a=%d,_b=%d",&a,&b); scanf("_%f_%e",&x,7y); scanf("_%c_%c",&c1,&c2);

答案: 输入格式为: a=3,b=7 A a 4-7 原题:用下面的scanf函数输入数据使a=10,b=20,c1='A',c2='a',x=,y= z=,请问在键盘上如何输入数据 scanf("%5d%5d%c%c%f%f%*f,%f",&a,&b,&c1,&c2,&x,&y,&z); 答案: 输入格式为: 10 , 友情提示:10与20之间是3个空格,而那个是随便一个浮点数即可。 4-8 原题: 设圆半径r=,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积,用scanf输入数据,输出结果,输出时要求有文字说明,取小数点后2位数字,请编写程序。 答案: #define PI main() { int h; float r; float cubage1,cubage2,per,area,facearea; clrscr(); printf("please input the circle's radii\n"); scanf("%f",&r); clrscr(); printf("please input the cylinder's height\n"); scanf("%d",&h); per=2*PI*r; area=PI*r*r; facearea=4*PI*r*r; cubage1=4/3*PI*r*r*r; cubage2=area*h; clrscr();

C语言程序设计(第二版)答案

参考答案 习题二(P33) 一.单选题 1.C 2.B 3.D 4.C 5.A 6.D 7.D 8.B 9.B 10.D 11.D 12.C 13.C . 15. A 14题最后一句应为printf("%f\n",d*y);结果为2.2 二.填空题 1. 18 2. int float double 3. 10 11 4. 八十六十 5. % 三.阅读程序题 1.10,10,9,10 2.j=1,i=2 k=3,i=3 j=3,i=2 k=1,i=1 习题三(P52) 一.单选题 1.D 2.C 3.D 4.B 5.A 6.B 7.C 8.A 9.C 10.B 11. -1,37777777777,4294967295 二.填空题 5. L 6. -1 三.阅读程序题 1. 6 6 6.00 6.00 2. x=127,x= 127,x=177,x=7f Y=123.4567 , y= 123.46 , y=123.45670 3. 2,1 4. 1234 5. 4,3 6. -6,-6 四.程序设计题 1. #include "stdio.h" #include "math.h" main() { float a,b,c,d,x1,x2; a=2;b=-3;c=-5; d=b*b-4*a*c; x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); printf("x1=%.2f,x2=%.2f\n",x1,x2); } 2. #include main()

{ float a,v,s; scanf("%f",&a); v=a*a*a;s=6*a*a; printf("v=%.2f,s=%.2f\n",v,s); } 3. #include main() { int a,b,c,t; scanf("%d%d%d",&a,&b,&c); printf("a=%d,b=%d,c=%d\n",a,b,c); t=c;c=b;b=a;a=t; printf("a=%d,b=%d,c=%d\n",a,b,c); } 4. #include main() { char s1,s2; s1=getchar(); s2=s1-32; printf("%c\n",s2); } 习题四(P70) 一.单选题 1.C 2.D 3.D 4.B 5.A 6.D 7.D 8.B 9.C 10.A11.B 12.D 13.passwarnerror . 14.C 15. C 16.B 17. B 18. C 二.填空题 1. 非0 0 2. k==0 3. n%7==0 && n%8==0 else 三.阅读程序题 1. a=1,b=0 2. c=1 四.程序设计题 1. #include main() { int a,b; char c; printf("INPUT A+(-*/)B\n"); scanf("%d%c%d",&a,&c,&b); switch(c) { case'+':printf("%d+%d=%d\n",a,b,a+b);break; case'-':printf("%d-%d=%d\n",a,b,a-b);break; case'*':printf("%d*%d=%d\n",a,b,a*b);break;

c语言程序设计现代方法第二版)习题答案

Chapter 2 Answers to Selected Exercises 2. [was #2] (a) The program contains one directive (#include) and four statements (three calls of printf and one return). (b) Parkinson's Law: Work expands so as to fill the time available for its completion. 3. [was #4] #include int main(void) { int height = 8, length = 12, width = 10, volume; volume = height * length * width; printf("Dimensions: %dx%dx%d\n", length, width, height); printf("Volume (cubic inches): %d\n", volume); printf("Dimensional weight (pounds): %d\n", (volume + 165) / 166); return 0; } 4. [was #6] Here's one possible program: #include int main(void) { int i, j, k; float x, y, z; printf("Value of i: %d\n", i); printf("Value of j: %d\n", j); printf("Value of k: %d\n", k); printf("Value of x: %g\n", x); printf("Value of y: %g\n", y); printf("Value of z: %g\n", z); return 0; } When compiled using GCC and then executed, this program produced the following output:

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

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. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 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 三、填空题

C语言程序设计现代方法(第二版)习题答案

Chapter 2 An swers to Selected Exercises 2. [was #2] (a) The program contains one directive (#inelude) and four statements (three calls of printf and one return). (b) Parkinson's Law: Work expands so as to fill the time available for its completi on. 3. [was #4] #i nclude int main(v oid) { int height = 8, le ngth = 12, width = 10, volume; volume = height * len gth * width; printf("Dimensions: %dx%dx%d\n", length, width, height); prin tf("Volume (cubic in ches): %d\n", volume); printf("Dimensional weight (pounds): %d\n", (volume + 165) / 166); return 0; } 4. [was #6] Here's one possible program: #i nclude int main(v oid) { int i, j, k; float x, y, z; prin tf("Value of i: %d\n", i); prin tf("Value of j: %d\n", j); prin tf("Value of k: %d\n", k); prin tf("Value of x: %g\n", x); prin tf("Value of y: %g\n", y);

c语言程序设计教程第二版课后习题答案

c语言程序设计教程第二版课后习题答 案 【篇一:c语言程序设计教程_李含光_郑关胜_清华大学出版社习题答案习题答案[完美打印版]】 1.单项选择题 (1)a (2)c(3)d (4)c (5)b 2.填空题(1)函数 (2)主函数(main)(3)printf() , scanf() 第2章习题参考答案 1.单项选择题 1-5 cbccc 6-10 cdcdc 11-13 dbb 2.填空题 (1)1(2)26 (3)6 , 4 , 2 (4)10 , 6(5)3.000000 (6)双精度(double)(7)9 (8)字母,数字,下划线(9) 13.700000 (10)11(11)((m/10)%10)*100+(m/100) *10+m%10(12)0 (13)10 ,9 ,11(15) (x0y0)||(x0z0)||(y0||z0)(16)double (17)x==0(18) sqrt(fabs(a-b))/(3*(a+b))(19)sqrt((x*x+y*y)/(a+b)) 第3章习题参考答案 1.单项选择题 1-5 cccdd 6-10 bcdbc11-15 bcbbb16 a 2.填空题 (1)用;表示结束(2){ }(3)y=x0?1:x==0?0:-1 (4)y%4==0y%100!=0||y%400==0(5)上面未配对(6)default 标号(7)while , do while , for(8)do while(9)本次(10)本层 3.阅读程序,指出结果 (1)yes(2)*(3)abother(4)28 70(5)2,0(6)8(7) 36 (8)1(9)3,1,-1,3,1,-1(10)a=12 ,y=12(11)i=6,k=4 (12)1,-2 4.程序填空 (1)x:y , u:z (2)m=n , m!=0,m=m/10 (3)teps , t*n/(2*n+1) , printf(“%lf\n”,2*s) (4)m%5==0 ,printf(“%d\n”,k) (5)cx=getchar() , cx!=front , cx (6)double s=0, 1.0/k , %lf (7)s=0 , sgmin, 5.编程题(1). #include stdio.h int main() { double x,y; scanf(%lf,x); if(x1) y=x;

c语言程序设计教程第二版课后习题答案.doc

c 语言程序设计教程第二版课后习题答 案 【篇一:c 语言程序设计教程_李含光_郑关胜_清华大学出版社习题答案习题答案[完美打印版]】 1.单项选择题 (1)a (2)c(3)d (4)c (5)b 2 .填空题(1)函数 (2)主函数(main )(3)printf() ,scanf() 第2 章习题参考答案 1.单项选择题 1-5 cbccc 6-10 cdcdc 11-13 dbb 2 .填空题 (1)1(2)26 (3)6 ,4 ,2 (4)10 , 6 (5)3.000000 (6) 双精度(double )(7)9 (8)字母,数字,下划线(9) 13.700000 (10)11(11)((m/10 )%10 )*100+ (m/100 ) *10+m%10 (12)0 (13)10 ,9 ,11(15) (x0y0)||(x0z0)||(y0||z0) (16)double (17)x==0 (18) sqrt(fabs(a-b))/(3*(a+b)) (19)sqrt((x*x+y*y)/(a+b)) 第3 章习题参考答案 1.单项选择题 1-5 cccdd 6-10 bcdbc11-15 bcbbb16 a 2 .填空题 (1)用;表示结束(2){ } (3)y=x0?1:x==0?0:-1 (4)y%4==0y%100!=0||y%400==0 (5)上面未配对(6)default 标号(7)while ,do while ,for (8)do while (9)本次(10) 本层3.阅读程序,指出结果 (1)yes (2)*(3)abother (4)28 70 (5)2,0(6)8(7) 36 (8)1(9)3,1,-1,3,1,-1(10)a=12 ,y=12 (11)i=6 , k=4 (12)1,-2 4 .程序填空 (1)x:y ,u :z (2)m=n ,m!=0,m=m/10 (3)teps , t*n/(2*n+1) , printf( n”“,%2*l s f)(4)m%5==0 , printf( “%n d”,k)(5)cx=getchar() , cx!=front , cx (6)double s=0, 1.0/k , %lf (7)s=0 , sgmin, 5 .编程题(1). #include stdio.h int main() { double x,y; scanf(%lf,x); if(x1) y=x;

C语言程序设计现代方法第二版习题答案

C语言程序设计现代方 法第二版习题答案 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

Chapter 2 Answers to Selected Exercises 2. [was #2] (a) The program contains one directive (#include) and four statements (three calls of printf and one return). (b) Parkinson's Law: Work expands so as to fill the time available for its completion. 3. [was #4] #include <> int main(void) { int height = 8, length = 12, width = 10, volume; volume = height * length * width; printf("Dimensions: %dx%dx%d\n", length, width, height); printf("Volume (cubic inches): %d\n", volume); printf("Dimensional weight (pounds): %d\n", (volume + 165) / 166); return 0; } 4. [was #6] Here's one possible program: #include <> int main(void) { int i, j, k; float x, y, z; printf("Value of i: %d\n", i); printf("Value of j: %d\n", j); printf("Value of k: %d\n", k); printf("Value of x: %g\n", x); printf("Value of y: %g\n", y); printf("Value of z: %g\n", z); return 0; } When compiled using GCC and then executed, this program produced the following output:

相关文档
最新文档