C语言.docx

上传人:b****1 文档编号:2373913 上传时间:2022-10-29 格式:DOCX 页数:87 大小:111.21KB
下载 相关 举报
C语言.docx_第1页
第1页 / 共87页
C语言.docx_第2页
第2页 / 共87页
C语言.docx_第3页
第3页 / 共87页
C语言.docx_第4页
第4页 / 共87页
C语言.docx_第5页
第5页 / 共87页
点击查看更多>>
下载资源
资源描述

C语言.docx

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

C语言.docx

C语言

(1)

一、选择题

在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

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

A)算法程序的长度

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

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

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

(2)栈和队列的共同特点是

A)都是先进先出

B)都是先进后出

C)只允许在端点处插入和删除元素

D)没有共同点

(3)设有下列二叉树:

对此二叉树前序遍历的结果为

A)ZBTYCPXA

B)ATBZXCYP

C)ZBTACYXP

D)ATBZXCPY

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

A)程序的规模

B)程序的效率

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

D)程序易读性

(5)下列叙述中正确的是

A)一个算法的空间复杂度大,则其时间复杂度也必定大

B)一个算法的空间复杂度大,则其时间复杂度必定小

C)一个算法的时间复杂度大,则其空间复杂度必定小

D)上述三种说法都不对

(6)下列不属于软件工程的3个要素的是

A)工具

B)过程

C)方法

D)环境

(7)软件开发离不开系统环境资源的支持,其中必要的测试数据属于

A)硬件资源

B)通信资源

C)支持软件

D)辅助资源

(8)下述关于数据库系统的叙述中正确的是

A)数据库系统减少了数据冗余

B)数据库系统避免了一切冗余

C)数据库系统中数据的一致性是指数据类型一致

D)数据库系统比文件系统能管理更多的数据

(9)下列数据模型中,具有坚实理论基础的是

A)层次模型

B)网状模型

C)关系模型

D)以上3个都是

(10)相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和

A)可重用性差

B)安全性差

C)非持久性

D)冗余性

(11)算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。

这属于算法的

A)正当性

B)可行性

C)确定性

D)有穷性

(12)下列关于标识符的说法中错误的是

A)合法的标识符是由字母、数字和下划线组成

B)C语言的标识符中,大写字母和小写字母被认为是两个不同的字符

C)C语言的标识符可以分为三类,即关键字、预定义标识符和用户标识符

D)用户标识符与关键字不同时,程序在执行时将给出出错信息

(13)判断char型变量cl是否为大写字母的正确表达式是

A)′A′<=cl<=′Z′

B)(cl>=A)&&(cl<=Z)

C)(′A′>=cl)||(′Z′<=cl)

D)(cl>=′A′)&&(cl<=′Z′)

(14)有以下程序

intadd(inta,intb){return(a+b);}

main()

{intk,(*f)(),a=5,b=10;

f=add;

}

则以下函数调用语句错误的是

A)k=(*f)(a,b);

B)k=add(a,b);

C)k=*f(a,b);

D)k=f(a,b);

(15)若变量均已正确定义并赋值,以下合法的C语言赋值语句是

A)x=y==5;

B)x=n%2.5;

C)x+n=i;

D)x=5=4+1;

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

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

(17)设有以下程序段

intx=0,s=0;

while(!

x!

=0)s+=++x;

printf("%d",s);

A)运行程序段后输出0

B)运行程序段后输出1

C)程序段中的控制表达式是非法的

D)程序段执行无限次

(18)以下程序执行后x的值是

main()

{intx,y=252,i=386,*m=&y,*z=&i;

x=(z==y);

printf("%d",x);}

A)252

B)1

C)0

D)运行时出错,x无定值

(19)有如下程序

main()

{floatx=2.0,y;

if(x<0.0)y=0.0;

elseif(x>10.0)y=1.0/x;

elsey=1.0;

printf("%f\n",y);}

该程序的输出结果是

A)0.000000

B)0.250000

C)0.500000

D)1.000000

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

#include

main()

