计算机基础与程序设计复习参考题_第1页
计算机基础与程序设计复习参考题_第2页
计算机基础与程序设计复习参考题_第3页
计算机基础与程序设计复习参考题_第4页
计算机基础与程序设计复习参考题_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

助学指导书

高等教育自学考试

《计算机基础与程序设计》

复习参考题

郑州大学土木工程学院

2011年4月

第一章计算机及程序设计基础知识

一、单项选择题

1.一个完整的计算机系统应该包括()

A.主机和外设B.主机和操作系统

C.硬件系统和系统软件D.硬件系统和软件系统

2.在计算机中,指令通常是由()

A.操作码、操作数组成B.源操作数、目标操作数组成

C.反码、补码组成D.直接寻址、目的寻址组成

3.下列设备中属于输出设备的是)

A.扫描仪B.键盘C.鼠标D.显示器

4.整数一2在机器内存中的表示是()

A.1000000000000010B1111111111111110

C.11111111111111101D1111111111111111

5.如果文件存储的是数据在内存中存放的字节形式,则该文件是

()

A.ASCII文件B.文本文件C.二进制文件D.设备文

6.下列软件中属于应用软件的是()

A.Ms-DosB.Windows2000

C.WPS2000字处理软件D.C语言处理程序

7.在计算机硬件设备中能用作输入设备是()

A.显示器B.键盘C.绘图仪D.打印机

8.在Dos系统中可以用文件扩展名表示文件类型,其中批处理文件的扩

展名是()

A..OBJB..CC..BATD..BAK

9.具有只读功能的内存储器是指()

A.ROMB.RAMC.硬盘D.CD-ROM

10.存储量1MB等于()

A.23字节B.210字节C.2"字节D.230字节

11.下面数据中最小数是()

A.(0.1100)2B.(0.64)8C.(0.8125)10D.(0.D)16

12.CPU处理数据和指令的基本单位是字(Word),一个字的字长是()

A.8bitsB.16bits

C.32bitsD.与CPU数据总线有关的bit位数

13.与十进制1100等值的十六进制数是()

A.44AB.44CC.54AD.54C

14.与二进制数1011.01等值的十进制数是()

A.7.25B.11.05C.11.25D.19.25

15.Unix是()

A.单用户、单任务的操作系统B.单用户、多任务的操作系

C.多用户、单任务的操作系统D.多用户、多任务的操作系

16.一个二进制数位也称为一个()

A.wordB.byteC.KBD.bit

17.()是用助记符来表示指令的符号语言。

A.机器语言B.汇编语言C.高级语言D.语言处理程序

18.-123的原码是()

A.11111011B.10000101C.01111011D.0000101

19.若当前路径为C盘TC子目录,仅将A盘根目录下的文件名第3

个字符为P,扩展名为C的所有文件复制到C盘TC子目录下,一定成功

的命令是()。

A.COPYA:\*P*.CB.COPYA:\??P*.CC:

C.COPYA:\??P*.CD.COPY??P*.C

C:\TC

20.按冯诺依曼的设计思想,计算机采用的数制是()

A.二进制B.八进制C.十进制D.十六进制

21.计算机能够自动按照人们的意图进行工作的最基本思想是

)

A.采用逻辑部件B.存储程序和数据

C.控制代码D.总结结构

22.磁盘处于写保护状态,那么磁盘中的数据()

A)不能读出,不能删改,也不能写入新数据

B)可以读出,不能删改,也不能写入新数据

0可以读此可以删改,但不能写入新数据

D)可以读此不能删改,但可以写入新数据

23.应用软件系统TH的总容量大约1MB,其主要程序文件存放在C:\TH

目录中,而数据文件存放在C:\TH\DATA目录中,如果将它们完整地复制到A盘,

应该使用的命令是

A)XCOPYC:\THA:\B)XCOPYC:\THA:\/S

C)XCOPYC:\THA:\/MD)XCOPYC:\THA:\/P

24.所谓“裸机”是指()

A)单片机B)单板机

0不装备任何软件的计算机D)只装备操作系统的计算机

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

这属于算法的()A)正当性B)可行性C)确定性D)有穷

二、多项选择题

1.存储在下列哪些设备中的信息可以长期保存?()

A.RAMB.ROMC.硬盘D.软盘E.光盘

2.下列设备中属于外存储设备的有()

