C语言复习题Word文件下载.docx

上传人:b****6 文档编号:18849653 上传时间:2023-01-01 格式:DOCX 页数:32 大小:40.13KB
下载 相关 举报
C语言复习题Word文件下载.docx_第1页
第1页 / 共32页
C语言复习题Word文件下载.docx_第2页
第2页 / 共32页
C语言复习题Word文件下载.docx_第3页
第3页 / 共32页
C语言复习题Word文件下载.docx_第4页
第4页 / 共32页
C语言复习题Word文件下载.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

C语言复习题Word文件下载.docx

《C语言复习题Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言复习题Word文件下载.docx(32页珍藏版)》请在冰豆网上搜索。

C语言复习题Word文件下载.docx

22.若自定义函数要求返回一个值,则应在该函数体中有一条语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符

23.若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为。

24.设intx=10,y,z;

执行y=z=x;

x=y==z;

后,变量x的结果是。

25.求解赋值表达式a=(b=10)%(c=6),则“表达式值、a、b、c”的值依次为,,,。

26.求解逗号表达式(x=a=3,6*a)后,“表达式值、x、a”的值依次为,,。

27.变量的指针是指该变量的。

28.C语言中,逻辑值“假”用表示,逻辑“真”用1表示。

29.若有定义:

inta[]={1,3,5,7,9,11,13},*p=a;

则*(p+2)的值是,为什么。

30.判断变量a、b的值均不为0的逻辑表达式为。

31.C语言的变量名可以使用的字符包括大写字母、小写字母、和下划线,而且必须以和开头。

32.若有定义:

chara[]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’},*p=a;

则*(p+2)的值是。

33.C语言中,数组的各元素必须具有相同的,元素的下标下限为,下标必须是正整数、0、或者。

34.在C语言中,在内存中存放二维数组元素的顺序是。

35.假设在一维数组a[20]中,元素a[4]的指针为p,那么p+4所指向的数据元素是。

36.下面程序块执行完成后,m的值是。

m=1;

n=263;

do{

m*=n%10;

n/=10;

}

while(n);

37.标准C语言程序总是从开始执行的。

38.执行语句for(i=1;

i++<

4;

);

