C语言全部考试系统题库含答案_第1页
C语言全部考试系统题库含答案_第2页
C语言全部考试系统题库含答案_第3页
C语言全部考试系统题库含答案_第4页
C语言全部考试系统题库含答案_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

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

文档简介

书目

书目.....................................................................1

单元练习题一C语言基础学问............................................3

一、推断题.......................................................3

二、单项选择题...................................................4

三、读程序选择题.................................................7

四、程序填空题.....................................................8

五、编程题........................................错误!未定义书签。

单元练习题二C语言程序结构............................................9

一、推断题.......................................................9

二、单项选择题...................................................9

三、读程序选择题...............................错误!未定义书签。

四、程序填空题..................................................17

五、编程题......................................错误!未定义书签。

单元练习题三数组......................................................21

一、推断题......................................................21

二、单项选择题..................................................22

三、读程序选择题..................................错误!未定义书签。

四、程序填空题.....................................................28

五、编程题.........................................错误!未定义书签。

单元练习题四函数......................................................33

一、推断题......................................................33

二、单项选择题..................................................34

三、读程序选择题...................................................40

四、程序填空题.....................................错误!未定义书签。

五、编程题.........................................错误!未定义书签。

单元练习题五预处理....................................错误!未定义书签。

一、推断题......................................错误!未定义书签。

二、单项选择题..................................错误!未定义书签。

三、读程序选择题..................................错误!未定义书签。

四、程序填空题.....................................错误!未定义书签。

五、编程题.........................................错误!未定义书签。

单元练习题六指针......................................................45

一、推断题......................................................45

二、单项选择题..................................................46

三、读程序选择题..................................错误!未定义书签。

四、程序填空题.....................................................54

五、编程题.........................................错误!未定义书签。

单元练习题七结构体与共用体...........................................58

一、推断题......................................................58

二、单项选择题..................................................60

三、读程序选择题错误!未定义书签。

四、程序填空题................................68

五、编程题...错误!未定义书签。

单元练习题八文件..............................73

一、推断题......................................................73

二、单项选择题..................................................74

三、读程序选择题...................................................77

四、程序填空题.....................................................77

五、编程题........................................错误!未定义书签。

第一章C语言基础学问

(C语言概述、算法、数据类型运算符表达式、位运算)

一、推断题(正确的填A,错误的填B)

R1.在C语言中,逗号运算符的优先级最低。(A)

2.在C语言可执行程序的起先执行点是程序中第一个函数。(B)

3.“5ch”是合法的变量名。(B)

4.C语言程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多

行上。(A)

5.当输入数据时,必需指明变量的地址,如scanf(A)

N6.表达式i++与++i在任何场合功能完全相同。(B)

7.在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不

相同。(A)

R8.C语言程序中,语句以逗号结尾。(B)

9.在C程序中,APH和aph代表不同的变量。(A)

10.a-=7等价于a=a-7。(A)

N11.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。

假如字符串长度大于5,则输出按原字符长从左向右全部输出。(A)

12.假如x>y为真或a〈b为真,表达式(x>y)&&(a〈b)就为真。(B)

13.C语言程序的变量必需先定义再运用。(A)

14.若a和b是同类型变量,在执行了赋值语句a=b;后b中的值将放入a中,b

中的值将丢失。(B)

15.程序的执行总是从main函数起先,在程序的最终一个函数中结束。(B)

16.变量的三个属性是指变量的名字、变量的值和变量在内存中的地址。(A)

17.运算符优先依次:赋值运算符〈逻辑运算符<关系运算符<算术运算符(B)

18.对应float类型的变量,也可以用等号“=”进行数值的推断。(B)

19.表达式:1&&3.14和1&3的值一样大。(B)

20.为了正确计算表达式既要考虑运算符的优先级,也要考虑其结合性。(A)

21、任何C程序都是从main函数起先和结束;(A)

22.在C程序中,运用分号“;”表示语句的结束。(A)

23.C程序中的必须要有至少一个main的函数,可以有多个。(B)

