C语言练习题.docx

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

C语言练习题.docx

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

C语言练习题.docx

C语言练习题

一、选择

1.以下选项中不合法的用户标识符是()。

(A)

A、st.n

B、file

C、Main

D、GO

2.以下选项中合法的用户标识符是()。

(D)

A、int

B、a#

C、5mem

D、_243

3.C语言中的简单数据类型有()。

(C)

A、整型、实型、逻辑型

B、整型、字符型、逻辑型

C、整型、实型、字符型

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

4.以下选项中正确的整型常量是()。

(A)

A、-37

B、32,758

C、326

D、6.

5.以下选项中合法的C语言字符常量是()。

(A)

A、′\t′

B、"A"

C、67

D、A

6.以下选项中不正确的实型常量是()。

(A)

A、.123

B、1e4

C、3.640E-1

D、0.35

7.以下选项中合法的C语言赋值语句是()。

(D)

A、a=b=34

B、a=34,b=34

C、--i;

D、m=(int)(x+y);

8.不合法的十六进制数是()。

(C)

A、0xff

B、0X11

C、0x1g

D、0Xabc

9.下述标识符中,()是合法的用户标识符。

(B)

A、A#F

B、getch

C、void

D、mb*

10.()是构成C语言程序的基本单位。

(A)

A、函数

B、变量

C、子程序

D、语句

11.在C语言中,char型数据在内存中是以()形式存储的。

(C)

A、原码

B、补码

C、ASCII码

D、反码

12.在C语言中,int,char和short三种类型数据所占用的内存()。

(C)

A、均为两个字节

B、由用户自己定义

C、由所用机器的字长决定

D、是任意的

13.设int类型的数据长度为两个字节,则unsignedint类型数据的取值范围是()。

(B)

A、0~255

B、0~65535

C、-32768~32767

D、-256~255

14.以下()是不正确的转义字符。

(C)

A、′\\′

B、′\′′

C、′020′

D、′\0′

15.一个C语言程序总是从()开始执行。

(B)

A、主过程

B、主函数

C、子程序

D、主程序

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

(D)

A、一个C源程序可由一个或多个函数组成

B、一个C源程序必须包含一个main()函数

C、C程序的基本组成单位是函数

D、在C程序中,注释说明只能位于一条语句的后面

17.C语言规定:

在一个源程序中,main()函数的位置()。

(C)

A、必须在最开始

B、必须在系统调用的库函数的后面

C、可以任意

D、必须在最后

18.一个C程序的执行是从()。

(A)

A、本程序的main()函数开始,到main()函数结束

B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C、本程序的main()函数开始,到本程序文件的最后一个函数结束

D、本程序文件的第一个函数开始,到本程序main()函数结束

19.以下叙述正确的是()。

(C)

A、在C程序中,main()函数必须位于程序的最前面

B、C程序的每行中只能写一条语句

C、C语言本身没有输入输出语句

D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误

20.C语言并不是非常严格的算法语言,在以下关于C语言的不严格的叙述中,错误的说法是()。

(A)

A、大写字母和小写字母的意义相同

B、有些不同类型的变量可以在一个表达式中运算

C、在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型

D、同一个运算符号在不同的场合可以有不同的含义

第二章

1.若有定义:

inta=2,b=3;floatx=3.5,y=2.5;则下面表达式的值为()。

(C)

(float)(a+b)/2+(int)x%(int)y

A、3.5

B、35

C、3.500000

D、35.00000

2.若有定义:

intx=3,y=2;floata=2.5,b=3.5;则下面表达式的值为()。

(B)

(x+y)%2+(int)a/(int)b

A、1.0

B、1

C、2.0

D、2

3.若x和n均是int型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为()。

(A)

x%=(n%=2)

A、0

B、1

C、2

D、3

4.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为()。

(C)

A、7

B、8

C、9

D、10

5.设有intx=11;则表达式(x++*1/3)的值是()。

(A)

A、3

B、4

C、11

D、12

6.下列程序的输出结果是()。

(C)

#include

main()

{doubled=3.2;intx,y;

x=1.2;y=(x+3.8)/5.0;

printf("%d\n",d*y);}

A、3

B、3.2

C、0

D、3.07

