《2023年历年全国计算机二级C语言题库.docx》由会员分享,可在线阅读,更多相关《2023年历年全国计算机二级C语言题库.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、5 0道C语言知识题.以下叙述中对的的是A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出.下列可用于C语言用户标记符的一组是A) void, de fine, WORDB) a3_3,_123, CarC) F or, -abc, IF Cas eD)2a, DO, siz e of.以下选项中可作为C语言合法常量的是A)-8 0B ) - 0 80C)-8el. 0D)-8 0. Oe.若有语句:ch a r * 1 ine5;,以下叙述中对的的是A)定义
2、line是一个数组,每个数组元素是一个基类型为ch a r为指针变量B)定义I i ne是一个指针变量,该变量可以指向一个长度为5的字符型数组C)定义line是一个指针数组,语句中的*号称为间址运算符D)定义lin e是一个指向字符型函数的指针.以下定义语句中对的的是A) i n t a= b = 0 ;B) c ha r A= 6 5+1, b =z bC)f 1 oat a=l, *b = &a, *c=&b;D) d o uble a=0 0; b = l.l;.有以下程序段ch a r ch;ch a r ch;int k;fpu t c CC;fp);fcl o se(f p );
3、A) 7字节、7字节B)7字节、5字节 C)5字节、7字节 D) 5字节、5字节.变量a中的数据用二进制表达的形式是0 1 0111 0 1,变量b中的数据用二进 制表达的形式是11110000。若规定将a的高4位取反,低4位不变,所要执行的 运算是A)a b B )a I b C) a & b D) a 4.下面的程序段运营后,输出结果是int i, j,x=0;s t a t ic in t a 8 8;f o r (i=0; i3;i+)f or(j=0;j3; j+)a i j=2*i+j ;fo r ( i = 0 ;i=A& kk=A| |kk=a&(kk+3 2 )= Z D)i
4、s a lpha(k k )&(kk=2 &c=2& c=2& c = 6)&(c%2!=l)3 9 .若有条件表达式(exp)? a +: b -则以下表达式中能完全等价于表达式 (exp)的是A) (exp= = O)B)(exp! =0)C )(e x p = = 1 )D)(exp! =1)40 .以下不对的的定义语句是A) doub 1 ex 5= 2 .0,4.0,6.0,8. 0,10.0; B) i nt y 5= 0 ,1, 3 ,5, 7, 9 ; C) cha r c 1=27304, 5; D)char c2 l=x10; xa, x8;41.下列程序执行后的输出结果是
5、mai n () in t a33, * P ,i;p=&a00;f o r( i =1; i 2 !14 7 .有定义语句:c har s 1 0;,若要从终端给s输入5个字符,错误的输入语 句是A)gets(&sO ); B) s c anf( n%sn ,s+l); C)g e t s (s); D) s canf(H% s ,sl);4 8 .有以下程序# includ e de f ine N 5de f ine M N+ 1define f (x) ( x *M)mai n ()in t i l,i2;il=f ;i2= f (1+1);pr i ntf( %d %dn ”,il,
6、i2);)程序的运营结果是A) 12 12 B)ll 7C ) 11 11D)12 749.若有以下说明和定义uni o n d t i nt a; char b ; double c; d a ta;以下叙述中错误的是A)d a t a的每个成员起始地址都相同B)变量d a t a所占内存字节数与 成员c所占字节数相等C)程序段:data.a=5;pri n tf ( %fn,d a t a. c );输出结果为 5 .0000 0 0D)data可以作为函数的实参5 0 .有以下程序#includemain () FILE *fp;int k, n,a6=l, 2,3,4,5,6;fp=
7、f open( n d2. d at H , n w);f p r i nt f (fp,% d%d%d n H,a 0 ,al, a2);fpr i ntf(fp,%d%d% d nu, a 3,a4 ,a5);f c 1 ose( f p );fp=fo p e n ( H d2.da t “Jr);fscanf ( f p, %d%d n;pr i ntf (% d %d n ,k, n );f c lose(fp);程序运营后的输出结果是A)1 2B) 1 4C)1 2 3 4D)123 456答案12345678910cBAABDDBBD11121314151617181 920BB
8、ACBCDDBB2 1222324252627282930BAACBDBAcA3 13 23334353637383940DBBAADBBBB41424344454647484950BBcACDDBDDch = f a z;k=12;p r intf(c, %d, M,ch,ch, k ); prin t f(k=%d n H,k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k = 12D ) a,9 7,k=127.有以下程序mai n () i n t i
9、 ,s= 1 ;fo r ( i =1; i = 2& c=2&c=2& c=6)&( c %2l =1).若变量已对的定义,有以下程序段inta =3,b = 5,c=7;if(c!= a ) c= b ;p r intf (%d, %d,%dn,a,b, c);其输出结果是A)程序段有语法错B)3,5, 3C)3, 5 , 5D)3, 5,7.有以下程序# i nclude main() i nt x = 1 , y= 0 , a=0, b=0;sw itch (x) case 1:switch (y) c a se 0: a +; break;cas e l:b+; b r e ak;c
10、as e 2:a+; b+; break;cas e 3: a+; b+;p r i ntf(a=%d,b=% d n , a ,b);)程序的运营结果是A) a=l, b = 0B)a=2, b =2C)a = l,b=lD) a =2,b = lIL下列程序的输出结果是#in c lude stdi o . h main() inti, a=O,b= 0 ;f or (i=l; i 1 0;i+ + ) i f ( i %2=0)a +;c o nt i nue; b+;p ri n tf(a=%d,b=%d nza,b) ; A )a=4,b=4 B ) a = 4 , b=5C ) a
11、 = 5 ,b= 4 D)a=5,b =5已知# i nt t =0;while (t=l). )则以下叙述对的的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对12.下面程序的输出结果是main()int a10 =1,2,3,4,5,6, 7, 8 , 9,10,* p =a;print f (% d nH, *(p+ 2 ) ) ;)A )3A )3A )3B)4C)1D) 213似下错误的定义语句是A)int x3 = 0, 1 , 1,2, 31 ;B)int x43 = 1,2, 3, 1, 2,3,1,2,3,1, 2 , 3);C
12、)int x4 = 1,2,3 , 1,2,3 ,1,2, 3 , 1, 2,3 ) ;D)in t x 3=1,234;.有以下程序vo i d ss(char * s , c har t) whil e (* s ) if(*s= t )*s=ta+A;s +; main() cha r s tri 100=Habcddf e fdbd,c=xd;s s (str 1 , c ); pr i ntf(%s n H,st r 1); 程序运营后的输出结果是A)ABCDDEFEDB DB)ab c DD f efDbD C)abc AAf e fA b AD ) Ab c d d f e f
13、dbd.有如下程序main() ch a r ch 2 5= 6 9 37 n 8 25 4 ,*p 2 ;i nt i ,j, s= 0 ;f o r(i = 0;i 2 ; i+)p i =c h i ;for(i= 0 ; i0;j+=2)s= 1 0* s +p i j 卜O;prin t f (,%dn, s);该程序的输出结果是A)69 8 25 B )63825C)6385 D) 6 9 3825.有定义语句:char s 1 0 若要从终端给s输入5个字符,错误的输入语 句是A) gets(&s0); B) s ca nf(%s, s +1); C )gets(s) ; D)s
14、canf(%s , S 1):16 .以下叙述中错误的是A)在程序中凡是以#开始的语句行都是预解决命令行B)预解决命令行的最后不能以分号表达结束C) #define MAX是合法的宏定义命令行D) C程序对预解决命令行的解决是在程序执行的过程中进行的.设有以下说明语句typedef s t ructin t n;c h ar ch 8 ; P ER;则下面叙述中对的的是A) PER是结构体变量名B) PER是结构体类型名C)typede f stru c t是结构体类型D)stru c t是结构体类型名.以下叙述中错误的是A) gets函数用于从终端读入字符串B)getchar函数用于从磁盘文
15、献读入字符C) f puts函数用于把字符串输出到文献D) fw rite函数用于以二进制形式输出数据到文献20.以下能对的定义一维数组的选项是A)in t a5= 0,1,2, 3,4,5 ; B) char a=r07 1 72737 4 , 507;C)chara=f A7B7C; D)i n t a 5=M0123M;2 1.有以下程序#i n c ludemain()char p = a b, c, q 划= R, b, c;p rin t f(% d %dn, str 1 e n( p ),s t rl e n(q);以下叙述中对的的是A)在给p和q数组置初值时,系统会自动添加字符
16、串结束符,故输出的长 度都为3B)由于p数组中没有字符串结束符,长度不能拟定,但q数组中字符串长 度为3C )由于q数组中没有字符串结束符,长度不能拟定,但p数组中字符串长度为3 D)由于p和q数组中都没有字符串结束符,故长度都不能拟定22.有以下程序#include #i n c 1 u d e v o id f u n (ch a r * s ,i n t n) char * t ; int i, j;f or(i = 0; i n-l; i +)f or (j=i+l; j strle n ( s j) t=s i;si:sj ;sj=t;mai n () char *ss= b c c
17、 n , bbcc7x y H ,aaaa c c,aab c c ); fun ( s s ,5); p r int f (,%s,%sn,1, s s 0, s s 4 );)程序的运营结果是A) x y,aaaa c c B)aaaa c c,xy C) b cc,aa b cc D )aabc c , b c c.有以下程序#include i n t f (int x) i nt y;if(x=0| |x=l) r e t u rn(3);y=x *xf( x -2);r et u rn y;)main() i nt z ;z= f ( 3 ); p r i n tf(%dn n ,
18、 z );程序的运营结果是A)0A)0B )9 C)6.下面程序段的运营结果是c har s t r = ABC,*p= s tr;prin t f (% d n,*(p + 3);A) 6 7 B) 0C)字符C的地址D)字符C.若有以下定义:struct link i n t d a ta;s tr u c t li n k * n e x t; a,b, c,* p ,*q;且变量a和b之间已有如下图所示的链表结构:2 6.指针p指向变量a , q指向变量c。则可以把c插入到a和b之间并形成新 的链表的语句组是:A) a .next=c; c .n e x t=b;B)p.next=q; q.next=p.nex t ;C )p-n e x t=&c; q n e xt=p-nex t ; D)(*p).next=q; (*q). n ext = & b ;2 7.对于下述程序,在方式串分别采用wt 和wb 运营时,两次生成的文献 TEST的长度分别是# i ncludevo i d main() F I LE *fp=fo pen (TEST,);fpu t c(A, f p);fputcCnf p );f putc(fBfp);fputcCn f p);