程序设计基础复习题专科Word文档下载推荐.docx

上传人:b****6 文档编号:16201330 上传时间:2022-11-21 格式:DOCX 页数:19 大小:40.06KB
下载 相关 举报
程序设计基础复习题专科Word文档下载推荐.docx_第1页
第1页 / 共19页
程序设计基础复习题专科Word文档下载推荐.docx_第2页
第2页 / 共19页
程序设计基础复习题专科Word文档下载推荐.docx_第3页
第3页 / 共19页
程序设计基础复习题专科Word文档下载推荐.docx_第4页
第4页 / 共19页
程序设计基础复习题专科Word文档下载推荐.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

程序设计基础复习题专科Word文档下载推荐.docx

《程序设计基础复习题专科Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《程序设计基础复习题专科Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。

程序设计基础复习题专科Word文档下载推荐.docx

A.% B. /C. %和/D. >

=

11.以下说法正确的是()

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

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

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

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

12.已定义以下函数

intfun(int*p)

{

return*p;

}

该函数的返回值是()

A.不确定的值B.形参p中存放的值

C.形参p所指存储单元中的值D.形参p的地址值

13.对于scanf(“A=%d”,&

a)语句,输入10的正确的输入形式是()

A.a=10B.A=10C.10D.=10

14.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是()

 

A.c=b=a;

B.(a=c)‖(b=c);

C.(a=c)&

(b=c);

D.a=c=b;

15.在C语言中,不正确的int类型的常数是()

A.32768B.0C.037D.0xAF

16.若有以下说明语句(已知int占2个字节,long占4个字节),则下面printf的输出结果是()

A.24B.26C.20D.30

unionuarea

{

intx;

longy;

};

structstr

chars[20];

unionuareaz;

voidmain()

