《c语言习题及标准答案》由会员分享,可在线阅读,更多相关《c语言习题及标准答案(63页珍藏版)》请在金锄头文库上搜索。
1、习题一【习题1-1】C语言源程序最多可能由_部分组成?A) 预处理部分 B)变量说明部分C) 函数原型声明部分 D)函数定义部分【习题1-2】一个完整的C语言源程序最少必须有_。A)若干个主函数 B)若干个函数C)且只能有一个主函数 D)一个函数【习题1-3】C语言以函数为源程序的基本单位最主要有利于_。A)程序设计结构化 B)程序设计模块化C)程序设计简单化 D提高程序设计有效性【习题1-4】要使得C语言编写的程序能够在计算机上运行并得出正确结果,必须要先经过_。A)编辑和链接 B)编译和链接C)修改和运行 D运行并输入数据【习题1-5】选择一个C语言集成开发环境并启动它,然后分别输入【例1
2、-1】、【例1-2】、【例1-3】的源程序,依次编译、链接、运行,看看能否达到预想的结果?从中了解程序的开发过程。习题二一、单项选择题【习题2-1】 已知A的ASCII代码是65,以下程序的输出结果是( )#includestdio.hmain( )intc1=65,c2=66;printf(%c,%c,c1,c2);A. 因输出格式不合法,输出错误信息B. 65,66C. A,B D. 65,66【习题2-2】若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是( )A. a=a+b,b=a-b,a=a-b;B. t=a,a=b,b=t;C. a=t,t=b,b=a; D. t=
3、b;b=a;a=t;【习题2-3】 若k是整型变量,则以下程序段的输出是( )k=-8567;printf(“|%d|n”,k);A. 输出格式不正确B. 输出为|008567|C. 输出为|8567|D. 输出为|-8567|【习题2-4】下列可作变量的标识符是( )A. 3rtB. je_cC.$89D. a+6【习题2-5】C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( )A.必须为字母或下划线 B.必须为下划线C.必须为字母 D.可以是字母、数字和下划线中的任一种字符【习题2-6】 C语言并不是非常严谨的算法语言,在以下关于C语言的不严谨的叙述中,错误的说法是(
4、)A. 大写字母和小写字符的意义相同 B. 有些不同类型的变量可以在一个表达式中运算C. 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D. 同一个运算符号在不同的场合可以有不同的含义二、简答题【习题2-7】 C语言数据类型有哪几类?基本数据类型包括哪几类?【习题2-8】 C语言中十进制、八进制和十六进制整常量是如何表示的?【习题2-9】 C语言为什么规定对所用到的变量“先定义,后使用”,这样做有什么好处?【习题2-10】C语言中的语句有几类?控制语句有哪些?【习题2-11】 怎样区分表达式和表达式语句?为什么有人称C为表达式语言?【习题2-12】字符常量与字符串常量有什么区别?【
5、习题2-13】下面各数用八进制和十六进制数表示:(1)10 (2)32 (3)75 (4)-617(5)-111 (6)2483 (7)-28654 (8)21003三、阅读程序写结果或填空【习题2-14】写出以下程序的运行结果:#includemain() char c1=a,c2=b,c3=c,c4=101,c5=116; printf(a%c b%ctc%ctabcn,c1,c2,c3); printf(tb%c %cn,c4,c5);【习题2-15】写出以下程序的运行结果:#includemain()int n=177;printf(%on,n);【习题2-16】写出以下程序的运行结果
6、:#includemain()int a,n=0;n+=(a=10);printf(%dn,a);【习题2-17】写出以下程序的运行结果:#include main() int a=5,b=7;float x=67.8564,y=-789.124;char c=A;long n=1234567;unsigned u=65535;printf(%d%dn,a,b);printf(%3d%3dn,a,b);printf(%f,%fn,x,y);printf(%-10f,%-10fn,x,y);printf(%8.2f,%8.2f,%.4f,%.4f,%3f,%3fn,x,y,x,y,x,y);pr
7、intf(%e,%10.2en,x,y);printf(%c,%d,%o,%xn,c,c,c,c);printf(%ld,%lo,%xn,n,n,n);printf(%u,%o,%x,%dn,u,u,u,u);printf(%s,%5.3sn,COMPUTER,COMPUTER);【习题2-18】写出以下程序的运行结果:#includemain()int i,j,m,n;i=8;j=10;m=+i;n=j+;printf(%d,%d,%d,%d,i,j,m,n);【习题2-19】下面运算表达式的值是: x+a%3*(int)(x+y)%2/4 设x=2.5,a=7,y=4.7【习题2-20】下
8、面运算表达式的值是: (float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5【习题2-21】 写出下面赋值表达式运算后a的值,设原来a=12;(1)a+=a (2) a-=2(3)a*=2+3 (4) a/=a+a(5)a%=(n%=2),n 的值等于5 (6)a+=a-=a*=a【习题2-22】 数学表达式:-5x5或x-5又是如何表达?请写出相应的C语句。四、编写程序题【习题2-23】 设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积(4R2)、圆球体积(V=4R/3)、圆柱体积。用scanf()输入数据,输出计算结果,输出时要求有
9、文字说明,取小数点后2位数字。请编写程序。【习题2-24】 输入一个华氏温度,要求输出摄氏温度。公式为c=(F-32),输出要有文字说明,取2位小数。 【习题2-25】 编程序,用getchar()函数读入两个字符给cl、c2,然后分别用putchar()函数和printf()函数输出这两个字符。并思考以下问题:(1)变量c1、c2应定义为字符型或整型?抑或二者皆可?(2)要求输出c1和c2值的ASCII码,应如何处理?用putchar函数还是printf函数?(3)整型变量与字符变量是否在任何情况下都可以互相代替?如“char c1,c2;”与“int cl,c2;”是否无条件地等价?【习题
10、2-26】编写程序,从终端键盘输入圆的半径r,圆柱的高h,分别计算出圆周c1、圆面积cs和圆柱的体积cvz。输出计算结果要求有文字说明,并取小数点后两位数字。【习题2-27】编写程序,读入一个字母,输出与之对应的ASCII码,输入输出都要有相应的文字提示。习题三一、单项选择题【习题3-1】“基本结构”不具有以下特点( )A. 只有一个入口,只有一个出口B. 没有死循环C. 没有永远执行不到的语句D. 不允许退出循环【习题3-2】 在流程图中,菱形框表示的操作是( )A. 数据的输入输出B. 程序的开始C. 条件判断D. 赋值【习题3-3】以下程序的运行结果是( )#includemain()i
11、nt m=5,n=10;printf(%d,%dn,m+,-n);A. 5,9 B.6,9C. 5,10 D.6,10【习题3-4】逻辑运算符两侧的数据类型( )A. 只能是0和1 B. 只能是0或非0正数C. 只能是整型或字符型数据 D. 可以是任何类型的数据【习题3-5】下列关系表达式结果为假的是( )A. 0!=1 B. 2= D. = =【习题3-7】写出下面各逻辑表达式的值。设a=3,b=4,c=5。a+bc&b=ca|b+c&b-c!(ab)&!c|1!(x=a)&(y=b)&0!(a+b)+c-1&b+c/2二、简单题【习题3-8】什么是算法?算法有哪些特性?从日常生活中举出几个
12、算法的例子。【习题3-9】算法有哪些描述方法?各有什么优缺点?【习题3-10】结构化的算法有哪几种结构?试分别描述。【习题3-11】选择语句和循环语句对条件的判断的标准是什么?(即何值为真、何值为假?)三、用传统流程图表示求解以下问题的算法。【习题3-12】有两个瓶子A和B,分别盛放醋和酱油,要求将它们互换(即A瓶原来盛醋,现改盛酱油,B瓶则相反);【习题3-13】依次将10个数输入,要求将其中最大的数打印出来;【习题3-14】有三个数a、b、c,要求按大小顺序把它们打印出来;【习题3-15】求1+2+3+100;【习题3-16】判断一个数n能否同时被3和5整除;【习题3-17】将100200之间的素数打印出来;【习题3-18】求两个数m和n的最大公约数;【习题3-19】求方程式ax2+bx+c=0的根(a、b、c从键盘输入)。四、编写程序题【习题3-20】有一函数写一程序,输入x,输出y值。【习题3-21】给一个不多于5位的正整数,要求:求出它是几位数;分别打印出每一位数字;按逆序打印出各位数字,例如原数为321,应输出123。【习题3-22】企业发放的奖金根据利润提成。利润I低于或等于10万元的,奖金可提10%;利润高于10万元,低于20万元(100000I2000