C语言笔试模拟题9.docx

上传人:b****6 文档编号:6523949 上传时间:2023-01-07 格式:DOCX 页数:14 大小:22.34KB
下载 相关 举报
C语言笔试模拟题9.docx_第1页
第1页 / 共14页
C语言笔试模拟题9.docx_第2页
第2页 / 共14页
C语言笔试模拟题9.docx_第3页
第3页 / 共14页
C语言笔试模拟题9.docx_第4页
第4页 / 共14页
C语言笔试模拟题9.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C语言笔试模拟题9.docx

《C语言笔试模拟题9.docx》由会员分享,可在线阅读,更多相关《C语言笔试模拟题9.docx(14页珍藏版)》请在冰豆网上搜索。

C语言笔试模拟题9.docx

C语言笔试模拟题9

一、选择题

(1)算法的空间复杂度是指

A)算法程序的长度

B)算法程序中的指令条数

C)算法程序所占的存储空间

D)执行过程中所需要的存储空间

正确答案:

 D

(2)用链表表示线性表的优点是

A)便于随机存取

B)花费的存储空间较顺序存储少

C)便于插入和删除操作

D)数据元素的物理顺序与逻辑顺序相同

正确答案:

 C

(3)数据结构中,与所使用的计算机无关的是数据的

A)存储结构

B)物理结构

C)逻辑结构

D)物理和存储结构

正确答案:

 C

(4)结构化程序设计主要强调的是

A)程序的规模

B)程序的效率

C)程序设计语言的先进性

D)程序易读性

正确答案:

 D

(5)软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指

A)模块间的关系

B)系统结构部件转换成软件的过程描述

C)软件层次结构

D)软件开发过程

正确答案:

 B

(6)检查软件产品是否符合需求定义的过程称为

A)确认测试

B)集成测试

C)验证测试

D)验收测试

正确答案:

 A

(7)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。

下列图符名标识的图符不属于数据流图合法图符的是

A)控制流

B)加工

C)数据存储

D)源和潭

正确答案:

 A

(8)应用数据库的主要目的是

A)解决数据保密问题

B)解决数据完整性问题

C)解决数据共享问题

D)解决数据量大的问题

正确答案:

 C

(9)在数据库设计中,将E-R图转换成关系数据模型的过程属于

A)需求分析阶段

B)逻辑设计阶段

C)概念设计阶段 

D)物理设计阶段

正确答案:

 B

(10)在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。

其中数据独立性最高的阶段是

A)数据库系统

B)文件系统

C)人工管理

D)数据项管理

正确答案:

 A

(11)以下叙述中正确的是

A)构成C程序的基本单位是函数

B)可以在一个函数中定义另一个函数

C)main()函数必须放在其他函数之前

D)C函数定义的格式是K&R格式

正确答案:

 A

(12)结构化程序所规定的三种最基本控制结构是

A)输入、处理、输出

B)树形、网形、环形

C)顺序、选择、循环

D)主程序、子程序、函数

正确答案:

 C

(13)一个C语言程序是由

A)一个主程序和若干子程序组成

B)函数组成

C)若干过程组成

D)若干子程序组成

正确答案:

 B

(14)请选出可用作C语言用户标识符的是

A)void,define,WORD

B)a3_b3,_123,IF

C)FOR,--abc,Case

D)2a,Do,Sizeof

正确答案:

 B

(15)下列各数据类型不属于构造类型的是

A)枚举型

B)共用型

C)结构型

D)数组型

正确答案:

 A

(16)在16位C编译系统上,若定义longa;,则能给a赋40000的正确语句是

A)a=20000+20000;

B)a=4000*10;

C)a=30000+10000;

D)a=4000L*10L

正确答案:

 D

(17)以下不正确的叙述是

A)在C程序中,逗号运算符的优先级最低

B)在C程序中,APH和aph是两个不同的变量

C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变

D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

正确答案:

 D

(18)sizeof(float)是

A)一个双精度型表达式

B)一个整型表达式

C)一种函数调用

D)一个不合法的表达式

正确答案:

 B

