C语言程序设计基础谭浩强习题Word下载.docx

上传人:b****5 文档编号:19132751 上传时间:2023-01-04 格式:DOCX 页数:38 大小:37.01KB
下载 相关 举报
C语言程序设计基础谭浩强习题Word下载.docx_第1页
第1页 / 共38页
C语言程序设计基础谭浩强习题Word下载.docx_第2页
第2页 / 共38页
C语言程序设计基础谭浩强习题Word下载.docx_第3页
第3页 / 共38页
C语言程序设计基础谭浩强习题Word下载.docx_第4页
第4页 / 共38页
C语言程序设计基础谭浩强习题Word下载.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

C语言程序设计基础谭浩强习题Word下载.docx

《C语言程序设计基础谭浩强习题Word下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计基础谭浩强习题Word下载.docx(38页珍藏版)》请在冰豆网上搜索。

C语言程序设计基础谭浩强习题Word下载.docx

第二章数据类型、运算符与表达式

1.在C语言中,下列数据类型属于基本类型的是。

A)整型、浮点型、字符型B)共用体类型、整型

C)结构体类型、浮点型D)指针类型、字符型

2.C语言中不能表示的整型常量进制是。

A)十进制B)十六进制C)八进制D)二进制

3.在C语言中,转义字符回车换行符是。

A)\nB)\tC)\rD)\b

4.在ASCII码表中可以看到每个小写字母的ASCII码比相应的大写字母。

A)大32B)大64C)小32D)小64

5.设d为字符变量,下列表达式能够完整正确赋值的是。

A)d=297B)d=’a’C)d=“a”D)d=’abc’

6.10+’a’+1.5-567.345/’b’的结果是型数据。

A)charB)doubleC)intD)float

7.语句

inti=3;

k=(i++)+(i++)+(i++);

执行过后k的值为,i的值为。

A)9,6B)12,5C)18,6D)15,5

8.inti=3;

printf(“%d”,-i++);

的输出结果为,输出后i的值为。

A)-3,4B)-4,4C)-4,3D)-3,3

9.已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为。

#include<

stdio.h>

voidmain()

{

charx,y;

x=’0’;

y=’9’;

printf(“%d,%c\n”,x,y);

}

A)因输出格式不合法,输出错误信息B)48,9

C)0,9D)0,57

10.已知在ASCII集中,字母A的序号为65,下面程序的输出结果为。

{

charc1=’Y’,c2=’B’;

printf(“%c,%d\n”,++c1,c2--);

}

A)Y,66B)Z,65C)Z,66D)Y,65

11.C语言中,运算对象必须是整型数的运算符是。

A)*B)/C)%和/D)%

12.下列常数中,合法的C语言常量是。

A)’\n’B)e-310C)abcD)’1234’

13.下面程序的输出结果是。

{

intx=2,y=0,z;

x*=3+2;

printf(“%d”,x);

x*=y=z=4;

A)840B)1040C)10,4D)8,4

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

A)1B)2C)2.0D)2.5

15.表达式(int)2.1416的值为。

A)2B)2.1C)0D)3

16.C语言规定标识符由等字符组成.

A)字母 数字 下划线 B)中划线 字母 数字

C)字母 数字 逗号  D)字母下划线中划线

17.若有如下定义:

inta=2,b=3;

floatx=3.5,y=2.5;

则表达式:

(float)(a+b)/2+(int)x%(int)y的值是。

A)2.500000B)3.500000C)4.500000D)5.000000

18.已知字母A的ASCII码为十进制65,下面程序段的运行结果为:

charch1,ch2;

ch1=‘A’+2;

ch2=‘D’-3;

printf(“%d,%c\n”,ch1,ch2);

A)67,65B)C,AC)C,DD)67,A

19.设x、y均为float型变量,则以下不合法的赋值语句是。

A)++x;

B)y=(x%2)/10;

C)x*=y+8;

D)x=y=0;

20.设有以下定义,则能使值为3的表达式是:

intk=7,x=12;

A)x%=(k%=5)B)x%=(k-k%5)

C)x%=kD)(x%=k)-(k%=5)

1.在C语言中,程序运行期间,其值不能被改变的量叫。

2.在C语言中,要求对所有变量,遵循先定义后的原则。

3.可以用来表示C的整常数的进制是、、。

4.浮点型变量分为和,即float和double型。

5.C的字符常量是用括起来的一个字符,字符串常量用括起来的一组字符。

6.在一个变量定义语句中可以同时定义多个变量,变量之间用隔开。

7.下面的程序运行结果为。

{

charc1,c2;

c1='

a'

;

c2='

b'

c1=c1-32;

c2=c2-32;

printf(“%c%c”,c1,c2);

}

8.表达式10+'

+1.5-0.5*'

的结果。

9.在C语言中,可以利用,将一个表达式的值转换成指定的类型。

10.#include<

inti,j,m,n;

i=8;

j=10;

m=++i;

n=j++;

printf(“%d,%d,%d,%d”,i,j,m,n);