24.在C程序中,无论是整数还是实数,都能精确无误的表示。(B)

25.在C程序中,赋值运算符的优先级最低。(B)

26.当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入

实型值。(B)

27.在C程序中,变量可以一边定义一边运用。(B)

28.C程序中的注释部分可有可无,可以省略。(A)

29.字符型变量可以存放多个字符。(B)

30.在对一个C程序进行编译的过程中,可发觉注释中的拼法错误。(B)

5.在C程序中,无论是整数还是实数,都能被精确无误地表示。(B)

1.一个C程序的执行是从本程序的main函数起先,到main函数结束。(A)

3.()

4.运算符优先依次:赋值运算符〈逻辑运算符〈关系运算符〈算术运算符(B)

二、单项选择题

R1,以下标识符中,不能作为合法的C用户定义标识符的是:()

A.a3_b3B.voidC._123D.abc

R2、C语言规定:在一个源程序中,main函数的位置()。

A.必需在最终B.必需在系统调用的库函数的后面。

C.必需在最起先。D.可以随意

R3、下列说法中正确的是()0

A.C程序书写时,不区分大小写字母

B.C程序书写时,一行只能写一个语句

C.C程序书写时,一个语句可分成几行书写

D.C程序书写时每行必需有行号

4、已知ch是字符型变量,下面不正确的赋值语句是()。

A.ch=5+9;B.ch='a+bC.ch='\0';D.ch='7'

+'6';

5、若有定义:inta=7;floatx=2.5,y=4.7;则表达式

x+a%3*(int)(x+y)%2/4的值是()。

A.2.750000B.0.00000C.3.500000D.2.500000

6.已知ch是字符型变量,下面正确的赋值语句是()0

A.ch='123';B.ch='\08';C.ch='\xff';D.ch="\";

1.以下标识符中,不能作为合法的C用户定义标识符的是:O

A)a3_b3B)voidC)_123D)abc

2.C语言中,运算对象必需是整型的运算符是o

A)%B)/C)%和/D)*

7.在C程序中,用表示逻辑值“真

A)1B)非0的数C)非1的数D)大于0的数

N8.设intc=5和inta;a=2+(c+=c,c+8,++c),则a-

A)15B)14C)13D)16

9.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符

A)必需为字母或下划线。B)必需为下划线。

C)必需为字母D)可以是字母、数字和下划线中的任一种字符。

10.若变量已正确定义并赋值,表达式不符合C语言语法。

A)a*b/c;B)3.14%2C)2,bD)a/b/c

11.下列说法中正确的是O

A)C程序书写时,不区分大表达式小写字母

B)C程序书写时,一行只能写一个语句

0C程序书写时,一个语句可分成几行书写

D)C程序书写时每行必需有行号

12.为表示数学关系x'y'z,正确的C语言表达式是

A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)

C)(x>=y>=z)D)(x>=y)&(y>=z)

13.不合法的八进制数是

A)0B)028C)077D)01

14、以下不能定义为用户标识符是

AMainB_0C_intDsizeof

15.若x=5,y=4则y*=x+5;y的值为()0

A.40B.20CB.15D.30

16、组成C语言程序的基本单位是()o

A)过程B)子程序

C)函数D)主程序和子程序

17.下列哪个标识符是C语言合法的标识符()o

A)a*bB)-xyz

C)ba2D)5i

N18.若有定义:inta=7;floatx=2.5,y=4.7;则表达式

x+a%3*(int)(x+y)/4的值是()o

A)2.75B)3.5

C)2.5D)0

19.设intm=1,n=2;则++m==n的结果是()

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

N20.若变量已定义并赋值,下列符合C语法的表达式是:()

A、a:=b+1B、a=b=c+2

C、int18.5%3D、a=a+7=c+b

R(3)在C程序中,设一■表达式中包含有int,long,unsigned和char类型的变

量和数据,则表达式最终的运算结果类型是()

A.intB.charC.unsignedD.long

R21.C语言中基本的数据类型包括o

