计算机二级C语言程序设计 样卷 试题Word下载.docx

上传人:b****1 文档编号:3291067 上传时间:2023-05-01 格式:DOCX 页数:16 大小:27.75KB
下载 相关 举报
计算机二级C语言程序设计 样卷 试题Word下载.docx_第1页
第1页 / 共16页
计算机二级C语言程序设计 样卷 试题Word下载.docx_第2页
第2页 / 共16页
计算机二级C语言程序设计 样卷 试题Word下载.docx_第3页
第3页 / 共16页
计算机二级C语言程序设计 样卷 试题Word下载.docx_第4页
第4页 / 共16页
计算机二级C语言程序设计 样卷 试题Word下载.docx_第5页
第5页 / 共16页
计算机二级C语言程序设计 样卷 试题Word下载.docx_第6页
第6页 / 共16页
计算机二级C语言程序设计 样卷 试题Word下载.docx_第7页
第7页 / 共16页
计算机二级C语言程序设计 样卷 试题Word下载.docx_第8页
第8页 / 共16页
计算机二级C语言程序设计 样卷 试题Word下载.docx_第9页
第9页 / 共16页
计算机二级C语言程序设计 样卷 试题Word下载.docx_第10页
第10页 / 共16页
计算机二级C语言程序设计 样卷 试题Word下载.docx_第11页
第11页 / 共16页
计算机二级C语言程序设计 样卷 试题Word下载.docx_第12页
第12页 / 共16页
计算机二级C语言程序设计 样卷 试题Word下载.docx_第13页
第13页 / 共16页
计算机二级C语言程序设计 样卷 试题Word下载.docx_第14页
第14页 / 共16页
计算机二级C语言程序设计 样卷 试题Word下载.docx_第15页
第15页 / 共16页
计算机二级C语言程序设计 样卷 试题Word下载.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机二级C语言程序设计 样卷 试题Word下载.docx

《计算机二级C语言程序设计 样卷 试题Word下载.docx》由会员分享,可在线阅读,更多相关《计算机二级C语言程序设计 样卷 试题Word下载.docx(16页珍藏版)》请在冰点文库上搜索。

计算机二级C语言程序设计 样卷 试题Word下载.docx

D)7

(9)数据库技术的根本目标是要解决数据的

A)存储问题 

B)共享问题 

C)安全问题 

D)保护问题

(10)对下列二叉树

进行中序遍历的结果是

A)ACBDFEG 

B)ACBDFGE 

C)ABDCGEF 

D)FCADBEG

(11)下列叙述中错误的是

A)一个C语言程序只能实现一种算法

B)C程序可以由多个程序文件组成

C)C程序可以由一个或多个函数组成

D)一个C函数可以单独作为一个C程序文件存在

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

A)每个C程序文件中都必须要有一个main()函数

B)在C程序中main()函数的位置是固定的

C)C程序中所有函数之间都可以相互调用,与函数所在位置无关

D)在C程序的函数中不能定义另一个函数

(13)下列定义变量的语句中错误的是

A)int 

_int;

B)double 

int_;

C)char 

For;

D)float 

US$;

(14)若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是

A)++x,y=x-- 

B)x+1=y 

C)x=x+10=x+y 

D)double(x)/10

(15)以下关于逻辑运算符两侧运算对象的叙述中正确的是

A)只能是整数0或1 

B)只能是整数0或非0整数

C)可以是结构体类型的数据 

D)可以是任意合法的表达式

(16)若有定义int 

x,y;

并已正确给变量赋值,则以下选项中与表达式(x-y)?

(x++):

(y++)中的条件表达式(x-y) 

等价的是

A)(x-y>

0) 

B)(x-y<

C)(x-y<

0||x-y>

D)(x-y==0)

(17)有以下程序

main()

{int 

x,y,z;

x=y=1;

z=x++,y++,++y;

printf("

%d,%d,%d\n"

x,y,z);

}

程序运行后的输出结果是

A)2,3,3 

B)2,3,2 

C)2,3,1 

D)2,2,1

(18)设有定义:

int 

a;

float 

b;

执行 

