C语言练习题.docx

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

C语言练习题.docx

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

C语言练习题.docx

C语言练习题

练习题

1、以下选项中不能用作C程序合法常量的是()。

A.1.234B.'123'C.123D."\x7G"

2、以下选项中可用作C程序合法实数的是

A..1e0B.3.0e0.2C.E9D.9.12E

3、阅读以下程序

#include

main()

{intcase;floatprintF;

printf(“请输入2个数:

”);

scanf(“%d%f”,&case,&pjrintF);

printf(“%d%f\n”,case,printF);

}

该程序编译时产生错误,其出错原因是

A.定义语句出错,case是关键字,不能用作用户自定义标识符B.定义语句出错,printF不能用作用户自定义标识符

C.定义语句无错,scanf不能作为输入函数使用D.定义语句无错,printf不能输出case的值

4、下列标识符中,不合法的用户标识符为()。

A.PadB.CHARC.a_10D.a≠b

5、C程序源程序的扩展名是()。

A..cB..objC..exeD..prj

6、以下选项中能表示合法常量的是()。

A.整数:

1,200B.实数:

1.5E2.0C.字符斜杠:

‘\’D.字符串:

"\007"

7、以下选项中,能用作数据常量的是()。

A.o115B.0118C.1.5e1.5D.115L

8、若a是数值类型,则逻辑表达式(a==1)||(a!

=1)的值是()。

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

9、若有定义语句:

intx=10;,则表达式x-=x+x的值为

A.-20B.-10C.0D.10

10、表达式:

(int)((double)9/2)-(9)%2的值是()。

A.0B.3C.4D.5

11、若有定义:

doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是()。

A.a=a++,i++;B.i=(a+k)<=(i+k);C.i=a;D.i=!

a;

12、表达式a+=a-=a=9的值是()。

A.9B._9C.18D.0

13.intx=5,y=14;则表达式x+7/y+0.6值为()。

A.7.1B.5.6C.6.6D.6.1

14、有以下程序执行后的输出结果是()。

main()

{inti,s=0;

for(i=1;i<10;i+=2)s+=i+1;

printf("%d\n",s);}

A.自然数1~9的累加和B.自然数1~10的累加和

C.自然数1~9中的奇数之和D.自然数1~10中的偶数之和

15、C语言中运算对象必需是整型的运算符是()。

A./B.%C.*D.+

16、计算机能直接执行的程序是()。

A.源程序B.目标程序C.汇编程序D.可执行程序

17、if语句的基本形式是:

if(表达式)语句,以下关于“表达式”值的叙述中正确的是()。

A.必须是逻辑值B.必须是整数值C.必须是正数D.可以是任意合法的数值

18、有以下程序运行时,输入的值在哪个范围才会有输出结果()。

main(){

intx;scanf("%d",&x);

if(x<=3);

elseif(x!

=10)printf("%d\n",x);}

A.不等于10的整数B.大于3且不等于10的整数

C.大于3或等于10的整数D.小于3的整数

19、在嵌套使用if语句时,C语言规定else总是()。

A.和之前与其具有相同缩进位置的if配对B.和之前与其最近的if配对

C.和之前与其最近的且不带else的if配对D.和之前的第一个if配对

20、若有表达式(w)?

(--x):

(++y),则其中与w等价的表达式是()。

A.w==lB.w==0C.w!

=lD.w!

=0

21、希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”,则以下不能满足的表达式是()。

A.num%2==1B.!

(num%2==0)C.!

(num%2)D.num%2

22、若有以下类型说明语句:

charw;intx;floaty;doublez;则表达式w*x+z-y的结果为()类型.

A.floatB.charC.intD.double

23、表达式3.6-5/2+1.2+5%2的值是()。

A.4.3B.4.8C.3.3D.3.8

24、设有定义:

inta=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是()。

