C语言题解(1-3).doc_第1页
C语言题解(1-3).doc_第2页
C语言题解(1-3).doc_第3页
C语言题解(1-3).doc_第4页
C语言题解(1-3).doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章1.1请根据自己的认识,写出C语言的主要特点。P21.2 C语言的主要用途是什么?它和其他高级语言有什么异同?主要用于开发底层软件、系统软件和实用程序软件。既有一般高级语言的功能,又具有许多低级语言的功能。所以其功能更强大,目标代码质量更高,执行效率更高。但也存在着语法限制不太严格,容易出现错误,难度较大的问题。1.3 写出一个C程序的构成。预编译指令主程序函数子程序调用子程序函数1.4 C语言以函数为程序的基本单位,有什么好处?容易实现程序的模块化。可以提高程序设计的效率,提高程序的可靠性,便于移植,可读性好,易维护。1.5 请参照本章例题,编写一个C程序,输出以下信息:*Very good!*#include void main()printf(*n);printf( Very good!n);printf(*n);1.6 编写一个C程序,输入a、b、c三个值,输出其中最大者。#include void main()int max(int x,int y,int z);int a,b,c,d;printf(请输入三个整数a、b、c,中间用逗号隔开:);scanf(%d,%d,%d,&a,&b,&c);d = max(a,b,c);printf(最大数为 %dn,d);int max(int x,int y,int z)if(xy)if(xz)return x;elsereturn z;elseif(yz)return y;elsereturn z;第2章2.1 什么是算法?试从日常生活中找3个例子,描述它们的算法。算法是对特定问题求解步骤的一种描述,它是指令的有限序列。简单地说,是解题方法。2.2 什么叫结构化的算法?为什么要提倡结构化的算法?一个结构化的算法是由一些基本结构(顺序结构、分支结构、循环结构)顺序组成的。在基本结构之间不存在向前或向后的跳转,流程的转移只存在于一个基本结构范围之内。2.3 试述3种基本结构的特点,你能否自己另外设计两种基本结构?顺序结构即是按顺序从上至下执行的语句。流程不按照语句在程序中出现的先后顺序逐条执行,而是根据判断项的值有条件地选择部分语句执行,这样的程序结构称为选择结构。根据需要反复执行程序中的某些语句,这样的程序结构称为循环结构。它们共同的特点是:(1) 只有一个入口。(2) 只有一个出口。(3) 结构内的每一部分都有机会被执行到。(4) 结构内不存在死循环。2.4 用传统流程图表示求解以下问题的算法。(1) 有两个瓶子A和B,分别盛放醋和酱油,要求将它们互换。(2) 依次将10个数输入,要求将其中最大的数输出。(3) 有3个数a,b,c,要求按大小顺序把它们输入。(4) 求1+2+3+100。(5) 判断一个数n能否同时被3和5整除。(6) 将100200之间的素数输出。(7) 求两个数m和n的最大公约数。(8) 求方程ax2+bx+c=0的根。分别考虑:有两个不等的实根;有两个相等的实根。(1) (2)(3)(4)(5)(6)(7)(8)2.5 用N-S图表示2.4题中各题的算法。(1) (2)(3)(4)(5)(6)(7)(8)2.6 用伪代码表示2.4题中各题的算法。(1) c = a a = b b = c(2) n=1 input max while nmax then max=a n=n+1 end do print max(3) input a,b,c if ab then swap a,b (swap表示互换) if ab then print a,c,b else print a,b,c end if end if(4) sum=0 n=1 while n200 do i=2 while i=sqrt(n) do (sqrt为求平方根) if mod(n,1) then i=n else i=i+1 end if end do if isqrt(n) then print n n=n+1 end do(7) input m,n if m=0 then if disc=0 then x1,x2=-b/(2a) else x1=(-b+sqrt(disc)/(2a) x2=(-b-sqrt(disc)/(2a) end if print x1,x2 else p=-b/(2a) q=sqrt(disc)/(2a) print p+q, “+”, p-q, “i” end if2.7 什么结构化程序设计?它的主要内容是什么?把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。自顶向下,逐步细化,模块化设计,结构化编码2.8 用自顶向下,逐步细化的方法进行以下算法的设计:(1) 输出1900 2000年中是闰年的年份,符合下面两个条件之一的年份是闰年:能被4整除但不能被100整除;能被100整除且能被400整除。(2) 求ax2+bx+c=0的根。分别考虑D=b2-4ac大于0、等于0和小于0这3种情况。(3) 输入10个数,输出其中最大的一个数。(1)(2)(3)第3章3.1 请将C语言的数据类型和其他高级语言的数据类型作比较,C有哪些特点? 数据类型丰富,增加了指针类型,使用灵活,效率高,但较复杂,安全性差。3.2 C语言为什么规定对所有用到的变量要“先定义,后使用”,这样做有什么好处?(1) 因为如果不加定义,就无从知道标识符是变量还是别的程序实体;(2) 如果不加定义,就不知道它的类型,也就无法为其分配指定大小的存储单元;(3) 如果不加定义,就无法在编译阶段对其进行检查,以确定其合法性。3.3 请将下面各数用八进制和十六进制表示:(1) 10(2) 32(3) 75(4) -617(5) -111(6) 2483(7) -28654(8) 21003(1) 012 0xa(2) 040 0x20(3) 0113 0x4b(4) 037777776627 0xfffffd97(5) 037777777621 0xffffff61(6) 04663 0x9b3(7) 037777710022 0xffff9012(8) 051013 0x520b3.4 将以下3个整数分别赋给不同类型的变量,请画出赋值后数据在内存中的存储形式。3.5 字符常量和字符串常量有什么区别字符常量是一个字符,用单引号括起来。字符串常量是由0个或若干个字符组合而成,用双引号把它们括起来,存储时自动在字符串最后加一个结束符号0。3.6 写出以下程序的运行结果:int main()char c1=a,c2=b,c3=c,c4=101,c5=116;printf(a%cb%ctc%ctabcn,c1,c2,c3);printf(tb%c %cn,c4,c5);return 0;aabbccabcA N3.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,并输出。int main()char c1,c2,c3,c4,c5;printf(请输入五个字符:);scanf(%c %c %c %c %c,&c1,&c2,&c3,&c4,&c5);c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;printf(加密后的结果为:%c%c%c%c%cn,c1,c2,c3,c4,c5);return 0;3.8 例3.6能否写成如下形式:int main()int c1,c2;c1=97;c2=98;printf(%c %cn,c1,c2);return 0;分析运行时会显示什么结果?为什么?可以。程序输出a b。因为在可输出的字符范围内,用整型和用字符型作用相同。3.9求下面算术表达式的值。(1) x+a%3*(int)(x+y)%2/4设x=2.5,a=7,y=4.7(2) (float)(a+b)/2+(int)x/y设a=2,b=3,x=3.5,y=2.5(1) 2.500000(2) 3.7000003.10 写出以下程序的运行结果。int main()int i,j,m,n;i=8; j=10;m=+i; n=j+;printf(%d,%d,%d,%dn,i,j,m,n);return 0;9,11,9,103.11 写出下面赋值的结果。格中写了数值的是要将它赋给其他类型的变量,将所有空格填上赋值后的数值。int9942chardunsigned int7665535float53.65long int68int9910076536842-1charcdL5D*unsigned int991007653684265535float99.000000100.00000076.00

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论