求助,十万火急!

ziguhong 2008-12-25 03:04:03

一、 选择(每个3分,共27分)
1.C语言中,以下不合法的用户标识符是 C
 A)j2_KEY
 B)Double
 C) 4d
 D) _8_

2. C语言中,int *(*ptr)();D
则下面叙述中正确的是( )
 A) ptr是指向一维数组的指针变量
 B) ptr是指向int型数据的指针变量
 C) ptr是指向函数的指针,该函数返回一个int型数据
 D) pt r是指向函数的指针,该函数返回值是指向int型数据的指针

3.C语言中,设有如下定义: D
unsigned long a[]={6,7,8,9,10};
unsigned long *p;
则下列程序段输出的结果是( )
p=a;
*(p+2) += 2;
printf(“%d,%d\n”,*p,*(p+2));
 A) 8,10 B) 6,8 C) 7,9 D)6,10

4.C语言中,已定义以下函数 C
int fun(int *p)
{return *p;}
fun 函数返回值是 ( )
 A)不确定的值      
 B)一个整数
 C)形参p中存放的值
 D)形参p的地址值

5. 若某数x的真值为 –0.1010,在计算机中该数表示为1.0110,则该数所用的编码为( )。
  A.原码   B.补码   C.反码   D.移码

6. 在存储器堆栈结构中,堆栈指针SP的内容是( )
A.栈顶单元地址
B.栈底单元地址
C.栈顶单元内容
D.栈底单元内容

7. 中断与调用指令的主要区别在于中断是(    )。
A. 程序按排的 B. 随机的 C. 程序请求的 D. 执行输入/输出指令

8. 在提供虚拟存储的系统中,用户的逻辑地址空间主要受( )的限制。
A. 内存空闲块的大小 B. 外存的大小 C. 计算机编址范围 D. 页表大小

9. 操作系统采用分页式存储管理(PAGING)方法,要求( )
A.每个进程拥有一张页表,且进程的页表驻留在内存中
B.每个进程拥有一张页表,但只要执行进程的页表驻留在内存中,其他进程的页表不必驻留在内存中
C.所有进程共享一张页表,以节约有限的内存空间,但页表必须驻留在内存中
D.所有进程共享一张页表,只有页表中当前使用的页面必须驻留在内存中,以最大限度地节约有限的内存空间

二、 填空(每个4分,共28分)
1. C语言中,结构体定义如下:
struct BBB
{
long a;
char *p;
short b;
char cbuf[2];
short sbuf[6];
}*p;
程序中对*p赋值,p=0x100000; 请计算下面表达式的值。
p+0x1 = 0x
(char *)p+0x1 = 0x

2. 以下程序用于判断a,b,c能否构成三角形,若能输出YES,若不能输出NO。当a,b,c输入三角形三条边长时,确定a,b,c能构成三角形的条件是需要同时满足三条件:a+b>c,a+c>b,b+c>a。 请填空(C语言)。
main()
{
float a,b,c;
scanf(“%f%f%f”,&a,&b,&c);
if(________)
printf(“YES\n”);/*a,b,c能构成三角形*/
else
printf(“NO\n”);/*a,b,c不能构成三角形*/
}

3.下面的C代码中,程序打印的结果是:________。
unsigned long gVal =0;
void ValInit(unsigned long val)
{
val = 0x1;
return ;
}
int main()
{
ValInit(gVal);
printf(“%u”,gVal);
return 0;
}


4.以下C程序的运行结果是:_________
fun(int t[],int n)
{
int i,m;
if(n==1)
return t[0];
else
if(n>=2)
{
m=fun(t,n-1);
return m;
}
}

main()
{
int a[]={11,4,6,3,8,2,3,5,9,2};
printf(“%d\n”,fun(a,10));
}

5. 以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如:参数str所指字符串为Hello!,参数c中的字符为e,则函数返回字符串:ello!的首地址。若str所指字符串为空串或不包含c中的字符,则函数返回NULL。请填空。
char *fun(char *str,char c)
{
int n=0;char *p=str;
if(p!=NULL)
while(p[n]!=c&&p[n]!='\0') n++;
if(p[n]=='\0' return NULL;
return (______);
}

6.表达式3.6-5/2+1.2+5%2的值是

7.进程的虚拟空间由正文段、数据段和堆栈段组成,那么在C语言程序中,定义的全局变量属于 段,局部变量属于_ _ _段,函数调用实参传递值属于 段,常数值属于 段。

三、 综合(每个15分,共45分)
1.编写程序求1 + (1+2)+ (1+2 + 3)+ … + (1+2 +…+ n)+…+ (1+2 +…+ 100)的和。


2.下面C程序期望输出str=hello world,请指出其中的错误,并修改。
char *GetStr(char *p)
{
p=”hello world”;
return p;
}
void main()
{
char *str = NULL;
if (NULL != GetStr(str))
{
printf(“\n str= %s”,str);
}
return;
}

3. 采用指针完成上一题目。
#include <stdio.h>
#define SIZE 8
int indexOf(int *, int);
int main() {
int arr[SIZE] = {1, 8, 23, 32, 7, 56, 9, 12} ;
int index = indexOf(arr, 9);//查找数值9的位置!
if(index == -1) {
printf("数值在数组中不存在!");
} else {
printf("出现在arr[%d]", index);
}
}
int indexOf(int p*, int num) {
… …//补全此处代码
}
...全文
96 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ziguhong 2008-12-25
  • 打赏
  • 举报
回复
大家帮下啊
ziguhong 2008-12-25
  • 打赏
  • 举报
回复
保证就一次
ypb362148418 2008-12-25
  • 打赏
  • 举报
回复
第一个选C,你能不能不把作业题贴上来啊
cat2865 2008-12-25
  • 打赏
  • 举报
回复
。。。整套卷子都发上来

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