C语言习题带答案.docx
《C语言习题带答案.docx》由会员分享,可在线阅读,更多相关《C语言习题带答案.docx(55页珍藏版)》请在冰豆网上搜索。
![C语言习题带答案.docx](https://file1.bdocx.com/fileroot1/2022-10/12/976a407a-b8df-409c-af17-81764d6e0696/976a407a-b8df-409c-af17-81764d6e06961.gif)
C语言习题带答案
练习1-1答案
选择题
1.下列4组字符串中都可以用作C语言程序中的标识符的是(D)。
A.print3doodbB.I\mone_halfstart$it
C.Pxqmy->bookline#D.str_1Cppinto
2.下面的说法正确的是(C)。
A.C程序由符号构成B.C程序由标识符构成
C.C程序由函数构成D.C程序由C语句构成
3.与十进制数35相等的二进制数是(A)。
A.100011B.01001C.100110D.100101
4.与47值相等的十六进制数是(A)。
A.2FB.215C.32FD.115
5.(01101)2+(101101)2的值是(B)。
A.(101010)2B.(3A)16C.(2A)16D.57
6.将15向左移动2位后的值是(D)。
A.(3C)16B.(00111100)2C.(60)10D.都正确
7.将250与5进行按位与的结果是(A)。
A.0B.1C.(FF)16D.(F0)16
8.将(AF)16与(78)16进行按位异或的结果是(A)。
A.(D7)16B.(28)16C.(D8)16D.(27)16
9.将(717)8按位取反的结果是(B)。
A.(110001)2B.(060)8C.(60)10D.都不正确
练习2-1答案
选择题
1.C语言中的简单数据类型包括(B)。
A.整型、实型、逻辑型B.整型、实型、字符型
C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型
2.在C语言中,错误的int类型的常数是(A)。
A.32768B.0C.037D.0Xaf
3.下列常数中不能作为C的常量的是(D)。
A.0x45B.-2C.3e2D.0582
4.设int类型的数据长度为2个字节,则unsignedint类型数据的取值范围是(B)。
A.0至255B.0~65535C.-32768~32767D.-256~255
5.下面4个选项中,均是合法转义字符的选项是(A)。
A.'\'','\\','\n'B.'\','\017','\'
C.'\018','\f','xab'D.'\\0,'101','x1f
6.在C语言中,数字029是一个(D)。
A.八进制数B.十六进制数C.十进制数D.非法数
7.下列可以正确表示字符型常数的是(B)。
A."a"B.'\t'C."\n"D.297
8.以下(C)是错误的转义字符。
A.'\\'B.'\''C.'\81'D.'\0'
9.C语言中整数-8在内存中的存储形式是(A)。
A.1111111111111000B.1000
C.0000000000001000D.1111111111110111
10.将字符g赋给字符变量c,正确的表达式是(C)。
A.c="g"B.c=101C.c='\147'D.c='0147'
11.字符串"\\\22a,0\n"的长度是(C)。
A.8B.7C.6D.5
12.为求出s=10!
的值,则变量s的类型应当为(D)。
A.intB.unsignedC.longD.以上三种类型均可
13.已知:
unsignedintx=65535;,则执行以下语句输出是(D)。
printf("%d\n",x);
A.65535B.1C.无定值D.-1
14.下面4个选项中,均是合法整型常量的选项是(A)。
A.160,-0xffff,011B.-0xcdf,01a,0xe
C.-01,986,012,0668D.-0x48a,2e5,0x
15.下面4个选项中,均是不合法的整型常量的选项是(D)。
A.--0f1,-0xffff,0011B.-0Xcdf,01a,0xe
C.-018,999,5e2D.-0x48eg,-068,03f
16.下面4个选项中,均是合法浮点数的选项是(B)。
A.+1e+1,,03e2B.,12e-4,-8e5
C.123e,,+2e-1D.-e3,.8e-4,
练习2-2答案
选择题
1.已知:
chara;intb;floatc;doubled;,执行语句c=a+b+c+d;后,变量c的数据类型是(C)。
A.intB.charC.floatD.double
2.已知intj,i=1;,执行语句j=-i++;后,j的值是(C)。
A.1B.2C.-1D.-2
3.已知inti,a;,执行语句i=(a=2*3,a*5),a+6;后,变量i的值是(C)。
A.6B.12C.30D.36
4.已知inti=5;,执行语句i+=++i;,i的值是(C)。
A.10B.11C.12D.A、B、C答案都不对
5.已知:
floatx=1,y;,则表达式y=++x*++x的结果为(B)。
A.9B.6C.1D.表达式是错误的
6.已知:
inty;floatx=-3;,执行语句:
y=x%2;,则变量y的结果是(D)。
A.1B.-1C.0D.语句本身是错误的
7.已知:
charw;intx;floaty;doublez;,则表达式w*x+z-y结果的类型是(D)。
A.floatB.charC.intD.double
8.已知:
intx=10,y=3,z;,则下列语句的输出结果是(D)。
printf("%d\n",z=(x%y,x/y));
A.1B.0C.4D.3
9.已知:
inti=6,j;,则执行语句j=(++i)+(i++);后的j的值是(B)。
A.4B.14C.13D.15
10.已知:
intx=1,y=-1;,则语句printf("%d\n",(x--&++y));的输出结果是(B)。
A.1B.0C.-1D.2
11.设a=2,b=3,计算表达式c=b*=a-1后,变量c的值是(B)。
A.5B.3C.2D.4
12.若定义了intx;,则将x强制转化成双精度类型应该写成(A)。
A.(double)xB.x(double)C.double(x)D.(x)double
13.下述程序的输出是(A)。
main()
{intx=023;
printf("%f",+1*7%2/4);}
A.B.2.750000C.D.
14.若有定义:
inta=7;floatx=,y=;,则表达式x+a%3*(int)(x+y)%2/4的值是(A)。
A.B.2.750000C.D.
15.设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第3位进行四舍五入运算的表达式是(B)。
A.n=(n*100+/B.m=n*100+,n=m/
C.n=n*100+D.n=(n/100+*
16.已知ch是字符型变量,下面不正确的赋值语句是(A)。
A.ch='a+b';B.ch='\0';C.ch='7'+'9';D.ch=5+9;
练习3-1答案
一、选择题
1.在C语言库函数中,可以输出double型变量x值的函数是(D)。
A.getcharB.scanfC.putcharD.printf
2.执行语句:
printf("Theprogram\'snameisc:
\\tools\");后输出是(D)。
A.Theprogram'snameisc:
tools
B.Theprogram'snameisc:
\tools
C.Theprogram'snameisc:
\\tools
D.Theprogram'snameisc:
\
3.以下程序的输出结果是(D)。
(注:
□表示空格)
main()
{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□□*
4.选择程序的运行结果,①是(B)、②是(B)、③是(D)、④是(C)。
#include<>
main()
{inta=-10,b=-3;
printf("%d\n",a%b);/*输出①*/
printf("%d\n",a/b*b);/*输出②*/
printf("%d\n",-a%b);/*输出③*/
printf("%d\n",a-=b+++1);/*输出④*/
}
①A.-2B.-1C.0D.1
②A.-10B.-9C.-8D.0
③A.-2B.-1C.0D.1
④A.-10B.-9C.-8D.-7
5.以下C程序正确的运行结果是(D)。
(注:
□表示空格)
main()
{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
二、填空题
6.以下程序的输出结果为(i:
dec=-4,otc=177774,hex=fffc,unsigned=65532)。
main()
{shorti;
i=-4;
printf("\ni:
dec=%d,otc=%o,hex=%x,unsigned=%u\n",i,i,i,i);
}
7.以下程序的输出结果为(c:
dec=120,oct=170,hex=78,ASCII=x)。
main()
{charc='x';
printf("c:
dec=%d,oct=%o,hex=%x,ASCII=%c