A.RAMB.光盘C.硬盘D.软盘E.磁带

3.微机系统的主机包含的部件有()

A.输入设备B.存储器C.输出设备D.运算器

E.控制器

4.总线是连接微机CPU、内存和外设之间传送信号的公共通道,微机的

总线包括有()

A.电源线B.数据线C.地址线D.控制线E.

网络线

5.下面哪些软件属于操作系统范畴()。

A.DOSB.FoxproC.TurboCD.UNIX

E.Windows

6.下面哪些是组成MS—DOS操作系统的模块()

A.COMMAND.COMB.10.SYS

C.MSDOS.SYSD.TurboCE.BOOT

7.与十进制141等值的数是()

A.(10001101)2B.(10001110)2C.(215)8

D.(8D)l6E.(8E)16

8.?X*.C可以代表的文件是()

A、AXCD.CB、AXCD.DC、ABX.CD、RX.CE、XX1234.C

三、填空题

1.计算机的硬件由五部分组成,它们分别是输入设备、输出设备、存储

器、和O

2.微型计算机的性能主要取决于o

3.一片存储容量是1.44MB的软磁盘,可以存储大约140万个

4.在MS-DOS环境中同时按下[Ctrl]和[Break]两个键,其作用是

第二章关于C语言程序的基本知识

一、选择题

1.下列转义字符中,表示回车的是()

A.\0B.\nC.\rD.\f

2.若定义doubled;则d在内存中分配的字节数是()

A.1个B.2个C.4个D.8个

3.若a=9;b=8,则表达式(a=++b)?++a:++b的值是()

A.8B.9C.10D.7

4.C语言源程序的基本单位是()

A.过程B.函数C.子程序D.语句

5.在TurboC2.0中,寻求在线帮助可按键()

A.FlB.F5C.F9D.F10

6.设有inta=3,b=-4,c=0;表达式((a>b)?a:b)&&c<0的值是

()

A.-4B.0C.1D.3

7.退出TurboC2.0返回系统,在主菜单File项中可选择()

A.LoadB.NewC.SaveD.

Quit

8.在TurboC2.0中,若定义unsignedinta;则变量a在内存中

分配的字节数是()

A.1个B.2个C.4个D.8个

9.下面四个选项中,均是合法整型常量的选项是()o

A.160-OxffffOilB.-OxcdfOlaOxe

C.-01986,0120668D.-0x48a2e5Ox

10.在C程序中,main函数的位置是()。

A.必须作为第一个函数B.必须作为最后一个函数

C.可以放在任意位置D.必须放在它所调用的函数之后

11.如果a=5,b=2,c=3,d=4,则表达式a>b?a:c>d?c:d的值是

()o

A.2B.3C.4D.5

12.在C程序中,设一表达式中包含有int,long,char和unsigned

类型的变量和数据,这四种类型数据的转换规则是()。

A.int-*unsigned-*long-*charB.char-*int-*long

-*unsigned

C.char-*int-unsigned-longD.int-*char-*

unsigned-*long

13.设有说明:inta=ll,b=10;执行表达式a%=b+(a&&b)后,a的

值为()。

A.0B.1C.11D.22

14.下面哪一个是合法的指数型实数()

A.%dB.a+bC.-123D.3D

15.以下使i的运算结果为4的表达式是()

A.inti=0,j=0;(i=3,(j++)+i);B.int

i=l,j=0;j=i=(i=3)*2);

C.inti=0,j=l;(j==l)?(i=l):(i=3);D.inti=l,j=l;i+=j+=2;

16.字符串常数"CHINA〃在内存中存储时占的字节数是()

A、5个B、6个C、7个D、8个

17.设有intp,q;以下不正确的语句是()

A、p*=3B、p/=qC、p+=3D^p&&二q

18.以下不正确的C语言标识符是()。(题目为:简述标识符的命

名规则)

A.ABCB.abcC.a_bcD.ab.c

19、下面关于运算符优先顺序的描述中正确的是()

A关系运算符〈算术运算符〈赋值运算符<逻辑与运算符

B逻辑运算符<关系运算符<算术运算符<赋值运算符

C赋值运算符<逻辑与运算符<关系运算符<算术运算符

D算术运算符<关系运算符(赋值运算符<逻辑与运算符

20、下列叙述中正确的是()

A)C语言中既有逻辑类型也有集合类型

