完整版C语言程序设计练习及答案.docx

上传人:b****2 文档编号:2935522 上传时间:2023-05-05 格式:DOCX 页数:31 大小:77.16KB
下载 相关 举报
完整版C语言程序设计练习及答案.docx_第1页
第1页 / 共31页
完整版C语言程序设计练习及答案.docx_第2页
第2页 / 共31页
完整版C语言程序设计练习及答案.docx_第3页
第3页 / 共31页
完整版C语言程序设计练习及答案.docx_第4页
第4页 / 共31页
完整版C语言程序设计练习及答案.docx_第5页
第5页 / 共31页
完整版C语言程序设计练习及答案.docx_第6页
第6页 / 共31页
完整版C语言程序设计练习及答案.docx_第7页
第7页 / 共31页
完整版C语言程序设计练习及答案.docx_第8页
第8页 / 共31页
完整版C语言程序设计练习及答案.docx_第9页
第9页 / 共31页
完整版C语言程序设计练习及答案.docx_第10页
第10页 / 共31页
完整版C语言程序设计练习及答案.docx_第11页
第11页 / 共31页
完整版C语言程序设计练习及答案.docx_第12页
第12页 / 共31页
完整版C语言程序设计练习及答案.docx_第13页
第13页 / 共31页
完整版C语言程序设计练习及答案.docx_第14页
第14页 / 共31页
完整版C语言程序设计练习及答案.docx_第15页
第15页 / 共31页
完整版C语言程序设计练习及答案.docx_第16页
第16页 / 共31页
完整版C语言程序设计练习及答案.docx_第17页
第17页 / 共31页
完整版C语言程序设计练习及答案.docx_第18页
第18页 / 共31页
完整版C语言程序设计练习及答案.docx_第19页
第19页 / 共31页
完整版C语言程序设计练习及答案.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

完整版C语言程序设计练习及答案.docx

《完整版C语言程序设计练习及答案.docx》由会员分享,可在线阅读,更多相关《完整版C语言程序设计练习及答案.docx(31页珍藏版)》请在冰点文库上搜索。

完整版C语言程序设计练习及答案.docx

完整版C语言程序设计练习及答案

《C语言程序设计》练习及答案

得分评卷人复查人

一、单选题,每小题1分,共60分(将正确答案的序号写在题目的括号中)

1、结构化程序设计的三种基本控制结构是(D)。

A、主程序、子程序、函数B、输入、处理、输出

C、调用,返回,转移D、顺序、选择、循环2、下列关于C程序变量的叙述,(D)是错误的。

A、变量名必须由字母或下划线开头。

B、程序中的变量必须在被使用之前定义。

C、不同的基本类型的变量之间可以混合运算。

D、变量的数据类型决定变量的”作用域”。

3、能将C语言编写的源程序转换为目标程序的软件是(C)。

A、编辑程序B、汇编程序

C、编译程序D、解释程序

4、以下符号中,合法的用户标识符是(D)。

A、-pB、int

C、3abD、_xt_

5、以下选项中,与m=n++完全等价的表达式是(C)。

A、m=++nB、m+=n+1

C、m=n,n=n+1D、n=n+1,m=n

6、若有定义:

intaa[8];。

则以下表达式中不能代表数组元aa[1]的地址的是(C)。

A、&aa[0]+1B、&aa[1]

C、&aa[0]++D、aa+17、表达式!

5&(7+3)&&(4+5)的值是(A)。

A、0B、1

C、5D、9

8、以下选项中非法的C语言表达式是(A)。

C、i=j==0D、(char)(65+3)

9、在TURBOC中,int类型变量所占字节数是(B)。

A、1B、2

C、4D、810、C语言中基本的数据类型包括(B)。

C、整型,字符型,逻辑型D、整型,实型,逻辑型,字符型

11、设有变量定义如下:

charch;inti;floatf;

表达式ch/i+i*f+1.234的结果的数据类型是(D)。

A、floatB、charC、intD、double

12、C语言中前后运算对象都必须是整型的运算符是(

A、%B、/

C、++D、!

A)。

13、已定义c为字符型变量,则下列语句中正确的是(

A)

A、c=98;B、c='98';

C、c=”98”D、c=”b”

14、以下实型常量中,符合C语言语法的是(A)。

A、.5E-3B、1.2E0.5

C、E15D、3.14.159E15、以下4个选项中,不能看作一条语句的是(C)。

A、if(a>0);B、{;}

