好文档 - 专业文书写作范文服务资料分享网站

c语言第三、四章(习题册答案)

天下 分享 时间: 加入收藏 我要投稿 点赞

第三章 数据类型、运算符和表达式

一、选择题:

1、以下选项中,不正确的 C 语言浮点型常量是(C)。 A. 160. B. 0.12 C. 2e4.2 D. 0.0 2、以下选项中,(D)是不正确的 C 语言字符型常量。 A. 'a' B. '\\x41' C. '\\101' D. \

3、 在 C 语言中,字符型数据在计算机内存中,以字符的(C)形式存储。 A. 原码 B. 反码 C. ASCII 码 D. BCD码

4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是(C)。 x=(i=4,j=16,k=32) A. 4 B. 16 C.32 D.52

5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算 C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 6、表达式!x||a==b 等效于(D)。

A. !((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b)

7、设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是(B)。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 8、 设有语句 int a=3;,则执行了语句 a+=a-=a*=a;后,变量 a 的值是(B)。 A. 3 B. 0 C. 9 D. -12

9、在以下一组运算符中,优先级最低的运算符是(D)。 A. * B. != C. + D. =

10、设整型变量 i 值为2,表达式(++i)+(++i)+(++i)的结果是(B)。 A. 6 B. 12 C. 15 D. 表达式出错

11、若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是(C)。 A. 1 B. 2 C. 2.0 D. 2.5

12、设a=1,b=2,c=3,d=4,则表达式:a

13、设a 为整型变量,不能正确表达数学关系:1010 && a<15 D. !(a<=10) && !(a>=15)

14、设 f是实型变量,下列表达式中不是逗号表达式的是(D)。 A. f= 3.2, 1.0 B. f>0, f<10 C. f=2.0, f>0 D. f=(3.2, 1.0) 15、 表达式18/4*sqrt(4.0)/8值的数据类型是(C)。 A. int B. float C. double D. 不确定

16、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句 C2=’A’+’6’-‘3’;后c2中的值是(A)。 A. D B. 68 C. 不确定的值 D. C 17、以下用户标识符中,合法的是(B)。 A. int B. nit C. 123 D. a+b

18、C 语言中,要求运算对象只能为整数的运算符是(A)。

A. % B. / C. > D. *

19、若有说明语句:char c='\\72';则变量c在内存占用的字节数是(A)。 A. 1 B. 2 C. 3 D. 4

20、字符串\在内存占用的字节数是(B)。 A. 3 B. 4 C. 6 D. 8

21、要为字符型变量 a赋初值,下列语句中哪一个是正确的(B)。 A. char a=\B. char a=’3’; C. char a=%; D. char a=*; 22、下列不正确的转义字符是(C)。 A. \\\\ B. \\' C. 074 D. \\0

二、填空题:

1、C 语言中的逻辑值“真”是用 1表示的,逻辑值“假”是用 0 表示的。

2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为0。 3、设 c='w',a=1,b=2,d=-5, 则表达式 'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b==a=2的值为 1 、0 、1 、1。

4、设 float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4的值为 2.5 。 5、判断变量 a、b 的值均不为 0 的逻辑表达式为a!=0&&b!=0,值为1。

6、求解赋值表达式 a=(b=10)%(c=6),表达式值为4 、a、b、c 的值依次为1,0,6 。 7、求解逗号表达式 x=a=3,6*a 后,表达式值为18 、x、a 的值依次为3,3 。

三、编程题:

1、 设长方形的高为 1.5,宽为 2.3,编程求该长方形的周长和面积。 2、 编写一个程序,将大写字母 A转换为小写字母 a。 1. main()

{float x=1.5,y=2.3;printf(“area is %6.2f\\n”,x*y);} 2. main()

{char c=’A’;printf(“%d”,c+32);}

第四章 顺序结构程序设计

基础练习(A)

一、填空题

1、C语句分为五种:控制语句 、函数调用语句、 表达式语句、空语句和 复合语句 。 2、一个基本语句的最后一个字符是 ; 。

3、复合语句又称分程序,是用 { } 括起来的语句。

4、 使用C语言库函数时,要用于预编译命令 #include 将有关的“头文件”包括到用户源文件中。

5、 使用标准输入输出库函数时,程序的开头要有如下预处理命令: #include

6、{ a=3;c+=a-b; } 在语法上被认为是 1 条语句。 7、 getchar函数的作用是从终端输入 1 个字符。

8、 如果从键盘输入字符’a’并按回车键,请写出以下程序运行效果 a 。

#include main() {

putchar(getchar()); }

9、以下程序的输出结果为 i:dec=-4,oct=,hex=fffc,unsigned=65532 。 main() { short i; i=-4; printf(“\\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\\n”,i,i,i,i); }

10、以下程序的输出结果为 *3.,3.142* 。 main() { printf(“*%f,%4.3f*\\n”,3.14,3.1415); }

11、以下程序的输出结果为 c:dec=120,oct=170,hex=78,ASCII=x 。 main() { char c=‘x’; printf(“c:dec=%d,oct=%o,hex=%x,ASCII=%c\\n”,c,c,c,c); }

12、已有定义int d=-2;执行以下语句后的输出结果是 *d(1)=-2*d(2)= -2*d(3)=-2 * *d(4)=*d(5)= *d(6)= * printf(“*d(1)=%d*d(2)==*d(3)=%-3d*\\n”,d,d,d); printf(“*d(4)=%o*d(5)=%7o*d(6)=%-7o*\\n”,d,d,d); 13、以下程序的输出结果为 x=1 y=2 *sum*=3 10 Squared is: 100