A)整型、实型、逻辑型B)整型、实型、字符型

0整型、字符型、逻辑型D)整型、实型、逻辑型、字符型

N22.若定义x和y为doubIe类型,则表达式:x=2,y=x+5/2的值是

A)4B)4.5C)4.0D)3.0

23.在以下运算符中,优先级最高的运算符是

A)?:B)++C)&&D)+=

24.C语言中基本的数据类型不包括o

A)整型B)字符串型

C)字符型D)实型

25.若定义intx=7,y=5,z;则表达式:z=x+5/2*y的值是

A)7B)7.5C)17D)19.5

6.以下说法中正确的是()

A、C语言程序总是从第一个定义的函数起先执行

B、在C语言程序中,要调用的函数必需在main。函数中定义

C、C语言程序总是从main()函数起先执行

D、C语言程序中的main()函数必需放在程序的起先部分

(1)设inta=2,b;则执行b=a&&1;语句后,b的结果是()

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

N(2)逗号表达式(a=3*5,a*4),a+15的值是()

A.15B.60C.30D.75

7,若已经定义了一个字符型变量为a,下面哪个表达式的含义跟其余表达式不

同:

A)a!=0B)a!='\0'C)aD)!a

8.在以下运算符中,优先级最高的运算符是

A),B)[]C)&&D)+=

9.在C语言中,逻辑值“真”用表示。

A)trueB)大于0的数0非0的整数D)非0的数

10.表达式是满足:当c的值为1、3、5三个数中随意一个时值为“真”,

否则值为“假”的表达式

A)(c=1)||(c二3)||(c=5)B)(c!=1)&&(c!=3)&&(c!=5)

C)(c==1)&&(c==3)&&(c=5)D)(c==1)||(c==3)||(c==5)

1.C语言中,int类型数据占2个字节,则long类型数据占()

A、1个字节B、2个字节C、3个字节D、4个字节

1.下列字符串是合法的标识符的是()o

A、_HJB、9_studentC、IongD、LINE1

2.下列说法中正确的是()0

A、C程序书写时,不区分大小写字母

B、C程序书写时,一行只能写一个语句

C、C程序书写时,一个语句可分成几行书写

D、C程序书写时每行必需有行号

3.在C语言中,要求参加运算的数必需是整数的运算符是()。

A、/B、!C、%D、==

4.C语言中,逻辑“真”等价于()0

A、大于零的数B、大于零的整数

C、非零的数D、非零的整数

6.假设在程序中a,b,c均被定义为整型,并且已赋大于1的值,则下列能正确表

示代数式1/abc的表达式是()。

A、1/a*b*cB、1/(a*b*c)

C、1/a/b/(float)cD、1.0/a/b/c

1.下列合法的字符常量是()o

A、'\084'B、'\x43'C、'ab'D、"\0"

2.在C语言供应的合法的关键字是()

A、switchB、cherC、CaseD、sturct

3.若已定义x和y为doubIe类型,则表达式:x=1,y=x+3/2的值是

A、2B、1C、2.0D、2.5

三、程序填空题

1以下程序不用第三个变量实现两个数对调的操作。

#incIudustdio.h"

main()

inta,b;

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

a=<a+b>;(三个字符)

b翼a-b>;(三个字符)

a-a-b;

printf("%d,%d",a,b);

}

2、选择程序的运行结果。

main()

{intx=1,y=2,z,a,b,c,d;

z=++x||++y;

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

printf("y=%d\n",y);/*输出结果<y=2>(三个字符)*/

a二一1;b二-2;c=++a&&b++;

printf("b=%d\n",b);/*输出结果<b=-2>(三个字符)*/}

3以下程序的结果为

main()

(

unsignedinta=3,b=10;

printf("%d\n",a«2|b»1);/*输出结果<14>*/

printf("%d\n",a«2&b»1);/*输出结果<0>*/

)

4若x=3,y=z=4,则下列表达式的值是。

(1)(z>=y>=x)?1:0

/*值为<0>*/

