C语言程序设计复习题及参考答案.docx

上传人:b****6 文档编号:3044332 上传时间:2022-11-17 格式:DOCX 页数:33 大小:42.77KB
下载 相关 举报
C语言程序设计复习题及参考答案.docx_第1页
第1页 / 共33页
C语言程序设计复习题及参考答案.docx_第2页
第2页 / 共33页
C语言程序设计复习题及参考答案.docx_第3页
第3页 / 共33页
C语言程序设计复习题及参考答案.docx_第4页
第4页 / 共33页
C语言程序设计复习题及参考答案.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

C语言程序设计复习题及参考答案.docx

《C语言程序设计复习题及参考答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计复习题及参考答案.docx(33页珍藏版)》请在冰豆网上搜索。

C语言程序设计复习题及参考答案.docx

C语言程序设计复习题及参考答案

C语言程序设计

一、单项选择题

若以下各题所有库函数都可以合法使用,且变量定义如下:

intm=5,i=3,j=2,*p,a=8,b=0;

intarr[10]={0,1,2,3,4,5,6,7,8,9},td[][3]={1,2,3,4,5,6};

floatx=2.5,y=3.0;

doublez=0;longn=1;

charc=’A’,ch[20]={’a’,’b’,’c’,’\0’,’d’,’\0’};

structstudent

{intnum;

charname[20];

floatscore;

structstudent*next;

}st1,st2,*ps;

FILE*fp;

1.若将3和10从键盘输入给变量a、x,输入语句为scanf(“a=%d,x=%f”,&a,&x);正确的键盘输入是(↙表回车):

Aa=3,x=10↙B3,10↙C310↙D3,10.0↙

2.以下不是死循环的语句是:

Afor(;;y+=i++);

Bwhile(a)y+=i++;

Cdo{y+=i++}while(a>0);

Dfor(b=0;(c=getchar()!

=’\n’);)b++;

3.若p=arr;正确的语句是:

A*p=arr[10];B*p=arr[2*a];

Cp=arr[5];Dp[i]=arr[0];

4.若ps=&st1;则下面描述正确的是:

Aps->num与st1->num等价。

Bps.num与st1.num等价。

Cps->num与num等价。

Dps->num与st1.num等价。