{inta=15,b=21,m=0;

switch(a%3)

{case0:

m++;break;

case1:

m++;

switch(b%2)

{default:

m++;

case0:

m++;break;}}

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

A)1

B)2

C)3

D)4

(21)如下程序的输出结果是

#include

main()

{charch[2][5]={"6937","8254"},*p[2];

inti,j,s=0;

for(i=0;i<2;i++)p[i]=ch[i];

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

for(j=0;p[i][j]>′\0′;j+=2)

s=10*s+p[i][j]-′0′;

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

A)69825

B)63825

C)6385

D)693825

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

#include

main()

{inta=28,b;

chars[10],*p;

p=s;

do{b=a%16;

if(b<10)*p=b+48;

else*p=b+55;

p++;a=a/5;}while(a>0);

*p=′\0′;puts(s);}

A)10

B)C2

C)C51

D)\0

(23)下列程序执行后的输出结果是

voidfunc1(inti);

voidfunc2(inti);

charst[]="hello,friend!

";

voidfunc1(inti)

{printf("%c",st[i]);

if(i<3){i+=2;func2(i);}}

voidfunc2(inti)

{printf("%c",st[i]);

if(i<3){i+=2;func1(i);}}

main()

{inti=0;func1(i);printf("\n");}

A)hello

B)hel

C)hlo

D)m

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

#include

voidprt(int*x,int*y,int*z)

{printf("%d,%d,%d\n",++*x,++*y,*(z++));}

main()

{inta=10,b=40,c=20;

prt(&a,&b,&c);prt(&a,&b,&c);}

A)11,42,31B)11,41,20C)11,21,40D)11,41,21

12,22,4112,42,2011,21,2112,42,22

(25)下列二维数组初始化语句中,正确且与语句floata[][3]={0,3,8,0,9};等价的是

A)floata[2][]={{0,3,8},{0,9}};

B)floata[][3]={0,3,8,0,9,0};

C)floata[][3]={{0,3},{8,0},{9,0}};

D)floata[2][]={{0,3,8},{0,9,0}};

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

#include

#include

main()

{charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;

for(k=1;k<3;k++)printf("%s\n",&w[k][k]);}

A)ABCD

FGH

KL

B)ABC

EFG

IJ

M

C)EFG

JK

0

D)FGH

KL

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

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

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

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

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

(28)有以下程序

main()

{inti,s=0,t[]={l,2,3,4,5,6,7,8,9};

for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\n",s);}

程序执行后的输出结果是

A)45

B)20

C)25

D)36

(29)以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是

main()

{int*p,*q,a,b;

p=&a;

printf("inputa:

");

scanf("%d",*p);}

A)*p表示的是指针变量p的地址

B)*p表示的是变量a的值,而不是变量a的地址

C)*p表示的是指针变量p的值

D)*p只能用来说明p是一个指针变量

(30)阅读下列程序,则在执行后,程序的运行结果为

#include"stdio.h"

#include"string.h"

main()

{chara[30]="nicetomeetyou!

";

strcpy(a+strlen(a)/2,"you");

printf("%s\n",a);}

A)nicetomeetyouyou

B)niceto

C)meetyouyou

D)nicetoyou

(31)若有下面的程序片段:

int[12]={0},*p[3],**pp,i;

for(i=0;i<3;i)

p[i]=&a[i*4];

pp=p;

则对数组元素的错误引用是

A)pp[0][1]

B)a[10]

C)p[3][1]

D)*(*(p+2)+2)

(32)设有下面的程序段:

chars[]="china";char*p;p=s;

则下列叙述正确的是

A)s和p完全相同

B)数组s中的内容和指针变量p中的内容相同

C)s数组长度和p所指向的字符串长度相等

D)*p与s[0]相等

(33)若有函数max(a,b),为了让函数指针变量p指向函数max,当调用该函数时,正确的赋值方法是

A)(*p)max(a,b)

B)*pmax(a,b)

C)p=max(a,b)

D)*p=max(a,b)

(34)以下程序的运行结果是

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

当前位置:首页 > 总结汇报 > 学习总结

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

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