1、一、选择题1、 以下程序段得输出结果就是: ( )intx17,=3,z; printf(“n”,=(x=x/,x%y);A) 3 B) 0 C) ) 12、 以下if语句语法正确得就是: ( ) A) if(x0) )(x0) printf(%f,x) +y;pint(%,x);elrinf(%f,); elseprintf(%f,-x);C) if(x0) D) f(x0) x=x+y;pin(f,x);; x=+y;ptf(f,)eseprinf(f,x); else pnf(%,-x);3、 下面程序段得运行结果就是: ( )int a=1,b=2,=2,;hle(abc) t=a;a
2、b;t;c-; prit(%d,d,%d,a,b,c);A) 1,2, B)2,1,0 C)1,2,1 D) 2,,14、若m为整型变量,则以下循环执行次数就是: ( )fr(=2;=0;) pintf(%d,m-);A) 无限次 B) 0次 C) 1次 D)次、在C语言中,以下正确得说法就是: ( )A)实际参数与其对应得形式参数各占用独立得存储单元B)实际参数与其对应得形式参数占用同一个存储单元)只有当实际参数与与其对应得形式参数同名时才占用同一个存储单元)形式参数就是虚设得,不占用存储单元6、以下程序得输出结果为 ( )main()int ,k,a1,p3; 5; for(=0;i10;
3、i+) ai=i; or(0;i3;i+) pai*(i 1); for(=0;i3;i+)k+=pi*2;printf(“%d”,k); A) 0 )21 C) D)37、以下程序得输出结果为: ( )h abn012; prntf(%d,sln(str);A)3 B)4 C) 6 D) 1、以下程序得输出结果就是: ( )man()in 331,2,3,4,5,6,j,=0; for(i=1;;i) r(j=;=i;j+) s+=aij; prinf(%dn,s);A) 8 B) 19 C) 20 D)9、设有以下宏定义: ( )#defin N #deine Y() (+1)n)则执行语
4、句:z=2*(NY(5+1);后,得值为:A)出错 B)2 )48 D)5410、下列程序执行后输出得结果为: ( )f(inta) ttic t b,c=; a=b; b=+c; retun(a);m() a=2,j,k; for(j0;j2;j+) k=f(); prf(“%dn”,k); )4 B) C) 6 D) 1、下列程序语句得输出就是: ( ) nt n=;hil(n+=2);prnt(%d,);(A) (B)3 (C)4 (D)有语法错误12、 下列程序语句得输出就是: ( ) nt a01;pritf(,+a);(A) 12 (B) 11 ()10 (D) 91、执行语句fo
5、(i=1;i+;);后,变量i得值就是: ( )(A)3 (B)4 (C) (D)不确定14、 定义it 0,=,z=后,则下面表达式得值为0得就是: ( )(A) &y (B)x= ()x|y+zyz ()!(xy)&!z|)、 对下述程序段描述正确得就是: ( ) i k=0;whe(k=1) k+;) 有语法错误,不能执行 B)循环就是无限得)循环体语句一次也不能执行 ) 循环体语句执行一次6、下述程序得运行结果就是: ( )#includstio、man() int ; o(i=;i=5;i+) if(i%) pr(*); els ontinue; prnf(#); prf($n);(
6、A)*#*$ ()#$ (C)*#$ (D)#*#*17、下述程序得输出结果就是: ( )iludetdi、in x;d u();oi min()int x=1; if(=1) int x=; pintf(%,,+); exten t x; pnf(%,+x); f();vid un()prf(%d,x+);A)2, B) 1,2,1 ) 2,2,2 D) 2,,11、下面对宏定义得描述,不正确得就是: ()A)宏不存在类型问题,宏名无类型,它得参数也无类型)宏替换不占用运行时间C)宏替换就是先求出实参表达式得值,然后代入形参运算求值D)其实,宏替换只不过就是字符替代而已19、以下程序得输出结
7、果就是: ( )includeintunc(int ,int b);void ain() int =,=1,p; p=func(k,); pitf(%,p); p=un(k,m); itf(d,,p); int fuc(int a,int b) sta i m0,i2; i+=m+; m=i+b; return(m); A)8,7 B)8,1 C),20 )8,20、若有说明:int 3,2,4,5,6,;则a数组第一维得大小就是: ( )()2 (B)3 (C)4 (D)无确定值9、 下列程序段执行后,s得值为: ( )hrc=”600”; n a,=0;fo(a=0;ca=0&cha9;a
8、+) s=10s-0;a)600 b) 6 ) 0 d)出错2、在c程序中,注释部分从哪开始,到哪结束? ( )a)从/开始,到/*结束 b)从REM开始,无结束标志c)无起始标志 d)从/*开始,到*/结束0、 针对下列语句得正确得叙述为 ( )char x=”abcd”;chary=a、b、c、;a)数组x与数组y等价 b)数组x与数组y得长度相同c)数组x得长度大于y得长度 )数组x得长度小于y得长度22、下列程序段得输出结果为(u代表空格) ( )cha s1;=“abd”;pntf(“%sn”,);)abc ) a c)abuuu d)编译不通过23、若j为int型变量,则下列语句得
9、执行结果为 ( )for(j0;j3;j-) if(j3) j-; -j;-j; printf(“%”,j);a) 6 3 b) 7 4 c) 6 2 d) 7 32、下列程序段得输出结果为 ( )int x=3;drinf(“3d”,x-=2); whi(!(-x);) 1 ) 3 0 c) 1 -2 d) 死循环25、 设变量已正确定义并赋值,则符合C语言语法得表达式就是:( )(A)a=+; (B)=b=c+ (C)in(34、5) (D)aa=bc 26、下列程序段得运行结果就是: ( )it=0; whil(n+=23) break; if(b%3=1) b=3;continue;
10、-=5; (A)7 ()8 (C) 9 ()109、以下描述中错误得就是( )(A)函数调用可以出现在执行语句中 (B)函数调用可以出现在表达式中(C)函数调用可以作为函数得实际参数(D)函数调用可以作为函数得形式参数30、以下程序得输出结果就是 ( )#dfine ADD() x+xmn()i m=1,=2,k=3; intsum=ADD(m+n)*k; printf(sum=%,su); ()m=9 (B)um=1 (C)um=12 (D)su=1831、以下程序得输出结果就是 ( )void fu(ina,in b,nt c)a=456;b=6;c=678;in()intx=1,y20,
11、=30; fn(x,y,z); pri(“%d,%d,%d”,z,x);(A) 30,20,10 (B)10,2,30 (C)456,567,78 (D)78,567,462、下面程序应能对两个整型变量得值进行交换。以下说法正确得就是( )main() nta=10,=20; pintf((1)ad,b=%dn,a,b); ); print(()a=d,b=%n,a,b; ,int ) int ; tp;p=q;q=t;()该程序完全正确(B)该程序有错,只要将语句s);中得参数改为a,b即可(C)该程序有错,只要将wap()函数中得形参与q以及t均定义为指针变量即可()以上说法都不正确3、执
12、行下面得程序段后,a得值为: inta,b;fo(=1,b=;=0) bea; f(b%=) b+=3;coninue; b-=; A、 7 B、 、 9 、 1034、该程序得输出结果就是多少? #nlude main() it i,j,=0; fo(i0;2;i+) +; for(j0;j=3;+) i(j%2) ontnu;x+; printf(x%d,x); A、 4 、x= C、 x=6 D、 x=2、 下面这个程序得输出就是什么? #icude min() nty=10; whle(y-); prnt(y=%dn,y); A、 y=0 B、 while构成死循环 、y=1 D、 y
13、=-136 C语言可执行程序从什么地方开始执行? 、 程序中第一条可执行语句 B、 程序中第一个函数 C、 程序中得ain函数 D、包含文件中得第一个函数37、 以下对C语言函数得有关描述中,正确得就是: 、 在C中,调用函数时,只能把实参得值传给形参,形参得值不能传给实参、C函数既可以嵌套定义又可以递归调用C、 函数必须有返回值,否则不能使用函数D、 C程序中有调用关系得所有函数必须放在同一个源程序文件中38、 以下叙述中不正确得就是: A、 在C中,函数中得自动变量可以赋初值,每调用一次,赋一次初值、 在C中,在调用函数时,实参与对应形参在类型上只需赋值兼容C、 在中,全局变量得隐含类别就
14、是自动存储类别D、 在C中,函数形参可以说明为regst变量39、 表示关系x=y=得语言表达式为: ( )a) (xy)&(y=z) ) (x=)A(y) ) (x=yz) d) (=y)(yz)0、 假定a与为t型变量,则执行以下语句后b得值为: ( )a=2;b8; d-a;+;whi(b-0);a) 6 b) 4 c) d) 541、下述对C语言字符数组得描述中错误得就是: ( )a)字符数组可以存放字符串b)字符数组中得字符串可以整体输入、输出)可以用关系运算符对两个字符串进行比较d)不能在赋值语句中通过赋值运算符“=”对字符数组整体赋值42、以下程序得输出结果就是: ( )int
15、f(intx,it y)it; whie() z=x;y;yz; etn(x); mai()in =3,b=24,c; c=f(a,b);prin(“dn”,c);a) 6 b) 7 ) 8 ) 9二、多项选择题1、 指出下面合法得标识符: A、 3ab B、 int C、 AC D、 a_、 sum、a F、 abc G、 _stu H、 bc 2、 指出下面哪些就是合法得用户定义得标识符: 、S B、 putchar C、 double D、 _8 E、 p F、 he! 、 wnd H、 x 3、 以下哪些不就是C语言提供得合法得关键字: .char 、 swict 、 Case D、
16、efalt4、 指出下面哪些就是合法得关键字: 、 cha B、 bc 、 rintf D、 Int 、 floa F、 defin 、include H、 PI 5、 下面哪些就是定义局部变量储存类别得关键字? A、 int 、uto C、stic D、floatE、 reiser F、extr G、usgned H、igned6、 语言中整形常量按进制划分,有以下几种: A、 十六进制常量 B、十进制常量 C、 八进制常量 D、二进制常量、下面哪些写法就是对得,而且就是常量? A、5 、 -、46 C、 1、25e2 、AB E E6 、 0238 G、 0bcf 、 n13、 请从下面得
17、选项中选出正确得C语言得转义字符。 A、 / B、 C、 、 n 、 111 、 /018 G、 /123 、xaa9、 如果要把常量27存入变量a中,可以定义成哪些类型? 、 int B、 char 、 ong D、 foat10、 指出下面各说明语句中哪些就是合法得: A、 int abcd0; B、 cha 9b1; 、 cha ch-00; 、int aaa5=3,4,5; 、 flt key=3、,4、0,1,; 、cha dik; 、int n=2,lppyn; H、 int ca4=,,3,,5,6;11、 下列语句中不符合C语言语法得语句有 、 ab,c=+7; 、 =+b+=
18、+7; C、=7+b,b+,a; 、 a=7+b+=a+7;12、 指出下面错误得表达式: A、 a+=5 、 56=a1 C、=i+ D、 5、66、2%3、1 E、 12 、 a=5,b=6,=13、 若为整型变量,则以下表达式与表达式 a!0 真假值情况相同有:A、 0|a0 、 a C、 !a=0 、!a5、 若变量已说明为floa类型,i为类型,则下面哪些表达式(或语句)能够实现将f中得数值保留小数点后两位,第三位进行四舍五入得运算? A、 (f*1000、5)100、0 B、i=f*0+0、,f=i/10、0; C、 (i)(f*10+0、5)/00、; D、 f(f/100+0、
19、5)*00、0;6、 请选择您认为正确得说法。 A、在C语言中,函数可以嵌套定义。 、程序中得注释部分可有可无,通常可以省略。 、在函数中,只能有一条turn语句。 D、程序中,编译程序会检查数组下标就是否越界。 E、在C程序中,BC与abc就是两个不同得变量。 F、在语言中,函数中得变量可以赋初值,每调用一次该函数,就赋一次初值。 G、语言中不能对数组名进行加减与赋值运算。17、下面各语句行中,不能正确进行赋字符串操作得语句行就是 A、 char s10; sn(%,&); B、 chast45=ACDE;C、 car s5A,C,,E; D、 cha50; =ABCDE;18、 不合法得数
20、组定义就是 、in a sti; B、 int 5=0,1,2,3,4,;C、 vhst s=srin; D、 chra =0,1,2,3,5;19、 指出下面哪些就是保留字: 、char B、ab 、 pintf D、 I E、 lot F、ei 、 incde H、P 20、 指出下面哪些就是合法得用户定义得标识符? A、 S 、 puchar C、 double D、_908 E、 *a 、sheep! 、ind H、 x y、 语言得基本类型哪些: A、整型 B、枚举型 C、 数组型 D、 指针型 E、 字符型 F、 构造型 、实形 H、 空类型2、 这段程序中得常量有: #defne
21、 PI 、14 oid min() intsum; um = 10 + 5; prnt(sum%d,su); prnf(esult is 25); 这段程序中常量有: A、10 B、 sum C、 D、 5 E、 mai 、 PI23、语言得主要特点有哪些? A、简洁、紧凑,使用方便、灵活,易于学习与应用。 、语言就是面向结构化程序设计得语言。 C、语言允许直接对位、字节与地址进行操作。 D、数据类型丰富。 E、语言生成得目标代码质量高。4、以下说法正确得有: A.输入项可以为一个实型常量,如a(%f,3、5); 只有格式控制,没有输入项,就不能进行正确输入,如scanf(a=%,b%); .
22、当输入一个实型数据时,格式控制部分应规定小数点后得位数,如sanf(%4.2f,&f); D.当输入数据时,必须指明变量得地址,如saf(,);25、以下叙述中正确得有 ( )(A)预处理命令行都必须以#号开始(B)在程序中凡就是以#号开始得语句行都就是预处理命令行()程序在执行过程中对预处理命令行进行处理(D)以下就是正确得宏定义 #deine IBM_PC pc#32、以下正确得叙述有 ( ) ()C语言得预处理功能仅仅就是指完成宏替换与包含文件得调用 ()预处理命令只能位于C源程序文件得首部 (C)一条预处理命令必须单独占一行 ()程序中,编译预处理就是在编译开始之前进行得三、填空题1、
23、 设a=3,b=4,=5,则逻辑表达式|+&b-得值就是: 1 。、 语句prtf(%53n,123456、25);得输出为_123456、12_ _。3、下面程序段得运行结果就是: 1 。 in 0,sum=1; do um+=i+; whil((y)?(x):(y)main()it a=,b=2,=3,d=3,t,t2; t1=A(a+,c+)*0; t2MAX(c+d,a+b)10; pintf(d,2=%d,t,t2); 6、 要使以下程序段输出3个整数,请填入一个整数:for(j=;j= 7(74都可以) ;ritf(“%dn”,jj+);7、 下面程序段就是找出整数得所有因子(包括
24、1与整数本身),请填空: scan(%d,&); i=1;or(; i= ;) if(%=0) pr(%3d,i); +8、函数fn得功能就是:使一个字符串按逆序存放,请填空 vd fun(charr)char m; ini,j;fo(=0,j=strlen(tr);i j-1 ;i+,j-) m=tr;tr= str ; strj-=; pt(%sn, tr ); 9、设x与y均为n型变量,且=1,y;则表达式1、0x/y得值为 1、0 。、设i,j,k均为i型变量,则执行完下列for循环:for(i=0,j=10;,则以下whie循环体将执行 0 次。 whe((chgetar()=e)r
25、ntf(); 1、 下面程序段统计从键盘输入得字符中数字字符得个数,换行符结束,请填空 int n0; charc; ctar();whle(c!=) i( c=0&c=9 ) n+; c=car();3、 若定义:t a31,2,0,4,6,0;则初始化后,a2得到得值就是: 0 ;a21得到得值就是: 6 。14、若x为in型变量,则执行以下语句x=;x+=x=+x;后x得值就是: -14 。15、Turo环境中,用RU菜单中得UN命令运行C程序得快捷键就是 Ctl+F9 。16、若有定义:i a=2,4,6,8,10,12,*p=a;则(p1)得值就是 4 ,*(a+5)得值就是 12
26、。17、 若已知7,b3,c0,则表达式a+b|c得运算结果就是 1 。18、 条件“2x3或者x-1”得C语言表达式就是: 2&X3| x-10 。19、 若变量、b为nt型,以下语句可以不借助任何变量把a、b得值交换,请填空:a+= b ;b=- b ;a= b ;0、以下程序得输出结果就是 1 。 int a10,,=0;fo(i=;10;i+) a=i;for(0;i4;i+)kaii;pinf(dn,k);21、以下程序中for语句得循环体被执行得次数为: 6 。 #dene 2#deiM N+2#efinNUM M+mn()in ; fo(i=;iNU;i+) pintf(%dn,
27、i);2、下面程序段就是找出整数得所有因子(包括与整数本身),请填空: scn(%,&); i=1;fr(; (15) ;) if(x%i=0) printf(%3d,i); i+2、下述程序得功能就是查找数组中元素得最大值输出,请填空完成。#defie A 10min( )int A; int m,; if= or(i;iA;i+) a=1+i; #els or(i=0; iA ;+) snf(d,&a); #ndif max= a0 ; for(i=1;A;i+) f( ai ) ax=ai; printf(=%dn,max);24、下面程序将二维数组得行与列元素互换后存到另一个二维数组 b中。#inld main() n23=,2,3,,6; int b2,i,j; prtf(araya:); r(=0;i=1;i+) fo(j0; 2 ; j+) prnf(%d, );