(2)z>=y&&y>=x

/*值为<1>*/

5已知floatx=4.3,inty;执行语句y=(int)x后,*为<访{>型(填写小写

英文字母),且丫=<4>(填写阿拉伯数字);

6表达式‘c‘&&'d'的值为<1>(填写阿拉伯数字),'c'&&'d'||!(3+4)的值

为<1>(填写阿拉伯数字)。

7若x为int类型,则与逻辑表达式“x”等价的表达式是<x!=0>,与逻辑表达

式“!x”等价的表达式是<x==0>。

8表示“整数x的值大于5"时逻辑值为“真”的表达式是<x>5>,逻辑值为“假”

的表达式是<x<=5>

9已知字母A的ASCII码为十进制数65,且设ch为字符型变量,则表达式ch=

'A'-,4'+,9'的值为F'>(一个字符常量);若定义:charc=<\72,;

则变量c中包含的字符个数为<1>(数字)。

10、C语言所供应的基本数据类型的整型类型包括:<短整型)、整型、<长整型>。

(按每种类型所占字节数,从小到大排列)

其次章C语言程序结构

(依次程序设计、选择结构程序设计、循环限制)

推断题(正确的填A,错误的填B)

1.do-whiIe语句中的条件为非0时,就结束该循环。(B)

2.在switch-case语句中,不是每个case后都要运用break语句。(A)

3.Break语句只能用于循环结构中。(B)

48.未给变量赋初值,只是运行结果不正确,不会有其他不良影响。(B)

5^switch语句中,可以不运用break语句;(A)

6、for语句中,三个表达式都可以省略;(A)

7(7)在for循环中运用break语句的目的是使流程跳出循环体,终止当前循环

(A)

8.continue语句只能用于循环语句中。(A)

9.whiIe语句中的条件为0时,就结束该循环。(A)

10.在循环体内运用break语句或continue语句的作用相同。(B)

在C语言中,逻辑值“真”用表示。

11)112)大于0的数13)非0的整数14)非。的数

在循环语句的循环体中,continue语句的作用是()。

15)立刻终止整个循环16)接着执行continue语句之后的循环体

17)结束本次循环18)结束本次循环并跳出循环

语句whiIe(!e);中,条件!e等价于()

19.e==020.e!=021.e!=122.e==1

1殳intc=5*口inta;a=2+(c+=c++,c+8,++c),贝Ua-

23)1524)1425)1326)16

若要表示if(a不等于0)这一关系式,则能正确表示这一关系的表达式为if()

27)a<>028)!a29)a=030)a

二、单项选择题

N1、以下不是死循环的语句是

for(;;x+i);

while(1){x++;}

for(i-10;;i--)sum+-i;

for(;(c=getchar())!='\n';)printf("%c",c)

2.设有程序段

intk=10;

while(k=0)k=k-1;

以下描述正确的是()o

A.循环体语句一次也不执行。B.循环是无限循环。

C.whiIe循环语句执行十次。D.循环体语句执行一次。

3.对下述程序,正确的推断是

main()

{inta,b;

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

if(a>b)a=b;b=a;

eIsea++;b++;

printf("%d,%d",a,b);

}

A.有语法错误不能通过编译B.若输入4,5则输出5,6

C.若输入5,4则输出4,5D.若输入5,4则输出5,5

R4.以下程序

main0

inti=010,j=10,k=0x10;

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

}有语法错误不能通过编译

输出结果是()

A.8,10,16B.8,10,10C.10,10,10D.10,10,16

R5.若变量已正确说明为int类型,要给a,b,c输入数据,以下语句正确的是

A)read(a,b,c);B)scanf("%d%d%d”,a,b,c);

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

R6.已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为

main。

(

charx,y;

x=,0>;y='9';

pirntf("%d,%d\n”,x,y);

}

A)因输出格式不合法,输出错误信息8)48,57

00,9D)48,58

7.语句for(k=0;k<5;++k)

if(k==3)continue:

printf("%d",k):

}的榆出结果为o

