C语言程序设计习题答案1--5章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1章C语言程序设计概述1.1一个C程序的执行是从A。A.从main()函数开始,直到main()函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main()函数开始,直到最后一个函数结束1.2在C程序中,main()的位置C。A.必须作为第一个函数B.必须作为最后一个函数C.可以任意D.必须放在它所调用的函数之后1.3C语言源程序的基本单位是B。A.过程B.函数C.子程序D.标识符1.4一个C源程序有且仅有一个一个函数和__零个或多个_____个其他函数。1.5C语言源程序的语句分隔符是__分号___。1.6C语言开发的四个步骤是_编辑源程序→对源程序进行编译→与库函数连接→运行目标程序__。1.7C语言有哪些主要特点?C主要特点有:1.C语言简洁、紧凑,使用方便、灵活;2.运算符丰富;3.数据类型丰富;4.C语言是结构化语言;5.语法限制不太严格,程序设计自由度大;6.可直接与机器硬件打交道,直接访问内存地址;7.生成的目标代码质量高,程序执行效率高;8.C语言适用范围广,可移植性好。1.8简述C编译和运行的基本方法。略。1.9常用的集成开发工具有哪些?各有什么特点?略。1.10编写一个程序,在屏幕上输出以下内容:****************************Youarewelcome!****************************#includestdio.hvoidmain()/*主函数*/{/*函数体开始*/printf(***************************\n);/*输出语句*/printf(*Youarewelcome!*\n);printf(***************************\n);}1.11编写一个C程序,输入a、b、c3个值,输出其中最大者。#includestdio.hvoidmain()/*主函数*/{floatmax(floatx,floaty);/*对被调用函数max的声明*/floata,b,c,d,result;/*声明实型变量a、b、c*/printf(a,b,c=);/*输出提示信息a,b,c=*/scanf(%f%f%f,&a,&b,&c);/*输入变量a,b和c的值*/d=max(a,b);/*调用max函数,将得到的返回值赋给d*/result=max(c,d);/*调用max函数,将得到的返回值赋给result*/printf(max=%f\n,result);/*输出result的值*/}floatmax(floatx,floaty)/*定义max函数,函数值为实型,形式参数x,y为实型*/{floatz;/*max函数中的声明部分,声明本函数中用到的变量z为实型*/if(xy)z=x;/*如果xy,则将x值赋给z*/elsez=y;/*否则将y值赋给z*/return(z);/*将z的值返回给主调用函数*/}第2章数据类型,运算符和表达式2.1以下标识符中不属于C语言的基本数据类型的是C。A.charB.longC.boolD.float2.2以下选项中属于C语言的数据类型是C。A.复数型B.逻辑型C.双精度型D.集合型2.3下列标识符中,合法的标识符是C。A.-abc1B.1abcC._abc1D.for2.4在标准C语言中,不正确的int类型的常数是A。A.32768B.0C.037D.0xAF2.5以下所列的C语言常量中,错误的是B。A.0xFFB.1.2e0.5C.2LD.'\72'2.6在C语言中,合法的长整型常数是B。A.0LB.4962710C.324562&D.216D2.7以下不正确的语句(设有intp,q)是D。A.p*=3;B.p/=q;C.p+=3;D.p&&=q;2.8以下使i的运算结果为4的表达式是D。A.inti=0,j=0;(i=3,(j++)+i);B.inti=1,j=0;j=i=((i=3)*2);C.inti=0,j=1;(j==1)?(i=1):(i=3);D.inti=1,j=1;i+=j+=2;2.9设n=10,i=4,则赋值运算n%=i+1执行后,n的值是A。A.0B.3C.2D.12.10逗号表达式(a=3*5,a*4),a+15的值为C,a的值是C。①A.15B.60C.30D.不确定②A.60B.30C.15D.902.10如果a=1,b=2,c=3,d=4,则条件表达式ab?a:cd?c:d的值为D。A.1B.2C.3D.42.12在C语言中,不同类型数据混合运算时,要先转换成同一类型后进行运算。设一表达式中包含有int,long,unsigned和char类型的变量和数据,则表达式最后的运算结果是D类型的数据。这四种类型数据的转换规律是C。①A.intB.charC.unsignedD.long②A.int-unsigned-long-charB.char-int-long-unsignedC.char-int-unsigned-longD.char-unsigned-long-int2.13写出经过下列运算后变量a的值,设a的初值为15:(1)a+=a;(2)a-=2;(3)a*=2+3;(4)a/=a+a;(5)a%=(5%=2)(6)a+=a-=a*=a(1)30(2)13(3)75(4)0(5)0(6)02.14假定x=10,y=20,z=30;试判断下列逻辑表达式的真(1)假(0)。(1)x10||x10(2)(xy+z)&&(x+10=20)(3)x10&&x10(4)xy||yx(5)!(xy+z)||!(x+10=20)(6)(!(x==y))&&(x!=y)&&(xy||yx)(1)0(2)1(3)0(4)1(5)0(6)12.15C有哪些基本数据类型?简述各类型所占的字节数。略(见课本表2-2)。2.16字符常量与字符串常量有什么区别?由于字符数据在内存中是以ASCII码存储,它的存储形式与整数的存储形式类似。一个字符常量在计算机的存储中占据一个字节。字符串常量在内存中按顺序逐个存储字符串中的字符的ASCII码,并在最后自动加上一个字符’\0’(空字符,该字符的ASCII码值为0,也称NULL字符),作为字符串结束标志,所以字符串实际占用字节数要比字符串中字符的个数(长度)多1个。2.17什么是表达式?什么变量?变量名和变量值有什么本质区别?表达式是由运算符、常量、变量、函数、圆括号等按一定的规则组成的式子。每一个表达式也都具有一定的值。变量是以某标识符为名字(变量名),在程序运行过程中,其值是可以改变的量。变量名实际上是代表一个内存的存储地址,在对程序编译连接时由编译系统给每一个变量名分配对应的内存地址。变量的存取操作,实际上是通过变量名找到相应的内存地址,从该存储单元中存取数据。第3章顺序结构3.1有如下程序段:inta1,a2;charc1,c2;scanf(%d%c%d%c,&a1,&c1,&a2,&c2);若要求a1,a2,c1,c2的值分别为10,20,a,b正确的数据输入是A。A.10a20b↙B.10a20b↙C.10a20b↙D.10a20b↙3.2有如下程序,输入数据:12345678↙后,x的值是B,y的值是A。#includestdio.hvoidmain(){intx;floaty;scanf(%3d%f,&x,&y);}(1)A.12345B.123C.45D.345(2)A.45.000000B.45678.000000C.678.000000D.123.0003.3请写出下面程序的运行结果:#includestdio.hvoidmain(){shortinta=65,b=100;floatx=123.4567,y=-100.3388;charc='a';longn=1234567;unsignedu=65535;printf(%c,%c\n,a,b);printf(%6d,%6d\n,a,b);printf(%f,%f\n,x,y);printf(%-8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n,x,y,x,y,x,y);printf(%e,%10.2E\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);}运行结果:A,d65,100123.456703,-100.338799123.46,-100.34,123.4567,-100.3388,123.456703,-100.3387991.234567e+002,-1.00E+002a,97,141,611234567,4553207,12d68765535,177777,ffff,65535Pressanykeytocontinue3.4顺序结构有哪些主要特点?顺序结构就是按照语句书写的先后顺序依次执行,具有“单入口和单出口”的控制特点。3.5顺序结构语句可以分为哪几类?简单顺序语句主要有表达式语句、空语句、复合语句等。3.6编程输入两个整数,输出它们的平方和它们的平方根。#includestdio.h#includemath.hvoidmain(){inta,b;scanf(%d,%d,&a,&b);if(a=0&&b=0){printf(a^2=%d,b^2=%d\n,a*a,b*b);printf(a^1/2=%f,b^1/2=%f\n,sqrt(a),sqrt(b));}}3.7编程输入三角形的三边长,计算并输出三角形面积和周长。#includestdio.h#includemath.hvoidmain(){inta,b,c,girth,s,p;scanf(%d,%d,%d,&a,&b,&c);if(a0&&b0&&c0&&(a+b)c&&(a+c)b&&(b+c)a){girth=a+b+c;p=girth/2;s=sqrt((p-a)*(p-b)*(p-c)*p);printf(girth=%d\n,girth);printf(s=%d\n,s);}}3.8编程输入两个整数,输出它们相除的整数商(整除值)以及余数。#includestdio.hvoidmain(){inta,b,c,d;scanf(%d,%d,&a,&b);c=a/b;d=a%b;printf(%d,%d,c,d);}3.9编程输入一个double类型的数,将该数小数点后的第三位按四舍五入的方法保留到小数点后两位(提示:将该数乘以100,加上0.5之后取整,再除以100)。#includestdio.hvoidmain(){floata,b;scanf(%f,&a);a=a*100;a=a+0.5;b=(int)a;b=b/100;printf(%f,b);}3.10编程输入一个实数将其分解为整数部分和小数部分并输出。如输入为345.67,则输出为:345.67=345+0.67。#includestdio.hvoidmain(){floata,b;intc;scanf(%f,&a);c=(int)a;b=a-c;printf(%f=%d+%f,a,c,b);}习题四4.1写出下列程序段的运行结果(1)5分析:这是if语句嵌套问题。本题else是与第二个if语句(if(y0))配对的。(2)2分析:这是if语句嵌套问题,关键是要清楚各个if与else的配对关系。本题的if与else的配对关系如下:if(ab)if(cd)x=1;elseif(ac)if(bd)x=2;elsex=3;elsex=4;elsex=5;printf(%d,x);(3)10分析:先计算a+1的值(值是4),再执行case4:后的语句,直到遇到break语句才结束switc

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功