运行后i,j,m,n的值是。

第二章答案

1~5ADAAB

6~10BAABC

11-15DABCA

16~20ABCBA

1.常量

2.使用

3.八进制十进制十六进制

4.单精度双精度

5.单引号双引号

6.逗号

7.AB

8.59.5

9.强制类型转换

10.9,11,9,10

第三章顺序结构程序设计

1.下列说法正确的是。

A)输入项可以是一个浮点型常量,如scanf(“%f”,4.8);

B)只有格式控制,没有输入项也能进行正确输入,如scanf(“a=%d,b=%d”);

C)当输入一个浮点型数据时,格式控制部分应规定小数点后的位数,如scanf(“%5.3f”,&

f);

D)当输入数据时,必须指明变量的地址,如scanf(“%f”,&

2.根据题目中已给出的数据的输入和输出形式,程序中输入/输出语句的正确是。

inta;

floatx;

printf(“inputa,x:

”);

输入语句

输出语句

输入形式inputa,x:

32.1

输出形式a+x=5.10

A)scanf(“%d,%f”,&

a,&

x);

B)scanf(“%d%f”,&

printf(“\na+x=%4.2f”,a+x);

printf(“\na+x=%4.2f”,a+x);

C)scanf(“%d%f”,&

D)scanf(“%d%3.1f”,&

printf(“\na+x=%6.1f”,a+x);

printf(“\na+x=%4.2f”,a+x);

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

inti=010,j=10,k=0x10;

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

A)8,10,16B)8,10,10C)10,10,10D)10,10,16

4.以下程序的输出结果是。

charc1='

6'

c2='

0'

printf(“%c,%c,%d,%d\n”,c1,c2,c1-c2,c1+c2);

A)因输出格式不合法,输出出错信息B)6,0,6,102

C)6,0,7,6D)6,0,5,7

5.设有如下定义

intx=10,y=3,z;

则语句

printf(“%d\n”,z=(x%y,x/y));

的输出结果是。

A)3B)0C)4D)1

6.设有如下定义

intx=10,y=5,z;

printf(“%d\n”,z=(x+=y,x/y));

A)1B)0C)4D)3

7.根据定义和数据的输入方式,输入语句的正确形式为:

已有定义:

floata1,a2;

输入4.523

3.52

A)scanf(“%f%f“,&

a1,&

a2);

B)scanf(“%f,%f“,a1,a2);

C)scanf(“%4.3f,%3.2f“,&

D)scanf(“%4.3f%3.2f“,a1,a2);

1.putchar函数的作用是,getchar函数的作用是。

2.printf函数的”格式控制”包括两部分,分别是和。

3.不同类型的输出内容有不同的格式字符,其中是用来按十进制整数形式输出一个整型数,是用来按小数形式输出一个浮点数,是用来输出一个字符。

4.符号”&

”是运算符,&

a是指。

5.复合语句是由一对括起来的若干语句组成。

6.分析下面程序:

intx=2,y,z;

x*=3+2;

printf(“%d“,x);

x*=y=z=4;

x=y=z;

x=(y=z);

程序的输出结果为。

7.编制程序对实数a与b进行加,减,乘,除计算,要求显示如下结果。

jia=70

jian=30

cheng=1000

chu=2

程序:

(1)

a=50;

b=20;

printf(“jia=%d\n”,

(2));

printf(“jian=%d\n”(3));

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

printf(“chu=%d\n”,(5));

将缺少的部分填在空白处。

8.以下程序的输出结果为:

____________。

{

c1=‘a’;

c2=‘b’;

printf(“%c\n%c”,c1-32,c2);

三、编程题

1.请编写一个程序,能显示出以下两行文字。

Iamastudent.

IloveChina.

2.请编写一个程序,从键盘上输入a=2,b=3.4,c=’D’,向屏幕输出对应的a,b,c的值。

 

第三章答案

1-5DBABA

6-7DA

1.向终端输出一个字符从终端输入一个字符

2.格式说明普通字符

3.%d%f%c

4.取地址a在内存中的地址

5.大括号

6.104044

7.

(1)intbbba,b;

(2)a+b(3)a-b(4)a*b(5)a/b

8.A

b

1.#include<

printf(“Iamastudent.\n”);

printf(“IloveChina.\n”);

2.#include<

inta;

floatb;

charc;

scanf(“%d%f%c”,&

b,&

c);

printf(“a=%d,b=%f,c=%c\n”,a,b,c);

第四章选择结构程序设计

1.以下关于运算符优先级的描述中,正确的是。

A)!

(逻辑非)>

算术运算>

关系运算>

&

(逻辑与)>

||(逻辑或)>

赋值运算

B)&

C)关系运算>

D)赋值运算>

||(逻辑或)

2.逻辑运算符的运算对象的数据类型。

A)只能是0或1B)只能是.true或.false.

C)只能是真或假D)任何类型的数据

3.能正确表示x的取值范围在[0,100]和(-10,-5)的表达式是。

A)(x>

=-10)&