scanf("

%2d%f"

&

a,&

b);

语句时,若从键盘输入876 

543.0<

回车>

,a和b的值分别是

A)876和543.000000 

B)87和6.000000

C)87和543.000000 

D)76和543.000000

(19)有以下程序

a=0,b=0;

a=10;

/* 

给a赋值

b=20;

给b赋值 

*/

a+b=%d\n"

a+b);

输出计算结果 

A)a+b=10 

B)a+b=30 

C)30 

D)出错

(20)在嵌套使用if语句时,C语言规定else总是

A)和之前与其具有相同缩进位置的if配对

B)和之前与其最近的if配对

C)和之前与其最近的且不带else的if配对

D)和之前的第一个if配对

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

A)break语句只能用于switch语句

B)在switch语句中必须使用default

C)break语句必须与switch语句中的case配对使用

D)在switch语句中,不一定使用break语句

(22)有以下程序

k=5;

while(--k) 

%d"

k-=3);

\n"

);

执行后的输出结果是

A)1 

B)2 

C)4 

D)死循环

(23)有以下程序

i;

for(i=1;

i<

=40;

i++)

{if(i++%5==0)

if(++i%8==0) 

%d"

i);

A)5 

B)24 

C)32 

D)40

(24)以下选项中,值为1的表达式是

A)1–'

0'

B)1-'

\0'

C)'

1'

-0 

D)'

-'

(25)有以下程序

fun(int 

x,int 

y){return(x+y);

}

a=1,b=2,c=3,sum;

sum=fun((a++,b++,a+b),c++);

%d\n"

sum);

A)6 

B)7 

C)8 

D)9

(26)有以下程序

char 

s[]="

abcde"

;

s+=2;

s[0]);

执行后的结果是

A)输出字符a的ASCII码 

B)输出字符c的ASCII码

C)输出字符c 

D)程序出错

(27)有以下程序

y)

{staticint 

m=0,i=2;

i+=m+1;

m=i+x+y;

returnm;

j=1,m=1,k;

k=fun(j,m);

%d,"

k);

A)5,5 

B)5,11 

C)11,11 

D)11,5

(28)有以下程序

x)

p;

if(x==0||x==1) 

return(3);

p=x-fun(x-2);

returnp;

fun(7));

A)7 

B)3 

C)2 

D)0

(29)在16位编译系统上,若有定义int 

a[]={10,20,30},*p=&

,当执行p++;

后,下列说法错误的是

A)p向高地址移了一个字节 

B)p向高地址移了一个存储单元

C)p向高地址移了两个字节 

D)p与a+1等价

(30)有以下程序

a=1,b=3,c=5;

*p1=&

a,*p2=&

b,*p=&

c;

*p=*p1*(*p2);

c);

C)3 

D)4

(31)若有定义:

intw[3][5];

,则以下不能正确表示该数组元素的表达式是

A)*(*w+3) 

B)*(w+1)[4] 

C)*(*(w+1)) 

D)*(&

w[0][0]+1)

(32)若有以下函数首部

fun(double 

x[10],int 

*n)

则下面针对此函数的函数声明语句中正确的是

fun(doublex,int*n);

B)int 

int);

C)int 

fun(double*x,intn);

D)int 

fun(double*, 

int*);

(33)有以下程序

voidchange(intk[]){k[0]=k[5];

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

while(n<

=4) 

{change(&

x[n]);

n++;

for(n=0;

n<

5;

n++) 

x[n]);

程序运行后输出的结果是

A)678910 

B)13579 

C)12345 

D)62345

(34)有以下程序

x[3][2]={0},i;

for(i=0;

3;

i++) 

x[i]);

%3d%3d%3d\n"

x[0][0],x[0][1],x[1][0]);

若运行时输入:

246<

,则输出结果为

A)2 

D)2 

6

(35)有以下程序

intadd(int 

a,int 

b){return(a+b);

k,(*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);

(36)有以下程序

#include 

main(int 

argc,char 

*argv[])

i=1,n=0;

while(i

n);

该程序生成的可执行文件名为:

proc.exe。

若运行时输入命令行:

proc 

123 

45 

67

则程序的输出结果是

A)3 