A.if(a>B.c=a,a=b,b=c;B.if(a>B.{c=a,a=b,b=c;}

C.if(a>B.c=a;a=b;b=c;D.if(a>B.{c=a;a=b;b=c;}

25、以下关于for语句的说法不正确的是()。

A.for循环只能用于循环次数已经确定的情况

B.for循环是先判断表达式,后执行循环体语句

C.for循环中,可以用break跳出循环体

D.for循环体语句中,可以保含多条语句,但要用花括号括起来

26、若有定义intx,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?

(x++):

(y++)中的条件表达式(x-y)等价的是()。

A.(x-y)>0B(x-y<0)C.(x-y<0║x-y>0)D.(x-y)==0

27、若i和k都是int类型变量,有以下for语句

for(i=0,k=-1;k=1;k++)printf("*****\n");

下面关于语句执行情况的叙述中正确的是()。

A.循环体执行两次B.循环体执行一次C.循环体一次也不执行D.构成无限循环

28、C语言中关于“函数声明”的说法正确的是()。

A.必须对所有所调用的函数进行声明

B.都没必要声明,声明只是为了加快编译的速度

C.返回值为void类型的函数任何时候都可以不用声明

D.并不是任何情况下都需要进行声明

29、以下能正确定义字符串的语句是()。

A.charstr[]={‘\064'};B.charstr=”\x43”;

C.charstr=”;D.charstr[]=”\0”;

30、能正确表示逻辑关系:

"a≥8或a≤5"的C语言表达式是()。

A.a>=8ora<=5B.a>=5|a<=8C.a>=8&&a<=5D.a>=8||a<=5

31、一个C程序的执行总是从()。

A.main函数开始,直到main函数结束

B.main函数开始,直到最后一个函数结束

C.第一个函数开始,直到最后一个函数结束

D.第一条语句开始,直到最后一条语句结束

32、以下对C语言函数的有关描述中,正确的是()。

A.在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

B.C函数既可以嵌套定义又可以递归调用

C.函数必须有返回值,否则不能使用函数

D.C程序中有调用关系的所有函数必须放在同一个源程序文件中

33.C程序的三种基本结构为:

()结构、选择结构和循环结构。

A.顺序B.过程C.函数D.对象

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

A.每个C程序文件中都必须有一个main()函数B.C程序可以由一个或多个函数组成

C.在C程序中main()函数的位置是固定的D.在C程序的函数中不能定义另一个函数

34、C语言中,数字029是一个()。

A.不合法数字B.十进制数C.八进制数D.十六进制数

35、已定义变量如下:

inta=5,b=7,c;则执行语句a>b?

(c=(a++)-(++b)):

(c=a+++8);后c的值为()

A.15B.14C.13D.12

36、下列选项中,能正确定义数组的语句是()。

A.intnum[0..2008];B.intnum[];

C.intN=2008;D.#defineN2008

intnum[N];intnum[N];

37、若有说明数组“inta[3][4]”,则以下对数组a的正确引用是()。

A.a[2][4]B.a[1,3]C.a[1+1][0]D.a

(2)

(1)

38、若有说明“staticinta[3][4];”,则数组a中各元素()。

A.可在程序的运行阶段得到初值0B.可在程序的编译阶段得到初值0

C.不能得到确定的初值D.可在程序的编译或运行阶段得到初值0

39、调用strlen(“abcd\0ed\0g”)的返回值是()。

A.4B.5C.8D.9

40、以下程序程序的执行后的输出结果是()。

main()

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

for(i=0;i<3;i++)printf(“%d”,t[2-i][i]);}

A.753B.357C.369D.751

41、以下数组定义中错误的是()。

A.intx[][3]={0};B.intx[2][3]={{1,2},{3,4},{5,6}};

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

42、对于一个正常运行的C程序,以下叙述中正确的是()。

A.程序的执行总是从main函数开始,在main函数结束

B.程序的执行总是从程序的第一个函数开始,在main函数结束

C.程序的执行总是从main函数开始,在程序的最后一个函数中结束

D.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束

43、设有定义:

intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()。

A.k++B.k+=1C.++kD.k+1

44、以下选项中,合法的C语言数值常量是()。

A.028B.'\12A'C.'\177’D.N

45、对于一个正常运行的C程序,以下叙述中正确的是()。

A.程序的执行总是从main函数开始,在main函数结束

B.程序的执行总是从程序的第一个函数开始,在main函数结束

C.程序的执行总是从main函数开始,在程序的最后一个函数中结束

D.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束

46、若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是()。

A.在函数调用时函数的实参和其对应的形参共占同一存储单元

B.在函数调用时函数的形参和实参分别占用不同的存储单元

C.在函数调用时同名的实参和形参占同一存储单元

D.形参只是形式上的存在,即使在函数调用时也不占用具体存储单元

47、若有定义语句:

chars[10]="1234567\0\0";,则strlen(s)的值是()。

A.7B.8C.9D.10

48、已知chars[10],*p=s,则下列语句中错误的是()。

A.p=s+5;B.s=s+p;C.s[2]=p[4];D.*p=s[0];

49、C语言中运算符优先级最低的是()。

A.++B.,C.-D.!

=

50、以下程序运行后的输出结果是()。

voidfun(intp)

{intd=2;p=d++;printf(“%d”,p);}

51、以下程序程序运行后的输出结果是()。

main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;

printf("%d,%d,%d,%d",m,n,*p,*q);}

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

52、main()

{inta=1;fun(A.;printf(“%d\n”,A.;}输出结果是()。

A.32B.12C.21D.22

53、若有定义语句:

chars[3][10],(*k)[3],*p;,则以下赋值语句正确的是()。

A.p=s;B.p=k;C.p=s[0];D.k=s;

54、若有表达式(w)?

(--x):

(++y),则其中与w等价的表达式是()。

A.w==lB.w==0C.w!

=lD.w!

=0

55、以下定义语句中正确的是()。

A.inta=b=0;B.charA=65+1,b='b';

C.floata=1,*b=&a,*c=&b;D.doublea=0.0,b=1.1;

A.将a所指字符串赋给b所指空间

B.使指针b指向a所指字符串

C.将a所指字符串和b所指字符串进行比较

D.检查a和b所指字符串中是否有’\0’

56、以下程序运行后的输出结果是()。

voidfun(char*s)

{while(*s)

{if(*s%2==0)printf(“%c”,*s);

s++;

}

}

main()

{chara[]={“good”};fun(A.;printf(“\n”);}

注意:

字母a的ASCⅡ码值为97

A.dB.goC.godD.good

58、已知:

charstr[10],*p=str;则下列语句错误的是()。

A.p=str+5;B.str=str+p;C.str[2]=p[4];D.*p=s[0];

59、若有定义:

intw[3][5];,则以下不能正确表示该数组元素的表达式是()。

A.*(*w+3)B.*(w+1)[4]C.*(*(w+1))D.*(&w[0][0]+1)

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

A.char*s;s="Olympic";B.chars[7];s="Olympic";

C.char*s;s={"Olympic"};D.chars[7];s={"Olympic"};

61、有以下程序运行时,输入的值在哪个范围才会有输出结果()。

main(){

intx;scanf("%d",&x);

if(x<=3);

elseif(x!

=10)printf("%d\n",x);}

A.不等于10的整数B.大于3且不等于10的整数

C.大于3或等于10的整数D.小于3的整数

62.若有以下说明,则数值为4的表达式是()。

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

int(*p)[4]=a;

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

63.设有定义:

intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()。

A.k++B.k+=1C.++kD.k+1

64.以下关于简单程序设计的步骤和顺序的说法中正确的是()。

A.确定算法后,整理并写出文档,最后进行编码和上机调试

B.首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档

C.先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档

D.先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构

65.C语言源程序名的后缀是()。

A..exeB..CC..objD..cp

66.算法中,对需要执行的每一步操作,必须给出清楚、严格的规定,这属于算法的()。

A.正当性B.可行性C.确定性D.有穷性

67.已知

int t=0;

while(t=1){...}

则以下叙述正确的是()。

A)循环控制表达式的值为0 

B)循环控制表达式的值为1

C)循环控制表达式不合法 

D)以上说法都不对

68.设有以下程序段

intx=0,s=0;

while(!

x!

=0)s+=++x;

printf("%d",s);

A)运行程序段后输出0 

B)运行程序段后输出1

