C语言与数据结构试题B参考答案与评分标准_第1页
C语言与数据结构试题B参考答案与评分标准_第2页
C语言与数据结构试题B参考答案与评分标准_第3页
C语言与数据结构试题B参考答案与评分标准_第4页
C语言与数据结构试题B参考答案与评分标准_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填

在题目的括号内。每小题1分,共20分)

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

A.'A'B.'a'C."A"D.'b'

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

A.whileB.NameC.Rern5D._exam

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

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

4.为表示关系x》y2z,应运用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.设有数组定义:chararray口="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.设有定义:longx=T23456L;则以下能够正确输出变量x值的语句是().

A.printf("x=%d\n",x)B.printf(<<x=%ld\nM,x)

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

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

A.trueB.t或yC.非零整型值D.整型值0

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

()。

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

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

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

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

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

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

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

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

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

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

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

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

B.chara[l1];strcpy(a,st);

C.chara[ll];strcpy(++a,st);

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

16.计算机算法指的是(晨

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

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

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

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

18.循环队列用数组A[0..m-11存放其元素值,已知其头尾指针分别是front和rear,则

当前队列中的元素个数是()。

A.rear-front_1B.rear-front+1C.(rear-front+m)MODm

D.rear-front

19.structsk

{inta;

floatb;

}data;

int*p;

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

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

20.若有以下说明和定义

typedefint*INTEGER

INTEGERp,*q;

以下叙述正确的是()。

A.p是int型变量

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

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

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

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

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

2.C语言中一般整型变量的类型说明符为,在内存中占字节,有符号一般整型

的数据范围是。

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

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

5.有如下语句:charA[]={"Iamastudent"};该字符串的长度是.A[3]=。

6.符号“a"和'a'的区分是o

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

8.有如下输入语句:scanf("a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b

的值为3,c的值为2,从键盘输入数据的正确形式应是。

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

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

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

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

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

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

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

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

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

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

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

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

1.#include"stdio.h"

main()

(

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

p=a;

*(p+2)+=2;

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

该程序的运行结果是.

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

template<classT>

voidswapl(Ta,Tb)

(

Ttemp;

temp=a;

a=b;

b=temp;

)

主函数调用格式如下:

main()

(

intx=l,y=2;

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

swapl(x,y);

printf(<<x=%dy=%d\nw,x,y);

)

执行后输出结果为

x=ly=2

x=ly=2

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

3.for(a=Lb=l;a<=100;a++)

{if(b>=20)break;

if(b%3==l)

{b+=3;continue;}

b-=5;}

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

4.main()

inti,num[5];

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

num[i]=i*10-2;

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

)

该程序的运行结果是.

5.mainO

(

floatc,f;

c=30.0;

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

printf(f);

)

该程序的运行结果是.

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

ttinclude"stdio.h"

main()

{

inta[]={l,2,3,-4,5};

intm,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.假设以带头结点的单链表表示线性表,单链表的类型定义如下:

template<classT>

structNode

(

Tdata;

Node<T>*next;//此处〈T〉也可以省略

);

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

boolIsEmpty(Node<T>*head);

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

一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号

填在题目的括号内。每小题1分,共20分)

CABACCACBCBADCBDACCB

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

1.整型实型字符型依次可以不一样,实型1分,其余两种各0.5分

2.int4-231〜+231-1(1分)

3.232-35或Oxffffffdd

4.-112

5.14'm'没有单引号不扣分(各0.5分)

6.一个字符串一个字符

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

8.1,3,2

三、推断题(推断下列各小题,正确的在题后括号内打“J”,错的打“X”。

每小题1分,共10分)

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

1.8,11

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

改成引用或指针均可,

改成指针,如下:

template<classT>

voidswapl(T*a,T*b)〃3分

{

Ttemp;

temp=*a;

*a=*b;

*b=temp;

main()

{

intx=l,y=2;

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

swapl(&x,&y);〃1分

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

3.822

4.28

5.68.000000

6.125

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

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

参考程序:

#include<stdio.h>

main()

(

FILE*fp;//I分

charc;〃1分

fp=fopen(''scorel.txt〃,“r〃);〃1分

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

(

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

c=fgetc(fp);//2分

putchar(c);//I分

}

fclose(fp);//I分

)

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论