C语言基础知识练习题 下载本文

内容发布更新时间 : 2024/11/18 7:29:02星期一 下面是文章的全部内容请认真阅读。

习题

一.选择题

2.1 以下选项中不正确的整型常量是 A.12. B.-20 C.1,000 D.4 5 6 2.2 以下选项中正确的实型常量是 A.0 B.3. 1415 C.0.329×102 D. .871 2.3以下选项中不正确的实型常量是 A.2.607E-1 B.0.8103e 2 C.-77.77 D.456e-2 2.4 以下选项中不合法的用户标识符是 A.abc.c B.file C.Main D.PRINTF 2.5以下选项中不合法的用户标识符是 A._123 B.printf C.A$ D.Dim 2.6 C语言中运算对象必需是整型的运算符是 A.% B./ C.! D.**

2.7可以在C程序中用作用户标识符的一组标识是 A.void B.as_b3 C.For D.2c

define _123 -abc DO WORD If case SIG

2.8 若变量已正确定义并赋值,符合C语言语法的表达式是 A.a=a+7; B.a=7+b+c,a++ C.int(12.3%4) D.a=a+7=c+b 2.9 以下叙述中正确的是

A、a是实型变量,C允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值。

B、在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式。

C、执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0。 D、已有a=3,b=5。当执行了表达式a=a+b,b=a-b,a=a-b之后,已使a中的值 为5,b中的值 为3.

2.10 以下叙述中正确的是

A、在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表示。 B、C程序由主函数组成。 C、C程序由函数组成。

D、C程序由函数和过程组成。

2.11 TURBO C中int类型变量所占字节数是 A.1 B.2 C.3 D.4 2.12 不合法的十六进制数是 A.oxff B.0Xabc C.0x11 D.0x19 二、填空题

2.14 若k为int整型变量且赋值11。请写出运算k++后表达式的值____和变量k的值_____. 2.15 若x为double型变量,请写出运算x=3.2,++x后表达式的值___和变量k的值_____。 2.16 函数体由符号____开始,用符号____结束。函数体的前面是____部分,其后是___部分。 2.17 C语言中的标识符可以分为___、___和预定义标识符三类。

2.18 在C语言程序中,用关键字____定义基本整型变量,用关键字___定义单精度型变量,用关键字___定义双精度型变量。

2.19 把a1、a2定义成单精度实型变量,并赋初值1的定义语句是____。 2.20 C程序中定义的变量,代表内存中的一个_____。 2.21 表达式3.5+1/2的计算结果是____。

2.22 对以下数学式,写出三个等价的C语言表达式___、___、____.

a·b c2.23 表达式s=10应当读作“_____”。

2.24 计算机中内存储器的最小存储单位称____,其中能容纳的数是____。 2.25 通常一个字节包含___个二进制位。在一个字节中能存放的最大(十进制)整数是____,它的二进制数的形式是____;最小(十进制)整数是____,它的二进制数的形式是_____。 2.26 当计算机用两个字节存放一个整数时,其中能存放的最大(十进制)整数是____、最小(十进制)整数是____,它的二进制数的形式是____。

2.27 在C语言中整数可用____进制数、____进制数和___进制数三种数制表示。 三、上机改错题(读者最好在TURBO C环境下上机试一试,以便熟悉出错信息)。 2.28 请指出以下C程序的错误所在 #include “stdio.h”;

main(); /*main function*/

float r,s; /*/*r is radius*/,/*s is area of circular*/*/ r=5.0 ;

s=3.14159*r*r ; pritf(“%f\\n”,s)

2.29请指出以下C程序的错误所在 #include “stdio.h”

main /*main function*/

{ float a,b,c,v ; /*a,b,c are sides, v is volume of cube*/ a=2.0 ; b=3.0 ; c=4.0

v=a*b*c;

printf(“%f\\n”,v) }

习 题

一、选择题

3.1 若a、b、c、d都是int类型变量且初值为0,以下选项不正确的赋值语句是 A、a=b=c=100; B、d++; C、c+b; D、d=(c=22)-(b++); 3.2 以下选项中不是C语句的是 A、{int i; i++; printf(“%d\\n”,i)} B、; C、a=5,c=10 D、{ ; } 3.3以下合法的C语言赋值语句是 A、a=b=28 B、k=int(a+b); C、a=58,b=58 D、--i; 3.4 以下程序的输出结果是 A、0 B、1 C、3 D、不确定的值 main()

{ int x=10,y=3;

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

3.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) 3.6若变量已正确定义为float类型,要通过赋值语句scanf(“%f%f%f”,&a,&b,&c)给a赋予10、b赋予22、赋予33,以下不正确的输入形式是

A、10 B、10.0,22.0,33.0 C、10.0 D、10 22 22 22.0 33.0 33 33

3.7若变量已正确定义,要将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; 3.8 若变量已正确定义,以下程序段的输出结果是

A、输出格式说明与输出项不匹配,输出无定值 B、5.170000 C、5.168000 D、5.169000 x=5.16894

printf(“%f\\n”,(int)(x*1000+0.5)/(float)1000 ); 3.9 若有以下程序段,c3中的值是 A、0 B、1/2 C、0.5 int c=1, c2=2, c3; c3=c1/c2;

D、1

3.10 若有以下程序段,其输出结果是 A、0,0,-10 B、0,0,5 C、-10,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);

D、3,3,-10

3.11 当运行以下程序时,在键盘上从第一列开始输入9876543210(在此处代表Enter),则程序的输出结果是

A、a=98,b=765,c=4321 B、a=10,b=432,c=8765 C、a=98,b=765.000000,c=4321.000000 D、a=98,b=765.0,c=4321.0 main()

{ int a; float b,c;

scanf(“-?O”,&a,&b,&c); printf(“\\na=%d,b=%f,c=%f\\n”,a,b,c); }

3.12以下程序的输出结果是 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); }

3.13若int类型占两个字节,则以下程序段的输出是 A、-1,-1 B、-1,32767 C、-1,32768 D、-1,65535 main()