{

printf(“%d\n”,sizeof(structstr));

17.下列关于switch和break语句的讨论中,只有()是正确的。

A.break语句是switch语句的一部分

B.在switch语句中可以根据需要使用或不使用break语句

C.switch语句中必须使用break语句

D.以上三种说法都不正确。

18.以下不能正确定义二维数组的选项是()

A.inta[2][2]={{1},{2}};

B.inta[2][]={{1,2},{3,4}};

C.inta[2][2]={{1},2,3};

D.inta[][2]={1,2,3,4};

19.执行以下程序后,输出结果是()

A.–1B.1C.8D.0

voidmain()

{

inty=11;

while(--y)

y--;

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

}

20.voidmain()

inta=5,*b,**c;

c=&

b;

b=&

a;

……

程序在执行了c=&

语句后,表达式:

**c的值是()

A.变量a的地址B.变量b中的值

C.变量a中的值D.变量b的地址

21程序设计的三种基本程序设计结构是:

________

A.if、while和for;

B.switch、do-while和for;

C.while、do-while和for;

D.顺序结构、分支结构和循环结构。

22算法的特征不包括:

______。

B.有穷性B.可行性C.确定性D.有1个或者多个输入。

23.C语言源程序的基本组成单位是______。

C.函数B.语句C.声明和语句D.文件

24.下列标识符中,只有______是合法的。

D.ifB.3abC.IntD.A-4

25下列常量中,只有______是合法的。

E.3e-0.3B.‘abc’C.02a1D.‘\377’

26下列说法中正确的是:

F.C语言中的for语句的三个表达式都可以省略,而且分号也可以省略。

G.宏替换比函数调用的执行速度慢。

H.实质上,C语言中的指针就是一个变量的地址。

I.C语言中的任何函数都可以由程序员命名。

27C语言中,运算对象必须是整型的运算符是_______。

J./B.%C.+D.-

28以下叙述中错误的是_______。

K.C语句必须以分号结束

L.复合语句在语法上被看作一条语句

M.空语句出现在任何位置都不会影响程序运行

N.赋值表达式末尾加分号就构成赋值语句

29以下叙述中正确的是_______。

A.调用printf函数时,必须要有输出项

B.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出

D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码

30以下关于函数的叙述中正确的是_______。

A.每个函数都可以被其它函数调用(包括main函数)

B.每个函数都可以被单独编译

C.每个函数都可以单独运行

D.在一个函数内部可以定义另一个函数

31有以下程序段

typedefstructNODE{

intnum;

structNODE*next;

}OLD;

以下叙述中正确的是_______。

A.以上的说明形式非法

B.NODE是一个结构体类型

C.OLD是一个结构体类型

D.OLD是一个结构体变量

32以下叙述中错误的是_______。

A.C语言中对二进制文件的访问速度比文本文件快

B.C语言中,随机文件以二进制代码形式存储数据

C.语句FILEfp;

定义了一个名为fp的文件指针

D.C语言中的文本文件以ASCII码形式存储数据

33当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是_______。

A.k%2B.k%2==1C.(k%2)!

=0D.!

k%2==1

34以下不能正确计算代数式

值的C语言表达式是_______。

A.1/3*sin(1/2)*sin(1/2)B.sin(0.5)*sin(0.5)/3

C.pow(sin(0.5),2)/3D.1/3.0*pow(sin(1.0/2),2)

35以下能正确定义且赋初值的语句是_______。

A.intn1=n2=10;

B.charc=32;

C.floatf=f+1.1;

D.doublex=12.3E2.5;

36以下程序的功能是:

当a<

b<

c时,以八进制形式输出a、b、c的值。

#include<

stdio.h>

voidmain()

{

inta,b,c;

scanf(“%d%d%d”,&

a,&

b,&

c);

if(a<

c)

printf(“%o%o%o”,a,b,c);

程序不能得到正确结果的的原因是_______。

A.注释语句书写位置错误

B.a、b、c不能以八进制进行输出

C.没有按照八进制进行输入

D.if语句的条件表达式错误

37设有定义:

intk=1,m=2;

floatf=7;

,则以下选项中错误的表达式是_______。

A.k=k>

=kB.-k++C.k%int(f)D.k>

=f>

=m

38设有定义:

inta=2,b=3,c=4;

,则以下选项中值为0的表达式是_______。

A.(!

a==1)&

(!

b==0);

B.(a<

b)&

!

c||1;

C.a&

b;

D.a||(b+b)&

(c-a)

39有以下程序段

intk=0,a=1,b=2,c=3;

k=a<

b?

b:

k=k>

c?

c:

k;

执行该程序段后,k的值是_______。

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

40设变量a、b、c、d和y都已正确定义并赋值。

若有以下if语句

if(a<

b)

if(c==d)y=0;

elsey=1;

该语句所表示的含义是_______。

A.

B.

C.

D.

二、写出下列程序的执行结果

1、有以下程序

#include<

inti=0,s=0;

do

if(i%2)

i++;

continue;

i++;

s+=i;

}while(i<

9);

printf("

%d\n"

s);

执行后输出的结果是

2、有以下程序

#include<

intfunc(intx)

if(x==1)

return2;

else

returnx*func(x-1);

printf(“%d\n”,func(4));

3、定义如下变量和数组 

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

则下列语句

for(i=0;

i<

3;

i++)

printf(“%d”,x[i][2-i]);

的输出结果是  

4、voidmain()

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

p=a;

printf(“%d”,*p);

printf(“%d\n”,*(p+8));

输出结果是   

5、

inta=1,b=2,c=3;

if(c==a)

printf("

c);

else

b);

6、

intn='

c'

;

switch(n++)

case'

a'

:

A'

b'

B'

good"

);

break;

C'

pass"

d'

D'

warn"

default:

error"

7、

inta[4][4]={{3,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,12,-33,0}};

inti,j,s=0;

for(i=0;

4;

i++)

for(j=0;

j<

j++)

if(a[i][j]<

0)

if(a[i][j]==0)

s+=a[i][j];

printf("

8、

inta=100,b=10;

int*p1=&

a,*p2=&

*p1=b;

*p2=a;

printf(“%d,%d,”,a,b);

printf(“%d,%d\n”,*p1,*p2);

三、程序改错题注:

下列每小题有一个错误,找出并改正

1.#include"

stdio.h"

voidmain()

charc,*ch=&

c;

while((c=getchar())!

=’\n’)

if(ch>

=’a’&

ch<

=’z’)

putchar(*ch-’a’+’A’);

else

putchar(*ch);

2.求100以内的正整数中为13的倍数的最大值。

inti;

for(i=100;

i>

=0;

i--)

if(i%13==0)

%d"

i);

3.求1+2+3+…+100

inti=1;

