c语言数据结构期末考试试题与答案,C语言与数据结构试题B参考答案与评分标准.doc...

44cb7578e1df5412b94317daaa3307ba.gifC语言与数据结构试题B参考答案与评分标准.doc

下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。

2.下载的文档,不会出现我们的网址水印。

3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。

文档包含非法信息?点此举报后获取现金奖励!

下载文档到电脑,查找使用更方便

20

积分

还剩页未读,继续阅读

关 键 词:语言

数据结构

试题

参考答案

评分标准

资源描述:

一、 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题目的括号内。每小题1分,共20分)

1. 不属于字符型常量的是(   )

A.‘A’ B.‘a’ C.“A” D.‘b’

2. 根据C语言的语法规则,下列( )是不合法标识符。

A. while B. Name C. Rern5 D. _exam

3. 表达式“1?(0?3:2):(10?1:0)”的值为( ).

A.3 B. 2 C. 1 D. 0

4. 为表示关系x≥y≥z,应使用C语言表达式( ).

A.(x>=y)&&(y>=z) B. (x>=y) AND (y>=z)

C.(x>=y>=z) D. (x>=z)&(y>=z)

5. 以下说法中正确的是( ).

A. C语言程序总是从第一个定义的函数开始执行。

B. 在C语言程序中,要调用的函数必须有main( ) 函数中定义。

C. C语言程序总是从main( ) 函数开始执行。

D. C语言程序中的main( ) 函数必须放在程序的开始部分。

6. 设有数组定义:char array[]=“China”;则数组所占的存贮空间为( ).

A. 4个字节 B. 5个字节 C. 6个字节 D. 7个字节

7. C语言中以只读方式打开一个文件应选择( )参数。

A. ”r” B. “w” C. “rb” D. “a”

8. 从循环体内某处跳出,继续从头执行该循环外的语句是:( ).

A. break语句 B.return语句 C.continue语句 D.空语句。

9. 设有定义:long x=-123456L; 则以下能够正确输出变量x值的语句是( ).

A. printf(“x=%d\n”,x) B. printf(“x=%ld\n”,x)

C. printf(“x=l\n”,x) D. printf(“x=%D\n”,x);

10. C语言用( )表示逻辑“真”值。

A. true B. t或y C. 非零整型值 D. 整型值0

11. 设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。

A. P+i*2 B. P+(i-1)*2 C. P+(i-1) D. P+i

12. 字符串指针变量中存入的是( ).

A.字符串的首地址。 B. 字符串  C.第一个字符 D. 字符串变量。

13. 以( )个是不正确的描述。

A. 数组名可以作为参数进行传递。

B. 在定义函数时,必须指定形参的类型。

C. 形参和实参之间可以是值传递。

D.不论在主函数还是自定义函数中,只要说明了变量,就可为其分配存贮单元。

14. 在函数中默认存储类型说明符的变量应该是( )存储类型。

A.内部静态 B. 外部 C.自动 D. 寄存器

15. 设已有定义: char *st="how are you"; 下列程序段中正确的是 ( )

A. char a[11], *p; strcpy(p=a+1, st[4]);

B. char a[11]; strcpy(a, st);

C. char a[11]; strcpy(++a, st);

D. char a[], *p; strcpy(p=&a[1],st+2);

16. 计算机算法指的是( )。

A.计算方法 B.排序方法

C. 调度方法 D.解决某一问题的有限运算序列

17. 栈是一种( )的数据结构。

A.先进后出 B.先进先出 C.只允许在端点处插入和删除元素 D.操作没有限制

