C程序设计题库
一、单项选择题
1. 基础知识
1、以下说法中正确的是(  )
A、C语言程序总是从第一个的函数开始执行
B、在C语言程序中,要调用的函数必须在main()函数中定义
C、C语言程序总是从main()函数开始执行
D、C语言程序中的main()函数必须放在程序的开始部分
答案:C
2、下列字符序列中,可用作C标识符的一组字符序列是(  )。
A)  S.b,sum,average,_above      B)  class,day,lotus_1,2day
C)  #md,&12x,month,student_n!  D)  D56,r_1_2,name,_st_1
答案:D
3、以下标识符中,不能作为合法的C用户定义标识符的是()。
A)  a3_b3  B)  void  C)  _123  D)  IF
答案:B
4、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)
A、 6.500000      B、 6        C、 5.500000          D、 6.000000
5、以下的选择中,正确的赋值语句是()。
A)  a=1,b=2  B)  j++  C)  a=b=5;  D)  y=int(x)
答案:C
6、在C语言中,能代表逻辑值“真”的是()。
A)  True  B)  大于0的数  C)  非0整数  D)  非0的数
答案:D
7、下列程序的输出结果是()。
main()
{char c1=97,c2=98;
printf("%d %c",c1,c2);
}
A)  97 98 B)  97 b  C) a 98  D) a b
答案:B
8、执行下列语句后变量x和y的值是()。
y=10;x=y++;
A)  x=10,y=10  B)  x=11,y=11  C)  x=10,y=11  D)  x=11,y=10
答案:C
9、设a=12,且a定义为整型变量。执行语句a+=a-=a*=a;后a的值为()。
A)  12  B)  144  C)  0  D)  132
答案:C
10、已知year为整型变量,不能使表达式(year%4==0&&year%100!=0)||year%400==0的值为“真”的数据是()。
A)  1990  B)  1992  C)  1996  D)  2000
答案:A
11、下列程序的输出结果是()。
main()
{int  a=7,b=5;
printf("%d\n",b=b/a);
}
A)  0  B)  5  C)  1  D)  不确定值
答案:A
12.以下关于运算符优先顺序的描述中正确的是( )。
  A)  关系运算符<算术运算符<赋值运算符<逻辑运算符
  B)  逻辑运算符<关系运算符<算术运算符<赋值运算符
  C)  赋值运算符<逻辑运算符<关系运算符<算术运算符
  D)  算术运算符<关系运算符<赋值运算符<逻辑运算符
答案:C
13、已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是( )
A、scanf("%2d%2d%2d",&i,&j,&k);
B、scanf("%d %d %d",&i,&j,&k); C、scanf("%d,%d,%d",&i,&j,&k);
D、scanf("i=%d,j=%d,k=%d",&i,&j,&k);
答案:C
14 有以下程序
#include <stdio.h>
main()
{ char c1,c2;
  c1=’A’+’8’-‘4’;
  c2=’A’+’8’-‘5’;
printf(“%c,%d\n”,c1,c2);
}
已知字母A的ASCII码为65,程序运行后的输出结果是( )
    (A) E,68    (B) D,69  (C) E,D  (D)输出无定值
答案:A
15、若有以下类型说明语句:char w; int x; float y; double z;则表达式 w*x+z-y 的结果类型是( )
A、float        B、char        C、int        D、double
答案:D
16、关于局部变量,下列说法正确的是 (  )。
A、 定义该变量的程序文件中的函数都可以访问。
B、 定义该变量的函数中的定义处以下的任何语句都可以访问。
C、 定义该变量的复合语句的定义处以下的任何语句都可以访问。   
D、 局部变量可用于函数之间传递数据。
答案:D
17.若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);a赋于10.0b赋予22.0c赋予33.0,不正确的输入形式是:(   
A) 10<回车>        B) 10.0,22.0,33.0<回车>
  22<回车>
  33<回车>
C) 10.0<回车>        D) 10 22<回车>
  22.0 33.0<回车>      33<回车>
答案:B
2.三大结构
(1) 下列程序的运行结果是(  )
#include <stdio.h>
void main()
{
    char c1 = '6', c2 = '0';
    printf("%c,%c,%d\n",c1,c2,c1-c2);
}
A.因程序格式不合法,提示出错信息    B.6,0,6
C.6,0,7                    D.6,0,5令数组全部的值为0
(2) 下列程序的运行结果是(  )
#include <stdio.h>
void main()
{
    double x = 2.0, y;
    if(x<0.0) y = 0.0;
    else if(x<10.0) y = 1.0/x;
    else y = 1.0;
    printf("%f\n",y);
}
A.0.000000    B.0.250000    C.0.500000    D.1.000000
(3) 下列程序的运行结果是( )
#include <stdio.h>
void main()
{
    int a = 2, b = -1, c = 2;
    if( b < 0) c = 0;
    else c = c + 1;
    printf("%d\n",c);
}
A.0    B.1    C.2    D.有语法错误
(4) 下列程序的运行结果是( )
#include <stdio.h>
void main()
{
    int a = 100;
    if( a > 0) printf("%d\n", a > 100);
    else printf("%d\n", a <= 100);
}
A.0    B.1    C.100    D.-1
(5) 下列程序的运行结果是( )
#include <stdio.h>
void main()
{
    int x = 1, a = 0, b = 0;
   
    switch(x)
    {
        case 0: b = b + 1;
        case 1: a = a + 1;
        case 2: a = a + 1; b = b + 1;
    }   
   
    printf("a=%d,b=%d\n", a, b);
}
A.a=2,b=1    B.a=1,b=1    C.a=1,b=0    D.a=2,b=2
3.函数
1.以下正确的函数定义形式是(    )。
A. double fun(int x,int y)
B. double fun(int x; int y)
C. double fun(int x, int y);
D. double fun(int x,y)
2. C语言中,简单变量作为实参时,它和对应形参之间的数据传递方式是(    )。
A. 地址传递                                        B. 单向值传递   
C. 由实参传递给形参,再由形参传递给实参            D. 由用户指定传递方式
3. C语言程序中以下正确的描述是(      )。
A. 函数的定义可以嵌套,但函数的调用不可以嵌套
B. 函数的定义不可以嵌套,但函数的调用可以嵌套
C. 函数的定义和函数的调用均不可以嵌套
D. 函数的定义和函数的调用均可以嵌套
4. 若数组名作为函数调用的参数,则传递给形参的是(      )。
A. 数组的首地址            B. 数组第一个元素的值
C. 数组中全部元素的值        D. 数组元素的个数
5. 若调用一个函数,且此函数中没有return语句,则正确的说法是(    )。
A. 没有返回值                              B.返回若干个系统默认值
C. 能返回一个用户所希望的函数值        D. 返回一个不确定的值
6. C语言中,以下说法正确的是(    )。
A. 实参和与其对应的形参各占用独立的存储单元
B. 实参和与其对应的形参共占用一个存储单元
C. 只有当实参与其对应的形参同名时才共占用存储单元
D. 形参是虚拟的,不占用存储单元
7. 以下正确的说法是(      )
A.用户若需要调用标准库函数,调用前必须重新定义 
B.用户可以重新定义标准库函数,如若此,该函数将失去原有定义
C. 系统不允许用户重新定义标准库函数 
D. 用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用。
8. 以下不正确的说法是(      )
A. 实参可以是常量,变量或表达式
B. 形参可以是常量,变量或表达式 
C. 实参可以为任意类型
D. 如果形参和实参的类型不一致,以形参类型为准
9.C语言规定,函数返回值的类型是由(    )决定的。
A. return语句中的表达式类型 
B. 调用该函数时的主调函数类型
C. 调用该函数时由系统临时 
D. 在定义函数时所指定的函数类型
10. 以下正确的函数定义是(    )
A. double fun(int x, int y)              B.double fun(int x,y)
  { z=x+y;  return z;  }                  { int z;  return z }
C. fun (x,y)                      D. double fun (int x, int y)               

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