习题二
一、选择题
1.下列几个选项中,属于C语言的基本数据类型的是(  )。
A.整型、实型、结构体类型        B.整型、实型、字符型
C.整型、逻辑型、实型            D.整型、字符型、数组类型
2.C语言规定,标识符的命名只能由字母、数字和下划线三种字符组成,且第一个字符(  )。
A.必须是字母        B.必须是下划线        C.必须是字母或下划线      D.必须是数字
3.下列标识符中,合法的标识符为(  )。
A.6adc        B._max1        C.a*$bn      D.123bc
4.下列标识符中,不合法的标识符为(  )。
A. int      B. _n5    C. i_5ab    D. q5n
5. 下列不合法的字符常量是(  )。
A.a          B.\”’          C.’\n        D.a
6.下列不合法的字符串常量是(  )。
A.abc          B.abc          C.dfb345            D. 
7.下列不合法的转义字符是(    )。
A. \\     B. \t    C. \x6a     D.\89
8.下面四个选项中,均是不合法的转义字符的选项是(    )。
A.    \’’      \t    \
B.    \1234    \018    \x3h
C.    \n      \16      \”
D.    \x8a    \&      \101
9.下列整型常量中,不合法的是(    )。
A.89    B. -16    C. 0x4b    D.0668
10.下面四个选项中,均是不合法的整型常量的选项是(    )。
A.  -0f1    018    2e5
B.    25    0xf3    3.5
C.  065      -54      -0a4
D.  013    0xk5    -069
11.下列实型常量中,不合法的是(    )。
A.  0.0    B.  .123    C.  123  D.  2.34
12.下列实型常量中,合法的是(    )。
A.  e3    B.  2e4.3    C.  –e4  D.  2e-4
13.下面四个选项中,均是不合法的实型常量的选项是(    )。
A.  3e5.4    0.0    2e5
B.    e5      5e2.5    68
C.  3.14      2e-4    123e-5
D.  0.98      -e-3    123e
14.在C语言中,int、char和short 三种类型数据在内存中所占用的字节数(  )。
A. 由用户自己定义            B. 均为2个字节
C. 是任意的                  D.由所使用的编译系统决定
15. 若有说明语句:char c=’\72’;则变量c(  )。
A.包含1个字符                        B.包含2个字符
C.包含3个字符                        D.说明不合法,c的值不确定
16设变量a是整型,f是实型,i是双精度型,则表达式10+’a’+i*f值的数据类型为(  )。
A. int          B. float              C. double            D.不确定
17设有说明语句:char w; int x; float y; double z; 则表达式w*x+z-y值的数据类型为()。
A. float            B. char              C. int                D. double
18在C语言中,负整数在内存中的存储形式是(  )。
A. 补码          B. 反码            C. 原码            D. ASCII码
19在C语言中,字符型数据在内存中的存储形式是(  )。
A. 补码          B. 反码            C. 原码            D. ASCII码
20在C语言中,实型数据在内存中的存储形式是(  )。
A. 小数形式      B. 指数形式        C. 十进制形式            D. ASCII码
21. C语言中,设一个short型数据在内存中占用2个字节存储,则unsigned short 型数据的取值范围为(    )。
A. 0~255      B. 0~32767        C. 0~65535            D. 0~2147483647
22.在C语言中,设一个float型数据在内存中占用4个字节来存储,则一个float型数据的有效数字位数为(  )。
A. 5          B. 6~7            C.15~16          D. 18~19
23.已知小写字母aASCII码为十进制数97,则执行语句c=’a’+2后,变量c中的字符为(  )。
A.    A            B.  c                C.    C              D. b
24.设有定义float x=3.5;则执行(intx之后,x的值为(  )。
A.  3.500000        B.  3                C.  4              D.  3.0
25.若想确定所使用的编译系统中,int型数据所占用的存储宽度,可使用(float型  )进行测试。
A.int            B.sizeofint          C.intx          D.(sizeof)  int
二、填空题
1.C语言中的实型变量分为两种类型,它们是                           
2.C语言中的常量分为                                          两种类型
3. C语言中的标识符只能由3种字符组成,他们是                               
4. 在C语言中,有一类特殊字符以“\”开头,称为转义字符。转义字符\n的功能是             ;转义字符\r的功能是              
5. 在C语言中,用关键字            定义单精度实型变量,用关键字            定义双精度实型变量,用关键字              定义字符型变量。
6.要定义双精度实型变量ab,并使它们的初值都为5.6,则定义语句为               
7. C语言中一个short型数据占用2个字节存储,一个int型数据占用4个字节存储,则要将数值32768正确无误的存储在变量x中,应使用的定义语句为             
8.若有定义 char ch;则执行ch=’A’+32后,变量ch中的字符为             
9.以下程序运行后的输出结果是         
#include <stdio.h>
void main()
{
int x=011,y=0x5a;
printf("%d,%d\n",x,y);
}
10. 以下程序的输出结果是         
# include<stdio.h>
void main( )
{
printf("Beijing\nChina\n",n);
}
三、思考题
1C语言规定对所有用到的变量必须“先定义,后使用”,这样做有什么好处?
2.字符常量和字符串常量有什么区别?
3.若想要将一个大写字母转换为对应的小写字母,可以如何操作?
4.常量’a’”a”在内存中所占用的字节数是否相同?为什么?
5.若有定义int a;float f,则表达式’c’+a+f的结果为何种数据类型?为什么?
6.设C语言中,一个short型数据占用2个字节存储,若有定义 short x=-12,则变量x的值-12在内存中存储的二进制代码是如何表示的?
7.设C语言中,一个short型数据占用2个字节存储,若有定义short x=32768,则用输出语句printf”%d\n”,x;输出x值为多?为什么?
8.若有xint型变量,则执行x=3.14后,变量x的值为多少?为什么?
9 分析下面两个程序运行结果是否相同?为什么?
程序A:  #include <stdio.h>              程序B: #include <stdio.h>
        void main( )                          void main( )
        {                                  {
          char c1,c2;                          int c1,c2;
          c1=’a’;                              c1=97;
          c2=’b’;                              c2=98;
          printf(“%c,%c\n”,c1,c2);                printf(“%c,%c\n”,c1,c2);
        }                                    }