程序设计基础(C)习题指导书2014版(附带答案) 联系客服

发布时间 : 星期日 文章程序设计基础(C)习题指导书2014版(附带答案)更新完毕开始阅读b7f4f30df01dc281e53af08f

《程序设计基础(C)》习题指导书

1.以下程序段执行后的输出结果是: ⑴ -200 2500 ⑵i=-200,j=2500

int i=-200,j=2500; ⑶ i=-200 printf(“⑴ %d %d”,i,j); j=2500 printf(“⑵ i=%d,j=%d\\n”,i,j); printf(“⑶ i=%d\\n j=%d\\n”,i,j);

2.复合语句在语法上被认为是 一条语句 。空语句的形式是 ; 。 3.C语句的最后用 ; 结束。

4.以下程序段的输出结果是x= 127,x= 177,x= 7f,x= 127。

int x=0177;printf(“x=m,x=%6o,x=%6x,x=%6u\\n”,x,,x,x,x);

5.以下程序段的输出结果是a=513.789215,a= 513.79,a=513.78921500,a= 531.78921500。

double a=513.789215; printf(“a=%8.6f,a=%8.2f,a=.8f,a=.8lf\\n”,a,a,a,a); 6.以下程序段的输出结果是 8,3 。

a=3+5,a*4;x=11/3;printf(“%d,%%d\\n”,a,x);

7.以下程序输入三个整数值给a、b、c,程序把b中的值给a,把c中的值给b,把a中的值给c,交换后

输出a、b、c的值。请填空: #include main()

{ int a,b,c, t ; printf(“Enter a,b,c:”); scanf(“%d,%d,%d”, &a,&b,&c); m=a ;a=b;b=c; c=m; printf(“a=%d,b=%d,c=%d\\n”,a,b,c);}

8.以下程序不借助任何变量把a、b中的值进行交换。请填空:

#include main() { int a,b; printf(“Input a,b:”); scanf(“%d,%d”, &a,&b); a+= b ;b=a- b ;a=a- b ; printf(“a=%d,b=%d\\n”,a,b);}

