C语言基础知识练习题讲解

2019-04-15 19:23

习题

一.选择题

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()

int a=-1;

printf(“%d,%u\\n”,a,a); 3.14以下程序段的输出是 A、*496 * B、* 496* C、*000496* D、输出格式符不合法 int x=496;

printf(“*%-6d*\\n”,x);

3.15以下程序段的输出是 A、|3.1415| B、| 3.0| C、| 3| D、| 3.| float a=3.1415; printf(“|%6.0f|\\n”,a);

3.16printf(“|.5f|\\n”,12345.678);语句的输出是 A、|2345.67800| B、|12345.6780| C、|12345.67800| |12345.678|

3.17 以下程序段的输出是 A、*0000057.66* B、* 57.66* float a=57.666;

printf(“0.2f*\\n”,a);

C、*0000057.67*

D

D、* 57.67*

3.18 若变量c定义为float类型,当从终端输入:283.1900 表示Enter键,能给变量c赋以283.19的输入语句是

A、scanf(“%f”,c); B、scanf(“%8.4f”,&c); C、scanf(“%6.2f”,&c); D、scanf(“%8”,&c);

3.19若变量已正确说明,要求语句scanf(“a=%f,b=%f”,&a,&b);给a赋予3.12、给b赋予9.0,则正确的输入形式是(∪表示空格,表示Enter键)

A、3.12∪∪9.0 B、a=∪∪3.12b=∪∪∪9 C、a=3.12,b=9 D、a=3.12∪∪,b=9∪∪∪∪ 3.20以下程序的输出结果是 A、9 8 B、8 9 C、6 6 D、以上三个都不对 #include “math.h” main()

{ double a=-3.0,b=2;

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

二、填空题

3.21若有以下定义,请写出以下程序段中输出语句执行后的输出结果_____ int i= -200,j=2500; printf(“(1)%d%d”,i,j);

printf(“(2)i=%d,j=%d\\n”,i,j); printf(“(3)i=%d\\n j=%d\\n”,i,j);

3.22变量i、j、k已定义为int类型并有初值0,用以下语句进行输入时 scanf(“%d”,&i); scanf(“%d”,&j); scanf(“%d”,&k); 从键盘输入(表示Enter键): 12.3

则变量i、j、k的值分别是___、___、____。

3.23复合语句在语法上被认为是____。空语句的形式是____。

3.24C语言的最后用____结束。

3.25以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。写出运行时给k输入100,给a输入25.81,给x输入1.89234时的三种可能的输入形式___、___、____。

int k; float a;

scanf(“%d%f%lf”,&k,&a,&x);

printf(“k=%d,a=%f,x=%f\\n”,k,a,x);

3.26 以下程序段的输出结果是____。 int x=0177;

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

3.27以下程序段的输出结果是____。 int x=0177;

printf(“x=%-3d,x=%-6d,x=$m,x=$d,x=%d\\n”,x,x,x,x,x);

3.28以下程序段的输出结果是____。 double a=513.789215;

printf(“a=%8.6f,a=.8f,a=.8lf\\n”,a,a,a,a); 三、编程题和改错题

3.29以下程序多处有错。要按下面指定的形式输入数据和输出数据时,请对该程序做相应的修改。

main()

{ double a,b,c,s,v; printf(input a,b,c:\\n); scanf(“%d%d%d”,a,b,c); s=a*b; v=a*b*c;

printf(“%d %d %d”,a,b,c); printf(“s=%f\\n”,s,”v=%d\\n”,v); } 当程序执行时,屏幕的显示和要求输入形式如下:

input a,b,c:2.0 2.0 3.0 此处的2.0 2.0 3.0是用户输入的数据 a=2.000000,b=2.000000,c=3.000000 此处是要求的输出形式 s=4.000000,v=12.000000

3.30 编写程序,把560分钟换算成小时和分钟表示,然后时行输出。

3.31编写程序,输入两个整数:1500和350,求出它们的商数和余数进行输出。

3.32编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数点后一位数,对小数点后第二位数时行四舍五入,最后输出结果。

3.33编写程序,读入三个整数给a、b、c,然后交换它们中的数,把a中原来的值给b,把b中原来的值给c,把c中原来的值给a。

习题

一、选择题

4.1 下列运算符中优先级最高的运算符是 A、! B、% C、-= D、&& 4.2 下列运算符中优先级最低的运算符是 A、|| B、!= C、<= D、+ 4.3 为表示关系 x≥y≥z,应使用的C语言表达式是


C语言基础知识练习题讲解.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:经济师(工商管理)第六章

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: