5、
6、1);3.以下有关宏替换的叙述不正确的是(D)。(A)宏替换不占用运行时间(B)宏名无类型(C)宏替换只是字符串替换;(D)宏替换是在运行时进行的4.已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是(C)。(A)一个整型变量,代表要读入的数据项总数(B)一个文件指针,指向要读的文件(C)一个指针,指向要读入数据的存放地址(D)一个存储区,存放要读的数据项5.在位运算中,操作数每左移一位,其结
7、果相当于(A)。(A)操作数乘以2(B)操作数除以2(C)操作数除以4(D)操作数乘以46.数字字符0的ASCII值为48,若有以下程序#includevoidmain(){chara='1',b='2';printf("%c,",b++);printf("%d",b-a);}程序运行后的输出结果是(C)。A)3,2B)50,2 C)2,2 D)2,507.有以下程序200901C语言笔试试题(A)第10页共10页#includevoidmain(){intm=12,n=34;printf(
8、"%d%d",m++,++n);printf("%d%d",n++,++m);}程序运行后的输出结果是(C)。A)12353514B)12353513 C)12343514 D)123435138.已有定义intk=2;int*ptr1,*ptr2,且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是(B)A)k=*ptr1+*ptr2;B)ptr2=k;C)ptr1=ptr2;D)k=*ptr1*(*ptr2);9若有定义inti=2,a[10],*p=&a[i];则与*p++等价的是(A)。A)a[i++]B)a
9、[i]++C)a[i]D)a[++i]10.有定义inta=3,b=4,c=5;执行完表达式a++>--b&&b++>c--&&++c后,a,b,c的值分别为(B)。A)345B)435C)444D)44511.已知:intx=1,y=2,z=0;则执行:z=x>y?10:20后,z的值为(B)。A)10B)20C)1D)212.若已定义x和y为double类型,则表达式x=2,y=x+10/4的值是(C)。A)2B)4C)4.0D)4.513.有定义语句:intb;charc[10];,则正确的输入语句是(B)。A)scanf("%
10、d%s",&b,&c); B)scanf("%d%s",&b,c);C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c);14.在一个源程序文件中定义的全局变量,其作用域为(B)。A)定义所处的整个源程序文件B)从定义处开始到本源程序文件结束C)整个主函数D)所处C程序的所有源程序文件中15.在下面C语言的函数说明语句中,正确的是(A)。A)intfun(intx,inty);B)intfun(intx,y);C)intfun(x,y);D)intfun(intx;inty);200901C语言笔
11、试试题(A)第10页共10页16.有以下程序#includevoidmain(){intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d",m,n,p);}若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是(A)。A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 78917.已知E的ASCII码是69,则
12、执行以下语句的结果是(C)printf("%c",'E'-'8'+'5');A)66B)AC)BD)E18.有定义:char*s=”t”Name\Address””;,那么strlen(s)等于(B)。A)1