B)5 

C)7 

D)11

(37)有以下程序

#include 

#define 

5

N+1

f(x) 

(x*M)

i1,i2;

i1=f

(2);

i2=f(1+1);

%d 

i1,i2);

程序的运行结果是

A)12 

12 

B)11 

C)11 

11 

D)12 

7

(38)有以下结构体说明、变量定义和赋值语句

structSTD

{char 

name[10];

age;

sex;

}s[5],*ps;

ps=&

s[0];

则以下scanf函数调用语句中错误引用结构体变量成员的是

A)scanf("

%s"

s[0].name);

B)scanf("

s[0].age);

C)scanf("

%c"

(ps->

sex));

D)scanf("

ps->

age);

(39)若有以下定义和语句

uniondata

f;

}x;

y;

则以下语句正确的是

A)x=10.5;

B)x.c=101;

C)y=x;

D)printf("

x);

(40)有以下程序

{FILE 

*fp;

ch[]="

abcd"

t;

fp=fopen("

abc.dat"

"

wb+"

4;

i++)fwrite(&

ch[i],1,1,fp);

fseek(fp,-2L,SEEK_END);

fread(&

t,1,1,fp);

fclose(fp);

%c\n"

t);

程序执行后的输出结果是

A)d 

B)c 

C)b 

D)a

二、填空题(每空2分,共30分)

请将每一个空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。

(1)下列软件系统结构图

的宽度为 

【1】 

(2) 

【2】 

的任务是诊断和改正程序中的错误。

(3)一个关系表的行称为 

【3】 

(4)按“先进后出”原则组织数据的数据结构是 

【4】 

(5)数据结构分为线性结构和非线性结构,带链的队列属于 

【5】 

(6)设有定义:

x=123.4567;

,则执行以下语句后的输出结果是 

【6】 

%f\n"

(int)(x*100+0.5)/100.0);

(7)以下程序运行后的输出结果是 

【7】 

m=011,n=11;

++m,n++);

(8)以下程序运行后的输出结果是 

【8】 

x,a=1,b=2,c=3,d=4;

x=(a 

x=(x 

x=(d>

x)?

x:

d;

(9)有以下程序,若运行时从键盘输入:

18,11<

,则程序的输出结果是 

【9】 

a,b;

Entera,b:

"

%d,%d"

while(a!

=b)

while(a>

b)a-=b;

while(b>

a)b-=a;

%3d%3d\n"

a,b);

(10)以下程序的功能是:

将输入的正整数按逆序输出。

例如:

若输入135则输出531。

请填空。

n,s;

Enteranumber:

"

n);

Output:

do

s=n%10;

s);

【10】 

while(n!

=0);

(11)以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fun函数计算:

y1=(x+8)2-2(x+8)+6

y2=sin2(x)-2sin(x)+6

math.h"

doublefun(double 

x){return(x*x-2*x+6);

{double 

x,y1,y2;

Enterx:

%lf"

x);

y1=fun( 

【11】 

y2=fun( 

【12】 

y1=%lf,y2=%lf\n"

y1,y2);

(12)下面程序的功能是:

将N行N列二维数组中每一行的元素进行排序,第0行从小到大排序,第1行从大到小排序,第2行从小到大排序,第3行从大到小排序,例如:

#define 

4

voidsort(int 

a[][N])

i,j,k,t;

for(i=0;

i

for(j=0;

j

for(k= 

【13】 

k

/*判断行下标是否为偶数来确定按升序或降序来排序*/

if( 

【14】 

?

a[i][j]a[i][k])

t=a[i][j];

a[i][j]=a[i][k];

a[i][k]=t;

voidoutarr(int 

a[N][N])

…… 

aa[N][N]={{2,3,4,1},{8,6,5,7},{11,12,10,9},{15,14,16,13}};

outarr(aa);

/*以矩阵的形式输出二维数组*/

sort(aa);

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

【15】 

intf(int 

a[],int 

n)

{if(n>

1)

returna[0]+f(a+1,n-1);

else

returna[0];

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

s=f(aa+2,4);

s);

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2