7.下列程序执行后的输出结果是(小数点后只写一位)()。

(A)

#include

main()

{doubled;floatf;longl;inti;

i=f=l=d=20/3;

printf("%d%ld%f%f\n",i,l,f,d);

}

A、666.06.0

B、666.76.7

C、666.06.7

D、666.76.0

8.下列变量定义中合法的是()。

(A)

A、short_a=1-.le-1;

B、doubleb=1+5e2.5;

C、longdo=0xfdaL;

D、float2_and=1-e-3;

9.设intx=1,y=1;表达式(!

x||y--)的值是()。

(B)

A、0

B、1

C、2

D、-1

10.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是()。

(C)

A、1

B、2

C、2.0

D、2.5

11.若变量a,i已正确定义,且i已正确赋值,则合法的语句是()。

(B)

A、i=int(a)

B、++i;

C、a=a++=5;

D、a=int(i);

12.若执行以下程序段后,c3的值为()。

(A)

intc1=1,c2=2,c3;

c3=1.0/c2*c1;

A、0

B、0.5

C、1

D、2

13.如下程序的运行结果是()。

(D)

#include

main()

{inty=3,x=3,z=1;

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

}

A、34

B、42

C、43

D、33

14.能正确表示逻辑关系:

“a≥10或a≤0”的C语言表达式是()。

(D)

A、a>=10ora<=0

B、a>=0|a<=10

C、a>=10&&a<=0

D、a>=10||a<=0

15.若变量x,y,z均为double类型且已正确赋值,不能正确表示x/y/z的C语言表达式是()。

(A)

A、x/y*z

B、x*(1/(y*z))

C、x/y*1/z

D、x/y/z

16.设x,y,t均为int型变量,则执行语句:

x=y=3;t=++x||++y;后,y的值为()。

(C)

A、不定值

B、4

C、3

D、1

17.以下程序的输出结果是()。

(D)

#include

main()

{inta=3;

printf("%d\n",(a+=a-=a*a));

}

A、-6

B、12

C、0

D、-12

18.设a,b,c,d,m,n均为int型变量,且a=5,b=6,c=7,d=8,m=2,n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为()。

(C)

A、0

B、1

C、2

D、3

19.假定w,x,y,z,m均为int型变量,有如下程序段:

w=1;x=2;y=3;z=4;

