C语言知识学习知识题答案解析Word文档下载推荐.docx
- 文档编号:21134665
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:68
- 大小:47.18KB
C语言知识学习知识题答案解析Word文档下载推荐.docx
《C语言知识学习知识题答案解析Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言知识学习知识题答案解析Word文档下载推荐.docx(68页珍藏版)》请在冰豆网上搜索。
5、系统默认的C语言源程序文件的扩展名是(.c),经过编译后生成的目标文件的扩展名是(.obj),经过连接后生成的可执行文件的扩展名是(.exe)。
6、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."
a"
3、在C语言中,字符型数据在计算机内存中,以字符的(C)形式存储。
原码
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)。
算术运算、赋值运算、关系运算
算术运算、关系运算、赋值运算
关系运算、赋值运算、算术运算
关系运算、算术运算、赋值运算
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、设有语句inta=3;
,则执行了语句a+=a-=a*=a;
后,变量a的值是(B)。
A.3
B.0
C.9
D.-12
9、在以下一组运算符中,优先级最低的运算符是(D)。
A.*
=
C.+
D.=
10、设整型变量i值为2,表达式(++i)+(++i)+(++i)的结果是(B)。
A.6
B.12
C.15
表达式出错
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<
b?
a:
c<
d?
d的结果为(D)。
B.3
C.2
D.1
13、设a为整型变量,不能正确表达数学关系:
10<
15的C语言表达式是(A)。
A.10<
15
B.a==11||a==12||a==13||a==14
C.a>
10&
a<
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)。
B.nit
C.123
D.a+b
18、C语言中,要求运算对象只能为整数的运算符是(A)。
A.%
B./
C.>
D.*
19、若有说明语句:
charc='
\72'
;
则变量c在内存占用的字节数是(A)。
C.3
D.4
20、字符串"
ABC"
在内存占用的字节数是(B)。
B.4
C.6
D.8
21、要为字符型变量a赋初值,下列语句中哪一个是正确的(B)。
A.chara="
3"
;
B.chara=’3’;
C.chara=%;
D.chara=*;
22、下列不正确的转义字符是(C)。
A.\\
B.\'
C.074
D.\0
1、C语言中的逻辑值“真”是用
1表示的,逻辑值“假”是用
表示的。
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、设floatx=2.5,y=4.7;
inta=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()
{floatx=1.5,y=2.3;
printf(“areais%6.2f\n”,x*y);
}
2.
{charc=’A’;
printf(“%d”,c+32);
第四章顺序结构程序设计
基础练习(A)
一、填空题
1、C语句分为五种:
控制语句、函数调用语句、表达式语句、空语句和复合语句。
2、一个基本语句的最后一个字符是;
。
3、复合语句又称分程序,是用{}括起来的语句。
4、使用C语言库函数时,要用于预编译命令#include将有关的“头文件”包括到用户源文件中。
5、使用标准输入输出库函数时,程序的开头要有如下预处理命令:
#include<
stdio.h>
。
6、{a=3;
c+=a-b;
}在语法上被认为是1条语句。
7、getchar函数的作用是从终端输入1个字符。
8、如果从键盘输入字符’a’并按回车键,请写出以下程序运行效果 a 。
#include<
{
putchar(getchar());
}
9、以下程序的输出结果为 i:
dec=-4,oct=177774,hex=fffc,unsigned=65532。
main()
{
shorti;
i=-4;
printf(“\ni:
dec=%d,oct=%o,hex=%x,unsigned=%u\n”,i,i,i,i);
}
10、以下程序的输出结果为*3.140000,3.142*。
printf(“*%f,%4.3f*\n”,3.14,3.1415);
11、以下程序的输出结果为c:
dec=120,oct=170,hex=78,ASCII=x。
charc=‘x’;
printf(“c:
dec=%d,oct=%o,hex=%x,ASCII=%c\n”,c,c,c,c);
12、已有定义intd=-2;
执行以下语句后的输出结果是*d
(1)=-2*d
(2)=-2*d(3)=-2*
*d(4)=177776*d(5)=177776*d(6)=177776*
printf(“*d
(1)=%d*d
(2)=%3d*d(3)=%-3d*\n”,d,d,d);
printf(“*d(4)=%o*d(5)=%7o*d(6)=%-7o*\n”,d,d,d);
13、以下程序的输出结果为 x=1y=2*sum*=3
10Squaredis:
100
intx=1,y=2;
printf(“x=%dy=%d*sum*=%d\n”,x,y,x+y);
printf(“10Squaredis:
%d\n”,10*10);
14、以下程序的输出结果为
(1)123.456000
(2)□□□□□□□123.457
(3)123.4560
(4)8765.456700
(5)□□□□□□8765.457
(6)8765.4567
(7)8765.4567
floata=123.456;
doubleb=8765.4567;
printf(“
(1)%f\n”,a);
printf(“
(2)%14.3f\n”,a);
printf(“(3)%6.4f\n”,a);
printf(“(4)%lf\n”,b);
printf(“(5)%14.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)1B)0C)2D)任意
4、以下程序的输出结果是(D) 。
printf(“\n*s1=%15s*”,“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、已有定义inta=-2;
和输出语句:
printf(“%8lx”,a);
以下正确的叙述是( D )。
A)整型变量的输出格式符只有%d一种
B)%x是格式符的一种,它可以适用于任何一种类型的数据
C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的
D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度
7、以下C程序正确的运行结果是( C )。
longy=-43456;
printf(“y=%-8ld\n”,y);
printf(“y=%-08ld\n”,y);
printf(“y=%08ld\n”,y);
printf(“y=%+8ld\n”,y);
A)y=-43456B)y=-43456
y=-43456y=-43456
y=-0043456y=-0043456
y=-43456y=+-43456
C)y=-43456D)y=-43456
y=-43456y=-0043456
y=-0043456y=00043456
y=-43456y=+43456
8、以下C程序正确的运行结果是( D )。
inty=2456;
printf(“y=%3o\n”,y);
printf(“y=%8o\n”,y);
printf(“y=%#8o\n”,y);
A)y=2456B)y=4630
y=2456y=4630
y=########2456y=########4630
C)y=2456D)y=4630
y=2456y=4630
y=02456y=04630
基础练习(B)
1、printf函数的作用是向终端输出若干个任意类型的数据。
2、printf函数中的“格式控制”,包括格式说明和普通字符两种信息。
3、scanf函数中的“格式控制”后面应当是变量地址,而不是变量名。
4、在用scanf函数中输入数据时,如果在“格式控制”字符传中除了格式说明以外还有其他字符,则应在对应位置输入与这些字符相同的字符。
5、在用”%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入。
6、在输入数据时,遇以下情况时该数据认为结束:
遇空格、或按“回车”或“跳格”键;
按指定的宽度结束;
遇非法输入。
7、输入数据时不能规定精度。
8、如果在%后有一个“*”附加说明符,表示跳过它指定的列数。
二、选择题
1、若inta,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(“%2d*%d%lf”,&
C)scanf(“%x%*d%o”,&
y);
D)scanf(“%x%o%6.2f”,&
3、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是( D )。
inta1,a2;
charc1,c2;
a1,&
a2);
scanf(“%c%c”,&
c1,&
c2);
A)1020AB<
CR>
B)1020<
AB<
C)1020AB<
D)1020AB<
4、阅读以下程序,当输入数据的形式为 25,13,10<
正确的输出结果为( D )。
{
intx,y,z;
scanf(“%d%d%d”,&
printf(“x+y+z=%d\n”,x+y+z);
A)x+y+z=48
B)x+y+z=35
C)x+z=35
D)不确定值
5、已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为( D)。
inta;
floatf;
printf(“\nInputnumber:
”);
输入语句
printf(“\nf=%f,a=%d\n”,f,a);
Inputnumber:
4.52<
A)scanf(“%d,%f”,&
f);
B)scanf(“%f,%d”,&
f,&
a);
C)scanf(“%d%f”,&
D)scanf(“%f%d”,&
6、根据定义和数据的输入方式,输入语句的正确形式为( B )。
已有定义:
floatf1,f2;
数据的输入方式:
4.52
3.5
A)scanf(“%f,%f”,&
f1,&
f2);
B)scanf(“%f%f”,&
C)scanf(“%3.2f%2.1f”,&
D)scanf(“%3.2f%2.1f”,&
7、阅读以下程序,若运行结果为如下形式,输入输出语句的正确内容是( B )。
intx;
floaty;
printf(“enterx,y:
输出语句
输入形式enterx,y:
23.4
输出形式x+y=5.40
printf(“\nx+y=%4.2f”,x+y);
B)scanf(“%d%f”,&
printf(“\nx+y=%6.1f”,x+y);
D)scanf(“%d%3.1f”,&
8、以下说法正确的是( D )。
A)输入项可以为一实型常量,如scanf(“%f”,3.5);
B)只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);
C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&
D)当输入数据时,必须指明变量的地址,如scanf(“%f”,&
9、有输入语句:
scanf(“a=%d,b=%d,c=%d”,&
b,&
c);
为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是( D )。
A)132<
回车>
B)1,3,2<
C)a=1b=3c=2<
D)a=1,b=3,c=2<
10、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是( A )。
scanf(“%d%c%d%c”,&
a2,&
A)10A20B<
B)10A20B<
C)10A20B<
D)10A20B<
11、已有定义intx;
且执行scanf(“%3d%f”,&
语句,若从第一列开始输入数据12345678<
则x的值为(B),y的值为(B)。
(1)A)12345B)123C)45D)345
(2)A)无定值B)45.000000C)678.000000D)123.000000
三、编程:
1、编写程序,从键盘上输入三个数分别给变量a、b、c,求它们的平均值。
并按如下形式输出:
averageof**、**and**is**.**。
其中,三个**依次表示a、b、c的值,**.**表示a,b,c的平均值。
2、输入9时23分并把它化成分钟后输出。
(从零点整开始计算)。
1、参考答案
main()
{floata,b,c,t;
printf(“pleaseinputa,b,c:
\n”);
scanf("
%f,%f,%f"
&
a,&
b,&
t=(a+b+c)/3;
printf("
averageof%6.2f、%6.2fand%6.2fis%6.2f\n”,a,b,c,t);
}
2、参考答案
{inth,m,s;
printf(“pleaseinputh,m:
%d,%d"
h,&
m);
s=h*60+m;
total%dminute\n”,s);
第五章选择结构程序设计
一、填空题
1、关系表达式的运算结果是逻辑值。
C语言没有逻辑型数据,以1代表“真”,以0代表“假”。
2、逻辑运算符!
是单目运算符,其结合性是由右结合性。
3、C语言提供的三种逻辑运算符是&
、||、!
其中优先级最高的为!
优先级最低的为||。
4、逻辑运算符两侧的运算对象不但可以是0和1,或者是0和非0的整数,也可以是任何类型的数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 知识 学习 答案 解析