C语言练习题及答案行健Word下载.docx

上传人:b****4 文档编号:16444035 上传时间:2022-11-23 格式:DOCX 页数:78 大小:70.59KB
下载 相关 举报
C语言练习题及答案行健Word下载.docx_第1页
第1页 / 共78页
C语言练习题及答案行健Word下载.docx_第2页
第2页 / 共78页
C语言练习题及答案行健Word下载.docx_第3页
第3页 / 共78页
C语言练习题及答案行健Word下载.docx_第4页
第4页 / 共78页
C语言练习题及答案行健Word下载.docx_第5页
第5页 / 共78页
点击查看更多>>
下载资源
资源描述

C语言练习题及答案行健Word下载.docx

《C语言练习题及答案行健Word下载.docx》由会员分享,可在线阅读,更多相关《C语言练习题及答案行健Word下载.docx(78页珍藏版)》请在冰豆网上搜索。

C语言练习题及答案行健Word下载.docx

A)#include<

stdio.h>

B)#include<

math.h>

C)#include<

malloc.h>

D)#include<

string.h>

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

voidaverage(float*p,intn)

{inti;

floatsum;

for(i=0,sum=0;

i<

n;

i++,p++)sum+=(*p);

%.2f\n"

sum/n);

}

main()

{floatscore[3][4]={{65,67,70,60},{80,87,90,81},{90,99,100,98}};

average(*score,12);

}

A)

0B)82.25

C)98.00D)99.00

9、在下列叙述中,正确的一条是()

A)表达式1+2<

<

3和sizeof(3.8)的结果分别为24和8

B)函数fputc(c,stdout)与putchar(c)的结果相同

C)语句intpointer中的pointer是指针变量名

D)主函数和其它函数可以互相调用

10、以下程序的输出为()

structs1

{char*s;

intn;

structs1*sip;

};

{

staticstructs1a[]={{"

abcd"

1,a+1},{"

efgh"

2,a+2},{"

ijkl"

3,a}};

structs1*p=a;

intm=0;

%s%s%s"

a[0].s,p->

s,a[2].sip->

s);

%d%d"

m+2,--a[m].n);

%c\n"

++a[m].s[3]);

A)abcdabcdabcd20eB)abcdefghijkl20e

C)abcdefghijkl21eD)abcdabcdabcd21e

11、下列函数中定义不正确的是()

A)intmax(){intx,y,z;

z=x>

y?

x:

y;

B)intmax(intx,inty){intz;

return(z);

C)intmax(x,y){intx,y,z;

D)intmax(){}

12、C语言中函数返回值的类型是由()决定。

A)定义函数时的第一个形参类型B)调用函数的主调函数类型

C)调用函数时临时D)定义函数时所指定的函数类型

13、运行以下程序后,如果从键盘上输入china#<

回车>

则输出结果为()

A)2,3B)3,5

C)2,5D)5,2

#include<

{intv1=0,v2=0;

charch;

while((ch=getchar())!

='

#'

switch(ch)

{case'

a'

:

case'

h'

v1++;

default:

v2++;

%d,%d\n"

v1,v2);

14、下面函数的功能是()

sss(char*s,char*t)

{while((*s)&

(*t)&

(*t++==*s++))};

return(*s-*t);

A)求字符串的长度B)比较两个字符串的大小

C)将字符串s复制到字符串t中D)将字符串s接续到字符串t中

15、有如下程序

{inti,sum=0;

for(i=1;

=3;

sum++)sum+=i;

%d\n"

sum);

该程序的执行结果是()

A)6B)3C)死循环D)0

16、能正确表示a和b同时为正或同时为负的逻辑表达式是()

A)(a>

=0‖b>

=0)&

(a<

0‖b<

0)

B)(a>

=0&

b>

0&

b<

C)(a+b>

0)&

(a+b<

=0)

D)a*b>

17、下述程序的输出结果是()。

main()

{chars1[10]="

abc"

*s2="

ABC"

s3[50]="

123456789"

;

strcpy(s3+4,strcat(s1,s2));

%s\n"

s3);

A)1234abcABCB)56789abcABCD

C)abcABCD)以上都不是

18、若已定义:

inta[9],*p=a;

并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是()

A)p+1B)a+1C)a++D)++p

19、下列定义数组正确的是()

A)#definesize10B)intn=5;

charstr1[size],str2[size+2];

inta[n][n+2];

C)charstr[];

D)intnum['

10'

];

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

s=1+1/2+1/3+……+1/10

{intn;

floats

s=1.0;

for(n=10;

n>

1;

n--)

s=s+1/n;

%6.4f\n"

s);

程序运行后输出结果错误,导致错误结果的程序行是

A)s=1.0;

B)for(n=10;

C)s=s+1/n;

D)printf("

21、以下说法正确的是()

A)输入项可以为一个实型常量,如scanf("

%f"

3.5);

