C程序设计试题汇编Word格式.docx

上传人:b****5 文档编号:19281927 上传时间:2023-01-05 格式:DOCX 页数:59 大小:45.33KB
下载 相关 举报
C程序设计试题汇编Word格式.docx_第1页
第1页 / 共59页
C程序设计试题汇编Word格式.docx_第2页
第2页 / 共59页
C程序设计试题汇编Word格式.docx_第3页
第3页 / 共59页
C程序设计试题汇编Word格式.docx_第4页
第4页 / 共59页
C程序设计试题汇编Word格式.docx_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

C程序设计试题汇编Word格式.docx

《C程序设计试题汇编Word格式.docx》由会员分享,可在线阅读,更多相关《C程序设计试题汇编Word格式.docx(59页珍藏版)》请在冰豆网上搜索。

C程序设计试题汇编Word格式.docx

{intx;

floaty;

prinf(“enterx,y:

”)

输入语句

输出语句

}

输入形式enterx,y:

2︼

输出形式x+y=

A)scanf(“%d,%f”,&

x,&

y);

prinf(“\nx+y=%”,x+y);

B)scanf(“%d%f”,&

prinf(“\nx+y=%”,x+y);

C)scanf(“%d%f”,&

D)scanf(“%d%”,&

B

有一输入函数scanf(“%d”,k);

那么不能使float类型变量k取得正确数值的缘故是[1]和[2]

[1]未指明k的地址

[2]格式操纵符与变量类型不匹配

scanf语句的正确形式应该是:

scanf(“%f”,&

k);

能正确表示”当x的取值在[1,10]和[200,210]范围内为真,不然为假”的表达式是______

A)(x>

=1)&

&

(x<

=10)&

(x>

=200)&

=210)

B)(x>

=1)||(x<

=10)||(x>

=200)||(x<

C)(x>

D)(x>

设x、y和z是int型变量,且x=3,y=4,z=5,那么下面表达式中值为0的是______

A)’x’&

’y’

B)x<

=y

C)x||y+z&

y-z

D)!

((x<

y)&

!

z||1)

以下if语句语法正确的选项是_____

A)if(x>

0)

prinf(“%f”,x)

elseprinf(“%f”,-x);

B)if(x>

{x=x+y;

prinf(“%f”,x);

elseprinf(“%f”,-x);

C)if(x>

};

D)if(x>

prinf(“%f”,x)}

当a=3,b=2,c=1时,表达式f=a>

b>

c的值是[].

有inta=3,b=4,c=5,x,y;

那么以下表达式的值为[]

(x=a)&

(y=b)&

以下程序对输入两个整数,按从大到小顺序输出.请在[]内填入正确内容.

Main()

{

intx,y,z;

scanf(“%d,%d”,&

if([1])

{z=x;

[2]}

printf(“%d,%d”,x,y);

[1]x<

y

[2]x=y;

y=z;

请阅读下面的程序:

main()

{ints,t,a,b;

scanf(“%d,%d”,&

a,&

b);

s=1;

t=1;

if(a>

0)s=s+1;

b)t=s+t;

elset=2*s;

prinf(“s=%d,t=%d”,s,t);

为了使输出结果t=4,输入量a和b应知足的条件是[].

0<

a<

b

请读程序:

#include<

>

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

switch(x)

{case1:

switch(y)

{case0:

a++;

break;

case1:

b++;

case2:

a++;

b++;

break;

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

上面程序的运行结果是_____

a=2,b=1

语言中while和do-while循环的要紧区别是______

A)do-while的循环体至少无条件执行一次

B)while的循环操纵条件比do-while的循环操纵条件严格

C)do-while许诺从外部转到循环体内

D)do-while的循环体不能是复合语句

假设I为整型变量,那么以下循环执行次数是______

for(I=2;

I==0;

)prinf(“%d”,I--);

A)无穷次B)0次C)1次D)2次