18. 循环队列用数组A[0..m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是( )。

A. rear-front-1 B.rear-front+1 C. (rear-front+m) MOD m D.rear-front

19. struct sk

{ int a;

float b;

}data;

int *p;

若要使p指向data中的a域,正确的赋值语句是( )。

A. p=&a;   B. p=data.a;   C. p=&data.a;   D. *p=data.a

20. 若有以下说明和定义

typedef int *INTEGER

INTEGER p,*q;

以下叙述正确的是( )。

A. p是int型变量

B. p是基类型为int的指针变量

C. q是基类型为int的指针变量

D. 程序中可用INTEGER代替int类型名

二、       填空题(1-2题每题2分,3-8题每题1分,共10分)

1. C语言中基本的数据类型有:______、______ 、______ 。

2. C语言中普通整型变量的类型说明符为______,在内存中占______字节,有符号普通整型的数据范围是______ 。

3. 整数-35在机内的补码表示为______。

4. 执行下列语句int a=8; a+=a-=a*a; 后,a的值是______。

5. 有如下语句:char A[ ]={“I am a student”}; 该字符串的长度是______,A[3]=______。

6. 符号“a”和‘a’的区别是______。

7. 所谓“指针”就是______.“&”运算符的作用是______.“*”运算符的作用是______。

8. 有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是 。

三、判断题(正确的在题后括号内打“√”,错的打“╳”。每小题1分,共10分)

1. C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。 ( )

2. 在 C 程序中 , 函数既可以嵌套定义 , 也可以嵌套调用。( )

3. 在 C 程序中 ,APH 和 aph 代表不同的变量。( )

4. 表达式 0195 是一个八进制整数。( )

5. continue语句的作用是结束本次循环。( )

6. extern变量的生命期是整个程序执行期。 ( )

7. C语言中字符串的结束符是‘\0’。 ( )

8. 如果有定义int a,*p=&a; 则*p与a意义相同。( )

9. 结构体变量中各成员共享空间。( )

10. 起泡排序法是稳定的。( )

四、 应用题(每小题7分,共42分)

1. # include “stdio.h”

main( )

{

int a[]={8,2,9,4,1}, *p;

p=a;

*(p+2)+=2;

printf(“%d, %d ”, *p, *(p+2));}

该程序的运行结果是___________________________________.

2. 已知有一函数定义如下:

templatevoid swap1(T a, T b)

{

T temp;

temp=a;

a=b;

b=temp;

}

主函数调用格式如下:

main()

{

int x=1,y=2;

printf(“x=%d y=%d\n”,x,y);

swap1(x,y);

printf(“x=%d y=%d\n”,x,y);

}

执行后输出结果为

x=1 y=2

x=1 y=2

本来是想交换x和y的值,但没有成功,请指出错误所在,并该正之。

3. for (a=1,b=1;a<=100;a++)

{ if(b>=20) break;

if(b%3==1)

{b+=3; continue;}

b-=5; }

程序执行后a和b的值分别为 。

4.main()

{

int i,num[5];

for(i=0;i<5;i++)

num[i]=i*10 - 2;

printf(“%d”,num[3]);

}

该程序的运行结果是_______________________________.

5. main()

{

float c,f;

c=30.0;

f=(6*c)/5+32;

printf(“f=%f”,f);

}

该程序的运行结果是________________________________.

6. 写出下列程序的运行结果。

#include “stdio.h”

main()

{

int a[]={1,2,3,-4,5};

int m,n,*p;

p=&a[0]; m=*(p+1); n=*(p+4);

printf(“%d %d %d ”,*p,m,n);

}

该程序的运行结果是________________________________.

五、 编程题(18分,任选2题,每题9分,选题操作2题按错误最多的2题评分)

1. 编程将文件score1.txt中的字符读出显示到屏幕上。

2. 输出1—100之间不能被12整除的数。

3. 从键盘上输出10个整数存入一维数组中,按由大到小的顺序输出。

4. 假设以带头结点的单链表表示线性表,单链表的类型定义如下:

templatestruct Node

{

T data;

Node*next; //此处也可以省略

};

编写函数判断链表是否为空。函数原型如下:

bool IsEmpty(Node*head);

C语言与数据结构试题B参考答案与评分标准

一、 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题目的括号内。每小题1分,共20分)

CABAC CACBC BADCB DACCB

二、 填空题(1-2题每题2分,3-8题每题1分,共10分)

1. 整型 实型 字符型 顺序可以不一致,实型1分,其余两种各0.5分

2.int 4 -231~+231-1(1 分)

3. 232-35或0xffffffdd

4. -112

5. 14 ‘m’ 没有单引号不扣分(各0.5分)

6. 一个字符串 一个字符

7. 地址 取地址 取内容(或代表目标变量)(各1/3分,答对2个不扣分)

8. 1,3,2

三、 判断题(判断下列各小题,正确的在题后括号内打“√”,错的打“╳”。每小题1分,共10分)

√╳√╳√√√√╳√

四、 应用题(每小题7分,共42分)

1. 8, 11

2. 指出错误3分,改正4分

改成引用或指针均可,

改成指针,如下:

templatevoid swap1(T *a, T *b)//3分

{

T temp;

temp=*a;

*a=*b;

*b=temp;

}

main()

{

int x=1,y=2;

printf("x=%d y=%d\n",x,y);

swap1(&x,&y); //1分

printf("x=%d y=%d\n",x,y);

}

3. 8 22

4. 28

5. 68.000000

6. 1 2 5

五、 编程题(18分,任选2题,每题9分,选题操作2题按错误最多的2题评分)

1. 编程将文件score1.txt中的字符读出显示到屏幕上。

参考程序:

# include main()

{

FILE *fp; //1分

char c; //1分

fp=fopen("score1.txt","r");//1分

while(!feof(fp)) //2分

{

//fscanf(fp,"%c",&c);

c=fgetc(fp);//2分

putchar(c); //1分

}

fclose(fp); //1分

}

2. 输出1—100之间不能被12整除的数。

参考程序:

#include main()

{

int i; //1分

for(i=1;i<=100;i++) //2分

{

if(i%12==0) //3分

continue; //1分

printf("%d ",i); //2分

}

}

3. 从键盘上输出10个整数存入一维数组中,按由大到小的顺序输出。

#include

展开阅读全文

温馨提示:

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。

2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。

3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。

4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。

5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。

6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。

7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

bb6249c6567dd4384e6ab3556cfc22ed.gif 

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

关于本文

本文标题:C语言与数据结构试题B参考答案与评分标准.doc

链接地址:https://www.renrendoc.com/p-49101596.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值