5.语句printf(“%d",aj);的输出结果是:

A1B0C8D都不对

6.表达式j/i+a%i+x的值是:

A6B4.5C6.0D5.5

7.表达式b||a+i&&i

A不确定B0.0C1D0

8.若执行语句a=b+=3*j+(int)x;则b的值为:

A1B8C0D8.5

9.若执行语句a=b>j?

++i:

i++;则a与i的值分别为:

A4,4B3,4C4,3D3,3

10.if(a

8a

Ax=Bx=

1a

8a

Cx=Dx=

1a≥b1a

11.将字符串“WanMing”输入数组ch中,正确的是:

A、scanf(“%s”,ch)B、scanf(“%s”,&ch)

C、ch=“WanMing”D、gets(ch)

12.执行语句printf(“%c”,td[1][0]+’A’)的结果是:

A、AB、B

C、DD、E

13.下列关于main()函数说法正确的是

A、C语言程序总是从main()开始执行

B、C语言程序可以没有main()函数

C、C语言程序可以包含多个main()函数,但必须在不同的模块中

D、C语言程序中main()函数不能有形式参数

14.下列关于函数说法正确的是

A、C语言程序的函数内还可定义其他的函数

B、C语言程序的函数内不可再定义其他的函数

C、C语言程序的函数不能自己调用自己

D、C语言程序中只有同一源文件中的函数才能有调用与被调用关系

15.若#definesqu(x)x*x执行语句printf(“result=%d”,squ(i+j));结果为:

A、result=36B、36C、result=11D、11

16.若#definesqu(x)(x)*(x)执行语句printf(“result=%d”,squ(i+j));结果为:

A、result=36B、result=17C、result=11D、result=25

17.C语言对宏命令叙述正确的是

A、宏替换占用运行时间

B、编译程序对宏命令的处理是在对源程序中其它成分编译之前进行的

C、宏命令的处理是在程序执行时进行的

D、宏命令的处理是在程序连接时进行的

18.若执行语句a-=a+=a*=10;a的值为:

A、0B、-10C、-100D、100

19.若执行语句p=arr;printf(“%d”,*(p+i));输出结果为

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

20.若执行printf(“%s”,ch);结果为:

A、’abc’B、abcC、abcdD、abc\0d

21.若对数组进行初始化:

charcarr[]={’s’,’t’,’u’,’d’,’e’,’n’,’t’},barr[]=”student”;则正确的是

A、carr与barr长度相同B、carr比barr长

C、carr与barr相同D、carr比barr短

22.若有说明语句int(*p)[N];则p是

A、N个指向整型变量的指针B、可指向有N个整型元素的一维数组的指针

C、指向N个整型变量的函数指针D、有N个指针元素的一维指针数组

23.若有说明语句int*f();则函数f是

A、f是一个指向整型变量的数组指针B、f返回一个整型数据

C、f是一个指向整型变量的函数指针D、f返回一个整型指针,指向函数本身

24.若函数f定义如下:

voidf(char*d,char*s)

{while(*d++=*s++);

}

函数f的功能是:

A、串比较B、串复制C、求串长D、串反向

25.表达式100+a+’a’+x*z的值的数据类型为

A、intB、floatC、doubleD、char

26.若要动态申请一个double型内存单元,正确的语句是

A、pd=doublemalloc(sizeof(double))B、pd=(*double)malloc(sizeof(double))

C、pd=double*malloc(sizeof(double))D、pd=(double*)malloc(sizeof(double))

27.若要从键盘上输入67892到变量n中,正确的语句是

A、scanf(“%lf”,&n);B、scanf(“%ld”,&n);

C、scanf(“%lf”,n);D、scanf(“%d”,&n);

28.判断字符变量c是否不为小写英文字母的正确表达式是

A、’a’<=c<=’z’B、c>=‘a’&&c<=’z’

C、’a’≤c≤’z’D、c<’a’||c>’z’

29.下列每组表达式被执行后,结果完全等价的是

A、!

(b==0)与!

(!

b)B、b=(a=4,4*5)与b=a=4,4*5

C、float(i/j)与floati/jD、00&&x<100

30.表达式(m&1)==(m%2)的值是

A、0B、无法确定

C、1D、以上都不对

31.数学式ln2x+asin(60°)的C语言表达式是

A、log(2*x)+a*sin(60)B、ln(2*x)+a*sin(60/180*3.14)

C、ln(2*x)+a*sin(60)D、log(2*x)+a*sin(3.14*60/180)

32.要打开一个已经存在的非空文件file用于修改,则正确的语句是

A、fopen(“file”,”r+”)B、fopen(“file”,”w”)

C、fopen(“file”,”a+”)D、fopen(“file”,”r”)

33.若打开文件时发生错误,则fopen()函数的返回值是

A、1B、0C、不确定D、没有返回值

34.调用函数fseek(fp,-25L,2),其操作结果是

A、文件位置指针从文件开始处前移25字节

B、文件位置指针从文件结尾处后移25字节

C、文件位置指针从文件当前位置处前移25字节

D、文件位置指针从文件当前位置处后移25字节

35.能正确表示a和b同时为正或同时为负的逻辑表达式是

A、(a>=0||b>=0)&&(a<0||b<0)

B、(a>=0&&b>=0)&&(a<0&&b<0)

C、(a*b>0&&(a*b<=0)

D、a*b>0

36.若x=y=z=1;表达式(x--||++y)&&(z++)执行后,x,y,z的值分别为:

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

37.下列变量的初始化,不正确的是:

A.intx,y=5;B.floatx=y=3.5;

C.chars[]=”a”;D.inta[][3]={{1},{},{0,9}};

38.可以代替while(x!

=0)中的条件x!

=0的是:

A.xB.!

xC.x==1D.x!

=1

39.有关函数参数,下列说法不正确的是:

A.实参和形参是不同的变量;B.实参可以将数据传给形参;

C.形参可以将数据传给实参;D.实参和形参必须个数相等,类型一致。

40.为避免嵌套的条件语句if-else的二义性,C语言规定else与if的配对原则是:

A.同一行上的未配对ifB.缩排位置相同的未配对if

C.它之前最近的未配对的ifD.它之后最近的未配对if

41.对于一个二维数组,以下几种方法中,不能正确表示i行j列元素的是:

A.td[i][j]B.*(td[i]+j)C.*(*(td+i)+j)D.*(td+i+j)

42.下面语句段不是死循环的是:

A.for(i=1;;i++)B.k=0;

s=s+i;do{k++;

}while(k>0);

C.i=0;D.a=1;

while

(1)while(a<10)

{i++;{if(a>5)continue;

if(i==20)break;}a++;}

43.下列字符串中,可以用作变量名的是:

A._out2B.12abcC.whileD.stu&3

44.表达式0

A.0和0B.0和1C.1和0D.1和1

45.下列常数中,符合C语法规则的是:

A.‘\’B..5e2C.018D.e3

46.以下为合法的整型常量的是:

A.027aB.0.0C.0x4e3D.3×102

47.以下为合法的整型常量的是:

A.‘3’B.281C.5afD.‘\101’

48.以下为合法的实型常量的是:

A.1.5×102B.1e-5C.1e1.5D.E+5

49.以下为合法的实型常量的是:

A.πB..5C.025.3D.0

50.以下为合法的字符型常量的是:

A."A"B.64C.'啊'D.'\n'

51.以下为非法的字符型常量的是:

A.‘ok’B.‘*’C.‘A’D.‘\111’

52.以下为合法的变量定义的是:

A.#defineN10B.inta=12,b,c;floatx,y,a=1.5;

inta[3*N];

C.i

展开阅读全文
相关搜索

当前位置:首页 > 法律文书 > 调解书

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

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