C语言程序设计_单元测试题一
本单元包含“C语言概述、数据类型、运算符与表达式、顺序程序”的内容。
一、选择题
1 一个C程序的执行是从                       
A) 本程序的main函数开始,到main函数结束
B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C) 本程序文件的第一个函数开始,到本程序main函数结束
D) 本程序的main函数开始,到本程序文件的最后一个函数结束
2 以下叙述不正确的是                       
A) 一个C源程序必须包含一个main函数
B) 一个C源程序可由一个或多个函数组成
C) C程序的基本组成单位是函数
D) C程序中,注释说明只能位于一条语句的后面
3 以下叙述正确的是                       
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误
B) C程序中,main函数必须位于程序的最前面
C) C语言本身没有输入输出语句
D) C程序的每行中只能写一条语句
4 一个C语言程序是由                       
A)一个主程序和若干个子程序组成
B) 函数组成
C) 若干过程组成
D) 若干子程序组成
5 xijk都是int型变量,则计算下面表达式x=(i=4,j=16,k=32)后,x的值为             
 
A) 4                        B) 16                        C) 32        D) 52
6 下列四组选项中,均不是C语言关键字的选项是                       
A) define        IF        type
B) getc          char      printf
C) include      case      scanf
D) while        go        pow
7 下列四组选项中,均是不合法的用户标识符的选项是                       
A) W                        P_0        do
B) b-a          goto      int
C) float        la0        _A
D) -123          abc        TEMP
8 下列四组选项中,均是合法转义字符的选项是                       
A) ‘\”’      ‘\\’    ‘\n’
B) ‘\’        ‘\017’  ‘\”’
C) ‘\018’      ‘\f’    ‘xab’
D) ‘\\0’      ‘\101’  ‘xlf’
9 下面正确的字符常量是                       
A) “c”        B) ‘\\’’      C) ‘’        D) ‘K’
10 以下叙述不正确的是                       
A) C程序中,逗号运算符的优先级最低
B) C程序中,MAXmax是两个不同的变量
C) ab类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,二b中的值不变
D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
11 以下叙述正确的是                       
A) C程序中,每行只能写一条语句 
B) a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数
C) C程序中,%是只能用于整数运算的运算符
D) C程序中,无论是整数还是实数,都能被准确无误地表示
12 已知字母AASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A+6-3’后,c2中的值为                       
A) D                        B) 68          C) 不确定的值      D) C
9 sizeof(float)         
A) 一个双精度型表达式          B) 一个整型表达式
C) 一种函数表达式                          D) 一个不合法的表达式
13.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为         
A) 0255        B) 032767        C) 065535        D) 02147483647
14.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为           
A) float          B) char          C) int          D) double
15.设以下变量均为int类型,则值不等于7的表达式是       
A) (x=y=6,x+y,x+1)                          B) (x=y=6,x+y,y+1)   
C) (x=6,x+1,y=6,x+y)                        D) (y=6,y+1,x=y,x+1) 
16 putchar函数可以向终端输出一个           
A) 整型变量表达式                      B) 实型变量值
C) 字符串                              D) 字符或字符型变量值
17 printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式      ;如果字符串长度小于5,则输出按方式     
A) 从左起输出该字符串,右补空格    B) 按原字符长从左向右全部输出
C) 右对齐输出该字符串,左补空格    D) 输出错误信息
18 阅读以下程序,当输入数据的形式为:251310<CR>(注:<CR>表示回车),则
正确的输出结果为         
    main()
    {    int x,y,z;
        scanf(“%d%d%d”,&x,&y,&z);
        printf(“x+y+z=%d\n”,x+y+z);
    }
A) x+y+z=48      B) x+y+z=35      C) x+z=35      D) 不确定值
19 根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为       
main()
    {    char ch1,ch2,ch3;
        输入语句
        printf(“%c%c%c”,ch1,ch2,ch3);
    }
    输出形式:A B C
    输入形式:A B
A) scanf(“%c%c%c”,&ch1,&ch2,&ch3);
B) scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);
printf函数的执行顺序
C) scanf(“%c %c %c”,&ch1,&ch2,&ch3);
D) scanf(“%c%c”,&ch1,&ch2,&ch3);
20 已知ch是字符型变量,下面正确的赋值语句是     
A) ch=‘a+b’;    B) ch=‘\0’;    C) ch=‘7’+‘9’;    D) ch=5+9;</P< p>
二、填空题
1 若有以下定义,则计算表达式y+=y-=m*=y后的y值是【1        】。
    int m=5,y=2;
2.  C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为【2        】。
3 sint型变量,且s6,则下面表达式的值为【3            】。
s%2+(s+1)%2
4.  aint型变量,则下面表达式的值为【4        】。
    (a=4*5,a*2),a+6
5 xa均是int型变量,则计算表达式(1)后的x值为【5            】,计算表达式(2)后的x 值为【6        】。
    (1) x=(a=4,6*2)
(2) x=a=4,6*2
6.  aint型变量,则计算下面表达式后a的值为【7            】。
    A=25/3%3
7 xn均是int型变量,且xn的初值均为5,则计算表达式后x的值为【8                】,n的值为【9            】。
x+=n++
8.  若有定义:char c=\010’;则变量c中包含的字符个数为【10            】。
9 若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为【11       
    (x+y)%2+(int)a/(int)b
10. 已知字母aASCII码为十进制数97,且设ch为字符型变量,则表达式ch=a+8-3’的值为【12        】。
9 以下的输出结果是【13        】。
main()
{    short i;
    i=-4;
    printf(“\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n”,i,i,i,i);
}
10.  以下的输出结果是【14        】。
main()
{    char c=‘x’;
    printf(“c:dec=%d,oct=%o,hex=%x,ASCII=%c\n”,c,c,c,c);
}
11 以下的输出结果是【15        】。
main()
{    int x=1,y=2;
    printf(“x=%d y=%d * sum * =%d\n”,x,y,x+y);
    printf(“10 Squared is : %d\n”,10*10);
}
12.  假设变量ab均为整型,以下语句可以不借助任何变量把ab中的值进行交换。请填空。