B)C语言中没有逻辑类型但有集合类型

C)C语言中有逻辑类型但没有集合类型

D)C语言中既没有逻辑类型也没有集合类型

21.已知inti,a;执行语句"i=(a=2*3,a*5),a+6;”后,变量a的值

是()o

A.6B.12C.30D.36

22.不能进行++和一运算的数据类型是()o

A.指针B.doubleC.intD.long

23.下列叙述中错误的是()

A)计算机不能直接执行用C语言编写的源程序

B)C程序经编译程序编译后,生成后缀为.obj的文件是一个二进制

文件

O后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个

二进制文件

D)后缀为.obj和.exe的二进制文件都可以直接运行

24.对于一个正常运行的C程序,以下叙述中正确的是()

A)程序的执行总是从main函数开始,在main函数结束

B)程序的执行总是从程序的第一个函数开始,在main函数结束

O程序的执行总是从main函数开始,在程序的最后一个函数中结

D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函

数中结束

25以下合法的字符型常量是()

A)”\xl3"B)"\018“C)"65"D)“\n"

26.C程序在作逻辑运算时判断操作数真、假的表述中,正确的是()

A.0为假,非。为真B.只有1为真

C.T为假,1为真D.0为真,非。为假

二、多项选择题

1.设a=l,b=3,c=0;下面表达式的值为1的有()

A.!a&&b||a&&(c+l)B.a-b+3C.(a>b)==c

D.(a=0)&&(b=10)E.b>a&&a>c

2.若有intx;floaty;指出下面结果为整型数的表达式()

A、(int)(x+y)B、(int)x+yC、'a'+xD>x+(int)

y

E、x*y

三、填空题

LC语言中基本数据类型包括。

2.初始化值是0.618的双精度变量a的定义形式为。

3.表达式a=1,a+1,a++的值是。

4.已知x、y分别为a、b、c中的最大、最小值,求a、b^c中间值的

表达式为O

5.C语言程序由main()函数开始执行,应在函数中结束。

6.条件"2<X<3或XCT0”的C语言表达式是o

7.C语言中实型变量分为两种类型:和o

第三章C的基本语句及顺序结构程序设计

一、选择题

1.如果inti=3,则printf("%d",-i++)的输出结果及i的值是

()o

A)-34B)-44

C)-43D)-33

2.在printf语句中,格式说明符u表示()

A.以十进制带符号形式输出整数B.以十六进制带符号形式输出

整数

C.以十进制无符号形式输出整数D.以十六进制无符号形式输出

整数

3.设charx='a';则printf("x=%c,y=%c\n",x,

97);的输出是()

A.x=a,y=97B.x=97,y=a

C.x=97,y=97D.x=a,y=a

4.在文件使用方式中,字符串〃rb〃表示()

A.打开一个已存在的二进制文件,只能读取数据

B.打开一个文本文件,只能写入数据

C.打开一个已存在的文本文件,只能读取数据

D.打开一个二进制文件,只能写入数据

5.设变量均已正确定义,若要通过

scanf(a%d%c%d%cw,&al,&cl,&a2,&c2);语句为变量al和a2赋数值10和

20,为变量cl和c2赋字符X和Yo以下所示的输入形式中正确的是(注:

口代表空格字符)()

A.10nxn20QY〈回车〉B.10QX20QY〈回车〉

c.ionx〈回车〉D.iox〈回车〉

6.若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能

够正确表示该代数式的C语言表达式是()

