1-1答案
选择题
1.下列4组字符串中都可以用作C语言程序中的标识符的是( D )。
A.print  3d  oodb                        B.I\m  one_half  start$it
C.Pxq  my->book  line#                D.str_1  Cpp  into
2.下面的说法正确的是( 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.57
6.将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.0Xaf
3.下列常数中不能作为C的常量的是( D )。
A.0x45                B.-2            C.3e2                D.0582
4.设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''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.1111 1111 1111 1000                    B. 1000
C.000000000000 1000                    D.1111 1111 1111 0111
10.将字符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.5
12.为求出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-0xffff011                    B.-0xcdf01a0xe
C.-01986,0120668                D.-0x48a2e50x
15.下面4个选项中,均是不合法的整型常量的选项是( D )。
A.--0f1-0xffff0011                B.-0Xcdf01a0xe
C.-0189995e2                        D.-0x48eg-06803f
16.下面4个选项中,均是合法浮点数的选项是( B )。
A.+1e+1,,03e2                B.12e-4-8e5
C.123e,,+2e-1                D.-e3.8e-4
练习2-2答案
选择题
1.已知:char a; int b; float c; double d;,执行语句c=a+b+c+d;后,变量c的数据类型是( C )。
c语言定义一个字符串A.int                B.char                C.float                D.double
2.已知int j, i=1;,执行语句j=-i++;后,j的值是( C )。
A.1                B.2                C.-1                D.-2
3.已知int i, a;,执行语句i=(a=2*3, a*5), a+6;后,变量i的值是( C )。
A.6                B.12                C.30                D.36
4.已知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.double
8.已知:int x=10, y=3, z;,则下列语句的输出结果是( D )。
printf("%d\n", z=(x%y, x/y));
A.1                B.0                C.4                D.3
9.已知:int i=6, j;,则执行语句j=(++i)+(i++);后的j的值是( B )。
A.4                B.14                C.13                D.15
10.已知:int x=1, y=-1;,则语句printf("%d\n", (x--&++y));的输出结果是( B )。
A.1                B.0                C.-1                D.2
11.设a=2,b=3,计算表达式c=b*=a-1后,变量c的值是( B )。
A.5                B.3                C.2                D.4
12.若定义了int x;,则将x强制转化成双精度类型应该写成( A )。
A.(double)x        B.x(double)        C.double(x)        D.(x)double
13.下述程序的输出是( A )。
main()
{    int x=023;
    printf("%f", +1*7%2/4); }
A.        B.2.750000        C.        D.
14.若有定义:int a=7; float x=, y=;,则表达式x+a%3*(int)(x+y)%2/4的值是( A )。
A.            B.2.750000        C.        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.getchar            B.scanf            C.putchar            D.printf
2.执行语句:printf("The program\'s name is c:\\tools\");后输出是( D )。
A.The program's name is c:tools
B.The program's name is c:\tools
C.The program's name is c:\\tools
D.The program's name is c:\
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()
{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=□□□□□□□□4630
  y=>####2456                      y=>####4630
C.y=2456                                D.y=4630
  y=□□□□2456                          y=□□□□4630
  y=□□□02456                          y=□□□04630
二、填空题
6.以下程序的输出结果为( i:dec=-4, otc=177774, hex=fffc, unsigned=65532 )。
main()
{short i;
    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 )。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论