《2021年南京某大学C语言程序设计专升本样卷(十二套试卷)及答案.pdf》由会员分享,可在线阅读,更多相关《2021年南京某大学C语言程序设计专升本样卷(十二套试卷)及答案.pdf(182页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C语言程序设计专升本精选样卷(一)上_一、单项选择题(共50题,每题2分,共计100分)()1、下列可作为c语言赋值的语句的是 OA、x-3,y=5B、a=b=6C、i 一;D、a,c()2、设有如下定义:s t r u ck s k(i n t a;f l o a t b;d a t a;i n t *p;若 要 使 P 指 向 d a t a 中 的 a域,正 确 的 赋 值 语 句 是。A、p=&a;B、p=d a t a.a;C、p=&d a t a.a;D *p=d a t a.a;()3、下 列 说 法 中 不 正 确 的 是。A、s w i t ch 语句功能可以由i f-e l
2、 s e 语句实现B、若用于比较的数据类型为d o u b l e,则不能用s w i t ch 语句来实现C、i f-e l s e 语句的执行效率总是比s w i t ch 语句高D、ca s e 子句可以有多个语句,并且不需要用大括号”括起来()4、以 下 是 死 循 环 的 程 序 段 是.A、f o r(i=l;)i f (+i%2=0)co n t i n u e;i f (+i%3 0)b r e a k:B、i=327 67;d o i f (i 0)b r e a k;w h i l e(+i);C、f o r(i=l;)i f(+i p=*q;()23、下面说法正确的是 o
3、A、任何包含数学运算的函数都只能使用单一的基本结构B、每 个 C 语言程序M A IN()必须定义函数,否则编译失败C、无论什么样的复杂算法,都可以使用三种基本结构来实现D、只要程序是使用基本结构编写的,就不会出现算法错误()2 4、以下程序中,w h i l e 循环的循环次数是 om ai n()(i n t i=0;w h i l e(i 10)(i f(i l)co n t i n u e;i f(i=5)br e ak;i+;)A、1B、10C、6D、死循环()25、c语言规定,简单变量做实参时,它 和 对 应 形 参 之 间 的 数 据 传 递 方 式 为.A、地址传递B、单向值传
4、递C、由实参传给形参,再由形参传回给实参D、由用户指定传递方式()2 6、设i n t x=10,a=0,b=25;条件表达式x V l?a+10:b的值是。A、0B、1C、10D、25()27、若有定义:i n t a=4,b=5;f l o at x =3.4,y=2.1;则下列表达式的值为(f l o at)(a+b)/2+(i n t)x%(i n t)yA、5.5第5/18 2页B、5 5C、5.5 00000D、5 5.00000()28、在c 语言中,ch ar 型数据在内存中以形式存储。A、原码B、补码C、A S CII 码D、反码()2 9、以下选项中关于c 语言常量的叙述错
5、误的是 oA、经常被使用的变量可以定义成常量B、常量分为整型常量、实型常量、字符常量和字符串常量C、所谓常量,是指在程序运行过程中,其值不能被改变的量D、常量可分为数值型常量和非数值型常量()30、有以下的程序#i n cl u d e v o i d f u n(ch ar *f n am e,ch ar *s t)(f i l e *m y f;i n t i;m y f=f o p e n(f n am e,w );f o r(i=0;i V s t r l e n(s t);i+)f p u t c(s t i ,m y f);f cl o s e(m y f);)m ai n()(f
6、 u n(t e s t,t ,n e w w o r l d );f u n (t e s t,t ,h e l l o,);)程序执行后,文件t e s t,t 中的内容是 oA、h e l l o,B、n e w w o r l d h e l l o,C、n e w w o r l dD、h e l l o,r i d()3 1、数组名作为实参数传递给函数时,数组名被处理为A、该数组的长度B、该数组的元素个数第6/182页C、该数组的首地址D、该数组中各元素的值()32、以下不能用于实型数据的运算符是 oA、%B、/C、*D、+()33、若有说明 i n t a 4 =0,0;则下面不
7、正确的叙述是 oA、数组a的每个元素都可得到初值0B、二维数组a的第一维大小为1C、因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1D、有元素a 0 0 和a 0 1 可得到初值0,其余元素均得不到初值0()34、递归算法的执行过程一般来说可先后分成 和 两个阶段。A、试探B、递推C、枚举D、分析()35、以 下 程 序 的 正 确 运 行 结 果 是。m ai n()i n t k=4,m=l,p;p=f u n c(k,m);printfp);p=f u n c(k,m);p r i n t f(*%dn*,p);)f u n c(i n t a,i n t b)(s
8、 t at i c i n t m=0,i=2;i+=m+l:m=i+a+b;r e t u r n(m);)A、8,1 6B、8,1 7C、8,2 0第7/182页D、8,8()3 6、有以下程序m ai n()(i n t i=O,s=0;do(i f(i%2)(i+:co n t i n u e;)i+;s+=i;w h i l e(i 写 出 下 列 程 序 段 运 行 结 果。u n s i g n e d i n t a=3,b=1 0;p r i n t f (%dn ”,a V V2|b=l);A、1 3*B、1 2C、8D、1 4()3 9、下面程序段的功能是 o.i n t
9、 a=4,0,2,3,1 ,i,j,t;f o r (i=0;=O&t a j)(a j+l=a j;J:a j+l =t;)A、对数组a进行插入排序(升序)B、对数组a进行插入排序(降序)C、对数组a进行选择排序(升序)D、对数组a进行选择排序(降序)()4 0、有如下定义s t r u ct p e r s o n(ch ar n am e 9;i n t ag e ;);s t r u ct p e r s o n cl as s 1 0=j o h u ,1 7 ,p au l”,1 9 ,根据上述定义,能输出字母m的语句是 o m ar y ,1 8 ,adam 1 6);A、p r
10、 i n f t (%cn ,cl as s 3.n am e );B、p r i n t f (%cn ,C、p r i n f t (%cn ,D、p r i n t f (%cn ,cl as s 3.n am e l);cl as s 2.n am e l);cl as s 2.n am e 0);)4 1、以下叙述中不正确的是A、表达式a&二 b等价于a=a&bB表达式a|=b等价于a=a|bC、表达式a!=b等价于a=a!bD、表达式a b 等价于=飞()4 2、下列关于指针变量的描述,不正确的是 oA、在没有对指针变量赋值时,指针变量的值是不确定的B、同类指针类型可以进行相减操作
11、C、在使用没有赋值的指针变量时,不会出现任何问题D、可以通过指针变量来取得它指向的变量值()4 3、若i n t i=1 0;第9/182页执行下列程序后,变量i 的正确结果是 Os w i t ch (i)(cas e 0:i+=l;cas e 1 0:i+=l;cas e 1 1:i+=l;de f au l t:i+=l;)A、1 0B、1 1C、1 2D、1 3)4 4、有如下程序m ai n()(i n t x=3;do(printfx一);)w h i l e(!x);)该程序的执行结果是 oA、3 2 1B、3C、不输出任何内容D、陷入死循环)4 5、下列选项中,表示字符串末尾的
12、结束标志是A、n B、C、0D、NULL)4 6、下列选项中正确的语句组是 oA、ch ar s 8;s=Be i j i n g ;B、ch ar *s;s=Be i j i n g ;C、ch ar s 8;s=Be i j i n g ;D、ch ar *s;s=Be i j i n g”;rrt.l 皿,./.-第10/182页)4 7、仕c诺吉甲,女伺双组足乂:ch ar ar r ay LJ=ch i n a;则双组ar r ay 助 占用的空间为A、5 个字节B、6 个字节C、1 0个字节D、1 2 个字节)4 8、有如下程序段i n t *p,a=6,b=2;p=&a;a=*p
13、+b;执行该程序段后,a的值为A、6B、8C、7D、编译出错)4 9、ch ar *s=t n am e addr e s s n”;指针 s 所指字符串的长度为:。A、说明不合法B、1 9C、1 8D、1 5)5 0、c 语言可执行程序从什么地方开始执行?()A、程序中第一条可执行语句B、程序中第一个函数C、程序中的m ai n。函数D、包含文件中的第一个函数第1 1/1 82 页【C语言程序设计专升本精选样卷(一)参考答案】一、单项选择题1、c2、C3、C【解析】并不是所有的i f-e l s e 语句的执行效率都高于s w i t c h 语句,在一些特定的情况下,s w i t c h
14、 语句可以比较简炼,同时容易阅读,因此,选项C 的描述是错误的。4、C5、B【解析】本题考核指针的运算。C 语言中,指向同一字符串的指针之间能且只能进行减运算,减运算后返回的是一整型数,表示指针之间的地址偏移量。6、D【解析】本题考查逗号表达式。逗号表达武的求解步骤是先求解表达式1,然后依次求解表达式2,直到表达式N的值。整个逗号表达式的值就足最后一个表达式N的值。(+x,y+)这个表达式的返回值是y+,先使用y 的债,然后将y 加1,所以输出第一个值为1。第二个输出的值为z+2=3+2=5。7、C【解析】注意:VC 编译器分配给整数的内存是4 字节。8、B【解析】算法是指为解决某个特定问题而
15、采取的确定且有限的步骤,一个算法应当具有五个特征:有穷性、确定性、可行性、有零个或多个输入、有一个或多个输出。本题答案B9、A【解析】C 语言的字符常量是用单引号()括起来的一个字符,也可以用以一个“”开头的字符序列来表示字符常量。其中形式 d d d 表示1 到3 位8进制数所代表的字符;形式 x h h 表示1 到2 位1 6进制数所代表的字符。在本题中 x l 3 表示回车符,是一个字符常量;而 081 用8进制数所代表的字符形式不正确,因为8进制数所表示的字符中不会出现数字“8 ;65 单引号(即撇号)括起来的不是一个字符,而是一个十进制数字;n 是用双引号括起来的一个字符,表示一个字
16、符串,而不是字符常量。1 0、C【解析】2 e 0.5,e 后面是整型常量。1 1、C1 2、D1 3、A1 4、C1 5、C第1 2/1 82 页1 6、C1 7、D【解析】此题考查的是数组元素的引用。对于已定义的数组a M N,数组元素的正确引用必须满足行下标小于M,列下标小于N且为正整数。此题中,选项D)中列下标值出现溢出。18、D19、A20、A【解析】在C 语言中,数据类型可分为基本数据类型、构造数据类型、指针类型、空类型4 大类,其中基本类型;字符型、整型、实型(单精度型和双精度型)、枚举类型。构造类型:数组、结构体、公用体。选项B 中的逻辑型和C 中双精度类型都属于基本数据类型,
17、选项D 集合类型属于构造类型;而选项A复数型不是C 语言的数据类型。21、C22、A23、C【解析】结构化程序有三种基本结构:循环结构、选择结构和顺序结构。无论什么样的复杂算法,都可以使用三种基本结构来实现;任何包含数学运算的函数都可以使用其中的任意基本结构。C语言区别大小写,每 个 C语言程序必须定义m a i n 函数。按基本结构编写,可能会出现算法错误,这之间没有因果关系。本题答案为C选项。24、D25、B26、D27、C【解析】在计算(f lo a t)(a+b/2时,由于通过强制类型转换将(a+b 转换成了f o a t 型,所以应先将2转换成f lo a t 型,再进行计算,得4.
18、5 00000。在计算(i n t)x%(i n t)y 时,先将x 和y 通过强制类型转换成i n t 型,再进行求余运算,得1。又因为4.5 00000是f lo a t 型,所以将1和它相加时,先将1换成f lo a t 型,再计算,得到5.5 00000。知识扩展 类型转换的一般规则是:低级类型服从高级类型,并进行相应的转换。数据类型的级别由低到高的排序表示为:c h a r-i n t-u n s i g n ed f lo n g f lo a t f d o u b le。28、C29、A3 0、A3 1、C3 2、A3 3、D【解析】定义二维数组时编译器会根据给出数值的个数和列
19、数确定二维数组的行数。不足一行补0。第13/182页3 4、B【解析】递归是设计和描述算法的一种有力的工具。能采用递归描述的算法通常有这样的特征:为求解规模为N的问题,设法将它分解成一些规模较小的问题,然后从这些小问题的解方便地构造出大问题的解,并且这些规模较小的问题也能采用同样的分解和综合方法,分解成规模更小的问题,并从这些更小问题的解构造出规模稍大问题的解。特别地,当规模N=1 时,能直接得到解。递推算法的执行过程分递推和回归两个阶段。在递推阶段,把较复杂的问题的求解推到比原问题简单一些的问题的求解;在回归阶段,当获得最简单情况的解后,逐级返回,依次获得稍复杂问题的解。3 5、B3 6、A
20、3 7、C【解析】当函数有返回值时,调用函数可以作为一个表达式的子表达式,而不是作为一条独立的语句存在。3 8、B3 9、B【解析】本题考查数组的使用,注意插入排序方法。4 0、D4 1、C4 2、C【解析】没有赋值的指针变量,可能指向任何地方,如果指向系统,那么使用该指针可能导致系统崩演。4 3、D4 4、B【解析】本题x 赋初值为3,当执行p r i n t f(刎”,x-);时,由于x-的作用是先运算x,再将x 的值减1,所以,p r i n t f 输 出 的 x 值为3,等输出后,x 的值减1 变为2,继续执行,判断条件!x 为假,循环只被执行一次。4 5、C【解析】字符串末尾结束标
21、志为 0 4 6、D4 7、B【解析】字符数组是每个元素存放一个字符型数据的数组。C 语言中约定用 0 作为字符串的结束标志,它占内存空间,但不计入字符串的长度。对数组a r r a y赋初值c h a r a r r a y口=C h i n a”,此时系统自动在末尾加入一个 0,此时数组a r r a y的长度为6,所占用的空间为6 个字节,即c h a ra r r a y口=C h i n a”等价于c h a r a r r a y口 =,C ,,h ,,n ,(a,,0 。若定义c h a ra r r a yD =C ,h ,i ,n ,a ,此时数组a r r a y的长度为5
22、 个字节。第1 4/1 8 2 页48、B49、D50、C第15/182页C语言程序设计专升本精选样卷(二)得分评卷人一、单项选择题(共50题,每题2分,共计100分)()1、在C语言中,以下一组运算符中,优先级最高的运算符是A、n均为i n t型变量,且a=5、b=6、c=7 d=8 m=2、n=3则逻辑表达式(m=a b)&(n=c d)运算后,n的值为。A、0B、1C、2D、3()4、运行下面程序时,若从键盘输入数据为1 2 3,则输出结果是.t t i n cl ude s t di o.h vo i d m ai n()(i n t n um,i,j,k,p l ace;sc a n
23、f&nu m);i f (n um 99)p l ace=3;el s e i f (n um 9)p l ace=2;el s e p l ace=l;i=n um/1 0 0;j=(n um-i*1 0 0)/1 0;k=(n um-i*1 0 0-j*1 0);s wi t ch (p l ace)cas e 3:p r i n t f (%d%d%dn”,k,j,i);br eak;第16/182页cas e 2:p r i n t f(%d%dn”,k,j);br eak;cas e 1:p r i n t f(%dn ,k);)A、1 2 3B、1,2,3C、3 2 1D、3,2,
24、1)5、函数默认返回类型为A、i n tB、vo i dC、随机D、bo o l)6、下列程序中c的二进制值是 o ch ar a=2,b=4,c;c=a-b 2;A、0 0 0 0 0 0 1 1B、0 0 0 1 0 1 0 0C、0 0 0 1 1 1 0 0D、0 0 0 1 1 0 0 0)7、下面程序的输出结果是#i n cl udem ai n()(i n t a=l,2,3,4,5,6,7,8,9,0,*p;P=a;p r i n t f(%dn”,*p+9);)A、0B、1C、1 0D、9)8、以下c语言用户标识符中,不合法的是 oA、_1B、A aB cC a b第17/1
25、82页D、a-b()9、下列选项中c语言中不合法的字符串常量的是 oA、B、,yC、n n D、A B C D x6 d()1 0、下面各选项中,均是c语言合法标识符的选项组是 oA、3 3 we aut oB、_2 3 m e _3 ewC、_4 3 3 e_ el s eD、E R-D F 3 2()1 1、结构化程序设计方法的三种基本控制结构中不包括(.)oA、循环结构B、递归结构C、顺序结构D、选择结构()12、下列各数据中,()最小。A、1 1 0 1 1 0 1 1(二进制数)B、76(十进制数)C、3 7(八进制数)D、2 A 8(十六进制数)()13、下列语句中正确的是 oA、
26、ch ar*m ySt r i n g=H el l o-Wo r l d!”;B、ch ar m ySt r i n g=H el l o-Wo r l d!”;C、ch ar m ySt r i n g l l=w H el l o-Wo r l d!n;D、ch ar n l ySt r i n g 1 2=z,H el l o-Wo r l d!*;()1 4、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A、函数调用可以作为独立的语句存在B、函数调用可以作为一个函数的实参C、函数调用可以出现在表达式中D、函数调用可以作为一个函数的形参()15、有以下程序:第18/182
27、页#i n cl ude m ai n()(ch ar a=h;a=(a=,a&a=,z)?(a,a+a):a;p r i n t f (枇n ,a);)程 序 运 行 后 的 输 出 结 果 是。A、AB、aC、HD、h()1 6、下列语句中,可以作为无限循环语句的是A、f o r(;)B、f o r(i n t i=O;i 1 0 0 0 0;i+)C、wh i l e(f al s e)D、do)wh i l e(f al s e)()1 7、以下程序的输出结果是 om ai n()(ch ar t 口=s t uden t ,*p;P=t+1;printf*p+);printf*p+)
28、;)A、t uB、s tC、udD、en()1 8、以下程序的输出结果是 ot t i n cl ude t t i n cl ude m ai n()(ch ar s t r 1 2 =,s,,,t,,,r,,,i,,,n,,,g,;p r i n t f(%dn ,s t r l en(s t r);)A、6第19/182页B、7C、1 1D、1 2()1 9、关于数组的叙述中,下列说法不正确的是 oA、数组是最简单的复合数据类型,是有限元素的有序集合B、数组的元素可以是值(基本数据类型)、对象或其他数组C、定义数组时,必须分配内存D、一个数组中的元素都必须是相同的类型()20、若有以下定
29、义的语句s t r uct s t uden t(i n t ag e;i n t n um;);s t r uct s t uden t s t u3 =1 0 0 1,2 0 ,1 0 0 2,1 9,1 0 0 3,2 1 ;m ai n()(s t r uct s t uden t *p;p=s t u;则以下不正确的引用是 oA、(p+)-n umB、p+C、(*p).n umD、p=&s t u.ag e()2 1、一个算法应该具有确定性等5 个特性,下面对另外4 个特性的描述中错误的是 oA、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性()22、ch ar al =a
30、bc,a2 80=1 2 3 4 ;将al 串连接到a2 串 后 面 的 语 句 是。A、s t r cat(a2,al);B、s t r cp y(a2,al);C、s t r cat(al,a2);D、s t r cp y(al,a2);()2 3、有以下程序 ch ar f un (ch ar x,ch ar y)第2 0/1 82 页i f(x 1 0&a a =1 5)()2 7、下面是有关c 语言字符数组的描述,其中错误的是 oA、不可以用赋值语句给字符数组名赋字符串B、可以用输入语句把字符串整体输入给字符数组C、字符数组中的内容不一定是字符串D、字符数组只能存放字符串()28、表
31、 示 一 条 指 令 的 存 储 单 元 的 符 号 地 址 称。第2 1/1 8 2 页A、标号B、变量C、偏移量D、类型()2 9、以下能正确定义字符串的语句是 oA、c h a r s t r =06 4z;B、c h a r s t r=k x 43”;C、c h a r s t r=;D、c h a r s t r =0;()3 0、以下叙述中正确的是 oA、预处理命令行必须位于源文件的开头B、在源文件的一行上可以有多条预处理命令C、宏名必须用大写字母表示D、宏替换不占用程序的运行时间()31、设v o i d f l (i n t *m,l o n g&n);i n t a;l o
32、 n g b;则 以 下 调 用 合 法 的 是 oA、f l (a,b);B、f l(&a,b);C、f l(a,&b);D、f l(&a,&b);()3 2、若有说明和语句i n t a=5;a+;此处表达式a+的值是A、7B、6C、5D、4()3 3、以 下 叙 述 正 确 的 是。A、在C 语言程序中,ma i n 函数必须位于程序的最前面B、C 语言程序的每行中只能写一条语句C、C 语言本身没有输入输出语句D、在对一个C 语言程序进行编译的过程,可发现注释中的拼写错误()34、定 义 结 构 体 的 关 键 字 是。第22/182页A、unionB、enumC、structD、typ
33、edef()35、下面程序的运行结果是 oinclude main()(int i,b,k=0;for(i=1;i=0)k+;)printf(%d,%d”,k,b);)A、3,-1B、8,-1C、3,0D、8,-2()36、下列标识符不是关键字的是 oA、breakB、charC、SwithD、return()37、若有以下说明和语句:int c45,(*p)5;p=c;能够正确引用c数组元素的是_ oA、p+1B、*(p+3)C、*(p+l)+3D、*(p0+2)()38、以下程序段的输出结果是 oint main(void)(int num=0,s=0;while(num V=2)第23/
34、182页n u m+;s +=n u m;)p r i n t f(%d n ,s);r e t u r n 0;)A、1 0B、6C、3D、1()3 9、请读程序段:c h a r s t r =*a b c d*,*p=s t r:p r i n t f (*%d n*,*(p+4);程序段的输出结果是 oA、6 8B、0C、字符D 的地址D、不确定的值()40、以下对枚举类型名的定义中正确的是 oA、e n u m a=s u m,mo n,t u e;B、e n u m a s u m=9,mo n=T,t u e;C、e n u m a=s u m,mo n ,t u e ;D、e
35、n u m a s u m,mo n ,t u e ;()41、以下关于运算符优先级比较,正确的是 oA、算术运算符逻辑运算符比较运算符B、逻辑运算符比较运算符算术运算符C、算术运算符比较运算符逻辑运算符D、以上均是错误的()4 2、下面关于形参与实参的说法,正确的是 oA、形参与实参的个数、类型、顺序都应一一对应B、形参与实参的个数可以不必相同,少一个多一个程序一样执行C、形参与实参的类型可以不同,不影响运算结果D、形参与实参的类型个数相同,而顺序不同,计算机可以自动进行匹配,所以形参的顺序无所谓,只要各种形参类型的数量与实参相同即可()4 3、c 语言中下面哪个不是条件语句?A、i f第2
36、4/182页B、i f e l s eC、NS L o gD、s w i t c h()44、c 语言中下面哪个不是循环语句?A、do w hi l eB、i fC、w hi l eD、f o r()45、有如下定义语句:i n t a =1,2,3,4,5 ,则对语句i n t *p=a;正确的描述是A、语句i n t *p=a;定义不正确B、语句i n t *p=a;初始化变量p,使其指向数组对象a 的第一个元素C、语句i n t *p=a;是把a 0 的值赋给变量pD、语句i n t *p=a;是把a l 的值赋给变量p()4 6、以下关于c/c 语言指针变量的叙述中,正确的是 oA、指
37、针变量可以是全局变量也可以是局部变量B、必须为指针变量与指针所指向的变量分配相同大小的存储空间C、对指针变量进行算术运算是没有意义的D、指针变量必须由动态产生的数据对象来赋值()4 7、以下对一维数组c进行正确的定义初始化的语句是 oA、i n t c 10=0;B、i n t c 10=0*10:C、i n t c 1=0,0,0,0,0,0,0)D、i n t c 10=0;()4 8、流程图里面的开始和结束用()表示。A、矩形B、圆C、椭圆D、菱形()4 9、下面各语句行中,能正确进行字符串赋值操作的语句是A、c ha r S T 5=A B CDE;B、c ha r S 5 =A ,B
38、 ,C,D,E;C、c ha r *S ;S=A B CDE;第25/182页D、char*S;scanf(%S”,S);()50、已知函数的调用形式:fread(buf,size,count,fp),参数buf的含义是A、一个整型变量,代表要读入的数据项总数B、一个文件指针,指向要读的文件C、一个指针,指向要读入数据的存放地址D、一个存储区,存放要读的数据项第26/182页【C语言程序设计专升本精选样卷(二)参考答案】一、单项选择题1、c2、B3、D4、C5、A6、A7、C【解析】此题考查了指针引用一维数组元素的方法。*p+9 因为运算符“*”的优先级高于“+”,所以输出结果为P指向的元素1
39、,然后加9,值为10。8、D9、B【解析】字符串常量是由双引号括起来的一串字符,其中的双引号不可缺少。由此可知,选项A)、C)、D)都是合法的字符串常量,而选B)是一个字符常量。10、B【解析】合法的标识符是由字母、数字和下划线组成,并且第一个字符必须为字母或下划线,用户定义的标识符不能与关键字相同。选项A),数字不能为第一个字母,a u t o 为关键字;选项C)中,也是数字不能为第一个字母,e l s e 为关键字;选项D)中负号不合法。11、B12、C【解析】(11011011)2=(219)10;(37)8=(31)10:(2A 8)16 (200)1013、A【解析】选项C、D的数组
40、下标超界;对于选项B,不能将字符串赋值给字符,可以将一个字符串赋值给字符指针,指针指向字符数组的首地址。1 4、D1 5、D【解析】多元运算符问号前面表达式为真,所以(a-A +a)赋值给a,括号里的运算是把大写字母变成小写字母,所以答案应为选项D。1 6、A【解析】B 的循环终止条件为1 0 0 0 0,C D 的终止条件为常量f al s e,都不能无限循环。1 7、A1 8、A第2 7/1 82 页19、C【解析】【命题目的】考查数组的基本概念。【解题要点】定义数组时,并不分配内存,所以对数组的定义并不要求给出其元素的个数。【考点链接】数组分配内存是通过new操作符或静态初始化来实现的。
41、20、D【解析】考查对结构体成员的引用方法。解题要点结构体成员的引用可以用“结构体变量名,成员名”或 者“结构体变量指针-成员名”两种方式来引用。考点链接结构体类型的变量、数组和指针变量的定义。21、B22、A23、D24、A【解析】结构化程序的基本结构为循环结构、选择结构和顺序结构,选 项A正确;计算机可以执行循环结构、选择结构和顺序结构的C语言程序,选 项B错误;循环结构可以使用-S流程图描述,选 项C错误;算法复杂度是指算法在编写成可执行程序后,运行时所需要的时间资源和内存资源,并不是指算法语句的多少,选 项D错误;本题答案为Ao25、D【解析】函数在定义时已经可以指定其函数类型,则函数
42、返回值类型就是该类型。26、A27、D28、A【解析】标号表示一条指令的存储单元的符号地址。29、D30、D31、B【解析】如果调用合法,则只有B满足两个参数为指针和引用的条件。32、C33、C【解析】考查C语言的几个基本概念。解题要点选项A)中,main函数可以放在程序的任何位置,不一定要放在程序的最前面,不论main函数放在什么位置,程序的执行却总是从main函数开始的;选项B)中,因为C语言的语法限制不严格,所以可以多条语句放在同一行上;选项C)是正确的,C语言中没有专门的输入输出语句,输入输出是通过使用输入输出库函数来实现的;选项D)是错误的,因为C语言中的注释是不会被编译的。考点链接
43、掌握算法的相关特性。34、C第28/182页3 5、D3 6、C3 7、D【解析】本题中定义了一个二维数组c 和一个指针数组p,并初始化让p指向c。显然此时p中的各元素为地址,选项A中p+1,此时其中的1 代表的长度是整个二维数组c 的长度,故p+1 将让p指向c 数组后面的元素,不能引用c 数组中的成员,故选项A错误;同理选项B 和选项C 都不正确,选项D 中p 0 指的是指针数组中的第一个元素的地址即c 的首地址,此时的1 的长度代表的是数组C 中一行的长度,故p 0 +2 代表的是第3 行的首地址,而*(p 0 +2)将代表第3 行的第一个元素的地址,所以,4 个选项中选项D 符合题意。
44、3 8、B3 9、B【解析】在对字符数组赋字符串值时,系统会自动在字符串的末尾加上一个字符串结束标志 0 ,故指向字符数组的指针P的*(p+4)的值为 0 。由于 0 的编码值就是0,所以本题输出为0。4 0、B4 1、C【解析】本题考查运算符优先级的概念。关于运算符的优先级一直是考试的重点内容,考生应该熟练掌握。优先级的关系是:算术运算符连接运算符,比较运算符,逻辑运算符所有比较运算符的优先级相同,算术运算符和逻辑运算符有严格的执行顺序。4 2、A【解析】形参、实参个数类型、数量、顺序应相同,因为类型转换都是有条件的,如果浮点型变量向指针型变量转换就是不可的。4 3、C4 4、B4 5、B4
45、 6、A【解析】存放地址的变量称为指针变量。指针变量是一种特殊的变量,它不同于一般的变量,一般变量存放的是数据本身,而指针变量存放的是数据的地址。选项A显然是正确的。对于选项B,指针变量和指针所指向的变量存放的内容是不一样的,只要分配够用就行了,不需要分配一样大小的存储空间。对于选项C,指针变量加1 便指向下一个存储单元,是有意义的。另外指针变量可以静态地定义。4 7、D4 8、C4 9、C5 0、C【解析】b u f 是一个指针。对函数f r e a d 来说,它是读入数据的存放地址(指起始地址)。对 f w r i t e 来说,是要输出数据的地址。第2 9/1 82 页第30/182页C
46、语言程序设计专升本精选样卷(三)得分评卷人一、单 项 选 择 题(共50题,每题2分,共计100分)()1、假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的值A、8B、7C、6D、4()2、若有定义i n t a=12,n=5,则表达式a%=(n%2)运算后,a的值:A、0B、1C、12D、6()3、有如下程序m ai n()(i n t x=l,a=5,b=5;sw i t ch(x)(case 0:b ;case 1:a;case 2:a;b 一;)p r i n t f (a=%d,b=%d n”,a,b);)该程序的输出结果是 oA、a=3,b=4B、a=3,b=3C、
47、a=4,b=5D、a=4,b=4()4、下面的程序m ai n()(i n t x=3;d o第31/182页p r i n t f(%d n”,x-=2);)w h i l e(!(-x);)A、输出的是1B、输出的是1和-2C、输出的是3和0D、是死循环()5、下面各语句行中,能正确进行给字符串赋值操作的语句行是 oA、ch ar st 4 5=*AB C D E*:B、ch ar s 5=A,B,C,D,E;C、ch ar *s=AB C D E”;D、ch ar *s;scan f(%s,*s);()6、若定义:i n t a=511,*b=&a;则p r i n t f (%d n
48、,*b);的输出结果为A、无确定值B、a的地址C、512D、511()7、若有定义语句:i n t m =5,4,3,2,l,i=4;则下面对m 数组元素的引用中错误的是A、m i B、m 2*2 C、D、()8、以下选项中不能作为c语言合法常量的是A、cd B、0.l e+6C、aD、()9、有以下程序v o i d f u n(ch ar s 10,i n t n)ch ar t;i n t i,j;第32/182页f o r(i=0;i N-l;I+)f o r(j=i+l,j s j 0)t=s i 0;s i 0=s j 0;s j 0=t;)m ai n()(ch ar ss 5
49、10 =“b cc”,“b b cc“,“x y ,aaaaccw,aab cc”;f u n(ss,5);p r i n t f(w%s,%s”,ss O,ss 4);)程序运行结果是 OA、x y,aaaaccB、aaaacc,x yC、X C C,aab ccD、ace,x ab cc()10、在c语言程序中可用做用户标识符的是 oA、v o i dB、aa12 3 _ab cB B N casC、as+b 3D、6f12 3 D oI f S I G()11、若函数中有定义语句:i n t k;则A、系统将自动给k 赋初值0B、这时k 中的值无定义C、系统将自动给k 赋初值TD、这时k
50、 中无任何值()1 2、一个字长为8位的无符号二进制整数能表示的十进制数值范围是 oA、0 2 56B、0 2 55C、12 56D、12 55()1 3、设有宏定义:#d ef i n e I sD I V(k,n)(k%n=l)?l:0)且变量m 已正确定义并赋值,则宏调第33/182页用:I sD I V(m,5)&I sD I V(m,7)为 真 时 所 要 表 达 的 是。A、判断m 是否能被5或者7整除B、判断m 是否能被5和7整除C、判断m 被5或者7整除是否余1D、判断m 被5和7整除是否都余1()1 4、函数的值通过r et u r n 语句返回,下面关于r et u r n