C语言程序设计专升本练习(一)(总分100分,者试时长60分钟一、单项选择题(每小题2分,共10 0分)1、以下条件表达式中能完全等价于条件表达式x的是.A、(x=0)B、(x!=0)C、(x=l)D、(x!=l)2、若有定义i n t a;f l o at b;d o u bl e c;程序运行时输入:3 4 5回 车)能把值3输入给变量a、4输入给变量b、5输入给变量C的语句是 OA、s c an f(%d%f%l f,&a,&b,&c);B、s c an f(%d%l f%l f,&a,&b,&c);C、s c an f(%d%f%f,&a,&b,&c);D、s c an f(%l f%l f%l f,&a,&b,&c);3、c语言的i f语句嵌套时,i f与e l s e的 配 对 关 系 是。A、每个e l s e总是与它上面的最近的并且尚未与其他e l s e匹配的i f配对B、每个e l s e总是与最外层的i f配对C、每个e l s e与i f的配对是任意的D每个e l s e总是与它上面的i f配对4、下列w h i l e循环,将执行i n t i=4;w h i l e(一i)p r i n t f(%d,i);A、3次B、4次C、0次D、无限次5、对于以下递归函数f,调用f(4),其返回值为0i n t f(i n t n)i f (n)r e t u r n f(r)-1)+n;e l s e r e t u r n n;)A、10B、4C、0D、以上均不是。6、在下列的标识符中,错误的是。A、$_12 3B、Ix y zC、$l _abcD、abc _$12 37、下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,请选择填空。#i n c l u d e m ai n O(i n t a,b,t;s c an f(%d%d,&a,&b);w h i l e ()i f (a b)t =a;a=b;b=t;)p r i n t f(%d,%d n,a,b);s c an f (%d%d,&a,&b);)A、!a=bB、a!=bC、a=bD、a=b8、运算符.的优先级最高。A、B、+=C、?:D、+9、设宏定义#d e f i n e P I 3.141592 6,用宏名P I替换的是A、算术表达式B、字符串C、单精度实型数D、双精度实型数10、执行语句f o r(i=l;i 4;i+);后变量i的值是A、3B、5C、4D、不定11、有以下函数 i n t f u n (c h ar *s)(c h ar *t=s;w h i l e(*t+);r e t u r n(t-s);)该 函 数 的 功 能 是.A、比较两个字符串的大小B、计算S所指字符串占用内存字节的个数C、计算S所指字符串的长度D、将S所指字符串复制到字符串t中12、用 高 级 程 序 设 计 语 言 编 写 的 程 序 _A、计算机能直接执行B、具有良好的可读性和可移植性C、执行效率高,但可读性差D、依赖于具体机器,可移植性差13、有以下程序 i n t f u n(i n t x ,i n t n)(s t at i c i n t s u m=0,i;f o r(i=0;i 0|+b O)+c;p r i n tf(n a=%d,b=%d,c=%d,a,b,c);)A、a=0,b=0,c=0B,a=l,b=l,c=lC,a=l,b=O,c=lD、a=O,b=l,c=l16、对于wh i l e、d o wh i l e循环结构,正确的说法是A、只是表达形式不同B、d o wh i l e结构中的语句至少执行一次C、wh i l e结构中的语句至少执行一次D、条件成立时,它们有可能一次也不执行17、以下叙述正确的是 oA、函数可以嵌套定义但不能嵌套调用B、函数既可以嵌套调用也可以嵌套定义C、函数既不可以嵌套定义也不可以嵌套调用D、函数可以嵌套调用但不可以嵌套定义18、下面程序的输出结果是_ _ _ _ _om a i n()(i n t a =l,2,3,4,5,6,7,8,9,0),*t;t=a;p r i n tf (N%d nw,*(t+3);)A、4B、5C、6D、319、若有说明语句i n t a 5,*p=a;”,则对数组元素的正确引用是A、a p B、p a C、*(p+2)D、p+220、设有以下语句typ ed ef str uc t si n t g;c h a r h;)t;则 下 面 叙 述 中 正 确 的 是。A、可用S定义结构体变量B、可以用T定义结构体变量C、S是 str uc t类型的变量D、T是 str uc t S类型的变量21、选出下列标识符中不是合法的标识符的是 oA、h o t_ d oB、c a tlC、_ p r iD、2a b22、在 c语言中,形参的缺省存储类是_ _ _ _ _ _ _ _ A、a utoB、r eg i sterC、sta ti cD、exter n23、对 于 i f(表达式)语句,以下说法正确的是 oA、“表达式”的值只能是整数值B、在“表达式”中不能调用函数C、在“表达式”中不能含有浮点类型的变量或常量D、“表达式”可以是各种形式的算术表达式24、给定下面的代码:i n t i=l,j=10;d oi f(i+-j)c o n ti n ue;wh i l e(i 5)执行完之后,i 与 j的值分别是多少()A、i=6,j=5B、i=5,j=5C、i=6,j=4D、i=5,j=625、c h a r a 10;不能将字符串“a b c 存储在数组中的是A、str ep y(a,Ma b cw);B、a 0=0;str c a t(a,Ma b c);C、a=a b c;D、i n t i;f o r(i=0;i 3;i+)a i =i+97;a i =0;26、X、Y、Z 被定义为i n t型变量,若从键盘给它们输入数据,则正确的输入语句是。A,i n p ut X,Y,Z;B、sc a n f(%d%d%d”,&X,&Y,&Z);C、sc a n f(,%d%d%d),X,Y,Z);D、r ea d(,%d%d%d ,&X,&Y,&Z);27、定义如下变量和数组:i n t k;i n t a 3 3=9,8,7,6,5,4,3,2.1;则下面语句的输出结果是。f o r(k=0;k 3;k+)p r i n tf (%d,a k k );A、7 5 3B,9 5 1C、9 6 3D、7 4 128、条件语句,A、不可以嵌套使用B、可以嵌套使用C、在一条件下可以嵌套使用D、嵌套语句中不能使用el se子句29、宏定义是最常用的预处理功能之一,它用于将一个标识符定义为一个一A、单精度数B、双精度数C、常量D、字符串30、有以下的程序#i n c l ud evo i d f un(c h a r *f n a m e,c h a r *st)(f i l e*m yf;i n t i ;m yf=f o p en(f n a m e,w);f o r(i=0;i str l en(st);i+)f p utc(st i ,m yf);f c l o se(m yf);)m a i n ()(f un (test,t,n ew wo r l d);f un(test.t,h el l o,);程序执行后,文件test,t 中的内容是 oA,h el l o,B、n ew wo r l d h el l o,C、n ew wo r l dD、h el l o,r i d3 1,以下说法错误的是 oA、C 语言没有输入输出语句B、运算符的作用是求余C、p r i n tf ()是输入函数D、保留字又称关键字,是指被赋予特定含义和有专门用途的标识符32、以 下 关 于 注 释 的 叙 述 中 错 误 的 是。A、注释的边界符号“/”和“*”之间不允许加入空格B.C 语言允许注释出现在程序中任意合适的地方C、注释的内容仅用于阅读,对程序的运行不起作用D、注释的边界符号“/*”和“*/”必须成对出现且可以嵌套33、若有以下程序 i n c l u d e v o i d f (i n t n);m ai n()(v o i d f (i n t n);f(5);v o i d f(i n t n)(p r i n t f(%d n ,n);)则以下叙述中不正确的是.A,若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数fB、若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数fC、对于以上程序,编译时系统会提示出错信息:提示对对f函数重复说明D、函数f无返回值,所以可用v o i d 将其类型定义为无值型34、有如下定义:s t r u c t s t u d e n t(c h ar n am e 10;i n t ag e;c h ar g e n d e r;)s t d 3,*p=s t d;则以下各输入语句中错误的是 OA、s c an f(H%dw,&(*p).ag e);B、s c an f(n%cn,&s t d 0.g e n d e r);C、s c an f (w%cw,&(p-g e n d e r);D、s c an f (M%s ,&s t d.n am e);35、有以下程序:m ai n()(i n t a=l,b=0;i f(-a)b+;e l s e i f(a=0)b+=2;e l s e b+=3:p r i n t f(n%d nM,b);程序运行后的输出结果是_ _ _ _ _ _ _oA、0B、1C、2D、336、以下叙述中正确的是 oA、N-S 流程图只能描述简单的顺序结构的程序B、程序的算法只能使用流程图来描述C、结构化程序的三种基本结构是循环结构、选择结构、顺序结构D、计算机可以直接处理C 语言程序,不必进行任何转换37、有以下程序m ai n Oi n t a 10=l,2,3,4,5,6,7,8,9,10),*p=&a 3,*q=p+2;p r i n t f (,r%d nM,*p +*q);程序运行后的输出结果是 OA、16B、10C、8D、638、有以下程序m ai n O(c h ar s =nae i o un,*p s;p s=s;p r i n t f (M%c nM,*p s+4);)程序运行后输出的结果是 OA、aB、eC、uD、元素s 4 的地址39、以下不能正确定义二维数组的选项是.0A、i n t a 2 2 =1,2);B、i n t a 2 =l,2,3.4;C、i n t a 2 2 =1 ,2,3;D、i n t a 2 =1,2,3,4);40、设有如下定义s t r u c t s s(c h ar n am e 10;i n t ag e;c h ar s e x;s t d 3,*p=s t d;下面各输入语句中错误的是 oA、s c an f(M%dM,&(*p).ag e);B、s c an f (M%sw,&s t d.n am e);C、s e an(w%c ,&s t d 0.s e x);D、s c an f(%c ,&(p-s e x);41、下 面 对 的 叙 述 中 不 正 确 的 是。A,用 t y p e d e f 可以定义各种类型名,但不能用来定义变量B,用 t y p e d e f 可以增加新类型C、用 t y p e d e f 只是将已存在的类型用一个新的标识符来代表D、使 用 t y p e d e f 有利于程序的通用和移植42、有以下程序:m ai n O(i n t k=-3:i f (k y&y!=0);C、i f(x 0)x D、i f(y 0);44、下面有关f o r 循 环 的 正 确 描 述 是。A、f o r 循环只能用于循环次数已经