(19)若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为

A)4

B)16

C)32

D)52

正确答案:

 C

(20)下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。

#include

main()

{inti=0,j,k;

do{i++;k=316-13*i;}while(______);

j=k/11; 

printf("316=13*%d+11*%d",i,j);

}

A)k/11

B)k%11

C)k/11==0

D)k%11==0

正确答案:

 B

(21)设有定义:

intn=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是

A)p=1;

B)*q=2;

C)q=p;

D)*p=5;

正确答案:

 D

(22)下面程序的运行结果是

#include

main()

{inty=10;

do{y--;}while(--y);

printf("%d\n",y--);

}

A)-1

B)1

C)8

D)0

正确答案:

 D

(23)下面程序的输出结果是

main()

{inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

printf("%d\n",*(p+2));}

A)3

B)4

C)1

D)2

正确答案:

 A

(24)有如下程序

inta[10]={1,2,3,4,5,6,7,8,9,10};

int*p=&a[3],b;b=p[5];

则b的值是

A)5

B)6

C)9

D)8

正确答案:

 C

(25)设有intx=11;则表达式(x++*1/3)的值是

A)3

B)4

C)11

D)12

正确答案:

 A

(26)请选出以下语句的输出结果

printf("%d\n",strlen("\t\"\065\xff\n"));

A)5

B)14

C)8

D)输出项不合法,无正常输出

正确答案:

 A

(27)下列程序的输出结果是

main()

{doubled=3.2;intx,y;

x=1.2;y=(x+3.8)/5.0;

printf("%d\n",d*y);

} 

A)3

B)3.2

C)0

D)3.07

正确答案:

 C

(28)下列程序的输出结果是

intb=2;

intfunc(int*a)

{b+=*a;return(b);}

main()

{inta=2,res=2;

res+=func(&a);

printf("%d\n",res);

}

A)4

B)6

C)8

D)10

正确答案:

 B

(29)下面能正确进行字符串赋值操作的是

A)chars[5]={"ABCDE"};

B)chars[5]={′A′,′B′,′C′,′D′,′E′};

C)char*s;s="ABCDE";

D)char*s;chara;scanf("%s",&s);

正确答案:

 C

(30)执行以下程序后,a,b的值分别为

main()

{inta,b,k=4,m=6,*p1=&k,*p2=&m;

a=p1==&m;

b=(*p1)/(*p2)+7;

printf("a=%d\n",a);

printf("b=%d\n",b);

}

A)-1,5

B)1,6

C)0,7

D)4,10

正确答案:

 C

(31)设有数组定义:

chararray[]="China";则数组array所占的空间为

A)4个字节

B)5个字节

C)6个字节

D)7个字节

正确答案:

 C

(32)若已定义:

inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;

其中0≤i≤9,则对a数组元素不正确的引用是

A)a[p-a]

B)*(&a[i])

C)p[i]

D)a[10]

正确答案:

 D

(33)以下不正确的定义语句是

A)doublex[5]={2.0,4.0,6.0,8.0,10.0};

B)inty[5]={0,1,3,5,7,9};

C)charc1[]={′1′,′2′,′3′,′4′,′5′};

D)charc2[]={′\x10′,′\xa′,′\x8′};

正确答案:

 B

(34)若有以下程序

#include 

inta[]={2,4,6,8};

main()

{inti;

int*p=a;

for(i=0;i<4;i++)a[i]=*p;

printf("%d\n",a[2]);

}

上面程序输出结果是

A)6

B)8

C)4

D)2

正确答案:

 D

(35)下面程序段的运行结果是

char*format="%s,a=%d,b=%d\n";

inta=11,b=10;

a+=b;

printf(format,"a+=b",a,b);

A)for,"a+=b",ab

B)format,"a+=b"

C)a+=b,a=21,b=10

D)以上结果都不对

正确答案:

 C

(36)C语言允许函数类型缺省定义,此时函数值隐含的类型是

A)float

B)int

C)long

D)double

正确答案:

 B

(37)以下程序有语法错误,有关错误原因的正确说法是

main()