m=(w

w:

x;m=(m

m:

y;m=(m

m:

z;

则该程序运行后,m的值是()。

(D)

A、4

B、3

C、2

D、1

20.下述表达式中,()可以正确表示x≤0或x≥1的关系。

(D)

A、(x>=1)||(x<0)

B、x>1||x<=0

C、x>=1ORx<=0

D、x>=1||x<=0

第三章

1.下面程序的输出结果是()。

(B)

#include

main()

{

intx=5,y=3;

printf("%d\n",y=x/y);

}

A、0

B、1

C、3

D、不确定的值

2.若变量已正确定义,下面程序段的输出结果是()。

(A)

x=5.238794;

printf("%f\n",(int)(x*1000+05)/(float)1000);

A、5.239000

B、输出格式说明与输出项不匹配,输出无定值

C、5.238000

D、5.24

3.以下程序的输出结果是()。

(D)

#include

main()

{

inta=4;

floatb=9;

printf("a=%%d,b=%%f\n",a,b);

}

A、a=4,b=9.000000

B、a=%4,b=%9.000000

C、a=%%d,b=%%f

D、a=%d,b=%f

4.下面语句:

(C)

printf("|%8.5f|\n",3461.45);

的输出结果是()。

A、|61.45000|

B、|3461.450|

C、|3461.45000|

D、|3461.4500|

5.()是不正确的C语言赋值语句。

(D)

A、x=1,y=2;

B、x++;

C、x=y=5;

D、y=int(x);

6.与数学公式|cos(x)|等价的C语言表达式是(),假定其中的x的单位是度数且不考虑π值的精度。

(D)

A、sqrt(cos(x))

B、sqrt(abs(cos(x*3.14/180)))

C、sqrt(abs(cos(x*(/180)))

D、sqrt(fabs(cos(x*3.14/180)))

7.下面的程序()。

(D)

#include

main()

{

intx=3,y=0,z=0;

if(x=y+z)printf("****");

elseprintf("####");

}

A、有语法错误不能通过编译

B、输出****

C、可以通过编译,但是不能通过连接,因而不能运行

D、输出####

8.执行下面程序中的输出语句后,a的值是()。

(B)

#include

main()

{

inta;

printf("%d\n",(a=3*5,a*4,a+5));

}

A、65

B、20

C、15

D、10

9.若执行下面的程序时,从键盘上输入3和4,则输出结果是()。

(B)

#include

main()

{

inta,b,s;

scanf("%d%d",&a,&b);

s=a;

if(a

s=s*s;

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

}

A、14

B、16

C、18

D、20

10.以下程序不用第三个变量,实现将两个数进行对调的操作。

请填空()。

(B)

#include

main()

{

inta,b;

scanf("%d%d",&a,&b);

printf("a=%db=%d",a,b);

a=a+b;b=a-b;a=;

printf("a=%db=%d\n",a,b);

}

A、a+b

B、a-b

C、b*a

D、a/b

11.以下程序的输出结果为()。

(A)

#include

main()

{

intm=7,n=4;

floata=38.4,b=6.4,x;

x=m/2+n*a/b+1/2;

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

}

A、27.000000

B、27.500000

C、28.000000

D、28.500000

12.若变量都已正确说明,则以下程序段:

(A)

a=2;

b=3;

printf(a>b?

"***a=%d";"###b=%d",a,b);

A、没有正确的输出格式控制

B、输出为:

***a=2

C、输出为:

###b=2

D、输出为:

***a=2###b=2

13.若已定义inta=256;,执行语句printf("%x",a);的结果是()。

(A)

A、100

B、256

C、ffe

D、ff

14.执行下列程序的结果是()。

(B)

#include

main()

{

floatx=3,y;

y=++x*x++;

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

}

A、9.000000

B、16.000000

C、1.000000

D、程序有错误

15.执行下列程序时输入1234567,程序的运行结果为()。

(B)

#include

main()

{

intx,y;

scanf("%2d%2ld",&x,&y);

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

}

A、17

B、46

C、15

D、9

16.已知chara;intb;floatc;doubled;则表达式a*b+c-d结果为()型。

(A)

A、double

B、int

C、float

D、char

17.若有以下程序段:

(B)

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

c=(a++),(b=a+4,a+b);

printf("%d,%d,%d\n",a,b,c);

其输出结果是()。

A、2,6,8

B、2,6,1

C、1,5,6

D、1,5,1

18.已知inta,b;用语句scanf("%d%d",&a,&b);输入a,b的值时,不能作为输入数据分隔符的是()。

(A)

A、,

B、空格

C、回车

D、Tab键

19.语句printf("%d",(a=2)&&(b=-2));的输出结果是()。

(D)

A、无输出

B、结果不确定

C、-1

D、1

20.下述程序的输出结果是()。

(A)

#include

main()

{printf("%f",2.5+1*7%2/4);

}

A、2.50000

B、2.750000

C、3.375000

D、3.000000

第四章

1.下列程序的运行结果是()。

(B)

#include

main()

{inta=2,c=5;

printf("a=%d,b=%d\n",a,c);

}

A、a=%2,b=%5

B、a=2,b=5

C、a=d,b=d

D、a=%d,b=%d

2.若有定义:

floatw;inta,b;则合法的switch语句是()。

(D)

A、switch(w)

{case1.0:

printf("*\n");

case2.0:

printf("**\n");

}

B、switch(a);

{case1printf("*\n");

case2printf("**\n");

}

C、switch(w)

{case1:

printf("*\n");

default:

printf("\n");

case1+2:

printf("**\n")

}

D、switch(a+b)

{case1:

printf("*\n");

case2:

printf("**\n");

default:

printf("\n");

}

3.语句printf("a\bre\′hi\′y\\\\bou\n");的输出结果是()。

(C)

A、a\bre\′hi\′y\\\bou

B、a\bre\′hi\′y\bou

C、re′hi′you

D、abre′hi′y\bou

4.如下程序的输出结果是()。

(A)

#include

main()

{intx=1,a=0,b=0;

switch(x){

case0:

b++;

case1:

a++;

case2:

a++;b++;

}

printf("a=%d,b=%d\n",a,b);

}

A、a=2,b=1

B、a=1,b=1

C、a=1,b=0

D、a=2,b=2

5.如下程序的输出结果是()。

(C)

#include

main()

{floatx=2.0,y;

if(x<0.0)y=0.0;

elseif(x<10.0)y=1.0/x;

elsey=1.0;

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

}

A、0.000000

B、0.250000

C、0.500000

D、1.000000

6.如下程序的输出结果是()。

(C)

#include

main()

{

inta=12,b=5,c=-3;

if(a>b)

if(b<0)c=0;

elsec++;

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

}

A、0

B、1

C、-2

D、-3

7.若执行以下程序时从键盘上输入9,则输出结果是()。

(B)

#include

main()

{intn;

scanf("%d",&n);

if(n++<10)printf("%d\n",n);

elseprintf("%d\n",n--);

}

A、11

B、10

C、9

D、8

8.若a,b,c1,c2,x,y均是整型变量,正确的switch语句是()。

(D)

A、swich(a+b);

{case1:

y=a+b;break;

case0:

y=a-b;break;

}

B、switch(a*a+b*b)

{case3:

case1:

y=a+b;break;

case3:

y=b-a,break;

}

C、switcha

{casec1:

y=a-b;break;

casec2:

x=a*d;break;

default:

x=a+b;

}

D、switch(a-b)

{default:

y=a*b;break;

case3:

case4:

x=a+b;break;

case10:

case11:

y=a-b;break

}

9.阅读以下程序:

#include

main()

{intx;

scanf("%d",&x);

if(x--<5)printf("%d",x);

elseprintf("%d",x++);

}

程序运行后,如果从键盘输入5,则输出结果是()。

(B)

A、3

B、4

C、5

D、6

10.以下程序的输出结果是()。

(A)

#include

main()

{inta=4,b=5,c=0,d;

d=!

a&&!

b||!

c;

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

}

A、1

B、0

C、非0的数

D、-1

11.以下程序的输出结果是()。

(A)

#include

main()

{inta=15,b=21,m=0;

switch(a%3)

{case0:

m++;break;

case1:

m++;

switch(b%2)

{default:

m++;

case0:

m++;break;

}

}

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

}

A、1

B、2

C、3

D、4

12.请阅读以下程序:

#include

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

}

printf("a=%d,b=%d\n",a,b);

}

上面程序的输出结果是()。

(A)

A、a=2,b=1

B、a=1,b=1

C、a=1,b=0

D、a=2,b=2

13.下面的程序()。

(D)

#include

main()

{intx=3,y=0,z=0;

if(x=y+z)printf("****");

elseprintf("####");

}

A、有语法错误不能通过编译

B、输出****

C、可以通过编译,但是不能通过连接,因而不能运行

D、输出####

14.下面程序的输出是()。

(A)

#include

main()

{intx=100,a=10,b=20,ok1=5,ok2=0;

if(a

if(b!

=15)

if(!

ok1)

x=1;

else

if(ok2)x=10;

x=-1;

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

}

A、-1

B、0

C、1

D、不确定的值

15.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()。

(A)

#include

main()

{intx;

scanf("%d",&x);

if(x++>5)printf("%d",x);

elseprintf("%d\n",x--);}

A、7和5

B、6和3

C、7和4

D、6和4

16.以下程序的输出结果是()。

(D)

#include

main()

{inta=-1,b=4,k;

k=(++a<0)&&!

(b--<=0);

printf("%d%d%d\n",k,a,b);}

A、104

B、103

C、003

D、004

17.能正确表示a≥10或a≤0的关系表达式是()。

(D)

A、a>=10ora<=0

B、a>=10|a<=0

C、a>=10&&a<=0

D、a>=10||a<=0

18.假定所有变量均已正确说明,下列程序段运行后x的值是()。

(B)

a=b=c=0;x=35;

if(!

a)x--;

elseif(b);

if(c)x=3;

elsex=4;

A、34

B、4

C、35

D、3

19.表示关系X≤Y≤Z的C语言表达式为()。

(A)

A、(X<=Y)&&(Y<=Z)

B、(X<=Y)AND(Y<=Z)

C、(X<=Y<=Z)

D、(X

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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