Keil&C语言程序设计-习题库(含答案).docx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Keil&C语言程序设计-习题库(含答案).docx》由用户(敦行励学)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Keil 语言程序设计 习题 答案
- 资源描述:
-
1、一、单选题1、通常把高级语言源程序翻译成目标程序的程序称为( )。A.汇编程序B.编译程序C.编辑程序D.解释程序答案:B2、一个算法应该具有确定性等5个特性,下面对另外4个特性的描述中错误的是()。A.有零个或多个输入B.有零个或多个输出C.有穷性D.可行性答案:B3、面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送()完成的。A.消息B.命令C.调用语句D.口令答案:A4、以下叙述正确的是( )。A.C语言不允许直接访问物理地址,不可以直接对硬件进行操作B.C语言程序只需编译,不需连接即可被计算机运行C.C语言允许直接访问物理地址,可以直接对硬件进行操作D.C语言程序不用编译
2、,即可被计算机识别运行答案:C5、下面选项()不属于结构化程序设计原则。A.程序模块化B.不限制GOTO语句使用C.逐步求精D.自顶向下答案:B二、判断题6、计算机只能完成其能力范围内的计算工作,超出计算机能力范围的计算计算机将无法完成。(对)7、高级语言是用接近自然语言的符号,按照一定的语法规则编写程序,需要编译程序翻译成机器指令才能被计算机执行。(对)8、面向对象程序设计方法具有与人们的习惯与思维方法一致,便于解决复杂问题的特性。(对)9、程序中适当地添加注释,可以增加程序的可读性和清晰性。(对)10、在VC+6.0环境下,任何一个C程序都必须包含在一个工程项目中,而且只能有一个main函
3、数。(对)三、填空题11、C语言开发工具直接输入的程序代码是(源 或 源程序)文件,经过编译后生成的是目标程序文件, 经过连接后生成的是可执行程序文件。12、结构化程序设计所规定的三种基本控制结构是顺序结构、(选择 或 分支)结构和循环结构。13、描述算法的方法主要有(自然语言)、专用工具(传统流程图)、(N-S流程图)和伪代码等。14、程序的执行方式分为(编译)和解释两种方式。15、衡量算法的时间复杂度是指对于相同规模的问题,算法的执行(时间)的长短。一、单选题1、关于变量定义,下面说法错误的是()。A.变量的类型确定了变量占据的存储单元的大小B.确定了变量的表数范围C.确定了变量中的内容D
4、.确定了变量的名字答案:C2、下列叙述正确的是( )。A.C语言中的数据的类型不同,在内存中占据不同长度的存储单元B.C语言中的常量是没有类型的C.C语言中的数据的类型不同,但取值范围都是相同的D.C语言中的数据的类型不同,在内存中占据相同长度的存储单元答案:A3、下列转义字符中,错误的是( )。A. B. 0xa5C. bD. 031答案:B4、下面关于C语言标识符的命名规则叙述中不准确的是()。A.不区分大小写字母B.首字符必须为字母或下划线C.不能使用系统的保留字D.只能由字母、数字和下划线组成答案:A5、关于定点数和浮点数的说法,下列说法错误的是()。A.用浮点数表示既有整数部分、又有
5、小数部分的实数B.浮点数表示的数即是数值的精确值C.在计算机中通常用定点数表示整数和纯小数D.定点数表示数据的范围有限答案:B6、以下哪个数字的值最大( )。A.10.0B.010C.10D.0x10答案:D二、判断题7、C语言的关键字是由C语言规定的、具有特定功能的固定字母组合,也称为保留字,共计32个。(对)8、变量是在程序执行期间其值可以改变的量,必须先定义后使用。(对)9、变量被定义后没有赋值,其单元内容不可以使用,是内存中的随机数。(对)10、变量的名字代表内存中的存储单元;变量名和内存中的存储单元相对应,通过变量名来存、取存储单元的内容。(对)三、填空题11、若有定义:char c
6、=010; 则变量C中包含的字符个数为(1)。12、已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是(15)。13、在C语言中的实型变量分为float型和double型,按浮点数进行存储,分为数符、(阶码)和尾数几部分。14、设有变量定义:int i=3,j=5;float x=2.5;double y=5.0;则表达式 y+=i-=j*=+x;的计算结果为(-9.0 或 -9.000000)。15、设有变量定义:float x=2.5;double y=5.0;则表达式 (int)x / (int)y+y的值为(5.0)。一、单选题1、若变量已正确定义,执行语句sca
7、nf(%d,%d,%d ,&k1,&k2,&k3);时,正确的数据输入方法是( )。A.20, 30 40B.20,30,40C.2030,40D.20 30 40答案:B2、以下程序的输出结果是()。int main() float x=3.6; int i; i=(int)x; printf(x=%f,i=%dn,x,i); return 0;A.x=3 i=3.600000B.x=3.600000,i=4C.x=3,i=3D.x=3.600000,i=3答案:D3、已定义double a; int i;选择正确的输入格式为( ) 。A.scanf(%6.2f%3d, &a,&i);B.s
8、canf(%6lf%3d,&a,&i);C.scanf(%f%d, a,i);D.scanf(%lf%s, &a,&i);答案:B4、已有定义char s1,s2;,下面正确的语句是( )。A.scanf (%c%c, &s1,&s2);B.scanf (%s%c, s1,&s2);C.scanf (%c%c,s1,s2);D.scanf (%s%c, s1,s2);答案:A5、运行下面的程序,正确的输出结果是( )。#include int main( ) double x=68.7563, y= -789.127; printf (%f, %10.2fn, x,y); return 0;A
9、.68.75, -789.13B.68.756300, -789.12C.68.75, -789.12D.68.756300, -789.13答案:D6、已知float x=2.23,y=4.35;,根据下面的输出结果,正确的程序段是( )。x=2.230000,y=4.350000y+x=6.58,y-x=2.12A.printf(x=%8.2f,y=%8.2f,x,y);printf(y+x=%4.2f,y-x=%4.2fn,y+x,y-x);B.printf(x=%7.2f,y=%7.2fn,x,y);printf(y+x=%3.2f,y=%3.2fn,y+x,y-x);C.printf
10、(x=%f,y=%fn,&x,&y);printf(y+x=%f,y=%fn,y+x,y-x);D.printf(x=%8.6f,y=%8.6fn,x,y);printf(y+x=%4.2f,y-x=%4.2fn,y+x,y-x);答案:D二、判断题7、C语言中本身没有提供专门的输入输出语句,输入输出通过调用函数完成。(对)8、输入数据时不可以指定数据的宽度。(错)9、使用getchar()函数可以一次接受多个字符。(错)10、在使用标准的输入/输出库函数时,应该在程序的开头使用编译预处理命令“#include ”。(对)三、填空题11、getchar()函数只能接收一个(字符)。12、下列语
11、句输出的结果是(b,98)。 char ch=b; printf(%c,%d,ch,ch);13、用scanf函数输入数据(%lf%lf),使得x=1.23, y=67.1234。#include #include int main( ) double x,y,z; scanf( , &x,&y ); z=2*x+y/sin(3.1415/4); printf(z=%6.2f,z); return 0;14、用scanf函数输入数据(a=%d,b=%c,c=%c 或 a=%d,b=%c,c=%c),使得下面程序运行结果为a=2,b=x,c=z#include int main( ) int a
12、, b; scanf(%d%c, &a,&b ); printf( ,a,b,b+2); return 0;15、若要将数据以指数形式输出,应该选择(e 或 E)格式符。一、单选题1、若给定条件表达式(m)?(a+):(a-),则其中表达式m()。A.和(m=1)等价B.和(m!=1)等价C.和(m!=0)等价D.和(m=0)等价答案:C2、C语言的switch语句中case后边( )。A.只能为常量或常量表达式B.可为任何量或表达式C.只能为常量D.可为常量或表达式或有确定值的变量及表达式答案:A3、执行下面程序段后,ch的值是( )。char ch=a;ch=(ch=A&ch4B.34=0
13、C.654D.3!=0答案:C5、设int a=3;,则表达式a1的运算结果和a的值分别是( )。A.1和2B.0和2C.0和3D.1和3答案:C6、设整型变量x、y、z的值分别为3、2、1,则下列程序段的输出是( )。if(xy) x=y;if(xz) x=z;printf(%d,%d,%dn,x,y,z);A.1,2,3B.3,2,1C.1,2,1D.1,1,1答案:C二、判断题7、能正确表达逻辑关系“0a1并且0b1”的表达式是(0a1)&(0bb?a+b:a-b 表达式中,若ab,则条件表达式的值为a+b的值,否则为a-b的值。(对)9、条件运算符的优先级低于算术运算符、关系运算符及逻
14、辑运算符,高于赋值运算符和逗号运算符。(对)10、同一个switch语句中各个常量表达式的值必须互不相等,且只能是常量。(对)三、填空题11、int x=4,y=4,z=2;x=y=z; 则x的值为(0)。12、当a=1,b=2,c=3时,执行以下程序段后b的值为(2)。 if (ac) b=a; a=c; c=b;13、当a=3,b=2,c=1;时,执行以下程序段后,a=(2)。if(ab) a=b;if(bc) b=c;else c=b;c=a;14、c语言表达式5278的值是(0)。15、为了避免嵌套条件语句的二义性,C语言规定else与其前面最近的(if)语句配对。一、单选题1、关于下
15、面程序段,正确的是( )。int k=10;while(!k) k-;A.死循环B.循环体执行10次C.循环体执行1次D.循环体一次也不执行答案:D2、下面程序的运行结果是( )。#include int main( ) int x=3; do printf(%3d,x-=2); while(!(-x); return 0;A.1 -2B.死循环C.1D.10答案:A3、下面程序的运行结果是( )。#include int main( ) int i=0,sum=0; while(i+6) sum+=i; printf(%d,sum); return 0;A.21B.22C.15D.16答案:
16、A4、下面程序的运行结果是( )。#include int main( ) int i=10; while(i-0); printf(%d ,i); return 0;A.-1B.10C.0D.10987654321答案:A5、已定义int j; 下面程序段的输出结果是( )。for(j=7;j10;j+) printf(%d,j);A.91011B.789C.无结果D.8910答案:B6、下面程序的输出结果是( )。#include int main( ) int i,j,s=0; for(j=1,i=7;j=i;j+,i-) s=s+i+j; printf(%d,s); return 0;
展开阅读全文