B)只有格式控制,没有输入项,也能进行正确的输入,如scanf("

a=%d,b=%d"

);

C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("

%4.2f"

f);

D)当输入数据时,必须指明变量的地址,如scanf("

22、设x=2.5、a=7,则算术表达式x+2*++a/3%3的值为()。

A)2.5B)3.5

C)4.5D)5.5

23、若有说明:

inta[3][4]={0};

则下面正确的叙述是()

A)只有元素a[0][0]可得到初值0

B)此说明语句不正确

C)数组a中个元素都可以得到初始值,但其值不一定为0

D)数组a中个元素都可得到初值0

24、设a=3,b=4,c=5,则表达式!

(a+b)+c-1&

b+c/2的值为()。

A)6.5B)6

C)0D)1

25、设x是整型变量,pb是基类型是整型的指针变量,则正确的赋值表达式是()

A)pb=x;

B)*pb=&

x;

C)pb=&

D)*pb=*x;

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

{int**k,*j,i=100;

j=&

k=&

j;

%d"

**k);

A)运行错误B)100

C)i的地址D)j的地址

27、在下列有关#include命令的叙述中,错误的一条是()

A)在#include命令中,文件名可以用双引号或尖括号括起来

B)在一个包含文件中又可以包含另一个被包含文件

C)在一个#include命令中可以指定一个包含文件

D)在一个#include命令中可以指定多个包含文件

28、以下程序的输出结果为()

{inta[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}};

Thevalueis%d"

the_value(3,4,a));

the_value(intm,intn,intarr[][4])

inti,j,val=arr[0][0];

for(i=0;

m;

i++)

for(j=0;

j<

j++)

if(val<

arr[i][j])val=arr[i][j];

return(val);

A)Thevalueis15B)Thevalueis7

C)Thevalueis34D)Thevalueis8

29、在下列叙述中,正确的一条是()

A)表达式1+2<

B)函数fputc(c,stdout)与putchar(c)的结果相同

C)语句intpointer中的pointer是指针变量名

D)主函数和其它函数可以互相调用()

30、以下不正确的if语句形式是()

A)if(x>

y&

x!

=y);

B)if(x==y)x+=y;

C)if(x!

=y)scanf("

x)elsescanf("

y);

D)if(x<

y){x++;

y++;

31、有如下程序

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

switch(x){

case0:

b++;

case1:

a++;

case2:

b++;

a=%d,b=%d\n"

a,b);

该程序的输出结果是

A)a=2,b=1B)a=1,b=1

C)a=1,b=0D)a=2,b=2

32、阅读以下程序:

{intx;

scanf("

x);

if(x--<

5)printf("

,x);

elseprintf("

,x++);

程序运行后,如果从键盘上输人5,则输出结果是

A)3B)4C)5D)6

33、以下叙述中正确的是()

A)全局变量的作用域一定比局部变量的作用域范围大

B)静态(static)类别变量的生存期贯穿于整个程序的运行期间

C)函数的形参都属于全局变量

D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值

34、请阅读以下程序:

{inta=5,b=0,c=0;

if(a=b+c)printf("

***\n"

elseprintf("

$$$\n"

以上程序()

A)有语法错误不能通过编译B)可以通过编译但不能通过连接`

C)输出***D)输出$$$

35、执行以下程序段时()

x=-1;

do{x=x*x;

}while(!

x);

A)循环体将执行一次B)循环体将执行两次

C)循环体将执行无限次D)系统将提示有语法错误

36、有如下说明

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

则数值为9的表达式是

A)*P+9B)*(P+8)C)*P+=9D)P+8

37、有如下程序

#defineN2

#defineMN+1

#defineNUM2*M+1

{inti;

=NUM;

i++)printf("

i);

该程序中的for循环执行的次数是

A)5B)6C)7D)8

38、以下程序的输出为()

structst

int*y;

}*p;

intdt[4]={10,20,30,40};

structstaa[4]={50,&

dt[0],60,&

dt[1],70,&

dt[2],80,&

dt[3]};

{p=aa;

++p->

%d"

(++p)->

++(*p->

y));

A)102020B)506021

C)516021D)607031

39、若x是int型变量,且有下面的程序片段:

for(x=3;

x<

6;

x++)printf((x%2)?

("

**%d"

):

##%d\n"

),x);

上面程序片段的输出结果是

A)**3B)##3C)##3D)**3##4

##4**4*4##5**5

**5##5

40、有以下程序

intfun(intx,inty,int*cp,int*dp)

{*cp=x+y;

*dp=x-y;

{inta,b,c,d;

a=30;

b=50;

fun(a,b,&

c,&

d);

c,d);

输出结果是

A)50,30B)30,50

C)80,-20D)80,20

41.设int类型的数据长度为2个字节,则unsignedint类型数据的取值范围是()。

A.0至255B.0至65535

C.-32768至32767D.-256至255

42.以下叙述正确的是()。

A.C语言本身没有输入输出语句

B.C程序的每行中只能写一条语句

C.在C程序中,main函数必须位于程序的最前面

D.在对一个C程序进行编译的过程,可发现注释中的拼写错误

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

main()

{intx=10,y=10;

%d%d\n"

x--,--y);

A.1010B.99

C.910D.109

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

A./B.!

C.%D.==

45.有如下定义的变量和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是()。

inta1,a2;

charc1,c2;

scanf(“%d%d”,&

a1,&

a2);

scanf(“%c%c”,&

c1,&

c2);

A.10□20AB<

B.10□20□A□B<

C.10□20<

AB<

D.10□20□AB<

46.运行以下程序时,从键盘输入7654<

,则屏幕显示的结果是()。

voidmain(){

intc;

while((c=getchar())!

='

\n'

switch(c-'

4'

{case0:

case1:

putchar(c+4);

case2:

putchar(c+3);

break;

case3:

putchar(c+2);

default:

putchar(c+1);

}}

A.7654B.99987

C.989988D.9899887

47.下面的程序()。

main(){

intx=0,y=0,z=0;

if(x=y+z)printf("

****"

####"

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

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

48.数组名作为函数参数时被处理为()。

A.该数组的长度B.该数组的首地址

C.该数组的所有元素的值D.该数组的第一个元素

49、若有数学公式

,其正确的C语言表达式是()。

A.sqrt(fabs(cos(x*3.14/180)))B.sqrt(fabs(cos(x*π/180)))

C.sqrt(|cos(x)|)D.sqrt(|cos(x*3.14/180)|)

50.执行下列程序时输入:

1234567,程序的运行结果为()。

main(){

intx,y;

%2d%*2d%2d"

%d\n"

x+y);

A.17B.46C.68D.语法错误

51.已知字母a的ASCII码为97,下面的程序输出是()。

voidmain(){

charc1,c2;

c1='

+'

6'

-'

2'

c2='

+6-'

3'

%c,%d\n"

c2,c1);

A.输出格式有误不能通过编译B.d,e

C.100,101D.d,101

52.下面程序中()。

(每行前面数字为行号)

1main()

2{inti;

3floata[8]={0.0};

4for(i=0;

i<

8;

i++)scanf("

a[i]);

5for(i=1;

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

6printf("

%f,"

a[0]);

A.没有错误B.第3行有错误C.第5行有错误D.第6行有错误

53.若有以下说明和语句,则()不是字符串strcpy的正确调用。

char*str1="

copy"

str2[10],*str3="

hijkmn"

*str4,*str5="

;

A.strcpy(str2,str1);

B.strcpy(str3,str1);

C.strcpy(str4,str1);

D.strcpy(str5,str1);

54.执行下列语句后,输出值为()

#defineM5

#defineNM+1

#defineNNN*N/2

main(){

NN);

A.8B.10C.12D.18

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

voidmain(){

inti;

=3;

i++){

if(i%2)putchar('

'

elsecontinue;

putchar('

>

}

A.<

>

<

#B.>

#C.<

#D.>

#

56.若有如下结构体定义:

structexample{intx;

inty;

则()是正确的引用或定义。

A.structexamplev=10;

B.examplev;

v.x=10;

C.structv;

D.structexamplev={10};

57.下述的程序输出结果是()。

chara=3,b=6,c;

c=a^b<

2;

\n%d"

c);

A.27B.10C.20D.28

58.以下是关于数组的描述,其中不正确地是()。

A.数组是有序数据的集合,数组中的每一个元素都属于同一个数据类型;

B.在对全部数组元素赋初值时,可以不指定数组的长度;

C.inta[10],*p=a;

则语句for(;

p<

a+10;

p++)printf("

%d\n"

*p);

输出数组中的所有数据;

D.inta[10],*p;

则语句for(p=a;

10;

59.C语言可以处理的文件类型是()。

A..文本文件和数据文件B.文本文件和二进制文件

C.数据文件和二进制文件D.数据代码文件

60.已有说明float*p,m=3.1416;

要建立如图所示的存储结构的赋值语句是()。

A.p=m;

B.*p=m;

pm

C.p=&

D.*p=&

61.以下关于C语言叙述中,不正确的是()。

A.语言简洁、紧凑,使用方便灵活;

B.语法限制严格,能检查出几乎所有的语法错误;

C.生成目标代码质量高,程序执行效率高;

D.既具有高级语言的功能,又具有低级语言的许多功能。

62.变量X不大于0且不等于10的表达式是()

A.X!

0&

X≠10B.X<

=0&

X<

10

C.X<

X!

=10D.X<

=0andX≠10

63.对以下说明语句的正确理解是()。

inta[10]={6,7,8,9,10};

A.将5个数值依此赋给a[0]至a[4],

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

当前位置:首页 > 表格模板 > 合同协议

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

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