A)012B)0124C)01234D)没有输出结果

8.为表示关系x>=y>=z,应运用C语言表达式o

A)(y<=x)&&(y>=z)B)(x>=y)AND(y>=z)

C)(x>=y>=z)D)(x>=y)&(y>=z)

6.若变量已正确定义,语句Kif(a>b)k=0;elsek=1;”和等

价。

A、k=(a>b)?1:0;B、k=a>b;

C、k=a<=b;D、a<=b?0:1;

9.以下程序的输出结果是

voidmain()

inta=2,b=5;

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

)

A)a,2,b=%5B)a=2,b=5

C)a=%%d,b=%%dD)a=%d,b=%d

N10.以下程序的输出结果是

voidmain()

{intx=10,y=10;

printf(a%d%d\n”,x—,—y);

)

A)1010B)99C)910D)109

11.若要表示if(a不等于0)这一关系式,则能正确表示这一关系的表达式为

if()

A)a<>0B)!aC)a=0D)a

R12对于循环语句whiIe(1);下面()是正确的

A、死循环B、循环一次

C、不进入循环体D、编译有错

13.下面程序的输出是(假设int数据是2个字节)

voidmain()

{inta=32768;

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

)

A)a=32768B)a=32767C)a=-32768D)a=T

14.表达式是满足:当c的值为1、3、5三个数中随意一个时值为“真”,

否则值为“假”的表达式

A)(c=1)||(c二3)||(c=5)B)(c!=1)&&(c!=3)&&(c!=5)

C)(c==1)&&(c==3)&&(c=5)D)(c==1)||(c=3)||(c==5)

N15.以下程序段的输出结果是

intx=3;

do

{printf("%3d",x-=2;)

while(!(—x));

A)1B)30

C)1-2D)死循环

16、数字字符0的ASCII值为48,若有以下程序

main0

(

chara=T,b=2;

printf("%c,",b++);

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

}

程序运行后的输出结果是

A3,2B50,2C2,2D2,50

17、有以下程序

main()

(

inta,b,d=25;

a=d/10&(-1);

b=a&&(-1);

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

}

程序运行后的输出结果是

A6,1B2,1C6,0D2,0

18.若定义floata;现要从键盘输入a的数据,其整数位为3位,小数位为2

位,则选用()。

A)scanf("%f",&a);B)scanf("%5.2f",a);

C)scanf("%6.2f",&a);D)scanf("%f",a);

19.若定义inti;则以下循环语句的循环执行次数是()»

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

printf("%d",i—);

A)无限次B)0次

C)1次D)2次

20.下面程序段—

x=3;

do

y-x—;

if(!y){printf("xu);continue;}

printf("#");

)

while(1<=x<=2);

A)将输出##B)将输出##*

C)是死循环D)含有不合法的限制表达式

21.以下程序中,whiIe循环的循环次数是()。

#incIude,stdio.h”

main()

{inti=0;

whiIe(i<10)

{if(i<1)continue;

if(i==5)break;

i++;

}

)

A、1B、10C、6D、死循环,不能确定次数

N22.有以下程序:

#include“stdio.h”

inta=3;

main()

(

ints=0;

(

inta=5;

s+=a++;

}

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

}

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

A、8B、10C、7D、11

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

main()

{inta=11,b=10,c=0;

a/=b+(b&&c);

printf(z,%d\n〃a);)

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

24(5)两次运行下面程序,假如从键盘上分别输入6和4,则程序的输出结果

是()

main()

{intx;

scanf("%d",&x);

if(x++>5)printfC%d〃,x);

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

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

(6)语句whiIe(!e);中,条件!e等价于()

A.e=0B.e!=0C.e!=1D.e~0

R25下面程序的输出是

main()

{

intk=11;

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

}

A)k=11,k=12,k=13B)k=11,k=13,k=13

C)k=11,k=013,k=oXbD)k=11,k=13,k=b

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

main()