(x<

=-5)||(x>

0)&

100)

B)(x>

-10)&

-5)||(x>

=0)&

=100)

C)(x>

=-5)&

(x>

D)(x>

-5)&

4.以下程序的运行结果是。

intc,x,y;

x=1;

y=1;

c=0;

c=x++||y++;

printf(“\n%d%d%d\n”,x,y,c);

A)110B)211C)011D)001

5.判断字符型变量ch为大写字母的表达式是。

A)’A’<

=ch<

=’Z’B)(ch>

=A)&

(ch<

=Z)

C)(ch>

=’A’)&

=’Z’)D)A<

=Z

6.以下if语句书写正确的是。

A)if(x=0;

)B)if(x>

0)

printf(“%f”,x);

{x=x+1;

elseprintf(“%f”,-x);

C)if(x>

0);

D)if(x>

}{x=x+1;

printf(“%f”,x);

7.若已知a=10,b=20,则表达式!

a<

b的值为。

C

A)10B)20C)1D)0

8.写出下面程序的执行结果。

{intx=6,y=0;

if(y=1)x=5;

printf(“%d\t”,x);

if(y=0)x=3;

elsex=4;

printf(“%d\t\n”,x);

A)63B)54C)53D)65

9.下列程序段运行后x的值是。

a=b=c=0;

x=35;

if(!

a)x=-1;

elseif(b);

if(c)x=3;

A)-1B)4C)35D)3

10.若有以下函数关系

y=2xx<

0时

y=x+1x=0时

y=xx>

下面程序段能正确表示以上关系的是。

A)y=2*x;

B)y=2*x;

if(x!

=0)if(x<

=0)

if(x>

0)y=x;

if(x==0)y=x+1;

elsey=x+1;

elsey=x;

=0)D)y=x+1;

if(x<

elsey=x+1;

if(x<

0)y=2*x;

elsey=2*x;

elsey=x;

11.若有变量定义floatx;

inty;

则正确的switch语句是。

A)switch(x)B)switch(x)

{case1:

printf(“*\n”);

{case1~2:

case2:

printf(“**\n”);

}case3~4:

}

C)switch(y)D)switch(y)

{case1*y:

{case1:

case2*y:

}case2:

12.当a=1,b=3,c=5,d=4时,执行完下面程序段后x的值为。

if(a<

b)

if(c<

d)x=1;

else

c)

if(b<

d)x=2;

elsex=3;

elsex=6;

elsex=7;

A)1B)2C)3D)6

13.设有如下定义:

charch=’z’,则执行下面语句后变量ch:

ch=(‘A’<

=ch&

ch<

=‘Z’)?

(ch+32):

ch

A)AB)aC)ZD)z

14.已知intx=30,y=50,z=80;

以下语句执行后变量x、y、z的值分别为:

if(x>

y||x<

z&

y>

z)

z=x;

x=y;

y=z;

A)x=50,y=80,z=80B)x=50,y=30,z=30

C)x=30,y=50,z=80D)x=80,y=30,z=50

15.switch(表达式c)括号内表达式c的类型:

A)可以是任意类型B)只能为整型

C)可以是整型或字符型D)可以为整型或浮点型

1.在C语言中,对于if语句,else子句与if子句的配对规则是。

2.以下两条if语句可合并成一条if语句。

if(a<

=b)x=1;

elsey=2;

if(a>

b)printf(“****”);

elseprintf(“####”);

3.设有程序片段如下:

switch(class)

{case'

A'

:

printf(“GREAT!

\n”);

case'

B'

printf(“GOOD!

C'

printf(“OK!

D'

printf(“NO!

default:

printf(“ERROR!

若class的值为'

则输出结果是。

4.x是0~100之间的整数,根据以下if语句写出等价的switch语句。

if(x<

60)m=1;

elseif(x<

70)m=2;

elseif(x<

80)m=3;

90)m=4;

elsem=5;

switch(

(1))

{

(2)m=5;

break;

case6:

m=2;

case7:

m=3;

case8:

m=4;

(3)m=1;

5.输入3个实数a,b,c要求按从大到小顺序输出三个数。

{floata,b,c,t;

scanf(“%f,%f,%f”,&

if(a<

b)

{t=a;

(1)b=t;

if(

(2))

{t=a;

a=c;

c=t;

if(b<

c)

{(3)b=c;

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

6.输入一个字符,如果是大写字母,则把其变成小写字母;

如果是小写字母,则变成大写字母;

其它字符不变。

请在括号内填入缺少的内容。

#include<

voidmain()

{charch;

scanf(“%c”,&

ch);

if(

(1))

ch=ch+32;

else

if(ch>

=’a’&

=‘z’)

(2))

printf(“%c\n”,ch);

7.用C语言描述

1)a小于b或小于c,

2)a和b都大于c

3)a或b中有一个小于c

4)a是奇数

1.编程实现;

输入长方形的两个边长a,b和一个整数k。

k=

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

当前位置:首页 > 求职职场 > 简历

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

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