(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是
A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]);
(28)有以下程序
#include
#define N 5
#define M N+1
#define f(x) (x*M)
main()
{ int i1,i2;
i1=f(2);
i2=f(1+1);
printf("%d %d\n",i1,i2);
}
程序的运行结果是
A)12 12 B)11 7 C)11 11 D)12 7
(29)若有以下说明和定义
union dt
{ int a; char b; double c;}data;
以下叙述中错误的是
A)data的每个成员起始地址都相同 B)变量data所占内存字节数与成员c所占字节数相等
C)程序段:data.a=5;printf("%f\n",data.c);输出结果为5.000000 D)data可以作为函数的实参
(30)有以下程序
#include
main()
{FILE *fp;int k,n,a[6]={1,2,3,4,5,6};
fp=fopen("d2.dat","w");
fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);
fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);
fclose(fp);
fp=fopen("d2.dat","r");
fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);
fclose(fp);
}
程序运行后的输出结果是
A)1 2 B)1 4 C)123 4 D)123 456
(31)若已定义
int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i;
其中 则对a数组元素不正确的引用是
A)a[p-a] B)*(&a[i]) C)p[i] D)a[10]
(32)有以下程序
#include
void fun(int *s,int n1,int n2)
{ int i,j,t;
i=n1; j=n2;
while(i
}
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,0},k;
fun(a,0,3); fun(a,4,9); fun(a,0,9);
for(k=0;k<l0;k++)printf("%d",a[k]); p="" printf(?\n?);
}
程序的运行结果是
A)0987654321 B)4321098765 C)5678901234 D)0987651234
(33)阅读下列程序,当运行函数时,输入asd af aa z67,则输出为
#include
#include
#include
int fun (char *str)
{ int i,j=0;
for(i=0;str[i]!=′ \0′;i++)
if(str[i]!=′ ′)str[j++]=str[i];
str[j]= ′\0′;
}
main()
{
char str[81];
int n;
printf("Input a string : ");
gets(str);
puts(str);
fun(str);
printf("%s\n",str);
}
A)asdafaaz67 B)asd af aa z67 C)asd D)z67
(34)有以下程序
int fun(int n)
{if(n==1)return 1;
else
return(n+fun(n-1));
}
main()
{int x;
scanf("%d",&x); x=fun(x);printf("%d\n",x)
}
执行程序时,给变量x输入10,程序的输出结果是
A)55 B)54 C)65 D)45
(35)下面程序段中,输出*的个数是
char *s="\ta\018bc";
for(;*s!='\0';s++)printf("*");
A)9 B)5 C)6 D)7
(36)C语言结构体类型变量在程序运行期间
A)TC环境在内存中仅仅开辟一个存放结构体变量地址的单元 B)所有的成员一直驻留在内存中
C)只有最开始的成员驻留在内存中 D)部分成员驻留在内存中
(37)已知函数的调用形式为fread(buf,size,count,fp),参数buf的含义是
A)一个整型变量,代表要读入的数据项总数 B)一个文件指针,指向要读的文件 C)一个指针,指向要读入数据的存放地址 D)一个存储区,存放要读的数据项
(38)设有以下语句
char x=3,y=6,z;
z=x^y<<2;
则z的二进制值是
A)00010100 B)00011011 C)00011100 D)00011000
(39)在C语言中,只有在使用时才占用内存单元的变量,其存储类型是
A)auto和register B)extern和register C)auto和static D)static和register
(40)设有定义语句int (*f)(int);,则以下叙述正确的是
A)f是基类型为int的指针变量 B)f是指向函数的指针变量,该函数具有一个int类型的形参
C)f是指向int类型一维数组的指针变量 D)f是函数名,该函数的返回值是基类型为int类型的地址