一、单择题
1、函数调用f((1,2),(3,4,5),6)中实参的个数为 。
A 3 B. 4 C. 5 D. 6 2、 若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是 。
A) scanf(\ &b, d); B) scanf(\C) scanf(\%d\ D) scanf(\
3、若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是 。 A) i=*p; B) *p=*&j; C) i=&j; D) i=**p;
4、下面的程序输出结果为 。 A 1,2,3 B 6,5,-3 C. 3,5,-6 D 1,5,-3
void main(){ int x=1,y=2,z=3;int w=(y+=z,x+=y,z-=x);printf(\
5、与[if(e1&&e2)s1;]作用相同的控制语句是:
A. if(e2) if(e1) s1; B. if(e2||e1) s1; C. if(e1) if(e2) s1; D. if(e2!=0) if(e1) s1;
6、下面程序输出结果为 。 A. 0,3 B. 0,5 C. 1,3 D. 1,5
void main(void){ int i,j,k=0;for( i=0;i<2;i++,k-=j)for(j=0;j<3;j++) k++; printf(\}
7、以下程序调用findmax函数返回数组中的最大值 findmax(int *a, int n)
{ int *p,*s; for(p=a,s=a; p-a main() { int x[5]={12,21,13,6,18}; printf(\\\n\} 在下划线处应填入的是____________。 A、p>s B、*p>*s C、a[p]>a[s] D、p-a>p-s 8、以下程序的输出结果是_____________。 main() { char ch [3][5]={\ 第 1页,共 8 页 printf(\ } A、\ B、 \ C、 \ D、 \ 9、对于定义语句[int x[]={1,3,5,7,9,11}, *p=&x[3];]正确的表达式是 。 A. x[p-x+3] B. x[*p+2] C. p[p-x-2]; D. x[*x-2] 二、填空题 1、若输入字符串:abcde<回车>,则以下while循环体将执行 次。 While((ch=getchar()) = = ’e’) printf(“*”); 2、设 [int x=7,y=8,z=9;],写出下列表达式x= =y&&x-z>y的值为 。 3、写出a2的C语言表示形式__________。 4、写出程序运行的结果 #include { int x=l, y=2; { int x=2; { int x=3; printf(″x=%d, y=%d\\n″,x, y); } printf(″x=%d, y=%d\\n″,x, y); } printf(″x=%d, y=% d\\n″,x, y); } 5、写出以下程序输出的结果 main( ) { int i,sum; i=11; sum=0; while (i<=10) { sum=sum+i; i++; } printf(\ 第 2页,共 8 页 } 运行结果: sum=________。 6、写出以下程序输出的结果。 Main() { char c[ ]=\printf(\ } 输出结果为: 7、以下程序的输出结果是___________。 #define MAX(x,y) (x)>(y)?(x):(y) main() { int a=5,b=2,c=3,d=3,t; t=MAX(a+b,c+d)*10; printf(“%d\\n”,t); } 8、以下程序的功能是:输入a、b两个整数,使用指针变量按先大后小顺序输出这两个整数。 请在横线上填入适当的语句,完成程序。 void swap(int *p1, int *p2) { int temp; _________; ____________; ______________; } main() {int a,b; int *pa,*pb; scanf(“%d,%d”,&a,&b); pa=&a; pb=&b; if(a printf(\ printf(\} 9、在横线上写出程序运行的结果 #include { int i; char c;}a[ ]={{100,'A'},{200,'B'}, {300,'C'},{400,'D'}}; main( ) { struct code *p=a; printf(\ printf(\ 第 3页,共 8 页 printf(\ printf(\ printf(\ printf(\} 10、函数pi的功能是根据以下近似公式求π值: (π*π)/6=1+1/(2*2)+1/(3*3)+……+1/(n*n) 现在请你在下面的函数中填空,完成求π的功能。 #include “math.h” double pi(long n) { double s=0.0; long i; for(i=1;i<=n;i++)s=s+ ; return(sqrt(6*s)); } 11、要使以下程序段输出10个整数,请填入一个整数。 for(i=0;i<= ; printf(“%d\\n”, i+=2)); 12、下面函数的功能是将两个字符串s1 和s2 连接起来,请填空使程序完整。 void conj(char *s1, char *s2) { while (*s1) ; while (*s2) { ; s1++,s2++; } *s1=’\\0’ ; } 13、 下列程序的输出结果是18.00,请填空。 main() { int a=9, b=2; float x= , y=1.1, z; z=a/2+b*x/y+1/2; printf(“%5.2f\\n”, z ); } 15、下面函数的功能是将一个整数字符串转换为一个整数,例如:”-1234”转换为1234,请填 空使程序完整。 int chnum(char *p) { int num=0,k,len,j ; len = strlen(p) ; for ( ; ; p++) { k= ; j=(--len) ; while ( ) k=k*10 ; num = num + k ; } 第 4页,共 8 页
相关推荐: