专科《C语言程序设计》练习测试题及答案
一、选择题(下列各题有四个选项,只有一个答案是正确的,请选出正确选项)
1.一个C程序的执行是从  A 
A) 本程序的main函数开始,到main函数结束
B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C) 本程序的main函数开始,到本程序文件的最后一个函数结束
D) 本程序文件的第一个函数开始,到本程序main函数结束
2.以下叙述正确的是 C   
A) C程序中,main函数必须位于程序的最前面
B) C程序的每行中只能写一条语句
C) C语言本身没有输入输出语句
D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误
3.以下叙述不正确的是  D 
A) 一个C源程序可由一个或多个函数组成
B) 一个C源程序必须包含一个main函数
C) C程序的基本组成单位是函数
D) C程序中,注释说明只能位于一条语句的后面
4.C语言规定:在一个源程序中,main函数的位置  C 
A) 必须在最开始
B) 必须在系统调用的库函数的后面
C) 可以任意
D) 必须在最后
5.一个C语言程序是由   B 
A) 一个主程序和若干子程序组成
B) 函数组成
C) 若干过程组成
D)若干子程序组成
6.C语言中(以16PC机为例),5种基本数据类型的存储空间长度的排列顺序为  A 
A) char<int<long int<=float<double
B) char=int<long int<=float<double
C) char<int<long int=float=double
D) char=int=long int<=float<double
7.xijk都是int型变量,则执行下面表达式后x的值为 C   
    x=(i=4,j=16,k=32)
            A)4        B)16    C)32    D)52
8.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是 B   
            A)7        B)8        C)6        D)2
9.下列四组选项中,均不是C语言关键字的选项是  A 
c语言程序分析题及答案
A) define    IF        type
B) getc        char    printf
C) include    scanf    case
D) while    go        pow
10.下列四个选项中,均是C语言关键字的选项是  B 
A)     auto    enum    include
B) switch    typedef    continue
C) signed    union    scanf
D) if        struct    type
11.下面四个选项中,均不合法的用户标识符的选项是  C 
A) A        P_0        do
B) float    la0        _A
C) b-a        goto    int
D) _123        temp    INT   
12.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符  C 
A) 必须为字母
B) 必须为下划线
C) 必须为字母或下划线
D) 可以是字母、数字和下划线中任一种字符
13.下面四个选项中,均是合法整型常量的选项是  A 
A) 160        -0xffff        011
B) -0xcdf    01a            0xe
C) -01        986,012        0668
D) -0x48a    2e5            0x
14.下面四个选项中,均是不合法的整型常量的选项是  D 
A) --0f1    -0xffff        0011
B) -0Xcdf    017            12,456
C) -018        999            5e2
D) -0x48eg    -068        03f
15.下面四个选项中,均是不合法的浮点数的选项是  B 
A) 160    0.12        e3
B) 123        2e4.2        .e5
C) -.18        123e4        0.0
D) -e3        .234        1e3
16.下面四个选项中,均是合法浮点数的选项是  B 
A) +1e+1    5e-9.4        03e2
B) -.60        12e-4        -8e5
C) 123e        1.2e-.4        +2e-1
D) -e3        .234        5.e-0
17.下面四个选项中,均是合法转义字符的选项是  A 
A) \’’    \\        \n
B) \    \017    \
C) \018    \f        xab
D) \\0    \101    x1f   
18.下面四个选项中,均是不合法的转义字符的选项是  B 
A) \        \\        \xf
B) \1011    \        \a
C) \011        \f        \}
D) \abc        \101     xlf
19.下面正确的字符常量是  C 
            A)“c        B) \\’’    C) W    D) ‘’
20.下面四个选项中,均是不正确的八进制数或十六进制数的选项是  D 
A) 016        0x8f    018
B) 0abc        017        0xa
C) 010        -0x11    0x16
D) 0a12        7ff        -123
21.下面四个选项中,均是正确的八进制数或十六进制数的选项是  C 
A) -10        0x8f    -011
B) 0abc        -017    0xc
C) 0010        -0x11    0xf1
D) 0a12        -0x123    -0xa
22.下面四个选项中,均是正确的数值常量或字符常量的选项是  D 
A) 0.0        0f            8.9e    ‘&’
B) a    3.9E-2.5    1e1        \
C) ‘3’    011            0xFF00    0a
D) +011        0xabcd        2e2        50.
23.下面不正确的字符串常量是 A   
            A)‘abc’    B)“1212    C)“0        D)“ ”
