练习1-1答案选择题1.下列4组字符串中都可以用作C语言程序中的标识符的是( D )。
A.print 3d oodb B.I\m one_half start$itC.Pxq my->book line# D.str_1 Cpp into2.下面的说法正确的是( C )。
A.C程序由符号构成B.C程序由标识符构成C.C程序由函数构成D.C程序由C语句构成3.与十进制数35相等的二进制数是( A )。
A.100011 B.01001 C.100110 D.100101 4.与47值相等的十六进制数是( A )。
A.2F B.215 C.32F D.115 5.(01101)2 + (101101)2的值是( B )。
A.(101010)2 B.(3A)16 C.(2A)16 D.576.将15向左移动2位后的值是( D )。
A.(3C)16 B.(00111100)2 C.(60)10 D.都正确7.将250与5进行按位与的结果是( A )。
A.0 B.1 C.(FF)16 D.(F0)16 8.将(AF)16与(78)16进行按位异或的结果是( A )。
A.(D7)16 B.(28)16 C.(D8)16 D.(27)16 9.将(717)8按位取反的结果是( B )。
A.(110001)2 B.(060)8 C.(60)10 D.都不正确练习2-1答案选择题1.C语言中的简单数据类型包括( B )。
A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型2.在C语言中,错误的int类型的常数是( A )。
A.32768 B.0 C.037 D.0Xaf3.下列常数中不能作为C的常量的是( D )。
A.0x45 B.2.5e-2 C.3e2 D.05824.设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是( B )。
A.0至255 B.0~65535 C.-32768~32767 D.-256~255 5.下面4个选项中,均是合法转义字符的选项是( A )。
A.'\'','\\','\n' B.'\','\017','\'C.'\018','\f','xab' D.'\\0,'101','x1f6.在C语言中,数字029是一个( D )。
A.八进制数B.十六进制数 C.十进制数D.非法数7.下列可以正确表示字符型常数的是( B )。
A."a" B.'\t' C."\n" D.2978.以下( C )是错误的转义字符。
A.'\\' B.'\'' C.'\81' D.'\0'9.C语言中整数-8在内存中的存储形式是( A )。
A.1111 1111 1111 1000 B.100000000000 1000C.000000000000 1000 D.1111 1111 1111 011110.将字符g赋给字符变量c,正确的表达式是( C )。
A.c="g" B.c=101 C.c='\147' D.c='0147' 11.字符串"\\\22a,0\n"的长度是( C )。
A.8 B.7 C.6 D.512.为求出s=10!的值,则变量s的类型应当为( D )。
A.int B.unsigned C.long D.以上三种类型均可13.已知:unsigned int x=65535;,则执行以下语句输出是( D )。
printf("%d\n", x);A.65535 B.1 C.无定值D.-1 14.下面4个选项中,均是合法整型常量的选项是( A )。
A.160,-0xffff,011 B.-0xcdf,01ª,0xeC.-01,986,012,0668 D.-0x48a,2e5,0x15.下面4个选项中,均是不合法的整型常量的选项是( D )。
A.--0f1,-0xffff,0011 B.-0Xcdf,01a,0xeC.-018,999,5e2 D.-0x48eg,-068,03f16.下面4个选项中,均是合法浮点数的选项是( B )。
A.+1e+1,5e-9.4,03e2 B.-.60,12e-4,-8e5C.123e,1.2e-.4,+2e-1 D.-e3,.8e-4,5.e-0练习2-2答案选择题1.已知:char a; int b; float c; double d;,执行语句c=a+b+c+d;后,变量c的数据类型是( C )。
A.int B.char C.float D.double2.已知int j, i=1;,执行语句j=-i++;后,j的值是( C )。
A.1 B.2 C.-1 D.-23.已知int i, a;,执行语句i=(a=2*3, a*5), a+6;后,变量i的值是( C )。
A.6 B.12 C.30 D.364.已知int i=5;,执行语句i+=++i;,i的值是( C )。
A.10 B.11 C.12 D.A、B、C答案都不对5.已知:float x=1, y;,则表达式y=++x*++x的结果为( B )。
A.9 B.6 C.1 D.表达式是错误的6.已知:int y; float x=-3;,执行语句:y=x%2;,则变量y的结果是( D )。
A. 1 B.-1 C.0 D.语句本身是错误的7.已知:char w; int x; float y; double z;,则表达式w*x+z-y结果的类型是( D )。
A.float B.char C.int D.double8.已知:int x=10, y=3, z;,则下列语句的输出结果是( D )。
printf("%d\n", z=(x%y, x/y));A.1 B.0 C.4 D.39.已知:int i=6, j;,则执行语句j=(++i)+(i++);后的j的值是( B )。
A.4 B.14 C.13 D.1510.已知:int x=1, y=-1;,则语句printf("%d\n", (x--&++y));的输出结果是( B )。
A.1 B.0 C.-1 D.211.设a=2,b=3,计算表达式c=b*=a-1后,变量c的值是( B )。
A.5 B.3 C.2 D.412.若定义了int x;,则将x强制转化成双精度类型应该写成( A )。
A.(double)x B.x(double) C.double(x) D.(x)double 13.下述程序的输出是( A )。
main(){ int x=023;printf("%f", 2.5+1*7%2/4); }A.2.500000 B.2.750000 C.3.375000 D.3.00000014.若有定义:int a=7; float x=2.5, y=4.7;,则表达式x+a%3*(int)(x+y)%2/4的值是( A )。
A.2.500000 B.2.750000 C.3.500000 D.0.00000015.设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第3位进行四舍五入运算的表达式是( B )。
A.n=(n*100+0.5)/100.0 B.m=n*100+0.5, n=m/100.0C.n=n*100+0.5/100.0 D.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.getchar B.scanf C.putchar D.printf 2.执行语句:printf("The program\'s name is c:\\tools\book.txt");后输出是( D )。
A.The program's name is c:tools book.txtB.The program's name is c:\tools book.txtC.The program's name is c:\\tools book.txtD.The program's name is c:\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.选择程序的运行结果,①是( B )、②是( B )、③是( D )、④是( C )。
#include<stdio.h>main(){int a=-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.-2 B.-1 C.0 D.1②A.-10 B.-9 C.-8 D.0③A.-2 B.-1 C.0 D.1④A.-10 B.-9 C.-8 D.-7 5.以下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=□□□□□□□□4630y=#########2456 y=#########4630C.y=2456 D.y=4630y=□□□□2456 y=□□□□4630y=□□□02456 y=□□□04630二、填空题6.以下程序的输出结果为( i:dec=-4, otc=177774, hex=fffc, unsigned=65532 )。