C、if(b==0)m=1;n=2;D、a=0,b=0,c=0;

16、要用C语言表示数学关系式a>b>c,正确的表达式是(D)。

A、a>=b>=cB、(a>=b)&(b>=c)

C、(a>=b)||(b>=c)D、(a>=b)&&(b>=c)

17、设

i,j,k均为整型变量,则执行以下for语句后,k的值是(C)For(i=0,j=10;i<=j;i++,j--)k=i+j;

A、0

B、

5

C、10

D、

20

18、若表达式!

x的值为1,则下列表达式(A)的值为1。

A、x==0B、x==1

C、x!

=1D、x!

=019、已知整型变量a=13,b=16,则a&b的值为(A)。

A、0B、-3

B)。

C、1D、320、在一个表达式中含下列运算符,优先级最高的是(

A、赋值运算符B、算术运算符

C、条件运算符D、关系运算符

21、下列语句组中,正确的是(C)。

A、char*s;s={"Beijing"};B、chars[8];s={"Beijing"};

C、char*s;s="Beijing";D、chars[8];s="Beijing";

22、下述对C语言字符数组的描述中错误的是(C)。

A、字符数组可以存放字符串

B、字符数组中的字符串可以整体输入、输出

C、可在赋值语句中通过赋值运算符“=”对字符数组整体赋值

D、不可用关系运算符对字符数组中的字符串进行比较

23、凡在函数中未指定存储类别的变量,其隐含的存储类别为(A)。

A、autoB、extern

C、registerD、static

24、在函数调用语句中的的个数、类型和次序应与函数定义的相一致。

(D)

A、值,变量B、变量,值

C、形参,实参D、实参,形参

25、若有定义int(*p)[3]和int(*f)(),则p和f分别表示(D)。

A、指针数组,函数指针B、数组指针,指针函数

C、指针数组,指针函数D、数组指针,函数指针

26、在说明语句:

int*f();中,标识符f代表的是(C)。

A、一个用于指向一维数组的指针变量

B、一个用于指向整型数据的指针变量

C、一个返回值为指针型的函数名

D、一个用于指向函数的指针变量

27、使用结构体struct的目的是(A)。

A、将一组相关的数据作为一个整体,以便程序使用

B、将一组相同数据类型的数据作为一个整体,以便程序使用

C、将一组数据作为一个整体,以便其中的成员共享同一存储空间

D、将一组数值一一列写出来,变量的值只限于列举的数值的范围内

28、设有说明语句

typedefstruct

{intn;

charch[8];

}PER;

A)。

B、PER是结构体变量名

D、struct是结构体变量名

