计算机语言C冲刺卷(八套试卷)及答案.pdf
《计算机语言C冲刺卷(八套试卷)及答案.pdf》由会员分享,可在线阅读,更多相关《计算机语言C冲刺卷(八套试卷)及答案.pdf(85页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计 算 机 语 言 C冲 刺 卷(一)(考试时间90分钟,总分100分)准考证号:姓名:一、单项选择题(共20题,每题2分,共计40分)()1、下列属于C 语言合法的字符常数是_ _ _ _ _ _。A、97B、A C、t,D、”0【答案】C【解析】C 语言中字符常数是单引号括住的单个字符或转义字符,转义字符为“”后跟一个特定字符或八进制或十六进制的整数。八进制数前面可以加0 也可以不加0,十六进制前面只能加O x。所以本题中,首先可以排除选项B 和选项D,由于选项A 中,97不是一个正确的八进制数,也不是正确的十六进制数,而选项C 是正确的字符常数,它代表的是字符制表符t a b。()2、下
2、述共同体变量x所占用内存字节数为 ou n i o n e xp(i n t i;f lo a t j;d o u b le k;)X;A、16 个B、12 个C、8个D、随机而定【答案】C【解析】共用体占内存大小是根据其成员最大占内存大小来决定的。()3、以下选项中非法的表达式是 oA、0=x10 0B、i=j=0第1/85页C、(c h a r)(65+3)D、x+1=x+1【答案】D()4、设变量a、b、e、d 和y都已正确定义并赋值。若有以下i f 语句:i f(a V b)i f(c=d)y=0;e ls e y=1;该 语 句 所 表 示 的 含 义 是。A、y=0,aB、y=0,
3、ay=l,a 2b y 1,a b 且c W dC、y=0,aD、y=0,ay=l,a I&C W D y=1,c W d【答案】C()5、有以下程序:t t i n c lu d e ma i n O(i n t i,s=0,t E =(1,2,3,4,5,6,7,8,9;f o r (i=0;i 3,t 4 5,t 6=7,t 8=9,对其进行求和运算,结果为25。()6、若各选项中所有变量已正确定义,函数f u n 中通过r e t u r n 语句返回一个函数值,以下选项中错误的程序是 OA、ma i n O .x=f u n(2,10);.f lo a t f u n(i n t A
4、,i n t b).B、f lo a t f u n(i n t A,i n t b).ma i n O.x=f u n(i,j);.C、f lo a t f u n(i n t i n t);ma i n O第2/85页x=f u n(2,10);.f lo a t f u n(i n t A,i n t b)D、ma i n ()f lo a t f u n(i n t i,i n t j);.x=f u n(i,j);f lo a t f u n(i n t A,i n t b)【答案】A()7、一个c 语言程序在一台32位机器上运行。程序中定义了三个变量x,y,z,其中x和z是i n
5、t 型,v 为s h o r t 型。当x=127,y=-9时,执行赋值语句z=x+y后,x,y,z的值分别是。A、x=0 0 0 0 0 0 7FH,y=FFF9H,z=0 0 0 0 0 0 76HB、x=0 0 0 0 0 0 7FH,y=FFF9H,z=FFFF0 0 76HC、x=0 0 0 0 0 0 7FH,y=FFF7H,z=FFFF0 0 76HD、x=0 0 0 0 0 0 7FH,y=FFF7H,z=0 0 0 0 0 0 76H【答案】D【解析】考察符号位的扩展。结合题干及选项可知,i n t 为32位,s h o r t 为16位;又c 语言的数据在内存中为补码形式,
6、故x、y的机器数写为0 0 0 0 0 0 7F、FFF7H;执行z=x+y时,由于x是i n t 型,y为s h o r t 型,故需将y的类型强制转换为int,在机器中通过符号位扩展实现,由于y的符号位为1,故在y的前面添加1 6个1,即可将y强制转换为int型,其十六进制形式为F F F F F F F 7H;然后执行加法,即0 0 0 0 0 0 7F H+F F F F F F F 7H=0 0 0 0 0 0 76H,其中最高位的进位1 自然丢弃。()8、下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,请选择填空。ttinclude ma in(
7、)(int a,b,t;sca nf(9 6d%d”,&a,&b);while()if(a b)(t=a;a =b;b =t;printf(zz%d,%d nz,,a,b);sca nf(%d9 6d,&a,&b);A、!a 二 b第3/85 页B、a!=bC、a=bD、a=b【答案】B()9、设有int x,y;以下语句判断x和y是否相等,正 确 的 说 法 是 该 语 句。if(x=y)printf(”to y.;A、语法错B、不能判断x和y是否相等C、编译出错D、能判断x和y是否相等【答案】B()1 0、在c语言中,以作为字符串结束标志A、nB、,C、0 D、0【答案】D()11、合法的
8、数组定义是 oA、int a =string”;int a 5 =0,1,2,3,4,5;C、cha r a =string”;D、cha r a=0,1,2,3,4,5;【答案】D()1 2、以下叙述中错误的是 oA、函数形参的值也可以传回给对应的实参B、函数调用可以作为一个独立的语句存在C、若函数有返回值,必须通过return语句返回D、C 程序必须由一个或一个以上的函数组成【答案】A【解析】函物参数传涕杲个不可逆的过程.形参不会杷值传回实参.所以A诜项错误。x is equa l第4/85 页()1 3、现代计算机中采用二进制数制是因为二进制数的优点是_ _ _ _ _ _。A、代码表示
9、简短,易读B、物理上容易实现且简单可靠;运算规则简单;适合逻辑运算C、容易阅读,不易出错D、只有0,1两个符号,容易书写【答案】B【解析】二进制数只用“0”和“1”来存储,因此物理上容易实现且简单可靠,运算规则简单,适合逻辑运算。但不容易阅读,易出错。()1 4、字符串xyz在内存占用的字节数是一,A、3B、4C、6D、8【答案】B【解析】字符串中的每个字符占1个字节,但C程序在存储字符串时,要在最后一个有效字符后面接上1个字符串结束的标记符 0。这样,存储字符串常量 XyZ”需要4个字节。所以解答是B。()1 5、有以下程序#define N 5ttdefine M N+l#define f
10、(x)(x*M)mainO int il,i2;il=f(2);i2=f(1+1);printf(/z%d%d”,il,i2);)程序的运行结果是 oA、12 12B、11 7C、11 11D、12 7【答案】B)16、下 列 程 庠 的 输 由 结 果 星第5/85页/4 I,*|UW-1/I、/-*-#i n c l u d e m a i n O(i n t i,a=O,b=O;f o r(i=l;i 1 0;i+)(i f (说2=0)(a+;c o n t i n u e;)b+;)p r i n t f (a 二%d,b$d”,a,b);)A、a=4,b=4B、a=4,b=5C、a
11、=5,b=4D、a=5,b=5【答案】B【解析】c o n t i n u e 语句的作用是跳过本次循环体中余下尚未执行的语句,接着再一次进行循环条件的判定。当能被2整除时,a 就会增1,之后执行c o n t i n u e 语句,直接执行到f o r 循环体的结尾,进行i+,判断循环条件。()1 7、设有如下说明:t y p e d e f s t r u c t(i n t n;c h a r c;d o u b l e x;)s t d;则以下选项:能正确定义结构体数组并赋初值的语句是 oA、STDt t 2=l,A,62,2,B,75 ;B、STDt t 2=l,A,62,2,B,7
12、5);C、s t r u e t t t 2=1,A ,2,B ;D、s t r u c t t t 2=l,A,62.5,2,B,75.0 ;【答案】A【解析】第6/85页本题定义了一个结构体类型并白定义类型名为STD,用户自定义类型后,就可以利用它进行变量与数组的定义。定义的方法,与C语言中其它类型的定义完全一样,定义结构型数组并赋初值时,每个元素用一对“”和“厂括起来,字符型元素用”括起来,选项A、B、C、D中只有选项A符合条件。所以,A选项为所选。()18、有以下程序t t i n c l u d e m a i n()(c h a r s t r 20 =h e l l o ,b e
13、 i j i n g ,*p=s t r;p r i n t f(%d n”,s t r l e n(p+20);)程序运行后的输出结果是 oA、0B、5C、7D、20【答案】c()1 9、下面说法正确的是 0A、c h a r *x,y,*s t r 同时定义了三个变量,符合语法规范B、数组说明符的一对方括号中只能使用常量数值C、单精度浮点值也可以作为数组下标D、若有定义 f l o a t a r r 2则 p r i n t f (%2.If ,a r r a y 0.5)是合法的语句【答案】A【解析】定义数组时,一对方括号内为整型数据类型,可以是变量也可以是常量,选 项 B 错误;访问
14、数组时,数组下标为整型数据,选项C,D 错误。在 选 项 A 中,定义了 3 个变量,类 型 为 c h a r 的变量x,类 型 为 c h a r 的 变 量 y类 型 为 c h a r 的 变 量 s t r 本题答案为A 选项。()2 0、下列选项中不属于c 语言的数据类型是 0A、复数型B、逻辑型C、双精度型D、集合型【答案】A【解析】在C语言中,数据类型可分为基本数据类型、构造数据类型、指针类型、空类型4大类,其中基第7/85页本类型;字符型、整型、实型(单精度型和双精度型)、枚举类型。构造类型:数组、结构体、公用体。选项B中的逻辑型和C中双精度类型都属于基本数据类型,选项D集合
15、类型属于构造类型;而选项A复数型不是C语言的数据类型。二、判 断 题(共 10题,每题2分,共计20分)()1、C语言程序中,出现非法字符时会发出错误信息。【答案】正确()2、c语言中逗号运算符不是所有运算符中级别最低的。【答案】错误()3、通过return语句,函数可以带回一个或一个以上的返回值。【答案】错误()4、f o r语句只能用于循环次数已经确定的情况【答案】错误()5、字符串that小于字符串the字()【答案】正确()6、可以在一个函数中定义另一个函数。【答案】错误()7、在定义数组之后,根据数组中元素的类型及个数,在内存中分配一段连续存储单元用于存放数组中的各个元素。【答案】正
16、确()8、c语言程序中可以有多个函数,但只能有一个主函数。【答案】正确()9、c语言允许用字符串的方式对数组作初始化赋值。【答案】正确()10、c语言对文件读、写之前必须先打开文件,在使用文件之后应关闭该文件。【答案】正确三、编 程 题(共 3题,每题分值不等,共计40分)第8/85页1 编写程序:计算s um=l T/3+l/5 T/7+1/1 9 (本题1 0 分)【答案】#i n c l ud e m a i n()(i n t i;f l o a t s um=0,k=T;f o r (i=l;i =1 9;i=i+2)s um=s um+l.0/i*k;k=-k;p r i n tf
17、(%f”,s um);g e tc h ();2、将一个正整数分解质因数。例如:输入9 0,打印出9 0=2*3*3*5。(本题1 4 分)【答案】程序分析:对n 进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(2)如果n k,但n 能被k 整除,则应打印出k 的值,并用n 除以k 的商,作为新的正整数你n,重复执行第一步。(3)如果n 不能被k 整除,则用k+1 作为k 的值,重复执行第一步。程序源代码:m a i n()(i n t n,i;p r i n tf (n p l e a s e i n p
18、 ut a n um b e r :n/z);scanf&n);print fn);f o r(i=2;i =n;i+)(w h i l e(n!=i)(i f(n%i=0)p r i n tf r%d*,i);n=n/i;)e l s eb r e a k;)print fn);第9/8 5 页)3、题 描 述输n (3 W n W 3 0)个学 的数据记录,对于每 个 学,其记录包含了学号、姓名、3门课程(程序设计基础、计算机导论、等数学)的成绩共5项。要求查找程序设计基础低于平均分的学,并输出该的所有信息要求使结构体数组实现,结构体中包括了每个学的5项记录。输共有5 ,每 包 含 了 个
19、 学 的 学 号(整数)、姓 名(长度不超过3 0的 空 格 字 符 串)和程序设计基础、计算机导论、等数学等3门课程的成绩(0 1 0 0之间的整数),空格隔开。输出输出程序设计基础低于平均分的学的所有信息、;每个输出占1 ;如果没有找到的话,输出 “N。”样例输32 0 1 7 0 1 0 3 7 72 0 1 7 0 1 0 3 8 62 0 1 7 0 1 0 4 3 6样例输出2 0 1 7 0 1 0 4 3 6chen si yuan 9 9 9 1 9 0wan gti n g 9 4 9 3 8 8chen hui 8 5 8 8 9 0chen hui 8 5 8 8 9
20、0 (本题 1 6分)【答案】#i n cl udeco n st i n t N =3 0+5;typedef struct studen t i n t n um;char n am e3 0;i n t cxsj j c;i n t j sj dl;i n t gdsx;ST U;i n t m ai n()i n t n,m =0;fl o at aver,sum;scan f(级d”,&n);ST U stuN;fo r(i n t i =0;i n;i+)scan f(/%d%s%d%d%d,)&stui.n um,stui.n am e,&.stui.cxsj j c,&stui
21、.j sj dl,&stui.gdsx);fo r(i n t j =0;j n;j+)sum +=stuj.cxsj j c*1.0;aversum /(n *1.0);fo r(i n t k=0;k n;k+)第1 0/8 5页i f(stuk.cxsj j c int&x;D、int&x=&n;【答案】A【解析】引用是个别名,建立引用后,引用即作为目标的别名而使用,对引用的改动实际上就是对目标的改动。要求引用的声明语句要同时包括变量的数据类型、引用操作符“&”、引用名、赋值符号和目标名。引用在声明时必须进行初始化,一旦初始化,便不能作为其他变量的引用而使用。()3、若t 已经定义为in
22、 t类型,则表达式:(t=l,t+,t+5)的值为。A、7B、7.0C、2.0D、1.0【答案】A【解析】t 为double类型变量,经过一系列运算后其结果仍为double类型,该题中t 先进行自增再进行t+5第12/85页运算,结果为7.O d。()4、在c程序中,判逻辑值时,用非0”表示逻辑值真,又用0 表示逻辑值假。在求逻辑值时,逻辑真和逻辑假可分别表示为A、1 0B、0 1C、非0 非0D、1 1【答案】A【解析】在C程序中,判断逻辑值时,用 非 0 表示真,用0 表示假。逻辑表达式计算时,逻辑表达式值为真是用1 表示的,若逻辑表达式的值为假,则 用 0 表示。()5、以下程序运行后的
23、输出结果是 om a i n()(i n t i=0,s=l;f o r (;)i f (i=5)b r e a k;i+;s+=i;)p r i n t f s);A、死循环B、1 6C、1 5D、1 1【答案】B()6、以下叙述中正确的是_ _ _ _ _oA、每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元B、一条语句只能定义一个数组C、数组说明符的一对方括号中只能使用整型常量,而不能使用表达式D、在引用数组元素时,下标表达式可以使用浮点数【答案】A【解析】第13/85页数组的元素是同一类型,占用连续空间,所以选择A。()7、下列关于表达式的描述中,错误的是 oA、
24、常量和变量都是表达式B、运算符类型对应表达式的类型C、每一个表达式都有自己的值D、表达式必须以分号结尾【答案】D【解析】语句必须以分号结尾,表达式不是必须以分号结尾,表达可以嵌套。()8、以下叙述中正确的是 _ oA、不能用字符串常量对字符数组名进行整体赋值操作B、字符串常量He l l o”会被隐含处理成一个无名字符型数组,它有5 个元素C、c h a r s t r 7 =s t r i n g!”;在语法上是合法的,运行也是安全的D、c h a r *s t r;s t r=He l l o”;与c h a r s t r 口 ;s t r=He l l o”;效果是一样的【答案】A【解
25、析】字符数组在定义时可以用字符串赋初值,其后就不可以再用字符串常量进行赋值。答案选择A。()9、下列()表达式不满足;当x的值为偶数时值为真,为奇数时值为假。A、x%2=0B、!x%2!=0C、x/2*2-x=0D、!(x%2)【答案】C()1 0、以下选项中关于c语 言 常 量 的 叙 述 错 误 的 是。A、经常被使用的变量可以定义成常量B、常量分为整型常量、实型常量、字符常量和字符串常量C、所谓常量,是指在程序运行过程中,其值不能被改变的量D、常量可分为数值型常量和非数值型常量【答案】A()11、有以下程序m a i n()第1 4/8 5 页char s=nl23;printf(%d,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机语言 冲刺 试卷 答案
限制150内