后,变量i的值是,如果语句for(i=1;

++i<

则执行后,变量i的值是。

39.设intx=1,y=3;

执行x=9-(y--)-(--y);

后,变量x的结果是,执行x=9-(--y)-(--y);

后,变量x的结果是。

40.已知有如下定义:

charstr1[10]="

abcde"

str2[10]="

xyz"

,则执行下列语句,

输出结果为。

printf("

%d"

strlen(strcpy(str1,str2)));

41.定义inta=10;

,其中变量a在内存中的地址为2000,如果再定义指针变量int*p;

,并使p指向变量a,则对指针变量p的赋值语句是。

42.若有chara[3]=“as”;

则*a=,*(a+2)=。

43.函数的形式参数的作用域为,全局的外部变量和函数体内定义的局部变量重名时,_________变量优先。

44.函数调用中,函数中的形参和调用时的实参都是数组名时,传递方式为,都是变量时,传递方式为,两种方式中,方式可以实现在函数中修改实参变量的原值。

45.己知j=5,a=10,下列语句j=(a=j+2,a+3,a-5);

执行后整型变量j和a的值分别是和。

46.数组名表示。

47.字符串“ab\n\\012\\\””的长度是。

48.下面程序段中循环体的执行次数是。

inta=8,b=0;

b+=1;

a-=1+b;

while(a>

=0);

49.已知:

inta[2][3]={{1,3},{8}},则a[1][1]的值为。

50.字符串常量“\\22a,0\n\””的长度是。

51.如果一个函数没有返回值,那么该函数的类型为。

52.C语言表达式5>

2>

7>

8的值是。

53.若有定义:

charch;

(1)定义指针p,并指向变量ch的语句是。

(2)若已定义char*p;

,使指针p指向变量ch的赋值语句是;

(3)在

(1)的基础上,通过指针p实现变量ch读入字符的scanf调用语句是。

(4)在

(1)的基础上,通过指针p给变量ch赋字符’a’的语句是。

(5)在

(1)的基础上,通过指针p用格式输出函数printf输出ch中字符的语句是。

54.输入一个字符,判断该字符是数字、字母、空格还是其他字符。

main()

{charch;

ch=getchar();

if()

printf("

ItisanEnglishcharacter\n"

elseif()

Itisadigitcharacter\n"

elseif()

Itisaspacecharacter\n"

Itisothercharacter\n"

}

55.search函数的功能是从数组a[10]中对关键字m进行查找,请填空完成程序,实现功能。

#include<

stdio.h>

intsearch(inta[10],intm)

{

inti;

for(i=0;

i<

=m;

i++)

if()

returni;

return-1;

voidmain()

{inta[10],m,i,n;

10;

i++)

scanf("

&

a[i]);

scanf("

&

m);

n=search();

if()

printf("

OK,found!

%d"

n+1);

else

sorry,nofound!

56.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。

用输入0来结束输入,用i,j来放统计数,请填空完成程序。

voidmain()

{n,i=0,j=0;

printf(“inputainteger,0forend\n”);

scanf(“%d”,&

n);

while()

{

if(n>

0)i=;

elsej=j+1;

printf(“i=%4d,j=%4d\n”,i,j);

57.编程计算1+3+5…+99的值

main()

{inti,sum=0;

i=1;

while()

{sum=sum+i;

;

sum=%d\n"

sum);

58.有一个一维数组存放10个学生的成绩,用一个函数求平均分、最高分和最低分

;

floataverage(floatarray[],intn);

floatave,score[10];

pleaseenter10scores:

scanf();

ave=average(score,10);

max=%6.2f\n"

Max);

min=%6.2f\n"

Min);

average=%6.2f\n"

ave);

floataverage(floatarray[],intn)

{inti;

floataver,sum=array[0];

for(i=1;

n;

{if(array[i]>

Max)

Max=array[i];

else

if(array[i]<

Min)

Min=array[i];

sum=sum+array[i];

aver=sum/n;

return(aver);

59.下面程序的功能是在a数组中查找与x值相同的元素所在位置,请填空

#include<

voidmain()

{inta[10],i,x;

printf(“input10integers:

”);

 for(i=0;

i<

scanf(“%d”,&

printf(“inputthenumberyouwanttofindx:

 

scanf(“%d”,);

i++)

if()

break;

if()

printf(“theposofxis:

%d\n”,i);

elseprintf(“cannotfindx!

\n”);

60.求一个3*4矩阵中,元素最大值及所在的行号、列号。

请填空完成程序,实现功能

intmain()

{inti,j,row=0,colum=0,max;

inta[3][4];

for(i=0;

=2;

for(j=0;

j<

=3;

j++)

scanf();

;

for(i=0;

for(j=0;

if()

max=a[i][j];

row=i;

colum=j;

}

max=%d\n"

max);

row=%d\n"

row);

colum=%d\n"

colum);

return0;

61.用“起泡法”对输入的10个字符排序后按从小到大的次序输出。

#defineN10

charstr[N];

sort(charstr[N]);

{

inti,flag;

for(i=0;

scanf("

%c"

str[i]);

sort(___);

N;

str[i]);

\n"

voidsort(charstr[N])

inti,j;

chart;

for(j=1;

N-j;

if(str[i]>

(2))

{t=str[i];

____________;

62.下面程序的功能是比较字符数组a和字符数组b中的两个字符串是否相等(比较对应字符,全部相同输出0,如果不同,返回第一个不相同的字符差值,并输出)。

chara[100]="

HelloWorld!

charb[100]="

HelloChengdu!

;

/*完成对应字符的比较,并判定一个字符串是否结束了*/

while()

i++;

%d\n"

a[i]-b[i]);

return0;

63.程序填空:

编程计算1+3+5+……+101的值。

inti,sum=0;

for(i=1;

sum=sum+i;

64.编写程序,输入一个数字字符(‘0’—‘9’)存入变量c,把c转换成它所对应的整数存入n,如:

字符‘0’所对应的整数就是0。

请填空。

{charc;

intn;

printf(“pleaseinputachar:

c=;

n=;

printf(“%c%d”,c,n);

65.下面的程序是输出数组中最大元素的下标(p表示最大元素的下标)。

{;

ints[]={1,-3,0,-9,8,5,-20,3};

for(i=0,p=0;

i<

8;

if(s[i]>

s[p]);

66.以下程序的功能是:

从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空.

intmain(intargc,char*argv[])

floatx,amax,amin;

%f"

x);

amax=x;

amin=x;

while()

{

if(x>

amax)

amax=x;

amin=x;

\namax=%f\namin=%f\n"

amax,amin);

二、选择

1.若有说明语句“inta[5],*p=a;

”,则对数组元素的正确引用是。

A.a[p]B.p[a]C.*(p+2)D.p+2

2.在C语言中,以作为字符串结束标志

A.’\n’B.’’C.’0’D.’\0’

3.下列数据中属于“字符串常量”的是( A)。

A.“a”B.{ABC}C.‘abc\0’D.‘a’

4.对二维数组的正确定义是

A.inta[][]={1,2,3,4,5,6};

B.inta[2][]={1,2,3,4,5,6};

C.inta[][3]={1,2,3,4,5,6};

D.inta[2,3]={1,2,3,4,5,6};

5.若变量已正确定义并赋值,下面符合C语言语法的表达式是()。

A、a:

=b+1B、a=b=c+2C、int18.5%3D、a=a+7=c+b

6.C程序的基本结构单位是:

A、文件B、语句C、函数D、表达式

7.下面程序段中循环体的执行次数是:

inta=10,b=0;

do{

b+=2;

a-=2+b;

}while(a>

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

8.以下可用作C语言用户合法的标识符的是:

A、B.C.TomB、3a6bC、_6a7bD、$ABC

9.已有定义:

intx=3,y=4,z=5;

,则表达式!

(x+y)+z-1&

&

y+z/2的值是:

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

10.若有以下程序段intc1=1,c2=2,c3;

c3=1.0/c2*c1;

,则执行后,c3中的值是()。

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

11.设整型变量a=2,则执行下列语句后,浮点型变量b的值不是0.5的是()。

A、b=1.0/aB、b=(float)(1/a)C、b=1/(float)aD、b=1/(a*1.0)

12.已知charx[]="

hello"

y[]={'

h'

'

e'

a'

b'

};

则关于两个数组长度的正确描述是()。

A、相同B、x大于yC、x小于yD、以上答案都不对

13.以下选项中,不能作为合法常量的是()。

A、1.234e04B、1.234e0.4C、1.234e+4D、1.234e0

14.C语言中运算对象必须是整型的运算符是()。

A、%=B、/C、=D、<

=

15.以下能够正确定义函数首部的形式是。

A、doublefun(intx,inty)B、doublefun(intx;

inty)

C、doublefun(intx,inty);

D、doublefun(intx,y);

16.语句a=25.0+60.0*n/scale+2;

,如果n=6.0,scale=2.0,则该语句最后的运行结果a值是()。

A、257B、194.5C、207.0D、96.25

17.下列关键字,哪个是双精度数据类型的关键字()。

A、intB、floatC、doubleD、char

18.若有说明:

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

则数组a的第一维的大小为:

A.2B.3C.4D.无确定值D)9

19.下列哪个是命名正确的变量名()。

A、7numB、studentC、#NoD、float

20.C语言中规定函数的返回值的类型是由:

A、return语句中的表达式类型所决定B、调用该函数时的主调用函数类型所决定

C、调用该函数时系统临时决定D、在定义该函数时所指定函数类型决定

21.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:

else子句总是与其配对的是:

A、其之后最近的ifB、其之前最近的if

C、缩排位置相同的ifD、同一行上的if 

22.若有语句int*p,a=4;

p=&

a,下面均代表地址的一组选项是:

A、a,p,*&

aB、&

*a,&

a,*pC、*&

p,*p,&

aD、&

a,&

*p,p

23.下列关于C语言的说法错误的是()。

A、C程序的工作过程包括编辑、编译、链接、运行

B、C语言不区分大小写

C、C程序中使用数组存储字符串,数组的单元数至少应该比要存储的字符数多1

D、C程序中必须有一个main()函数

24.在C语言程序中,表达式5%2的结果是()。

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

25.下列说法错误的是。

A、在C语言中,break语句用于提前终止循环

B、在C语言中,continue语句只能用于switch语句和循环语句中

C、在C语言中,continue语句用于提前结束本次循环

D、在C语言中,break语句只能用于switch语句和循环语句中

26.已知:

inta=2,b=3;

,则执行表达式c=b*=a-1后,变量c的值为:

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

27.在C语言中,以( 

 

)作为字符串结束标志。

A、\nB、\sC、\aD、\0

28.在C语言中对一维整型数组的正确定义为。

A)inta(10);

B)intn=10,a[n];

C)intn;

a[n];

D)#defineN10

inta[N];

29.下面()表达式的运算结果是4。

A、11/3 

B、11.0/3 

C、(float)11/3 

D、(int)(11.0/3+0.5)

30.下列数据中属于“字符串常量”的是( )

A、“a”B、23C、‘abc\0’D、‘a’

31.语句while(!

E);

中的表达式!

E等价于:

A、E==0B、E!

=1C、E!

=0D、E==1

32.下面程序的运行情况是:

chara[3],b[]="

a=b;

printf("

a);

A、运行后将输出abcdeB、运行后将输出abC、运行后将输出abcD、编译时出错

33.假设a=1;

b=2;

c=2;

下面程序段的运行结果是:

while(a<

b<

c)

{t=a;

a=b;

b=t;

c--;

}

printf(“%d,%d,%d”,a,b,c);

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

34.对于while语句,错误的说法是( 

)。

A、用条件控制循环体的执行次数B、循环体至少要执行一次

C、循环体有可能一次也不执行 

D、循环体中可以包含若干条语句

35.C语言的if语句中,用作判断条件的表达式为:

A、任意表达式B、关系表达式C、算术表达式D、逻辑表达式

36.sizeof(float)是:

A、一个整型表达式B、一个双精度型表达式C、一种函数调用D、不合法

37.putchar函数可以向终端输出一个:

A、实型变量值B、字符或字符型变量值C、整型变量表达式值D、字符串

38.下面语句中,错误的是:

A、inti;

int*p;

i;

B、inti,*p;

a;

C、inti,*p=&

D、inti,*p;

*p=i;

39.在说明语句:

in

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

当前位置:首页 > 工程科技 > 电子电路

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

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