C语言复习材料.docx

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

C语言复习材料.docx

《C语言复习材料.docx》由会员分享,可在线阅读,更多相关《C语言复习材料.docx(67页珍藏版)》请在冰点文库上搜索。

C语言复习材料.docx

C语言复习材料

一、选择题

9、下列程序段运后变量S的值为(S=1)。

IntI,s=1;

For(i=1;i<=6;i++)

{if(i%2)

Continue;

s+=I;

}

S=1

10、下列程序段的运行结果是(D)。

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

For(i=1;i<=6;i++)

A[i+1]=a[i+1]+1;

For(i=0;i<10;i++)

Printf(“%3d”,a[i]);

A、345678910910B、23456789910

C、12345678910D、12456789910

11、若已定义二维数组a[3][3],设a[0][0]在数组中的位置为1,则a[2][1]在数组中位置应是(C)。

A、9B、6C、8D、7

12、下列程序段的运行结果是(C)

Charstr[3][3]={’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’};

Str[2][1]=’\0’;

Printf(”%s”,str);

A、abcdefg0iB、abcdefg0C、abcdefgD、abcdefghi

13、下列程序的运行结果是(A)。

#include

Intnum=20;

Fun()

{intnum=5;

Return--num;

}

Voidmain()

{fun();

Printf(“%d\n”,num);

}

A、20B、4C、19D、5

15、若已定义:

inta[3][4],*p=a;则能表示数组元素a[1][2]地址的是(C)。

A、a[1][2]B、p[6]C、p+6D、*(a[1]+2)

16、下列程序段的运行结果是(D)。

Inta[]={1,2,3,4,5,6,7},*p=a;

Intn,s=0;

For(n=0;n<6;n++)s+=p[n++];

Printf(“%d”,s);

A、12B、15C、16D、9

17、下列程序的运行结果是(B)。

#include

Uniondata

{floatI;

Charc;

};

Struct

{chara[2];

IntI;

Uniondatad;

}q;

Voidmain()

{printf(“%d\n”,sizeof(q));

}

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

18、下列程序段的执行结果是(A)。

Structstudent

{charname;

Inthigh;

Intweight;

}a[3]={’c’,163,101,’h’,169,124,’x’,181,135};

Structstudent*p;

IntI,sum=0;

Floataver;

P=a;

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

{sum=sum+(p+i)->high;

}

Printf(“%f\n”,sum/3.0);

A、171.0B、97C、89D、120.0

19、在对无符号数的位运算中,操作数左移两位相当于(B)。

A、除以8B、除以4C、乘以8D、乘以4

20、下列程序运行后,文件test.txt的内容是(C)。

#include

Main()

{

File*fp;

Charstr[][10]={“1st”,”2nd”};

Fp=fopen(“test.txt”,”w”);

If(fp!

=NULL)

Fprintf(fp,”%s”,str[0]);

Fclose(fp);

Fp=fopen(“test.txt”,”w”);

If(fp!

=NULL)

Fprintf(fp,”%s”,str[1]);

Fclose(fp);

}

A、2ndB、1stC、1st2ndD、2nd1st

23、若定义:

intx=3,y=2,k=5;则正确的表达式是(A)。

A、x=y/2B、x=y+1=8-kC、x=(y++,y+k)D、k=int(x/y)%10

25、下列程序段的运行结果是(B)。

A、++3=4B、++k=4C、++k=5D、++k=3

27、设定义:

floatx=1.0,y=2.0;语句()执行后变量x值为3.0。

A、x-=2*yB、x/=x+yC、x+=yD、x*=y

A+=i;;a+=2;a++;

29、下列程序段的运行结果是(B)。

Inta[6]={1,2},i;

For(i=2;i<=6;i++)

{a[i]=a[i-1]+a[i-2];}

For(i=0;i<6;i++)

Printf(“%3d”,a[i]);

A、123456B、1235813C、123567D、123456

31、下列程序段运行结果中变量b的值是(D)。

Intb=3;

Chars1=”action”,s2=s1;

b=strcmp(s1,s2);

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

A、7B、5C、4D、3

34、下列程序的运行结果是(B)。

Main()