24.对应以下各代数式中,若变量ax均为double类型,则不正确的C语言表达式是  C 
            代数式                        C语言表达式
A)                 exp(x*x/2)/sqrt(2*3.14159)
B)             1.0/2.0*(a*x+(a+x)/(4*a)
C)                 sqrt((pow(sin(x*3.14159/180),2.5))
D)                 x*x-exp(5.0)
25.若有代数式,则不正确的C语言表达式是  C 
A) a/b/c*e*3
B) 3*a*e/b/c
C) 3*a*e/b*c
D) a*e/c/b*3
26.已有如下定义和输入语句,若要求a1a2c1c2的值分别为1020AB,当从第一列开始输入数据时,正确的数据输入方式是  D 
    int a1,a2; char c1,c2;
    scanf(%d%d,&a1,&a2);
    scanf(%c%c,&c1,&c2);
            A1020AB<CR>            B10 20<CR>
                                      AB<CR>
            C10  20  AB<CR>        D10 20AB<CR>
27.已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为  D 
    main()
    {
            int a; float f;
            printf(\nInput number:);
            输入语句
            printf(\nf=%f,a=%d\n,f,a);
    }
    Input number:4.5 2<CR>
A) scanf(%d,%f,&a,&f);
B) scanf(%f,%d,&f,&a);
C) scanf(%d%f,&a,&f);
D) scanf(%f%d,&f,&a);
28.根据定义和数据的输入方式,输入语句的正确形式为  B 
    已有定义:float f1,f2;
    数据的输入方式:4.52
            3.5
A) scanf(%f,%f,&f1,&f2);
B) scanf(%f%f,&f1,&f2);
C) scanf(%3.2f %2.1f,&f1,&f2);
D) scanf(%3.2f%2.1f,&f1,&f2);
29.阅读以下程序,当输入数据的形式为 25,13,10<CR> 正确的输出结果为  D 
    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) 不确定值
30.阅读以下程序,若运行结果为如下形式,输入输出语句的正确内容是  B 
    main()
    {
            int x; float y;
            printf(enter x,y:);
            输入语句
            输出语句
    }
    输入形式        enter x,y:2 3.4
    输出形式        x+y=5.40
A) scanf(%d,%f,&x,&y);
printf(\nx+y=%4.2f,x+y);
B) scanf(%d%f,&x,&y);
printf(\nx+y=%4.2f,x+y);
C) scanf(%d%f,&x,&y);
printf(\nx+y=%6.1f,x+y);
D) scanf(%d%3.1f,&x,&y);
printf(\nx+y=%4.2f,x+y);
31.以下说法正确的是  D 
A) 输入项可以为一实型常量,如scanf(%f,3.5);
B) 只有格式控制,没有输入项,也能进行正确输入,如scanf(a=%d,b=%d);
C) 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4.2f,&f);
D) 当输入数据时,必须指明变量的地址,如scanf(%f,&f);
32.根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确的形式应该为  A 
    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);
C) scanf(%c %c %c,&ch1,&ch2,&ch3);
D) scanf(%c%c,&ch1,&ch2,&ch3);
33.有输入语句:scanf(a=%d,b=%d,c=%d,&a,&b,&c);为使变量a的值为1b3c2,从键盘输入数据的正确形式应当是  D 
A) 132<回车>
B) 1,3,2<回车>
C) a=1 b=3 c=2<回车>
D) a=1,b=3,c=2<回车>
34.以下能正确地定义整型变量abc并为其赋初值5的语句是  A 
            Aint a=b=c=5;                Bint a,b,c=5;
            Ca=5,b=5,c=5;                Da=b=c=5;
35.已知ch是字符型变量,下面不正确的赋值语句是  A 
            Ach=a+b;    Bch=\0;    Cch=7+9;    Dch=5+9;
36.逻辑运算符两侧运算对象的数据类型  B 
A) 只能是01
B) 只能是0或非0正数
C) 只能是整型或字符型数据
D) 可以是任何类型的数据
37.以下关于运算符优先顺序的描述中正确的是  C 
A) 关系运算符<算术运算符<赋值运算符<逻辑与运算符
B) 逻辑与运算符<关系运算符<算术运算符<赋值运算符
C) 赋值运算符<逻辑与运算符<关系运算符<算术运算符

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