{intG=5,k;

voidprt_char();

...

k=prt_char(G);

...

}

A)语句voidprt_char();有错,它是函数调用语句,不能用void说明

B)变量名不能使用大写字母

C)函数说明和函数调用语句之间有矛盾

D)函数名不能使用下划线

正确答案:

 C

(38)以下叙述中不正确的是

A)在不同的函数中可以使用相同的名字的变量

B)函数中的形式参数是局部变量

C)在一个函数内定义的变量只在本函数范围内有效

D)在一个函数内的复合语句中定义的变量在本函数范围内有效

正确答案:

 D

(39)有以下程序:

#include

unionpw

{inti;

charch[2];}a;

 main()

 {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);}

程序的输出结果是

A)13

B)14

C)208

D)209

正确答案:

 A

(40)在16位IBM-PC机上使用C语言,若有如下定义

structdata

{inti;

charch;

doublef;

}b;

则结构变量b占用内存的字节数是

A)1

B)2

C)7

D)11

正确答案:

 D

(41)下面程序的运行结果是

#include

main()

{inta=1,b=10;

do

{b-=a;a++;}while(b--<0);

printf("a=%d,b=%d\n",a,b);

}

A)a=3,b=11

B)a=2,b=8

C)a=1,b=-1

D)a=4,b=9

正确答案:

 B

(42)以下程序的输出结果是

voidreverse(inta[],intn)

{inti,t;

for(i=0;i

{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}

}

main()

{intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;

reverse(b,8);

for(i=6;i<10;i++)s+=b[i];

printf("%d\n",s);

}

A)22

B)10

C)34

D)30

正确答案:

 A

(43)有如下程序:

longfib(intn)

{if(n>2)return(fib(n-1)+fib(n-2));

elsereturn

(2);

}

main()

{printf("%d\n",fib(3));}

该程序的输出结果是

A)2

B)4

C)6

D)8

正确答案:

 B

(44)假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:

PROGABCDEFGHIJKL<回车>,则输出结果为

main(intargc,char*argv[])

{while(--argc>0)

printf("%s",argv[argc]);

printf("\n");

}

A)ABCDEFG

B)IJHL    

C)ABCDEFGHIJKL

D)IJKLABCDEFGH

正确答案:

 D

(45)以下程序有错,错误原因是

main()

{int*p,i;char*q,ch;

p=&i;

q=&ch;

*p=40;

*p=*q;

......

}

A)p和q的类型不一致,不能执行*p=*q;语句

B)*p中存放的是地址值,因此不能执行*p=40;语句

C)q没有指向具体的存储单元,所以*q没有实际意义

D)q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果

正确答案:

 D

(46)函数rewind的作用是

A)使文件位置指针重新返回文件的开始位置

B)将文件位置指针指向文件中所要求的特定位置

C)使文件位置指针指向文件的末尾

D)使文件位置指针自动移至下一个字符位置

正确答案:

 A

(47)设有以下说明语句

structex

{intx;floaty;charz;}example;

则下面的叙述中不正确的是

A)struct结构体类型的关键字

B)example是结构体类型名

C)x,y,z都是结构体成员名

D)structex是结构体类型名

正确答案:

 B

(48)设有以下语句:

charx=3,y=6,z;

z=x^y<<2;

则z的二进制值是

A)00010100

B)00011011

C)00011100

D)00011000

正确答案:

 B

(49)阅读以下程序及对程序功能的描述,其中正确的描述是

#include

main()

{

FILE*in,*out;

charch,infile[10],outfile[10];

printf("Entertheinfilename:

\n");

scanf("%s",infile);

printf("Entertheoutfilename:

\n");

scanf("%s",outfile);

if((in=fopen(infile,"r"))==NULL)

{

printf("cannotopeninfile\n");

exit(0);

}

if((out=fopen(outfile,"w"))==NULL)

{

printf("cannotopenoutfile\n");

exit(0);

}

while(!

feof(in))fputc(fgetc(in),out);

fclose(in);

fclose(out);

}

A)程序完成将磁盘文件的信息在屏幕上显示的功能

B)程序完成将两个磁盘文件合二为一的功能