A.sqrt(abs(nx+e"x))B.

sqrt(fabs(pow(n,x)+pow(x,e)))

C.sqrt(fabs(pow(n,x)+exp(x)))D.

sqrt(fabs(pow(x,n)+exp(x)))

7.有以下程序,其中加表示按无符号整数输出

main()

{unsignedintx=0xFFFF;/*x的初值为十六进制数*/

printf("%u\n",x);

)

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

A.-1B.65535C.32767D.OxFFFF

8.执行下列语句printf(“%d",‘a'=='A')后输出为()

A.1B.语法错C.0D.97

9.下列程序段的输出结果是()

voidmain(void)

]

inyy=l,x=5;

if(x<0)y=—1;

if(x>=0)y=0;

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

)

A.1B.0C.1D.5

10.若有下列程序段,欲使a=2b=3,对应正确的数据输入方法是

(其中<CR>表示换行)()

inta,b

scanf("%d%d&a,&b);

A.2B.a=2b=3<CR>3<CR>

C.a=2,b=3<CR>D.2,3<CR>

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

main()

{inti=012,j=22,k=0xl0;

printf("%d,%d,%d\n,i,j,k);

)

A.12,22,10B.10,22,10

12.以下程序的输出结果是(

main()

{inta=10;

a>10?a-;a++;

a+=a;

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

)

A.-22B.11C.22D.-11

二、简答题

1.c语言中的运算符“=”与数学中的“=”的意义相同吗?为什

么?

2.简述TurboC2.0系统中,在主菜单File下选用Quit命令的作用。

三、阅读分析

1、阅读下面程序,写出运行结果:

main()

{inti=3,k;

k=i+i+i;

printf(7k=%d,i=%d",k,i);

)

2、下面程序段的输出结果是()

main()

{ints,p;

s=p=5;

P=­s;

p++;++p;

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

)

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

main()

{inta,b,c;

a=(b=(c=3)*5)*2-3;

printf(/z%d,%d,%d\n/z,a,b,c);

)

4.以下程序的正确输出结果为()0

main()

{

inta=2,c=5;

printf(z,a=%%d,b=%%d\n”,a,c);

)

5、要使下面程序的输出语句在屏幕上显示1,2,34

则从键盘上输入的正确数据格式为:()o

main()

(

chara,b;

intc;

scanf("%c%c%d”,&a,&b,&c);

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

)

6、ttinclude<stdio.h>

main()

intx,y;

scanf("%2d%*2s%2d”,&x,&y);

printf(〃%cT,x+y);

}

程序运行时输入:123456789/则程序运行结果是:

第四章条件语句与选择结构程序设计

一、单项选择题

1.若有inta=3,b=4,c=5,d=6,x=4;执行下列程序段后x的值是(

if(a<b)

(

if(c==d)

x=c;

)

else

x=d++

A.4B.5C.6D.7

2.关于switch中的表达式,正确的说法是()

A.它必须是算术表达式B.它必须是关系表达式

C.它必须是逻辑表达式D.它可以是任意类型的表达式

3.执行如下程序段后,x的值是()

intx=l,y=­1;

if(y<0)x—=y;

elsex+=y;

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

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

main()

intx=5,y;

if(x>0)

y=l;

y=0;

if(x<0)

y=-l;

printf("%d",y);

)

A.-1B.0C.1D.5

5.关于if语句下面叙述正确的是()

A.只有当if语句中表达式的值等于1时,才执行if的内嵌语

B.只有当if语句中表达式的值为假时,才执行if的内嵌语句

C.只有当if语句中表达式的值等于0时,才执行if的内嵌语

D.只要if语句中表达式的值非0时,就执行if的内嵌语句

6.若执行下面程序时,从键盘输入数据3和4,则程序的输出结果是

)

main()

{inta,b,s;

scanf(〃%d%d〃,&a,&b);

s=a;

if(a<b)s=b;

s=s*s;

printf("%d",s);

}

A.9B.12C.16D.25

7.若运行以下程序段时,从键盘输入2473(表示回车),则下面程序的

运行结果是()o

intc;

while((c=getchar())!='\n,)

switch(c-,2')

{case0:

case1:putchar(c+4);

case2:putchar(c+4);break;

case3:putchar(c+3);

default:putchar(c+2);break;

}

A.668977B.668966C.66778777D.6688766

8.下面程序段的运行结果是()。

main()

(

intx=l,y=2,z=3,s=0;

if(y>x)

if(y>z)s=l;

elses=2;

elses=3;

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

)

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

9.两次运行下面程序,如果从键盘上分别输入6和4,则程序的输出

结果是()

main()

{intx;

scanf("%d",&x);

if(x++>5)printf("%d",x);

elseprintf("%d\n",xT);}

A.7和5B.6和3C.7和4D.6和4

10.以F有关switch语句的正确说法是()o

A.break语句是语句中必须的一部分

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

C.break语句在switch语句中不可以使用

D.在switch语句中的每—f"case都要用break语句

11.以下if语句语法正确的是()o

A.if(x>0)printf("%f",x)

B.if(x>0){x=x+y;printf("%f",x);}

elseprintf("%f",-x);elseprintf("%f”,-x);

C.if(x>0){x=x+y;printf("%f",x);};

D.if(x>0){x=x+y;printf("%f",x)}

elseprintf("%f",-x);elseprintf(,-x);

12.与语句if(a〉b)if(c>d)x=1;elsex=2;等价的是()

题目:设inta=2,b;则执行b=a&&l;语句后,b的

结果

A.if(a>b){if(c>d)x=1;elsex=2;}

B.if(a>b){if(c>d)x=1;}elsex=2;

C.if((a>b)&&(c>d))x=1;elsex=2;

二、多项选择题

1.下列语句中正确的有()

A.if(x>y);

B.if(x=y)&&(x!=0)x+=y;

C.if(x!=y)scanf(u%d,&x);elsescanf("%d",&y);

D.if(x<y){x++;y++;}

E.if(x<y)x++;y++;elsex-;y一;

2.以下if语句中没有语法错误的有()

A.if(x>O)printf("%f〃,x);

elseprintf,x);

B.if(x>0){x=x+y;printf(",x)}

elseprintf(z/%f”,x)

C.if(x>0){x=x+y;printf("%f",x);}

elseprintf(z/%f”,x);

D.if(x>O)x=x+y;printf("%f",x);

elseprintf("%f〃,x)

E.ifx>y

x++;

else

三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程

序完整并符合题目要求。

1.阅读分析下面程序,请说明程序的功能;然后写出当键盘输入14时,

程序的运行结果。

main()

intx;

scanf("%d",&x);

if(x%5==0&&x%7==0)

printf(z,yes");

else

printf("no");

)

2.若分别输入。和5时,请阅读分析下列程序,然后分别写出两

种输入情况下程序的运行结果。

main()

(

intx,y;

scanf("%d",&x);

if(x>2&&x<=10)

y=x*(x+2);

elseif(x>-1&&X<=2)

y=2*x;

elseif(x<-l)y=x-1;

if(y!=-1)

printf("%d,y);

else

printf("error");

)

3.阅读下面程序,并回答问题:

main()

{inta,b,x,y;

scanf("%d,%d",&a,&b);

x=a*a+b*b

if(x>100)

{y=x/100;printf("%d",y);)

elseprintf("%d",a+b);

)

(1)若程序运行时,输入6和9,输出结果是什么?

(2)说明程序的功能。

4.阅读下面程序,并回答问题:

main()

{intx,y,z,c;

scanf("%d%d%d",&x,&y,&z);

if(x<z){c=y;y=z;z=c;}

if(x<z){c=x;x=z;z=c;}

if(x<y){c=x;x=y;y=c;}

printf("%d,%d,%d",x,y,z);

)

(1)若程序运行时,输入3、2和5,则输出结果是什么?

(2)写出程序所实现的功能。

5.请阅读分析下面程序,然后写出运行结果。

main()

intx=156,a,b,c;

if(x>100)

{

a=x/100;

x=x%100;

}

if(x>10)

{

b=x/10;

c=x%10;

)

printf(〃%3d%3d%3d%3d〃,a,b,c,a*b*c);

)

6.阅读下列程序,并回答问题:

main()

{intx=l,y=0,a=0,b=0;

switch(x)

{case1:switch(y)

{case0;a++;break;

case1:b++;break;}

case2:a++;b++;break;

case3:a++;b++;}

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

请分析该程序的执行过程并写出运行结果。

四、编程题:

1、已知能被4整除而不能被100整除的或者能被400整除的年份是润年,

则判断某一年是否是润年

2、是判断一个学生考试成绩及格与否的程序(成绩A,或B,或C者为

及格;成绩为D者不及格)

第五章循环语句与循环结构程序设计

一、选择题

1、有如下程序片段:

inti=0;

while(i++<=2)

printf("%d",i);

则i的最终执行结果是:()

A.2B.3C.4D.无结果

2、若i为整型变量,则以下循环执行次数是()

for(i=2;i==0;)printfi");

A.无限次B.0次C.1次D.2次

3、设有程序段

intk=10;

while(k=O)k=kT;

这下面描述中正确的是()

A.while循环执行10次B.循环是无限循环

C.循环体语句一次也不执行D.循环体语句执行一次

4、以下正确的描述是()

A.continue语句的作用是结束整个循环的执行

B.只能在循环体内和switch语句体内使用break语句

C.在循环体内使用break语句或continue语句的作用相同

D.从多层循环嵌套中退出时,只能使用goto语句

5、若有如下语句

intx=3;

do{printf(""%d\n",x-=2);}while(!(—x));

则上面程序段()

A.输出的是1B.输出的是1和-2

C.输出的是3和0D.是死循环

6、对do语句while(表达式);结构的循环,下列说法正确的是()

A.当表达式的值为非零时不执行循环体

B.循环体至少被执行一次

C.当表达式的值为零时循环体一次也不执行

D.循环体仅被执行一次

7、在下述程序中,for循环执行的次数是()

main()

inti=0,j=10,k=2,s=0;

for(;;)

(

i+=k;

if(i>j)

(

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

break;

s+=i;

)

)

A.4B.5C.6D.7

8、下面程序段的循环次数是()

intk=2;

while(k==0)printf("%d",k);

k一;printf(/z\n");

A.0次B.1次C.2次D.无限次

9、结束while(表达式)循环的条件是()

A.当表达式的值为0时B.当表达式的值不为0时

C.当表达式的值为1时D.当表达式的值为非1时

10、以下程序段的运行结果是()

for(y=l;y<10;)y=((x=3*y,x+1),x-l);

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

A.x=27,y=27B.x=12,y=13C.x=15,y=14D.x=y=27

多选:

11、下列循环将会产生死循环的有()

A.while(1);B.do{}while(0);C.do{}while(1);

D.for(k=l;k>—10;k++);E.for(k=l;k=10;k++,k---);

二、填空题:

1、用下列for循环将大写字母顺序输出(从‘A‘到'Z')

for(i=0;i<26;i++)putchar('A'+)

2、若所有变量都已定义,则程序段中for循环的循环次数为。

a=2;b=10;

for(i=b;i<=a;i-,a++)printf("%3d”,i);

3、设i、n、p均为int变量,执行以下程序段后,P的值是o

p=l;n=4;

for(i=l;i<=n;i++)p=p*i;

4、break语句只能用于switch语句和语句中。

5、语句可以从最内层循环立即跳到最外层循环外,而break,

一次只能跳出一层。

三、简答题

1、用while循环结构完成下面程序段的功能。

s=0

for(i=l;i<=10;i++)

s+=i;

2、阅读下面程序,并回答问题:

main()

{intu,v,a,b,t,r;

u=24;v=16;

if(u>v){t=u;u=v;v=t;}

a=u;b=v;

while((r=b%a)!=0)

{b=a;a=r;}

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

}

(1)程序输出结果是什么?

(2)该程序完成什么功能?

(3)若将while循环替换为do-while循环,请写出相应的程序段。

3、设有程序如下:

main()

charch='A'

while(ch<=/E')

printf("%c〃,ch);

ch++;

)

printf(〃\n〃);

}

该程序的运行结果是什么?

如果要将给定程序的运行结果按相反的顺序输出,请写出相对应的程序。

4、阅读下面程序,并回答问题:

main()

{intm,n;

m=65;

n=14;

while(m!=n)

{while(m>n)m-=n;

while(n>m)n-=m;

)

printf(z/m=%d\n",m);

)

(1)程序输出结果是多少?

(2)外循环执行完一次时,m和n的值分别是多少?

(3)将while(n>m)n-=m;语句删除后,程序运行情况如何?

四、程序阅读分析

1、下面程序段的运行结果是().

main()

{

inti=l,s=3;

do{s+=i++;

if(s%7==0)continue;

else++i;

}while(s<15);

printfi);

)

2、ttinclude<stdio.h>

main()

{

intk=4,n=0;

for(;n<k;)

(

n++;

if(n%2==0)break;

k一;

printf("k=%d,n=%d\n”,k,n);

3、下面程序的运行结果是.

#include<stdio.h>

main()

{inta,s,n,count;

a=2;s=0;n=l;count=l;

while(count<=7){n=n*a;s=s+n;++count;}

printf("s=%d",s);

)

4、请阅读分析下列程序,然后写出程序运行结果。

main(void)

(

inti;

for(i=l;i<6;i++)

{

if(i%2)

{

printf("@");continue;

)

printf("*");

)

printf("\n");

)

5>main()

(

intx,sum=O;

loopl:

scanf("%d,&x);

if(x!=8)

(

if(x%2==0)

(

sum+=x;

printf(z/sum=%d\n",sum);

)

gotoloopl;

}

sum-=x;

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

)

当程序执行时输入数据12345678/,写出程序运行

结果。

6、阅读下面程序:

voidmain(void)

ints=0,n=0,x;

label:scanf("%d",&x);

if(x>0){

s+=x;

n++;

printf("s=%d,n=%d,even=%f\n",s,n,1.0,*s/n);

}

if(x!=0)

gotolabel;

else

printf("goodbye!");

)

当依次输入12-3-65130/时,写出程序的运行结果。

五、程序设计题

1、编程计算:1!+3!+5!+…+(2nT)!的值。其中,n值由键盘输入。

2、用以下近似公式编一个求乃的近似值的程序。

=1+-++(-1),

4^357-"2^,其中n的值由键盘输入。

第六章数组

一、选择

1、合法的数组定义是()

A.inta[]="language”;B.inta[5]={0,1,2,3,4,5};

C.chara="string”;D.chara[]={"0,1,2,3,4,5”};

2、若二维数组am列,则在之前的元素个数为()

A.j*m+iB.i*m+jC.i*m+jTD.i*m+j+l

3、下列的定义中,正确使用字符串初始化的是()

A.charstr[7]="FORTRAN”;B.charstr[]=

{F,0,R,T,R,A,N,0};

C.char*str="FORTRAN”;D.charstr[]=

{'F','O','R','T,'R','A','N'};

4、有两个字符数组a、b,则以下正确的输入语句是()

A.gets(a,b);B.scanfa,b);

C.scanf(,,%s%s,/,&a,&b);D.gets("a"),gets("b");

5、若有定义ints[4]={l,2,3定义则a[a[2]-3*a[0]+l]的值是()

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

6、若有定义inta[3][5];则数组a在内存中分配的字节数()

A.8B.15C.24D.30

7、已知strl和str2是字符串数组,下列哪个函数能正确的完成字符串

的输入()

A.gets(strl)B.gets(strl,str2)C.getchar(strl)

D.getchar(strl,str2)

8、下面程序执行后,i的值是()

main()

{inta[5]={1,2,3,4,5},i=2;

printf(,z%d",a[i++]);

)

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

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

main()

{inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23);

inti,j,k=0;

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

k=k+a[i][0];

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

)

A.27B.33C.39D.45

10、.设变量定义为chars[]=//hello\nworld\n7;则数组s中有

()个元素。

A.12B.13C.14D.15

多项选择:

1、

main()

{inti,j,a[]={l,3,5,7,9,11,13,15);

i=5;

switch(i)

{default;printf(z/%d\n",a[i]);

case1:printf(z/%d\n",a[3]);

case2:printf%d\n",a[++i]);break;

case3:printf(z,%d\n",a[-i]);

)

)

上述程序的输出结果不包括()

A.5B.7C.9D.11E.13

2、设有说明:chars[20];下面各项中能够正确的将一个字符串

abed"赋给s数组的有()

A.s="abed";B.gets(s);C.scanf("%s",s);

D.strepy(s,"abed");E.strepy("abed",s);

3、下面各选项中,能正确进行字符串操作的有()

A.chars[]={,a,-b-/「d;e,「\(T};B.

chars[10];s="abede";

C.chars[10];strepy(s,"abede")D.char

s[10];getchar(s);

E.chars[10];gets(s);

二、填空题

1、C程序在执行过程中,不检查数组下标是否。

2、对一个2*5的int型数组t,t中位于第2行的所有元素的表达式是

_________O

3、二维数组的元素在内存中按存放的。

4、把字符串str2连接到字符串strl后面的连接函数是。

5、数组名是_______量,不能对其进行赋值运算。

三、简答题

1、简述C语言标准库函数strcpy的格式与功能。

2、设有说明:intb[3][4];请用四种方式来表示数组元素

3、试定义一个三行的二维字符数组s,并用"Iamaboy","youare

agirl","heisateacher"对其进行初始化。

四、阅读程序,写出运行结果

1、ttinclude<stdio.h>

main()

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

inti,j,sl=0,s2=0;

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

for(j=0;j<3;j++)

if(i==j)

sl=sl+a[i][j];

)

if(i+j==2)

(

温馨提示

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

评论

0/150

提交评论