9.已知int a=1; printf(\则输出结果是 97 。

10.已知float a=3,b=2; printf(\则输出结果是 1.500000 。

11.结构化程序设计的3种基本结构是 顺序 结构、 分支/选择 结构和循环结构。 12.若x为int型变量,则执行语句x=7;x+=x-=x+x;后x的值是__-14______。 13.C语句的最后用___;___结束。

14.设有一输入函数scanf(“%d”,k);它不能使float类型变量k得到正确数值得原因是_输入的格式不正确__和__应该是k的地址_。

15.若已定义:int a;unsigned b;long c;语句:a=-2;b=a;c=b;则b中值为 216-2 ,c中值为 -2 。 16.若k为整型变量且赋值10。请写出运算k++后表达式的值__10___和变量的值____11___。 17.复合语句在语法上被认为是__一条语句_____,空语句的形式是__;_____。

18.有如下程序段:设a为两个字节,int a=-1;printf(\输出结果为:_ a1=-1,a2=216-1 ________。 ㈡.选择题

1.若a、b、c、d都是int型变量且初始值为0,下列不正确的赋值语句是( )。 A.a=b=c=100; B.d++; C.c+b; D.d=(c=22)-(b++);

第 5 页 共 64 页

《程序设计基础(C)》习题指导书

2.以下选项中不是C语句的是( )。

A.{int i;i++;printf(“%d\\n”,i);} B.; C.a=5,c=10 D.{ ;} 3.以下合法的C语言赋值语句是( )。 A.a=b=58 B.k=int(a+b); C.a=58,b=58 D.--i; 4.以下程序的输出结果是( )。

A.0 B.1 C.3 D.不确定的值

main()

{ int x=10,y=3; printf(“%d\\n”,y=x/y);}

5.若变量已正确说明为int类型,要给a、b、c输入数据,正确的输入语句是( )。 A.read(a,b,c); B.scanf(“%d%d%d”,a,b,c); C.scanf(“%D%D%D”,&a,&b,&c); D.scanf(“%d%d%d”,&a,&b,&c); 6.若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是( )。 A.a=a+b,b=a-b,a=a-b; B.t=a,a=b,b=t; C.a=t;t=b;b=a; D.t=b;b=a;a=t; 7.若变量已正确定义,以下程序段的输出结果是( )。 A.输出格式说明与输出项不匹配,输出无定值

B.5.1700 C.5.16800 D.5.16900

x=5.16894;printf(“%f\\n”,(int)(x*1000+0.5)/(float)1000); 8.执行以下程序段后,c3中的值是( )。

A.0 B.1/2 C.0.5 D.1

int c1=1,c2=2,c3;c3=c1/c2; 9.执行以下程序段后,其输出结果是( )。

A.0,0,-10 B.0,0,5 C.-10,3,-10 D.3,3,-10

int a=0,b=0,c=0; c=(a-=a-5),(a=b,b+3); printf(“%d,%d,%d\\n”,a,b,c); 10.以下程序的输出结果是( )。

A.a=%2,b=%5 B.a=2,b=5 C.a=%%d,b=%%d D.a=%d,b=%d

main()

{ int a=2,b=5; printf(“a=%%d,b=%%d\\n”,a,b);} 11.若int型占两个字节,以下程序段的输出是( )。

A.-1,-1 B.-1,32767 C.-1,32768 D.-1,65535

int a=-1;printf(“%d,%u\\n”,a,a); 12.以下程序段的输出结果是( )。

A.|3.1415| B.| 3.0| C.| 3| D.| 3.|

float a=3.1415;printf(“|%6.0f|\\n”,a); 13.以下程序段的输出结果是( )。

A.9 8 B.8 9 C.6 6 D.以上三个都不对

#include main()

{ double a=-3.0,b=2; printf(“%3.0f %3.0f\\n”,pow(b,fabs(a)),pow(fabs(a),b));} 14.若a为整型变量,则以下语句( )。

A.赋值不合法 B.输出值为-2 C.输出为不确定值 D.输出值为2

a=-2L;printf(“%d\\n”,a); 15.若有定义char s=‘\\092’;则该语句( )。

A.使s的值包含1个字符 B.定义不合法,s的值不确定

第 6 页 共 64 页

《程序设计基础(C)》习题指导书

C.使s的值包含4个字符 D.使s的值包含3个字符

16.若k、g均为int型变量,则下列语句的输出为( )。 A.15 B.16 C.15 D.16 6f 70 71 6f

k=017;g=111;printf(“%d\\n”,++k);printf(“%x\\n”,g++); 17.已知字母a的ASCII十进制代码为97,执行下列语句后的输出为( )。 A.b,c B.a--运算不合法,故有语法错误

C.98,c D.格式描述和输出项不匹配,输出无定值

char a=‘a’;a--;printf(“%d,%c\\n”,a+‘2’-‘0’,a+‘3’-‘0’); 18.下列程序的输出为( )。

A.27.000000 B.27.500000 C.28.000000 D.28.500000

#include main()

{ int m=7,n=4; float a=38.4,b=6.4,x; x=m/2+n*a/b+1/2;printf(“%f\\n”,x); } 19.下列程序的输出结果是( )。

A.18 B.9 C.-18 D.-9

main() { int a=9;a+=a-=a+a;printf(“%d\\n”,a); } 20.下列程序的输出结果是( )。

A.0 B.5 C.1 D.不确定值

main() { int a=7,b=5;printf(“%d\\n”,b=b/a);} 21.下列程序的输出结果是( )。

A.12 B.11 C.10 D.9 main() { int a=011;printf(“%d\\n”,++a);}

23.下列是输出显示字符’a’的八进制ASCII码语句,正确的是( )。 A.printf(\.printf(\ C.printf(\D.printf(\

24.在scanf( )函数的格式说明符中,长整型数的输入格式说明符是( )。 A.%d B.%lf C.%ld D.%x

25.在printf()函数的格式说明符中,双精度浮点型的输出格式说明符是( )。 A.%ld B.%lf C.%c D.%s

26.将一个双精度浮点型常数12.345使用printf()函数输出显示在屏幕上,要求输出宽度为数值左边有2个空格符,小数点后面有4位数,正确的输出语句是( )。

A.printf(\.printf(\ C.printf(\.printf(\27.putchar函数可以向终端输出一个( )。

A.整型变量表达式的值 B.实型变量的值

C.字符串 D.字符或字符型变量的值 28.下列给出的分隔符中,错误的是( )。 A回车 B空格 C制表符 D双引号 29.以下选项不是C语句的是( )。

A.{int a;a++; printf(\.; C.{;} D.b=5

30.若变量已正确定义,要将a和b的数进行交换,下面不正确的语句是( )。 A.a=a+b,b=a-b,a=a-b; B.t=a,a=b,b=t; C.a=t;t=b;b=a; D.t=b;b=a;a=t;

第 7 页 共 64 页

《程序设计基础(C)》习题指导书

31.若变量已说明为int类型,要给a、b、c输入数据,正确的输入语句是( )。

A.scanf(\ B.read(a,b,c);

C.scanf(\D.scanf(\㈢.程序设计题

1. 编写程序,从终端键盘输入圆的半径r,圆柱体的高h,分别计算出圆周长c1、圆面积cs和圆柱的体

积cvs。输出计算结果时要求有文字说明,并取小数点后2位数字。 2. 输入一个华氏温度,要求输出摄氏温度。公式为:c=5(f-32)/9。

3. 编写程序,读入一个字母,输出与之对应的ASCII码,输入输出都要有相应的文字提示。

? 应用篇

㈠.填空题

1.以下程序的输出结果是_3.140000,3.142________。 main( )

{ printf(\}

2. 以下程序的输出结果是__ c:dec=120,oct=15,hex=78,ASCII=x _______。 main()

{ char c='x';

printf(\}

3. 已有定义int d=-2;执行以下语句后的输出结果是________。 printf(\

d(1)=-2 d(2)= -2 d(3)=12

4. 已有定义int d=-2;执行以下语句后的输出结果是________。 printf(\printf(\

5. 已有定义float d1=3.5,d2=-3.5;执行以下语句后的输出结果是________。 printf(\printf(\6. 若x为单精度型变量,y为字符型变量,z为整型变量,执行如下的输入语句:scanf(\

后,从键盘输入12.77A79A86。此时,变量x、y、z的值分别是__12.77_____、____ A ____、____79______。 7. 以下程序的运行结果是 。 #include void main( ) { char s[50];

printf(\ gets(s); puts(s); }

Enter a string:string<回车>

string

8. 以下程序的运行结果是________。 #include void main( )

第 8 页 共 64 页