下面程序的功能是计算1至50中是7的倍数的数值之和,请选择填空.

{intI,sum=0;

for(I=1;

I<

=50;

I++)

if([1])sum+=I;

prinf(“%d”,sum);

A)(int)(I/7)==I/7B)(int)I/7==I/7C)I%7=0D)I%7==0

以下是死循环的程序段是______

A)for(I=1;

;

{if(++I%2==0)continue;

if(++I%3==0)break;

B)I=32767;

Do{if(I<

0)break;

}while(++I);

C)for(I=1;

)if(++I<

10)continue;

D)I=1;

While(I--);

下面程序的功能是用”辗转相除法”求两个正整数的最大公约数.请填空.

{intr,m,n;

m,&

n);

if(m<

n)[1];

r=m%n;

while(r){m=n;

n=r;

r=[2];

prinf(“%d\n”,n);

[1]r=m,m=n,n=r

[2]m%n

下面程序的功能是用do-while语句求1之1000之间知足”用3除余2;

用5除余3;

7除余2”的数,且一行只打印五个数.请填空.

{intI=1,j=0;

do{if([1])

{prinf(“%4d”,I);

j=j+1;

if([2])prinf(“\n”);

I=I+1;

}while(I<

1000);

[1]I%3==2&

I%5==3&

I%7==2

[2]j%5==0

C语言习题集与上机指导

编写一个求0~100之间全数偶数之和的程序.

运行结果:

sum=2550

请设计以下算法.

(5)求两个正整数m和n的最大公约数

写一个程序测试你所用的C版本中的float型数据所占的字节数.

运行结果:

b=4

以下常数中哪些是合法的C常量,哪些是非法的C常量?

对合法者指出其类型,对非法者

指出其缘故.

-0.23-0x2a10x7ge30003

‘\n’“x-y”‘{‘“105”

‘105’“35’53”3+535o7”πe

2E5‘AB’03e5±

7f7ff

2e-31012356e3e+5e+0lg3

合法的常量如下

-0(实型常量)

-0x2al(十六进制长整型常量)

0003(八进制整型常量)

5e+0(实型常量)

(实型常量)

2E5(实型常量)

‘{‘(字符常量)

‘\n’(一种特殊形式的字符常量---转义字符)

“105”(字符常量)

“x-y”(字符常量)

“35’55”(字符常量)

不合法的常量如下:

23(表示形式不对)

0x(超出十六进制表示的数字)

e3(e前必需有数字)

(表示形式不对)

‘105’(单引号中应为单个字符)

‘AB’(单引号中应为单个字符)

3+5(这是表达式,不是常量)

35o7”(无字符”o”)

π(无此字符)

e(e前应有数值,e后应跟整数)

03e5(表示形式不对)

±

7f(±

不能同时显现,十六进制数应以0x开头)

7ff(应以0x开头)

2e-310(超出范围)

12356e(e后应跟整数)

3e+(e后应跟整数)

lg3(表示形式不对)

在以下符号中,你能够选哪些做变量名?

哪些不能够?

为何?

a3B3aBπ+ab*xs

bb5ifnextdaye2ok?

intgermaxnumberi*j

可做变量名的为:

a3Bbsb5nextdayintgermaxnumber

剩余的均不可做变量名,因为,C语言给变量起名的规定是:

由字母、数字和下划线

三种字符组成,且第一个字符必需是字母或下划线(适应上,变量名用小写字母表示).

指出下面程序段中的错误,并更正.

Main()

{

inta;

floatb;

fcharc;

scanf(“%c%d%c%f;

c,b,a,b);

1.字符变量标识符多写一个f;

2.格式输入函数名有错;

函数中格式字

符与数据类型不匹配;

4.少了一个双引号.正确的应为:

charc;

scanf(“%c%f%d%f\n”,&

c,&

b,&

把以下程序改写得更合理.

(1)

while(A)

if(B)continue;

C;

(2)

do

if(!

A)continue;

elseB;

}while(A)

答案

(1)可改写为:

B)C;

(2)可改写为:

do

if(A)

B;

指出下面三个程序的功能.当输入为:

”quert?

”时,它们的执行结果是什么?

#include””

c=getchar();

while(c!

=’?

’)

putchar(c);

c=geetchar();

while((c=getchar())!

’)putchar(++c);

(3)

while(putchar(getchar())!

’);

(1)的功能是:

显示从键盘输入的每一个字符,当输入”?

”时终止.

执行结果是:

quert

(2)的功能是:

显示从键盘输入的每一个字符的下一个字符(按字母顺序排

列),当输入”?

rvfsu

(3)的功能与

(1)相同,但输出结果中多一个”?

 

一、单项选择题(每题2分,其中第33、50题别离4分)。

1、以下标识符中,不合法的用户标识符是__________1。

①c[5]②Unsigned③A_123④k000

2、以下不正确的C语言标识符是________4。

①abc_123②_123abc

③a_bc123④123abc

3、以下标识符中,不合法的用户标识符是________1。

①&

b②Int③D32769④k2

4、以下整数值中,不正确的八进制或十六进制数是________3。

①0x16②016③-16④0xaaaa

5、以下说法中正确的选项是________3。

①C语言程序老是从第一个的函数开始执行

②在C语言程序中,要挪用的函数必需在main()函数中概念

③C语言程序老是从main()函数开始执行

④C语言程序中的main()函数必需放在程序的开始部份

6、C语言中最简单的数据类型包括__________2。

①整型、实型、逻辑型②整型、实型、字符型

③整型、字符型、逻辑型④整型、实型、逻辑型、字符型

7、面向对象程序设计的特点是________1。

①多态性、封装性、继承性②多态性、继承性、可移植性

③多态性、继承性、交互性④封装性、交互性、多态性

8、以下能正确表示C语言中double类型常量的选项是__________2。

①⨯10②③⨯102④

9、假设a为float型变量,且已赋值,能正确使a中的值维持两位小数,删去尔后小数的语句是________3。

①a=a*100/100;

②a=int(a*100)/;

③a=(int)(a*100)/;

④a=(int)a*100/;

10、以下值不为3的表达式是________3。

①'

D'

-'

A'

②'

6'

3'

③'

\011'

④3+'

\0'

11、假设变量已正确概念并赋值,以下不能组成赋值语句的是__________4。

①s/=i;

②k++;

③a=b=c;

④i+j;

12、C语言中,运算对象必需是整型数的运算符是________1。

①%②/③%和/④*

13、如下程序的执行结果是__________4。

{

intn=1;

n++;

printf("%d%d%d",n,n++,――n);

①221 ②222③232 ④211

14、以下不是结构化程序设计的大体结构的是________2。

①选择结构②逻辑结构③循环结构④顺序结构

15、设intm=2,n=3,那么++m==n的结果是__________2。

①2 ②1③0④3

16、两次运行下面的程序,假设是从键盘上别离输入5和3,那么输出结果是__________3。

intx;

scanf("

%d"

,&

x);

if(x>=4)printf("

,++x);

elseprintf("

%d\n"

,x――);

①6和4②5和2③6和3④5和3

17、循环语句while(!

E);

中的表达式!

E等价于________3。

①E!

=0②E!

=1③E==0④E==1

18、设a、b和c都是int型变量,且a=1,b=1,c=1;

那么以下值为0的表达式是__________4。

①b>=a②a&

c③!

a||b④!

a==b

19、如有以下程序段:

intp=10;

do

printf("

*"

);

}while(p――);

退出循环后,变量p的值是__________3。

①0 ②1   ③-1 ④2

20、假设是变量概念有:

inta=9,c=8;

那么表达式(――a!

=c++)?

――a:

++c的值为________2。

①9②10③7④8

21、假设是a=1,b=2,c=3,d=4,那么条件表达式a<b?

a:

c<d?

c:

d的值为__________1。

①1②2③3④4

22、有如下概念:

structdate

intyy,mm,dd;

};

structworklist

charname[20];

charsex;

structdatebirthday;

}person;

对结构体变量person的诞生年月进行赋值时,下面正确的赋值语句是__________4。

①yy=1958②=1958

23、③=1958④设有以下说明语句

structstu

{inta;

floatb;

}structpe;

那么下面的表达不正确的选项是________3。

①struct是结构体类型的关键字②structstu是用户概念的结构体类型

③structpe是用户概念的结构体类型名④a和b都是结构体成员名

24、设变量a是整型,f是实型,i是双精度型,那么表达式100%9+'

a'

+i*f值的数据类型是________3。

①int②float③double④不确信

25、以下程序的执行结果是________4。

inta=2,i;

for(i=0;

i<

3;

i++)

%d,"

,func(a);

func(inta)

intb=0;

staticc=1;

b++;

c++;

return(a+b+③;

①555②7,7,7③567④5,6,7

26、关于for(表达式1;

表达式3)可明白得为__________4。

①for(表达式1;

0;

表达式3)

②for(表达式1;

表达式3;

③for(表达式1;

表达式1;

④for(表达式1;

100;

27、有如下输入语句:

a=%d,b=%d,c=%d"

a,&

b,&

③;

为使变量a的值为2,b的值3,c的值为4,从键盘输入数据的正确形式应是________3。

①234↙②2,3,4↙

③a=2,b=3,c=4↙④a=2b=3c=4↙

28、下面关于函数参数的说法不正确的选项是__________1。

①形参能够是常量、变量或表达式

②实参能够是常量、变量或表达式

③在被概念的函数中,必需指定形参的类型

④形参应与其对应的实参类型一致

29、假设已概念chara[10]和char*p=a,下面的赋值语句中,正确的选项是__________4。

①a[10]="TurboC"②a="TurboC"

③*p="TurboC"④p="TurboC"

30、设有下面的程序段:

chars[]="

china"

char*p=s;

那么以下表达正确的选项是________4。

①数组s中的内容和指针变量p中的内容相等②s和p完全相同

③s数组长度和p所指向的字符串长度相等④*p与s[0]相等

31、C语言中不合法的字符常量是__________1。

\0xff'

\65'

③'

'

④'

\\'

32、以下一维数组a的概念中,正确的选项是________4。

①inta(10);

②intn=10,a[n];

③intn;

④#defineSIZE10

n);

inta[SIZE];

inta[n];

33、下面程序的功能是将字符串s中的内容按逆序输出,但不改变串中的内容,请选择填空,【A】________3,【B】________4。

#include<>

{chars[10]="

hello!

"

inverp(s);

inverp(char*a)

if(【A】)return0;

inverp(a+1);

%c"

【B】)

【A】

①*a!

='

②*a!

=NULL

③!

*a==0

④!

*a

【B】

①*(a―1)

②*(a+1)

③*a

④*(a――)

34、如有一已赋值的持续存储单元,指针p已正确概念,且指向此持续存储单元的起始地址,以下表达正确的选项是__________2。

①表达式:

*p++;

使p所指存储单元中的值增1。

②表达式:

(*p)++;

③表达式:

使指针p向高地址移动一个存储单元。

④表达式:

++*p;

35、下面是对数组a的初始化,其中不正确的选项是________4。

①a[5]={"

ABCD"

}②a[5]={'

,'

B'

C'

③a[5]="

④a[5]="

ABCDE"

36、如有以下说明,那么对y数组元素的正确引用是__________4。

inty[6],*p=y;

①y[6]②p+2③y++④*p

37、设有如下概念:

intx=10,y=3,z;

那么语句

,z=(x%y,x/y));

的输出结果是________4。

①1②0

③4④3

3

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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