3、
4、1)C)x
5、
6、y+z&&y・z(6)下面程序的运行结果是#incl
7、udeHstdio.hnmain(){inta=1,b=10;do{b・=a;a++;}while(b・・v0);printf(”a=%d,b=%d),a,b);}A)a=3,b=11B)a=4,b=9C)a=l,b=-1D)a=2,b=8(5)以下是死循环的程序段的是DA)for(i=1;;){讦(++i%2==0)continue;if(++i%3二=0)break;}B)i=32767;do{if(i<0)break;}while(++i);C)for(i=1;;)if(++i<10)continu
8、e;(6)以下程序段_Bx=-1;do{x=x*x;}while(!x);A)是死循环C)循环执行二次D)i=1while(i・・);B)循环执行一次D)有语法错误A)inta(10)C)intn;scanf(n%dn,&n);inta[n];B)intn=10;a[n];D)#defineSIZE10inta[SIZE];(7)以下对一维整型数组a的正确说明是D(8)若有说明:inta[3][4];则对数组元素的非法引用是BoA)a[0][2*1]B)a[0]⑷C)a[4-2][0]D)a[l][3](9)
9、若二维数组a有m列,则在a[i][j]前的元素个数为_CA)i*m+jB)j*m+iC)i*m+j・lD)i*m+j+l(5)以下正确的函数定义形式是」A)doublefun(intx,inty)B)doublefun(intx;inty)C)doublefun(intx,inty);D)doublefun(intx,inty);(13)请读程序:#defineAD(x)x+Xmain(){intm=l,n=2,k=3;intsum二AD(m+n)*k;printf(”sum=%d",sum);}上面程序的运
10、行结果是D。A)sum=9B)sum=10C)sum=12D)sum=18(14)对下面程序段正确的判断是:C#defineA3#defineB(a)((A+1)*a)■x=3*(A+B(7));A)程序错误,不许嵌套宏定义B)x=21C)x=93D)程序错误,宏定义不许有参数。(15)执行以下程序后,a,b的值为Cmain(){inta,b,k=4,m=6,*pl二&k,*p2=&m;a=pl==&m;b=(-*pl)/(*p2)+7;printf(na=%d”,a);printffb=%d^b);
11、}A)-1B)0C)16D)410(16)以下程序的运行结果是__C#defineMIN(x,y)(x)<(y)?(x):(y)main(){inti=10,j=15,k;k=10*MIN(ij);printf(”%d”,k);}A)15B)10C)100D)150(14)以下不正确的说法是CA)在不同函数中可以使用相同名字的变量。B)形式参数是局部变量。C)在函数内的复合语句中定义的变量在本函数范围内有效。D)在函数内定义的变量只在本函数范围内有效。(15)以下程序的正确运行结果是D#include"s
12、tdio.h"main(){intk=4,m=1,p;p=func(k,m);printf(“%d,”,p);p=func(k,m);printf("%d'p);}func(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);}A)&16B)&17C)&20D)8,8(16)若有定义:inta[3][4];则对a数组的第i行第j列(假设i,