c语言程序设计习题14章练习.docx
《c语言程序设计习题14章练习.docx》由会员分享,可在线阅读,更多相关《c语言程序设计习题14章练习.docx(13页珍藏版)》请在冰豆网上搜索。
![c语言程序设计习题14章练习.docx](https://file1.bdocx.com/fileroot1/2022-11/20/8c637edc-126f-4354-8380-21bddda8ccad/8c637edc-126f-4354-8380-21bddda8ccad1.gif)
c语言程序设计习题14章练习
第一章习题
一、单项选择题
1.C语言程序的执行,总是起始于【】。
A)程序中的第一条可执行语句B)程序中的第一个函数
C)main函数D)包含文件中的第一个函数
2.下列说法中正确的是【】。
A)C程序书写时,不区分大小写字母B)C程序书写时,一行只能写一个语句
C)C程序书写时,一个语句可分成几行书写D)C程序书写时每行必须有行号
3.下面对C语言特点,不正确描述的是【】。
A)C语言兼有高级语言和低级语言的双重特点,执行效率高
B)C语言既可以用来编写应用程序,又可以用来编写系统软件
C)C语言的可移植性较差
D)C语言是一种结构式模块化程序设计语言
4.C语言源程序的最小单位是【】。
A)程序行B)语句C)函数D)字符
5.以下四项中属于C语言关键字的是【】。
A)CHARB)defineC)unsignedD)retern
6.十进制数2403转换成十六进制数为【】。
A)963B)369C)953D)359
7.二进制数00110101转换成八进制数是【】。
A)055B)065C)056D)152
8.将二进制数1011011.011转换成十进制数是【】。
A)91.75B)91.375C)91.125D)91.25
9.计算机内部运算使用的数是【】。
A)十进制数B)十六进制数C)二进制数D)八进制数
10.一个字长的二进制位数是【】。
A)2个BYTE,即16个bitB)3个BYTE,即24个bit
C)4个BYTE,即32个bitD)随计算机系统不同而不同
11.在C语言系统中,假设int类型数据占2个字节,则double、long、unsignedint、char类型数据所占字节数分别多少【】。
A)8,2,4,1B)2,8,4,1C)4,2,8,1D)8,4,2,1
12.下面程序段执行结果是【】。
inti=5,k;
k=(++i)+(++i)+(i++);
printf("%d,%d",k,i);
A)24,8B)21,8C)21,7D)24,7
13.下面程序段执行结果是【】。
inti=5;
printf("%d,%d,%d",i,(++i)+(++i)+(i++),i);
A)8,20,5B)8,21,5C)5,20,8D)5,21,8
14.下面程序段的输出结果是【】。
inti=32769;
printf("%d\\n",i);
A)32769B)32767C)-32767D)输出不是确定的数
15.下面的程序运行后输出为【】。
main()
{inta=-32769;
ptintf("%8U\\n",a);
}
A)32769B)%8UC)32767D)-32767
二、填空题
1.若以下程序的输出结果是13,请填空。
main()
{intx=016;
printf("%d\\n",【1】);}
2.下面程序段的输出结果是【2】。
intk=10;
floata=3.5,b=6.7,c;
c=a+k%3*(int)(a+b)%2/4;
3.若执行下面程序段后的输出为:
3,4,5,请填空。
inta,b=3,c=5;
a=b【3】:
c++;
printf("%d,%d,%d",a,b,c);
4.C语言中的运算符,优先级最低的是【4】。
5.若下面程序的输出结果是4,请填空。
main()
{inti,j,k;
k=0;i=j=-2;
k+=-i--【5】;
printf("%d\\n",k);
}
第二章习题
一、单项选择题
1.下面叙述不正确的是【】。
A)C语句末尾必须有分号B)C语言中无论是整数还是实数都能准确的表示
C)运算符“%”只能用于整数运算D)乘除运算符优先级高于加减运算符
2.以下叙述正确的是【】。
A)C语句前面必须有行号B)C程序中每行只能写一条语句
C)C语言本身没有输入输出语句D)注释必须跟在一行语句的后面
3.复合语句应用【】括起来。
A)小括号B)方括号C)大括号D)尖括号
4.将二进制数101101101111转换成十六进制数是【】。
A)5557B)B6FC)7555D)F6B
5.将十进制数0.625转换成二进制数是【】。
A)0.111B)0.101C)0.5D)0.A
6.C语言语句一行写不下时,可以【】。
A)用逗号换行B)用分号换行C)用回车换行D)在任意一空格处换行
7.C语言允许将一条语句写在两行上,下列语句不正确是【】。
A)inta,B)intab;,b;C)intD)intaba,b;;
8.下面程序的输出是【】。
(“□”表示一个空格)
inta=3366;
printf("|%-08d|",a);
A)|-0003366|B)|00003366|C)|3366□□□□|D)输出格式非法
9.若有说明语句:
inta;floatb;,以下输入语句正确的是【】。
A)scanf("%f%f",&a,&b);B)scanf("%f%d",&a,&b);
C)scanf("%d,%f",&a,&b);D)scanf("%6.2f%6.2f",&a,&b);
10.以下程序的输出结果是【】。
main()
{intx=11,y=11;
printf("%d%d\\n",x--,--y);
}
A)11,11B)10,10C)10,11D)11,10
11.将八进制数307转换成二进制数是【】。
A)100110011B)11000111C)1100000111D)111000011
12.执行下面程序段,给x、y赋值时,不能作为数据分隔符的是【】。
intx,y;
scanf("%d%d",&x,&y);
A)空格B)Tab键C)回车D)逗号
13.下面合法的语句是【】。
A)inta=8,b;
b=++a++;
printf("%d,%d",a,b++);
B)inta;
printf("\\"%d\\"",scanf("%d",&a));
C)chara;
scanf("%c",&a);
charb=scanf("b=%c",&b);
D)charc=getchar();
putchar((int)c);
14.执行下面程序时,欲将25和2.5分别赋给a和b,正确的输入方法是【】。
inta;
floatb;
scanf("a=%d,b=%f",&a,&b);
A)25□2.5B)25,2.5C)a=25,b=5.5D)a=25□b=2.5
15.与数学公式a·bx·y不等价的语句是【】。
A)a*b/x*yB)a*b/x/yC)a*b/(x*y)D)a/(x*y)*b
二、填空题
1.表达式5%(-3)的值是【1】,表达式-5%(-3)的值是【2】。
2.在C语言中,格式输入库函数为【3】,格式输出库函数为【4】。
3.下面程序的输出结果是【5】。
intx=-32769;
printf("%d",x);
4.执行下列程序的输出结果是【6】。
main()
{
floata=1,b;
b=++a*++a;
printf("%f\\n",B);
}
5.执行下列程序的输出结果是【7】。
main()
{
intx=5,y;
y=++x*++x;
printf("y=%d\\n",y);
}
第三章习题
一、单项选择题
1.下面不属于C语言的数据类型是【】。
A)整型B)实型C)逻辑型D)双精度实型
2.C语言中,下列属于构造类型的是【】。
A)整型B)实型C)指针类型D)结构体类型
3.下列字符串不符合标识符规定的是【】。
A)SUMB)sumC)3cdD)end
4.下面能正确表示八进制数的是【】。
A)0x16B)029C)-114D)033
5.下面四个选项中,均是合法实数的选项是【】。
A)+1e+3B)-.50C)70eD)-e52e-4.233e-40.2e-.5.8e-406e3-4e4+8e-15.e-0
6.C语言中,字符型数据在内存中存储形式是【】。
A)原码B)反码C)补码D)ASCII码
7.下列正确的字符型常量是【】。
A)"a"B)′\\\\′C)"\\r"D)277
8.若有说明语句charch1=′\\x41′;则ch1【】。
A)包含4个字符B)包含3个字符
C)包含2个字符D)包含1个字符
9.下列程序段输出的字符串长度为【】。
printf("\\\\aaa\\′ccc\\bddd\\"");
A)11B)12C)13D)17
10.下列运算符中,要求运算对象必须是整数的是【】。
A)/B)*C)%D)!
11.下面合法的赋值语句是【】。
A)x+y=2002;B)ch="green";C)x=(a+b)++;D)x=y=0316;
本题正确答案为D。
12.已知a为int型,b为double型,c为float型,d为char型,则表达式a+b*c-d/a结果的类型为【】。
A)int型B)float型C)double型D)char型
13.执行以下程序段后的输出结果是【】。
intx=0xcde;
printf("%4d,%4o,%4x\\n",x,x,x);
A)3294,6336,cdeB)3294,6336,xcde
C)3294,06336,0xcdeD)3294,6336,0cde
14.下面的程序运行后输出为【】。
#include
#include
main()
{inta,b;
floatc;
b=5;c=6;c=b+7;b=c+1;
a=sqrt((double)b+c);
printf("%d,%f,%d",a+6,c,b);
}
A)11.000000,12.000000,13.000000
B)11.000000,12.000000,13
C)11.0000000,12,13
D)11,12.000000,13
15.执行以下程序后x的值为【】。
unsignedintx=