{chara[]=”cba”,*p;

For(p=a;p

Printf(“%s”,p);

A、abcdccB、cbabaC、cbabaaD、cba

35、若定义;

Structstudent

{intnum;

Intage;

};

Structstudents[3]={{301,18},{302,21},{303,19}};

Structstudent*p=s;

则表达式的值为21的是(D)。

A、(p++)->ageB、(*++p).ageC、(*P++).ageD、*(++P)->age

36、若定:

intm=12,n=10,k;语句k=m&n;执行后k的值为(D)。

A、14B、6C、2D、8

39、语句(D)符合C语言语法。

A、inta=b=c=25B、inta=25,b=25+(c=25)C、inta=25,b=c=a;D、inta,b=25,c;

42、若定义:

charc;inta;floatx;doubley;则表达式c*a+x-y值的数据类型(B)

A、floatB、doubleC、charD、int

45、下列程序段执行后p的值是(C)。

Inta[3][3]={3,2,1,3,2,1,3,2,1};

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

For(j=i+1;j<3;j++)

P*=a[i][j];

A、108B、12C、2D、18

46、下列程序段的运行结果是(B)。

Charstr[80];

Strcpy(str,”university”);

Printf(“%d”,strlen(str));

A、8B、10C、117D、9

47、下列叙述正确的是(A)。

A、#define是宏定义命令B、程序中使用带参数的宏时,参数类型要与宏定义时一致

C、宏名只能包含大写字母和数字字符D、编译预处理命令行必须以分号结束

48、若有下列程序段,则叙述正确的是(D)。

Chara[]=“fujian“;

Char*p;

P=a;

A、数组a的长度和p所指向的字符串长度相等

B、数组a中的内容和指针变量p中的内容相等

C、a和p完全相同D、*p与a[0]相等

49、下列程序段的执行结果是(B)。

Typedfunion

{intage;

charname[10];

floatweight;

}class;

Structanimal

{intcat;

Classdog;

doubleani;

}zoon;

Classone;

Printf(“%d”,sizeof(structanimal)+sizeof(Class));

A、20B、30C、22D、10

50、若定义:

intI;

enumcolors{red,green,blueblack};

Inta[3];

(C)是对以下正确语句的正确判断。

A[red]=black;/*语句1*/

I=green+blue;/*语句2*/

Red=1;/*语句3*/

A、语句1正确,语句2和语句3错误B、语句2和语句3正确,语句1错误

C、语句1和语句3正确,语句2错误D、语句1和语句2正确,语句3错误

51、下列程序段的运行结果是(A)。

#include

Main()

{File*fp;

Inta=3,b=5,c=8,k,n;

Fp=fopen(“test.dat”,”w”);

Fprintf(fp,”%d\n”,a);

Fprintf(fp,”%d%d\n”,b,c);

Fclose(fp);

Fp=fopen(“test.dat“,“r“);

Fscanf(fp,”%d*%d*%d”,&k,&n);

Printf(%d%d\n“,k,n);

Fclose(fp);

A、35B、53C、83D、38

55、若已定义:

charc=’M’;则正确的赋值表达式是(A)。

A、c=\0x2mB、c=c%3C、c=c+029D、c%=2.6

56、下列程序段的运行结果是(A)。

Voidmain()

{intx,y,z;

X=y=1 ;z=2 ;

If( !

x)

++z ;

Elseif( !

(x-y))

Z=3+z ;

Elseif(y)

Z++;

Else

Z+=13;

Printf(“%d\n”,z);

A、5B、15C、8D、3

57、下列程序段运行后变量m的值为(A)。

Inti,j,m=0;

For(i=1;i<=2;i++)

For(j=1;j<=3;j+=2)

M=m+i+j;

A、14B、10C、12D、13

58、若定义二维数组a[3][3],设a[0][0]在数组中的位置为1,则a[2][1]在数组中位置应是(D)。

A、6B、9C、7D、8

59、若已定义:

Charstr1[20]={“university”},str2[20];

则(B)语句是正确的。

A、str2=str1B、printf(“%c”,str1);

C、if(str1+20==str2)printf(“###\n”);

D、scanf(“%s”,str2[]);

60、下列程序的运行结果是()。

#include

Intfun(inta[]4[4])

{intI;

For(i=0;i<4;i++)

Printf(“%2d”,a[i][1]);

Printf(“\n”);

}

Main()

{inta[4][4]={1,2,2,3,1,0,0,0,2,1,0,0,0,1,9,8};

Fun(a);

}

答案:

2011

61、下列叙述错误的是(C)。

A、宏名可以用小写字母表示B、编译预处理命令行都必须以#号开始

C、宏定义只能用大写字母表示

D、使用预处理命令“#include<文件名>”时,编译系统只在指定的系统目录下查找该文件

62、下列程序的运行结果是(A)。

#include

Voidmain()

{char*p=”Chinese”,*q=p+4;

Printf(“%c\n”,q[-1]);

}

A、nB、sC、eD、i

63、下列程序段的运行结果是(B)。

#include

Voidmain()

{struct{charx1;intx2;}a[3]={‘A’,1,’B’,2,’c’,3};

Printf(“%d\n”,a[0],x1-a[1].x1/a[2].x2);

A、55B、43C、80D、40

64、若有如下类型说明,则(B)是错误的叙述。

Typedefstruct

{intno;

Char*name;

Intcj;}STU,*p;

A、STU是一个结构体类型名B、p是一个结构体类型名

C、no是结构体类型STU的成员D、p是指向结构体类型STU的指针类型名

65、若文本文件data.txt的内容为”University”(不包含引号),则下列程序段的运行结果是(B)。

File*fp;

Char*str;

If((fp=fopen(“data.txt”,”r”))!

=NULL)

fgets(str,6,fp);

Printf(“%s”,str);

A、UniveB、UniverC、UniversiytD、Univ

66、若已定义:

charc=’B’;inta=8;floatx=10.3;则表达式c%a+x的值是(D)。

[已知‘A’的ASCII码的十进制值为65]

A、18.3B、10C、12D、12.3

67、若已定义:

ints[3][4]={{1,2},{0,1},{3,4,5}};则s[2][2]的值是(B)。

A、3B、1C、5D、4

68、下列程序的运行结果是(B)。

#include

Fun(m)

{intm=3;

M=++I;

Printf(“%d”,m);

}

Main()

{intm=9,n=6;

Fun(n);

Printf(“%d”,m);

}

A、97B、79C、66D、67

69、编译预处理命令的位置可以在(C)。

A、主函数内B、print();语句中C、文件开头D、自定义函数内

70、若已定义:

int*p1,*p2;则(B)是无效的指针运算。

A、P1-p2B、p1+p2C、p1p2

71、当文件正常关闭时,fclose()函数的返回值是(D)。

A、-1B、一个非0值C、1D、0

72、结构化程序设计三种基本结构中,不包含(C)。

A、循环结构B、顺序结构C、嵌套结构D、选择结构

73、下列选项中,均为合法整型常量的是(C)。

A、120B、170C、-190D、0x2h

-012-01801321

0x120x181e3025

74、若定义:

inta,b,c;则逗号表达式a=10,b=23,c=a+b的值为(D)。

A、23B、66C、10D、33

75、putchar()函数的功能是向终端输出(A)。

A、单个字符B、字符串C、一串数字D、一个实型变量的值

76、能对二维数组a进行正确的初始化的语句是(C)。

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

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

77、下列程序段执行后s的值是(B)。

Intk,s=0;

Inta[3][3]={11,12,13,14,15,16,17,18,19};

For(k=0;k<2;k++)

S+=a[k][k+1];

A、45B、28C、76D、31

78、下列程序的运行结果是(A)。

#include

Intfun(inta,intb)

{return(a*b);

}

Main()

{intx=15,y=2,z;

Z=fun(x,y);

Printf(“%d*%d=%d\n”,x,y,z);

}

A、15*2=30B、x*y=30C、0D、30

79、若有定义

Structstudent

{intnum;

Charsex;

Intage;

}stu1;

下列叙述错误的是( B )。

A、Su1是用户定义的结构体类型变量名  B、structstudent是结构体类型名

C、num,sex,age都是结构体变量stu1的成员D、student是结构体类型名

80、若定义;

enumt1{a1,a2=10,a3,a4=13};

则枚举常量a2和a3的值分别是(C)。

A、1和2B、2和3C、10和11D、10和2

81、若定义:

Typedefunion

{charname[10];

Intage;

}ustu,*uyour;

下列叙述错误的是(B)。

A、ustu是一个共用体类型名B、uyour是一个共用体类型名

C、age是共用体类型ustu的成员D、uyour是指向共用体类型ustu的指针类型名

82、若已定义:

inta=7,b=6;floatm=1;则正确的表达式是(C)。

A、(a+b)++B、m=float(a)/bC、a=(b!

=5)D、(a+b)*=m

83、若定义:

inti=1,j=3;则表达式(++i)+(j--)的值为(B)。

A、3B、5C、2D、4

84、若定义:

inta=1,b=2,c=3;则表达式b>=a&&(a+b)<=c的值为(C)。

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

85、为避免在嵌套的条件语句if….else中产生二义性,C语言规定,else子句总是与(B)。

配对。

A、缩进位置相同的ifB、其之前最近的未配置ifC、其之后最近的ifD、同一行上的if

86、下列叙述中错误的是(D)。

A、在程序中凡是以#号开始的语句都是预处理命令行B、预处理命令行都必须以#号开始

C、下列是正确的宏定义:

defineR45D、C程序在执行过程对预处理命令行进行处理

87、若定义:

intx=8,y=7;语句printf(“%d+%d=%d\n”,x,y,x+y);执行后的输出结果是(D)。

A、7+8=15B、8*7C、15D、8+7=15

88、下列程序的运行结果是(B)。

Main()

{staticchara[]=”bacdefg”,b[]=”adcbehg”;

Char*p=a,*q=b;

IntI;

For(i=0;i<=6;i++)

If(*(p+i)==*(q+i))

Printf(“%c”,*(q+i));}

A、fdbB、cegC、gecad、aceg

90、下列程序段运行后变量s的值为(C).

Inta[]={1,2,3,4,5,6,7};

IntI,s=1,*p;

P=&a[2];

For(i=0;i<4;i++)

S*=*(p+i);

A、210B、60C、360D、120

93、下列程序段的运行结果是(D)。

Chara[]=”student”;

Charb[]=”work”;

Strcpy(a,b);

Printf(“%s%c”,a,a[5]);

A、studnB、studC、workD、workn

94、对于下列程序段,叙述正确的是(A)。

Inta=2;

Do

{a+=2;

}while(!

(a!

=0));

A、循环执行1次B、有语法错误C、循环执行2次D、是无限循环

95、若已定义:

Typedefstructstu

{intnum;

Charname[20];

}STU;

则正确的语句是(D)。

A、studd[2]={{1,”chen”},{2,”li”}B、structstubb[2]={{1,chen},{2,li}}

C、StUaa[2]={{1,’chen’},{2,’li’}}D、STUcc[2]={{1,”chen”},{2,”li”}}

二、填空题

#include"stdio.h"

main()

{doublepi=0;

longi,sign=1;

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

{pi+=1.0*sign/i;

sign=/**//**/;

}

pi*=/**//**/;

printf("%f\n",pi);

}

答案:

#include"stdio.h"

main()

{doublepi=0;

longi,sign=1;

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

{pi+=1.0*sign/i;

sign=/**/sign*(-1)/**/;

}

pi*=/**/4/**/;

printf("%f\n",pi);

}

#include

#include

voidmain()

{

intx;

/**//**/

printf("Inputaninteger:

");

scanf("%d",&x);

f=/**//**/;

printf("F(x)=%f\n",f);

getch();

}_

答案:

#include

#include

voidmain()

{

intx;

/**/floatf;/**/

printf("Inputaninteger:

");

scanf("%d",&x);

f=/**/(abs(x)-2)/(pow(x,2)+1);/**/;

printf("F(x)=%f\n",f);

getch();

}

#include

#include

intcount(/**//**/)

{

intn=0;

char*p=/**//**/;

while(*p)

{if(*p=='a')n++;

/**//**/;

}

returnn;

}

voidmain()

{

chars[255];

printf("Enterastring:

");

gets(s);

printf("Countofais:

%d\n",count(s));

getch();

}

答案:

#include

#include

intcount(/**/chara[]/**/)

{

intn=0;

char*p=/**/a/**/;

while(*p)

{if(*p=='a')n++;

/**/p++/**/;

}

returnn;

}

void

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

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

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

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