main() { int x=1,y=2; printf(“x=%d y=%d *sum*=%d\\n”,x,y,x+y); printf(“10 Squared is:%d\\n”,10*10); }

14、以下程序的输出结果为 (1) 123. (2) □□□□□□□123.457 (3) 123.4560 (4) 8765. (5) □□□□□□8765.457 (6) 8765.4567 (7) 8765.4567

#include main() { float a=123.456; double b=8765.4567; printf(“(1) %f\\n”,a); printf(“(2) .3f\\n”,a); printf(“(3) %6.4f\\n”,a); printf(“(4) %lf\\n”,b);

printf(“(5) .3lf\\n”,b); printf(“(6) %8.4lf\\n”,b); printf(“(7) %.4f\\n”,b); } 二、判断题

1、所谓函数体实际上就是一个复合语句。( 对)

2、C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。(对 ) 3、putchar函数可以向终端输出一个整数数据。( 错 )

4、考虑到printf 和scanf函数使用频繁,系统允许在使用这两个函数时可不加#include命令。( 对 )

5、任何表达式都可以加上分号而成为有意义的语句。(对 ) 三、选择题

1、 以下不属于流程控制语句的是( A )。

A) 表达式语句 B) 选择语句 C) 循环语句 D) 转移语句 2、putchar函数可以向终端输出一个( D )。

A)整型变量表达式值 B)实型变量值 C)字符串 D)字符或字符型变量值

3、getchar函数的参数个数是( B )。

A) 1 B) 0 C) 2 D)任意 4、以下程序的输出结果是(D) 。 main() { printf(“\\n*s1=s*”, “chinabeijing”); printf(“\\n*s2=%-5s*”, “chi”); }

A)*s1=chinabeijing * B)*s1=chinabeijing * *s2=**chi* *s2=chi * C)*s1=*chinabeijing* D)*s1= chinabeijing* *s2=chi* *s2=chi *

5、printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长

度大于5,则输出按方式( B )。;如果字符串长度小于5,则输出按方式( C )。 A)从左起输出该字串,右补空格 B)按原字符长从左向右全部输出 C)右对齐输出该字串,左补空格 D)输出错误信息

6、已有定义int a=-2;和输出语句:printf(“%8lx”,a);以下正确的叙述是( D )。 A)整型变量的输出格式符只有%d一种

B)%x是格式符的一种,它可以适用于任何一种类型的数据

C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的 D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度

7、以下C程序正确的运行结果是( C )。 main() { long y=-43456; printf(“y=%-8ld\\n”,y); printf(“y=%-08ld\\n”,y); printf(“y=ld\\n”,y); printf(“y=%+8ld\\n”,y); }

A)y= -43456 B)y=-43456 y=- 43456 y=-43456

y=- y=- y=-43456 y=+-43456 C)y=-43456 D)y= -43456 y=-43456 y=- y=- y= y= -43456 y=+43456 8、以下C程序正确的运行结果是( D )。 main() { int y=2456; printf(“y=%3o\\n”,y); printf(“y=%8o\\n”,y); printf(“y=%#8o\\n”,y); }

A)y= 2456 B)y= 4630 y= 2456 y= 4630 y=########2456 y=########4630 C)y=2456 D)y=4630 y= 2456 y= 4630 y= 02456 y= 04630

基础练习(B)

一、填空题

1、printf函数的作用是向终端 输出 若干个任意类型的数据。 2、printf函数中的“格式控制”,包括 格式说明 和 普通字符 两种信息。 3、scanf函数中的“格式控制”后面应当是变量 地址 ,而不是变量名。

4、在用scanf函数中输入数据时,如果在“格式控制”字符传中除了格式说明以外还有其他字符,则应在对应位置输入与这些字符相同的 字符 。

5、在用”%c”格式输入字符时,空格字符和“转义字符”都作为有效字符 输入 。

6、在输入数据时,遇以下情况时该数据认为结束:遇 空格 、或按 “回车” 或 “跳格”键 ;按指定的宽度结束;遇非法输入。 7、输入数据时不能规定 精度 。

8、如果在%后有一个“*”附加说明符,表示 跳过它指定的列数 。 二、选择题

1、若int a,b; scanf(“%d%d”,&a,&b); 不可以用( A )作为输入的分隔符。 A) , B) 空格 C) 回车 D) TAB键

2、若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是

( B )。

A)scanf(“%d%lx,%le”,&x,&y,&z); B)scanf(“-*%d%lf”,&x,&y,&z); C)scanf(“%x%*d%o”,&x,&y);

D)scanf(“%x%o%6.2f”,&x,&y,&z);

3、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从

第一列开始输入数据时,正确的数据输入方式是( D )。 int a1,a2; char c1,c2; scanf(“%d%d”,&a1,&a2); scanf(“%c%c”,&c1,&c2); A)1020AB B)10 20 AB C)10 20 AB D)10 20AB

4、阅读以下程序,当输入数据的形式为 25,13,10 正确的输出结果为( D )。 main() {

c语言第三、四章(习题册答案)

第三章数据类型、运算符和表达式一、选择题:1、以下选项中,不正确的C语言浮点型常量是(C)。A.160.B.0.12C.2e4.2D.0.02、以下选项中,(D)是不正确的C语言字符型常量。A.'a'B.'\\x41'C.'\\101'D.\3、在
推荐度:
点击下载文档文档为doc格式
3kl0i7zxmy4qfr01784a35m4y31ezc01574
领取福利

微信扫码领取福利

微信扫码分享