则下面叙述中正确的是(

A、PER是结构体类型名

C、struct是结构体类型名

29、设有定义:

inta,*pa=&a;以下scanf语句中能正确为变量a读入数据的是(E)。

A、scanf(“%d”,a);B、scanf(“%d”,pa);

C、scanf(“%d”,*pa);D、scanf(“%d”,&pa);

30、若要打开D盘上user文件夹下名为abc.txt的文本文件进行读、写操作,符合此要求的函数调用是(C)

A、fopen("D:

\\user\\abc.txt","r")B、fopen("D:

\user\abc.txt","w")

C、fopen("D:

\\user\\abc.txt","r+")D、fopen("D:

\user\abc.txt","rb")

31、下列语句中,能正确进行字符串赋值或赋初值的是(AD)。

A、chara[5]={‘h',‘e',‘l',‘l',‘o'

B、

char

s[5]=“

hello”;

C、

char

s[5];

s=“hell”;

D、

char

*s;

s=“hello”;

32、下列语句中,能正确定义一维数组的是(B)o

A、intN=10;

intnum[N];B、#defineN10

intnum[N];

C、intnum[0..10];D、intnum[];

33、下列语句中,不能正确定义二维数组的是(A)。

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

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

34、如有定义:

int*p[3];则下列叙述中正确的是(C)。

A、定义了一个可指向一维数组的指针变量p,所指一维数组应含有三个int类型元素

B、定义了一个名为*p的整型数组,该数组含有三个int类型元素

C、定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针

D、定义了一个基类型为int的指针变量p,该变量具有三个指针

35、有以下函数定义:

voidfun(intn,doublex){}

若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是(A)。

A、fun(x,n);B、voidfun(n,x);

C、fun(inty,doublem);D、k=fun(10,12.5);

36、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(D)。

A、函数调用可以出现在表达式中

B、函数调用可以作为独立的语句存在

C、函数调用可以作为一个函数的实参

D、函数调用可以作为一个函数的形参

37、若有下面的说明和定义

structtest

{intml;charm2;floatm3;

unionuu{charul[5];intu2[2];}ua;

}myaa;

则sizeof(structtest)的值是(E)。

A、9B、12

C、14D、16

feof(fp)的值为

38、若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数(E)。

A、-1B、0

C、1

D、3

39、下列程序的输出结果为(C)。

#include

main()

{chara=‘a',b;

printf(”%c,”,++a);printf(”n%”c,b=a++);}

A、a,bB、a,cC、b,bD、b,c

40、下列程序的输出结果为(A)。

#include

#defineF(X,Y)X*Y

main()

{inta=3,b=4;printf("%d\n",F(a++,b++));}

A、12B、16

C、20D、24

41、下列程序的输出结果为(D)。

#includemain()

{inta[][3]=1,2,3,4,5,6,7,8,9,10,11,12;printf("%d",a[2][1]);}

A、2B、4C、7D、842、设有说明语句:

inta=1,b=0;则执行以下语句后,输出结果为(A)switch(a)

{case1:

switch(b)

{case0:

printf("**0**");break;case1:

printf("**1**");break;}

default:

printf("**2**");break;}

A、**0**

B、**2**

C、**0**

**1**

**2**D、

**0**

**2**

43、下列程序的输出结果为(B)o

main()

{char

ch1,ch2;

ch1='

A'+-'‘53';

ch2='

A'+-'‘53';

printf(

“%d,n%”c,ch1,ch2);}

A、67,67

B、67,C

C、B,CD、

C,C

44、下列程序的输出结果为(D)。

main()

{intx=10,y=10;

printf("%d,%d",x++,++y);}

A、10,10

B、11,10

C、11,11

D、10,11

45、下列程序的输出结果为(A)。

#defineSUM(x)x+xmain()

{inta=10,k=3,m=2;a/=SUM(k*m)/SUM(m);printf("%d",a);

}

A、0B、3

C、4D、6

46、下列程序的输出结果为(D)。

#includemain(){inti;

for(i=100;i++)

if(i%5==0)continue;printf("%d",i);break;

}

A、100B、101

C、无限循环D、程序错误

47、下列程序的输出结果为(B)o

main()

{intx=3,y=2,z=1;printf("%d\n,x/y&~z);}

A、0B、1

C、2D、3

48、下列程序的输出结果为(A)o

#includemain()

{staticinta[]={1,3,5},b[]={2,6,10};inti,s=0;

for(i=0;i<3;i++)s+=a[i]/b[i];printf("%d",s);}

A、0B、1

C、1.5D、2

49、下列程序段的输出结果为(A)o

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

printf(“%d”,(a

a:

d

d:

b));

A、1B、2

C、3D、4

50、下列程序段的输出结果为(B)o

intx=3;

do

{printf(“%”d,x-=2);

}while(!

(--x));

A、1B、1-2

C、30D、死循环

51、下列程序的输出结果为(D)o

main()

{inta[7]={1,2,3,4,5,6,7},*p=a;printf(“n%”d,*(p+3));}

A、1B、2

C、3D、4

52、下列程序的输出结果为(B)。

voidsub(intx,inty,int*z)

{*z=y-x;}

main()

{inta,b,c;

sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf(“%d,%d,%d”,a,b,c);}

A、5,2,3B、-5,-12,-7

C、-5,-12,-17D、5,-2,-7

53、下列程序的输出结果为(C)。

main()

{inta[]={2,4,5,7,11,12},x,y=0,*p;

p=&a[1];

for(x=0;x<=3;x++)y+=*(p+x);

printf(“%d”,y);}

A、16B、18

C、27D、11

54、下列程序输入:

81635ac76201显示结果为(B)

#include

voidmain()

{inti;floatx;chars[10];scanf("%3d%f%4s",&i,&x,s);printf("%d%6.3f%s\n",i,x,s);}

A、81635.000acB、81635.000ac76

C、81635.0acD、81635.0ac76

55、下列程序的输出结果为(C)。

main()

{union

{longk;inti[6];charc[4];

}r;printf("%d",sizeof(r));

}

A、4B、6

C、12D、20

56、下列程序的输出结果为(B)。

#includemain()

{

voidfunc();

structdate

{inta,b;

chars[5];

}arg;

arg.a=27;

arg.b=3;

strcpy(arg.s,"abcd");

func(arg.a,arg.b,arg.s);

printf("arg.a=%d,arg.b=%d,arg.s=%s,arg.a,arg.b,arg.s);

}

voidfunc(intx,inty,char*s1)

{

x-=5;

y+=10;

s1="ABCD";

}

A、arg.a=22,arg.b=13,arg.s=ABCD

B、arg.a=27,arg.b=3,arg.s=abcd

C、arg.a=22,arg.b=13,arg.s=abcd

D、arg.a=27,arg.b=3,arg.s=ABCD

57、下列程序的运行结果为(B)o

main()

{floaty=0.0,a[]={2.0,4.0,6.0,8.0,10.0},*p;

inti;

p=&a[1];

for(i=0;i<3;i++)y+=*(p+i);

printf("%f",y);

}

A、12.000000B、18.000000

C、20.000000D、24.000000

58、下列程序的运行结果为(B)o

#include

main()

{

charb[]="ABCDEFG";

char*chp=&b[6];

while(chp>&b[0])

{putchar(*chp);

--chp;}

putchar('');}

A、GFEDCBAB、GFEDCB

C、FEDCBD、FEDCBA

59、下列程序输出结果为(B)o

f()

{staticc=3;return(c++);

}main(){inti,k;

for(i=0;i<2;i++)k=f();printf("%d",k);

}

A、3B、4

C、5D、6

60、下列程序运算结果为(A)。

main()

{longn,d;

inti=0;

n=657354;

while(n!

=0)

{d=n%10;printf("%d",d);n/=10;

}

}

A、453756B、354657

C、657354D、756453

61、下列程序的输出结果为(B)o

#include

voidmain()

{inta=15,c=14;

printf("%d\n",(--a==c++)?

--a:

c++);

}

A、12B、13

C、14D、15

62、下列程序的输出结果为(A)。

intx,y;change(){x=x+y;

y=x-y;

x=x-y;

}main()

{intx=7,y=5;

change();

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

}

A、7,5B、5,7

C、12,2D、2,12

63、下列程序的输出结果为(

#include

C)。

voidmain()

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

while(*pa!

=-999){printf("%d",*pa);pa++;

}}

A、8910B、67108910

C、567108910D、3410567108910

64、下列程序的输出结果为(D)。

#include

voidmain()

{inti=0;

do{printf("%d",i);

if(i==5)break;elsecontinue;

}while(++i<=9);

}

A、0123456789B、12345C、123456789D、012345

65、下列程序的输出结果为(B)o

#include

voidmain()

{char*strarr[3]={"abcdefg","1234567","pqrst"};charnewstr[10];

strcpy(newstr,strarr[1]+2);printf("%s\n",newstr);}A、bcdefgB、34567C、rstD、234567

66、下列程序的输出结果为(C)o#include

#definePI3.14

#defineAREA(x)PI*x*xvoidmain()

{floatradius=1.0,area;area=AREA(radius+1);printf("%5.2f\n",area);}A、12.56B、6.28C、5.14D、4.14

67、设有如下函数定义

intmaxop(intm,intn)

{

if(m>n)returnmaxop(m-n,n);

if(m

}

如果执行printf("%d",maxop(85,51));则输出结果为(A)。

A、17B、34C、51D、85

68、在C语言中,合法的长整型常数是:

()。

A)0LB)4962710

C)0.054838743D)2.1869e10

69、C语言中的函数()。

A)嵌套调用和递归调用均可B)嵌套定义和嵌套调用均可

C)可以嵌套定义但不可以嵌套调用D)可以嵌套调用但不可以递归调用

70、计算平方数时最不可能引起二义性的宏定义是:

()。

A)#defineSQR(x)x*xB)#defineSQR(x)(x*x)

C)#defineSQR(x)(x)*(x)D)#defineSQR(x)((x)*(x))

71、若有定义:

enumweekday{mon,tue,wed,thu,fri}workday;则()是不正确的语句。

A)workday=(enumweekday)3;

C)workday=4;

B)workday=(enumweekday)0;

D)workday=fri;

 

72、若C程序中含有如下定义:

structst{intx;inty;}structsts1,s2;则()。

A)

B)编译时出错

D)能编译,但链接时出错

能编译、链接和运行

C)能编译和链接,但不能运行

73、若有定义:

A)6.0

C)6

floata=3.0,b=4.0,c=5.0;则表达式1/2*(a+b+c)的值为:

B)0.0

D)无答案

 

74、若有定义:

int

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

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

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2