C)程序完成将一个磁盘文件复制到另一个磁盘文件中

D)程序完成将两个磁盘文件合并并在屏幕上输出

正确答案:

 C

(50)C语言中,能识别处理的文件为

A)文本文件和数据块文件

B)文本文件和二进制文件

C)流文件和文本文件

D)数据文件和二进制文件

正确答案:

 B

二、填空题 

(1)数据的逻辑结构有线性结构和【1】两大类。

正确答案:

 1.(非线性结构)

(2)顺序存储方法是把逻辑上相邻的结点存储在物理位置【2】的存储单元中。

正确答案:

 1.(相邻)

(3)一个类可以从直接或间接的祖先中继承所有属性和方法。

采用这个方法提高了软件的【3】。

正确答案:

 1.(可重用性)

(4)软件工程研究的内容主要包括:

【4】技术和软件工程管理。

正确答案:

 1.(软件开发)

(5)关系操作的特点是【5】操作。

正确答案:

 1.(集合)

(6)下面程序是指从终端读入的20个字符放入字符数组中,然后利用指针变量输出上述字符串,请填空。

#include

main()

{inti;char s[21],*p;

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

s[i]=getchar();

s[i]=【6】;

p=【7】

while(*p)putchar (【8】);

}

正确答案:

 1.('\0')2.(s)3.(*p++)

(7)以下程序将数组a的4个元素和数组b的6个元素写到名为lett.dat的二进制文件中,请填空。

#include

main()

{FILE  *fp;

chara[4]="1234",b[6]="abcedf";

if((fp=fopen("【9】","wb"))=NULL)exit(0);

fwrite(a,sizeof(char),4,fp);

fwrite(b,【10】,1,fp);

fclose(fp);

}

正确答案:

 1.(lett.dat)2.(6*sizeof(char))

(8)在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为4;一个double型数据在内存中所占的字节数为【11】。

正确答案:

 1.(8)

(9)以下程序输出的结果是【12】。

main()

{inta=5,b=4,c=3,d;

d=(a>b>c);

printf("%d\n",d);

}

正确答案:

 1.(0)

(10)以下函数的功能是求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。

例如,若x中的值为30,则有4个数符合要求,它们是1,3,5,15。

请按题意,完成填空。

试题程序:

#include

#include

voidfun(intx,intpp[],int*n)

{inti,j=0;

【13】

if(x%i==0)pp[j++]=i;

【14】;

}

main()

{int x,aa[1000],n,i;

clrscr();

printf("\nPleaseenteranintegernumber:

\n");scanf("%d",&x);

fun(x,aa,&n);

for(i=0;i

printf("%d",aa[i]);

printf("\n");

}

正确答案:

 1.(for(i=1;i

(11)

#include

#include

intfun(int*s,intt,int*k)

{inti;

*k=0;

【15】

if(s[*k]

return【16】;

}

main()

{

inta[10]={876,675,896,101,301,401,980,431,451,777},k;

clrscr();

fun(a,10,&k);

printf("%d,%d\n",k,a[k]);

}

正确答案:

 1.(for(i=0;i

(12)mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。

请填空。

intmystrlen(char*str)

{inti;

for(i=0;【17】!

=′\0′;i++);

return(i);

}

正确答案:

 1.(*(str+i)或str[i])

(13)以下程序的输出结果为【18】。

#defineJFT(x)x*x

main()

{inta,k=3;

a=++JFT(k+1);

printf("%d",a);

}

正确答案:

 1.(9)

(14)以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;成员变量link是指向自身结构体的指针,请将定义补充完整。

structnode

{intinfo;

【19】link;

};

正确答案:

 1.(structnode*)

(15)设有以下结构体类型:

structst

{charname[8];

intnum;

floats[4];

}student[50];

并且结构体数组student中的元素都已有值,若要将这些元素写到硬盘文件fp中,请将以下fwrite语句补充完整:

fwrite(student,【20】,1,fp);

正确答案:

 1.(sizeof(structst)*50)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 水产渔业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1