Practice
1.以读写方式打开一个普通文件,且当其不存在时要创建它,应指定的mode参数是(D)
A.r+
B.rw+
C.rw
D.w+
E.r
2.以下那一个是fseek(FILE *stream, long offset, int whence)中whence的合法值?D
A.SEEK_OOP
B.SEEK_BIG
C.SEEK_TEL
D.SEEK_SET
E.SEEK_GET
3.已知字符‘A’的ASCII代码值是65,字符变量c1的值是‘A’,c2的值是‘D’。则执行语句 printf(“%d, %d”, c1, c2-2); 后,输出结果是(C)
A.A,B
B.A,68
C.65,66
D.65,68
4.以下叙述中错误的是(A)
A.函数的形参存放在数据段中
B.函数可以返回地址值
C.可以给指针变量强制赋一个浮点数作为地址值
D.可以给指针变量赋NULL
key:函数的形参存放在栈空间。
5.以下说法正确的是(D)
A.文件指针指向了文件的第一个字节
B.文件描述符代表了文件的大小
C.可以通过调节文件指针的指向来读取文件中间的某个字节
D.文件描述符是系统IO访问文件的句柄
6.若有以下定义,则不移动指针p且通过指针p引用值为98的数组元素的表达式是 p[0][5]
int w[10]={23,54,10,33,47,98,72,80,61}, (*p)[10]=&w;
7.有以下程序:
#include <stdio.h>
int fun(char s[])
{
int n = 0;
while(*s<='g' && *s>='0')
{
n = 10*n + *s - '0';
s++;
}
return(n);
}
int main(void)
{
char s[10]={'6', '1' , '*' , '4' , '*' , '9' , '*' , '0' , '*'};
printf("%d\n", fun(s));
}
程序运行的结果是(C)
A.9
B.61490
C.61
D.5
key:按照ascii码
设有以下程序:
#include <stdio.h>
int main()
{
int a,b,k=4,m=6,*p1=&k,*p2=&m;
a = p1 != &m;
b=(*p1)/(*p2)+7;
printf("a=%d\n",a); //a = 1
printf("b=%d\n",b) ; //b = 7
}
如下代码,请分析该代码实现的功能
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x=x & (x-1);
}
return countx;
}
该函数的功能为(该函数功能是计算一个数x二进制表示中1的个数);
假定x = 9999。
函数的运行结果为:8 分析:该函数功能是计算一个数x二进制表示中1的个数 x&(x-1)计算后x每次少一个1