{inti=1,sum=0;

lop:sum=sum+i;

i=i+2;

if(i<6)gotolop;

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

A.sum=4B.sum=9C.sum=16D.sum=25

27.以下程序的输出结果是

voidmain(){

inta=2,b=5;

printf("a=%%%d,b=%%%d”,a,b);

}

A)a=%2,b=%5B)a=2,b=5

C)a=%%d,b=%%dD)a=%d,b=%d

28执行下面的程序后,a的值为

main()

{inta,b;

for(a=1,b=1;a<100;a++)

(

if(b>=20)break;

if(b%3=1)

{b+=3;continue;}

b-=5;

}

)

A)7B)8

C)9D)10

29

30.下面的程序会()

main0

{intx=3,y=0,z=0;

if(x=y+z)printf("****");

eIseprintf("####");

1

A、有语法错误不能通过编译B、输出****

C、可以通过编译,但不能通过连接,因而不能运行D、输出####

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

main。

{intx=10,y=10,i;

for(i=0;x>8;y=++i)

printf(u%d%d”,x一,y);

1

A.10192B、9876C、10990D、101091

1.下面程序的输出是

main()

intk=11;

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

}

A)k=11,k=12,k=13B)k=11,k=13,k=13

C)k=11,k=013,k=oXbD)k=11,k=13,k=b

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

main()

{

intx;

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

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

eIseprintf("%d\n",x—);

}

A)7和5B)6和3

C)7和4D)6和4

3.读程序

#include"stdio.h"

main0

{inta;fIoatb,c;

scanf("%2d%3f%4f",&a,&b,&c);

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

}

若运行时从键盘上输入9876543210<CR>(〈CR>表示回车),则上面程序的输出结

果是_____

A)a=98,b=765,c=4321

B)a=1,b=432,c=8765

C)a=98,b=765.000000,c=4321.000000

D)a=98,b=765.0,c=4321.0

5.下面程序的输出是

main()

{intx=3,y=6,a=0;

while(x++!=(y-=1))

(

a+=1;

if(y<x)break;

}

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

}

A)x=4,y=4,a=1B)x=5,y=5,a=1

C)x=5,y=4,a=3D)x=5,y=4,a=1

6.

7.

8.

8.

三、程序填空题

F1.以下程序可推断输入的一个整数是否能被3或7整除,若能整除,输出“yes”,

否则输出“no”。请填空。

#incIude"stdio.h"

voidmain()

