1.语句 while (!E); 括号中的表达式!E 等价于( A)。
A.E==0 B.E!=1
C.E!=0 D.E==1
2.若调用一个函数,且此函数中没有 return 语句,则正确的说法是( D)。
A.该函数没有返回值 B.该函数返回若干个系统默认值
C.能返回一个用户所希望的函数值 D.返回一个不确定的值
3.下面有关字符数组的描述中错误的是( C)。
A.字符数组可以存放字符串
B.字符串可以整体输入,输出
C.可以在赋值语句中通过赋值运算对字符数组整体赋值
D.不可以用关系运算符对字符数组中的字符串进行比较
4.若有说明:int *p1, *p2,m=5,n;以下均是正确赋值语句的选项是(C )。
A.p1=&m; p2=&p1 ; B.p1=&m; p2=&n; *p1=*p2 ;
C.p1=&m; p2=p1 ; D.p1=&m; *p1=*p2 ;
5.#include <stdio.h>
int main ( )
{
int i,b,k=0 ;
for (i=1; i<=5 ; i++) {
b=i%2;
while (b--==0) k++ ;
}
printf("%d,%d",k,b);
return 0;
}
答案:2,0
6.
程序功能是:将数组 a 中的 n 个整数元素按相反方向存放。请填空使程序完整。
#include <stdio.h>
int main ( )
{
【4】
int i,a[10]={3,7,9,11,0,6,7,5,4,2};
printf("the original array:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
inv(a,10);
printf("the arvay has been inverted:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}
void inv(【5】,int n)
{
int *p,temp,*i,*j,m=(n-1)/2;
i=x; 【6】;p=x+m;
for(;i<=p;i++,j--)
{temp=*i; 【7】;*j=temp;}
return;
}
答案:
4.void inv(int *s,int n)
5.int *s
6.j=x+n-1
7.*i=*j