C)程序段中的控制表达式是非法的 

D)程序段执行无限次

69.设i,j,k均为int型变量,则执行完下面的for语句后,k的值为()。

for(i=0, j=10; i<=j; i++, j- -) k=i+j;

A.6B.9C.10D.11

70.设函数fun的定义形式为

voidfun(charch,floatx){…},则以下对函数fun的调用语句中,正确的是()。

A.fun("abc",3.0);B.t=fun('D',16.5);C.fun('65',2.8);D.fun(32,32);

71.以下叙述中不正确的是()。

A.在不同的函数中可以使用相同名字的变量

B.函数中的形式参数是局部变量

C.在一个函数内定义的变量只在本函数范围内有效

D.在一个函数内的复合语句中定义的变量在本函数范围内有效

72、若有定义:

inta=8,b=5,c;执行语句c=a/b+0.4;后,c的值为()。

A.1.4B.1C.2.0D.2

73、下列叙述中正确的是()。

A.每个C程序文件中都必须有一个main()函数B.C程序可以由一个或多个函数组成

C.在C程序中main()函数的位置是固定的D.在C程序的函数中不能定义另一个函数

74.字符串"hello,abc"占用内存的字节数是()。

A.8B.9C.10D.11

75、以下关于return语句的叙述中正确的是()。