{

intk;

printf(uEnteraintnumber:");

scanf("%d",<&k»;

if«k%3=0||k%7—0»

printf(“yes\n”);

eIse

printf(uno\nv);

1

N2.下面程序的功能是计算1-3+5-7+...-99+101的值。

main()

{

inti,t=1,s=0;

for(i=1;i<=101;i+=2)

(

t=<t*i>;

s=s+t;

t=<-t>;

)

printf(n%d\nn,s);

}

F3.下面程序的功能是从键盘上输入若干学生的学习成果,统计并输出最高成果

和最低成果,当输入为负数时结束输入。

main()

{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",&x);

)

printf("\namax=%f\namin=%f\n",amax,amin);

}

F4.下面程序的功能是计算100至1000之间有多少个数其各位数字之和是5。

#include"stdio.hw

voidmain()

(

inti,s,k,count=0;

for(i=100;i<=1000;i++)

(

s=0;

k=i;

while(k)

(

s=s+k%10;

k=<k/10>;

)

if«s==5»count++;

}

printf("%d”,count);

)

F5下列程序功能是求数组中主对角线元素之和,请补充完成

main0

{inta[3][3],i,j,s=0;

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

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

scanf("%d",<&a[i][j]»;

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

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

if«i==j»

s+=a[i][j];

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

)

R6.下面程序的功能是:输入一个字符,假如它是一个大写字母,则把它变

成小写字母,假如它是一个小写字母,则把它变成大写字母,其它字符不变,请

将程序补充完整:

main()

{charch;

scanf("%c”,&ch);

if(ch>='A'&&ch<='Z')ch=ch+32;

eIseif«ch>=,a'&&ch<=,z'»

<ch=ch-32>;

printf("%c”,ch);

}

R7.请将用户输入的x,y,z三个整数依据从小到大的依次排列

main()

{

intx,y,z,t;

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

if(x>y)

{t=y;y=x;x=t;}

if«x>z»

{t=z;z=x;x=t;}

if«y>z»

{t=y;y=z;z=t;}

printf("smaIItobig:%d,%d,%d\n",x,y,z);

}

F8.以下程序从读入的整数数据中,统计大于零的整数个数和小于零的整数个

数。用输入零来结束输入,程序中用i统计大于零的个数,用变量j统计小于零

的整数。请填空。

voidmain()

{intn,i,j;

i=0;j=0;

printf(EnterINTnumbers,with0toend\n^^);

scanf("%d",&n);

while(<n!=0>)

{if(n>0)i=i++;

if(n<0)j=j++;

<scanf("%d",&n)>;

)

printf(“i=%4dj=%4d\n”,i,j);

)

F9.以下程序用“辗转相除法”来求出两个正整数的最大公约数。请填空。若

两个数分别放在m和n中,求最大公约数的算法如下:

(1)将两数中最大的那个放在m中,小的放在n中。

(2)求出m被n除后的余数r。

(3)若余数为0则执行步骤(7);否则执行步骤(4)0

z4\

(1

\7把除数作为新的被除数;把余数作为新的除数。

z\

(5

\7求出新的余数r

z\o

(61

\7重复步骤⑶到⑸。

z\

l7

\7输出n,n即为最大公约数。

voidmain()

{intr,m,n;

printf(aEnterm,n:n;

scanf(^%d%dw

printf("m=%dn二%d\n”,m,n);

if(m<n)

{r=m;m=n;n=r;}

r=<m/n>;

while(r!=0)

(m=n,n=r,r=m;}

printf("H.C.F=%d\n,n);

1

R10.以下程序可推断输入的一个字符是否为小写字母,假如是,则转换为对应

的大写字母并输出;否则,就原样输出。请填空。

#incIude"stdio.h"

voidmain()

{chark;

printf(aEnteracharacterhere:;

scanf(“%c",<&k»;

if(<k>='a'&&k<=,z'»

printf(a%c\nw,k-32);

eIse

printf(“%c\n",k);

}

1.程序打印如下形式的图形

*

**

***

****

main()

{for(inti=1;i<=4;i++)

{for(intj=1;①j〈=i;j++)

printf(②"*”);

printf(③“\n”);

1

}

2.充下列程序,找出100—200之间的全部素数

#include"math,h”

main()

{intm,k,i,n=0;

for(m=101;m<=200;m=m+2)

(

k=sqrt(m);

for(i=2;(6)i<=k;i++)

if((7)m%i=0)break;

if((8)i>k)

{printf(“%d”,m);

n=n+1;}

if(n%10=0)printf("\n");

1

printf("\n");

}

第三章数组(正确的填A,错误的填B)

一、推断题

1.字符串"girl"大于字符串“good”。(B)

2.C语言中有字符串变量,与字符数组等价。(B)

R3.同一数组可以存储不同类型的值。(B)

N4.若有:inta[2][3];则a+1和a[1]的值以及类型都一样。(B)

R5.字符'\0'的值就是0。(A)

6.C语言中是用字符串变量来存放字符串。(B)

7.表达式sizeof("abc")的值是4o(B)A

N8.同数组的名字一样,函数的名字也是一种指针。(A)

9、C语言中在定义数组时,一个数组的数组元素的数据类型可以不相同;(B)

10、chara[10];a[10]=9;上述语句编译不会出错;(A)B

R11.数组元素的下标是从1起先标号的。(B)

N12.若a为一维数组名,则*(a+i)与a[i]等价。(A)

13.循环语句中的continue语句的作用是结束整个循环。(B)

14.字符串"That"小于字符串"the"。(A)

15.字符个数多

温馨提示

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

评论

0/150

提交评论