do

sum+=i;

}while(i<

=100);

sum);

4.计算1+1/2+1/3+…+1/10

doublet=1.0;

for(i=2;

=10;

t+=1/i;

t=%f\n"

t);

四、把以下的程序补充完整

1.以下程序中,select函数的功能是:

在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。

请填空。

#defineN3

#defineM3

intselect(inta[N][M],int*n)

inti,j,row=1,colum=1;

for(i=0;

N;

for(j=0;

M;

if(a[i][j]>

a[row][colum])

row=i;

colum=j;

*n=

;

return

2.函数YangHui的功能是把杨辉三角形的数据赋给二维数组的下半三角,形式如下:

1

11其构成规律是:

121

(1)第0列元素和主对角线元素均为1

1331

(2)其余元素为其左上方和正上方元素之和

14641(3)数据的个数每行递增1

请将程序补充完整。

#defineN6

voidyanghui(intx[N][N])

inti,j;

x[0][0]=1;

for(i=1;

x[i][0]=

=1;

for(j=1;

i;

x[i][j]=

;

}

3、以下程序的功能是:

给r输入数据后计算半径为r的圆面积s。

注:

该题目有3个错误之处,找出并改正

#include<

#definePI3.1415926;

intr;

floats;

scanf("

r);

s=PI*r**r;

s=%f\n"

4、以下程序用于计算一个一维数组各元素平方根的和。

该题目有3个错误之处,找出并改正。

inta[10],i,sum;

for(i=0;

scanf(“%d”,&

a[i]);

i=0;

while(!

(i=9))

sum+=sqrt(a[i]);

i++;

5、下程序是从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。

该题目有1个错误之处,找出并改正。

floatx,amax,amin;

scanf(“%f”,&

x);

amax=x;

amin=x;

while(x<

0)

if(x>

amax)amax=x;

if(x<

amin)amin=x;

scanf(“%f”,&

printf(“amax=%f\namin=%f\n”,amax,amin);

6、以下程序用于通过指针对数组进行输入和输出。

该题目有2个错误之处,找出并改正。

inta[10];

int*p=a;

inti;

for(i=0;

10;

scanf(“%d”,*p++);

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

1、以下程序的功能是计算:

s=1+12+123+1234+12345。

intt=0,s,i;

____

_____;

for(i=1;

i<

=5;

i++)

t=i+__

____;

s=s+t;

}

s=%d\n"

2、以下程序的功能是输出如下形式的方阵:

13141516

9101112

5678

1234

inti,j,x;

for(j=4;

__

j--)

for(i=1;

=4;

i++)

x=(j-1)*4+__

%4d"

x);

\n"

3、以下程序的功能是计算:

4、以下程序的功能是输出如下形式的方阵:

五、编程题

1.判断某一年是否为闰年。

(规则:

如果某年份能被4整除而不能被100整除,该年份为闰年;

如果某年份能被4整除,且又能被400整除,该年份也为闰年。

除此之外,都不是闰年。

2.写一个函数,在主函数中输入一个数,然后调用该函数判断该数是否是素数,最后输出判断结果。

(判断一个数m是否是素数可让该数m被2,3,4…

去除,如果m能被其中的任何一个整数整除,则证明它不是素数;

相反,如果m不能被2~

之中的任何一个整数整除,则证明m为素数。

3.编写函数,将整型数组中的各元素按相反顺序存放(不使用辅助数组)。

要求采用两种方法:

(1)函数中采用下标运算;

(2)函数中利用指针自加或自减间接访问数组单元。

要求:

输入、输出在主函数中完成。

main函数和子函数都要写出。

4设整型变量a、b、c分别从键盘输入3个整数,编写程序,按照从大到小的顺序排列这3个数,使a成为最大的,c成为最小的,并且按序输出这3个数。

5已知一个整型数组X[4],它的各元素值分别为3、11、8、22。

使用指针表示法编写程序,求各数组元素之积。

6、编写一个C的递归程序,求解如下函数:

参考答案

一、选择题

1-5:

ABDDB

6-10:

BABAA

11-15:

CCBCA

16-20:

ABBDC

21-25:

DDACD

26-30:

CBCBB

31-35:

CCDAB

36-40:

DCABC

二、略

三、略

四:

五:

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

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

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

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