A.一个自定义函数中必须有一条return语句

B.一个自定义函数中可以根据不同情况设置多条return语句

C.定义成void类型的函数中可以有带返回值的return语句

D.没有return语句的自定义函数在执行结束时不能返回到调用处

76、C语言中,break;语句可以用于循环语句和()语句中。

A.ifB.switchC.forD.while

77.一函数的原型为:

doubleff_1(floatx,inty);那么该函数返回值的类型为()。

A.整型B.单精度型C.双精度型D.字符型

78、for(i=0;i<=15;i++)printf("%d",i);循环结束后,i的值为()。

A.14B.15C.16D.17

79、下面的函数调用语句中func函数的实参个数是()。

func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)));

A.3B.4C.5D.8

80.有以下程序

main()

{charb,c;inti;b='a';c='A';

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

{if(i%2)putchar(i+b);

elseputchar(i+c);

}printf("\n");

}

程序运行后的输出结果是()

A.ABCDEFB.AbCdEfC.aBcDeFD.abcdef

81、与语句“while(!

x)”等价的语句是()。

A.while(x==0)B.while(x!

=0)C.while(x==1)D.while(x!

=1)

82、已知字母A的ASCII码为十进制的65,且x是字符型则执行语句x='A'+'6'-'3'后x的值是()。

A.DB.68C.不确定的值D.C

83.若变量已正确定义,在if(W)printf(“%d\n,k”);中,以下不可替代W的是

A.a<>b+cB.ch=getchar()C.a==b+cD.a++

84、以下正确的函数头定义形式是()。

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

C.doublefun(intx,inty);D.doublefun(intx,y);

85.有以下程序

#include

main()

{intx=011;

printf("%d\n",++x);

}

程序运行后的输出结果是

A.12B.11C.10D.9

86、下述程序段中,while循环执行次数是()。

intk=0;

while(k=1)k++;

A.无限次B.有语法错误,不能执行

C.一次也不执行D.执行一次

87.设有定义:

doublex[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是

A.scanf("%f",&x[6]);B.scanf("%lf",*(x+6));

C.scanf("%lf",p+6);D.scanf("%lf",p[6]);

88、假设指针p1已经指向了某个整型变量,要使指针p2也指向同一个变量,则下面各项中正确的是()。

A.p2=**p1B.p2=&p1C.p2=*p1D.p2=&*p1

89、若有如下说明,则数值为5的表达式是()。

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

charc='a',e,g;

A.a[g-c]B.a[5]C.a['d'-'c']D.a['e'-c]

90、以下程序中,while循环的次数是()。

#include

voidmain()

{inti=0;

while(i<10){if(i<1)continue;if(i==5)break;i++;}}

A.1B.死循环,不能确定次数C.6D.10

91、有以下语句:

intb;charc[10];,则正确的输入语句是()。

A.scanf("%d%s",&b,&c);B.scanf("%d%s",&b,c);

C.sscanf("%d%s",b,c);D.scanf("%d%s",b,&c);

92、若变量已经正确定义并赋值,符合C语言语法的表达式是()。

A.a=7++B.a=7+b+c,a++C.int(12.3%4)D.a=a+7=c+b

93.#include“math.h”

main()

{floata=-3.0,b=2;

printf(“%3.0f%3.0f\n”,pow(b,fab(a),pow(fab(a),b));

}

A.98B89C66D49

94.下列语句正确的是()

A.inta[][2]={1};B.intb[4]=(1,2,3,4);

C.intc[5]={0,1,2,3,4,5};D.intd[][3]={{1},{3,2,5}};

95.有以下程序

#include

intfun()

{staticintx=1;

x*=2;

returnx;

}

main()

{inti,s=1;

for(i=1;i<=3;i++)s*=fun();

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

}

程序运行后的输出结果是

A.0B.10C.30D.64

96.以下选项中可用作C程序合法实数的是

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

当前位置:首页 > 工程科技 > 能源化工

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

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