您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > C语言第一章习题带答案
--1-练习1-1答案选择题1.下列4组字符串中都可以用作C语言程序中的标识符的是(D)。A.print3doodbB.I\mone_halfstart$itC.Pxqmy-bookline#D.str_1Cppinto2.下面的说法正确的是(C)。A.C程序由符号构成B.C程序由标识符构成C.C程序由函数构成D.C程序由C语句构成3.与十进制数35相等的二进制数是(A)。A.100011B.01001C.100110D.1001014.与47值相等的十六进制数是(A)。A.2FB.215C.32FD.1155.(01101)2+(101101)2的值是(B)。A.(101010)2B.(3A)16C.(2A)16D.576.将15向左移动2位后的值是(D)。A.(3C)16B.(00111100)2C.(60)10D.都正确7.将250与5进行按位与的结果是(A)。A.0B.1C.(FF)16D.(F0)168.将(AF)16与(78)16进行按位异或的结果是(A)。A.(D7)16B.(28)16C.(D8)16D.(27)169.将(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.0Xaf3.下列常数中不能作为C的常量的是(D)。A.0x45B.2.5e-2C.3e2D.05824.设int类型的数据长度为2个字节,则unsignedint类型数据的取值范围是(B)。A.0至255B.0~65535C.-32768~32767D.-256~2555.下面4个选项中,均是合法转义字符的选项是(A)。A.'\'','\\','\n'B.'\','\017','\'C.'\018','\f','xab'D.'\\0,'101','x1f6.在C语言中,数字029是一个(D)。A.八进制数B.十六进制数C.十进制数D.非法数7.下列可以正确表示字符型常数的是(B)。A.aB.'\t'C.\nD.2978.以下(C)是错误的转义字符。--2-A.'\\'B.'\''C.'\81'D.'\0'9.C语言中整数-8在内存中的存储形式是(A)。A.1111111111111000B.1000000000001000C.0000000000001000D.111111111111011110.将字符g赋给字符变量c,正确的表达式是(C)。A.c=gB.c=101C.c='\147'D.c='0147'11.字符串\\\22a,0\n的长度是(C)。A.8B.7C.6D.512.为求出s=10!的值,则变量s的类型应当为(D)。A.intB.unsignedC.longD.以上三种类型均可13.已知:unsignedintx=65535;,则执行以下语句输出是(D)。printf(%d\n,x);A.65535B.1C.无定值D.-114.下面4个选项中,均是合法整型常量的选项是(A)。A.160,-0xffff,011B.-0xcdf,01ª,0xeC.-01,986,012,0668D.-0x48a,2e5,0x15.下面4个选项中,均是不合法的整型常量的选项是(D)。A.--0f1,-0xffff,0011B.-0Xcdf,01a,0xeC.-018,999,5e2D.-0x48eg,-068,03f16.下面4个选项中,均是合法浮点数的选项是(B)。A.+1e+1,5e-9.4,03e2B.-.60,12e-4,-8e5C.123e,1.2e-.4,+2e-1D.-e3,.8e-4,5.e-0练习2-2答案选择题1.已知:chara;intb;floatc;doubled;,执行语句c=a+b+c+d;后,变量c的数据类型是(C)。A.intB.charC.floatD.double2.已知intj,i=1;,执行语句j=-i++;后,j的值是(C)。A.1B.2C.-1D.-23.已知inti,a;,执行语句i=(a=2*3,a*5),a+6;后,变量i的值是(C)。A.6B.12C.30D.364.已知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.double8.已知:intx=10,y=3,z;,则下列语句的输出结果是(D)。printf(%d\n,z=(x%y,x/y));--3-A.1B.0C.4D.39.已知:inti=6,j;,则执行语句j=(++i)+(i++);后的j的值是(B)。A.4B.14C.13D.1510.已知:intx=1,y=-1;,则语句printf(%d\n,(x--&++y));的输出结果是(B)。A.1B.0C.-1D.211.设a=2,b=3,计算表达式c=b*=a-1后,变量c的值是(B)。A.5B.3C.2D.412.若定义了intx;,则将x强制转化成双精度类型应该写成(A)。A.(double)xB.x(double)C.double(x)D.(x)double13.下述程序的输出是(A)。main(){intx=023;printf(%f,2.5+1*7%2/4);}A.2.500000B.2.750000C.3.375000D.3.00000014.若有定义:inta=7;floatx=2.5,y=4.7;,则表达式x+a%3*(int)(x+y)%2/4的值是(A)。A.2.500000B.2.750000C.3.500000D.0.00000015.设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第3位进行四舍五入运算的表达式是(B)。A.n=(n*100+0.5)/100.0B.m=n*100+0.5,n=m/100.0C.n=n*100+0.5/100.0D.n=(n/100+0.5)*100.016.已知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.printf2.执行语句:printf(Theprogram\'snameisc:\\tools\book.txt);后输出是(D)。A.Theprogram'snameisc:toolsbook.txtB.Theprogram'snameisc:\toolsbook.txtC.Theprogram'snameisc:\\toolsbook.txtD.Theprogram'snameisc:\toolook.txt3.以下程序的输出结果是(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-4.选择程序的运行结果,①是(B)、②是(B)、③是(D)、④是(C)。#includestdio.hmain(){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.-75.以下C程序正确的运行结果是(D)。(注:□表示空格)main(){inty=2456;printf(y=%3o\n,y);printf(y=%8o\n,y);printf(y=%#8o\n,y);}A.y=□□□2456B.y=□□□4630y=□□□□□□□□2456y=□□□□□□□□4630y=#########2456y=#########4630C.y=2456D.y=4630y=□□□□2456y=□□□□4630y=□□□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\n,c,c,c,c);}8.已有定义intd=-2;,执行以下语句后的输出结果是:(*d(1)=-2*d(2)=□-2*d(3)=-2□**d(4)=177776*d(5)=□177776*d(6)=177776□*--5-*d(4)=fffe*d(5)=□□fffe*d(6)=ffffe□□*)。(注:□表示空格)printf(*d(1)=%d*d(2)=%3d*d(3)=%-3d*\n,d,d,d,d);printf(*d(4)=%o*d(5)=%7o*d(6)=%-7o*\n,d,d,d,d);printf(*d(4)=%x*d(5)=%6x*d(6)=%-6x*\n,d,d,d,d);9.以下程序的输出结果是:(a=374a=0374a=fca=0xfc)。#includestdio.hmain(){inta=252;printf(a=%oa=%#o\n,a,a);printf(a=%xa=%#x\n,a,a);}练习3-2答案选择题1.已知:intx,y,z,w;,为使以下语句的输出为:1234+123+12+1,正确的输入形式应当为(C)。scanf(%4d-%3d-%2d-%1d,&x,&y,&z,&w);printf(%4d+%3d+%2d+%1d\n,x,y,z,w);A.1234123121B.1234123121C.1234-123-12-1D.1234+123+12+12.已知:intx;floaty;,所用的scanf调用语句格式为:scanf(x=%d,y=%f,&x,&y);为了将数据10和66.6分别赋给x和y,正确的输入应当使(A)。A.x=10,y=66.6回车B.10,66.6回车C.10回车66.6回车D.x=10回车y=66.6回车3.已知:intx,y;doublez;,以下语句中错误的函数调用是(D)。A.scanf(%d,%x,%1e,&x,&y,&z);B.scanf(%2d*%d%1f,&x,&y,&z);C.scanf(%x%*d%o,&x,&y);D.scanf(%x%o%6.2f,&x,&y,&z);4.已有如下定义和输入语句,若要求a1、a2、c1、c2的值分别为10、2
本文标题:C语言第一章习题带答案
链接地址:https://www.777doc.com/doc-6522713 .html