C语言程序设计技术水平考试复习题纲
一、选择题
C语言的编译系统对宏命令的处理是(    )
A)在程序运行时进行的
B)在程序连接时进行的
C)和C程序中的其它语句同时进行编译的
D)在对源程序中其它语句正式编译之前进行的
下列表达式值为false(假)的是(    )
A1<3 && 5<7                B!(5<10) 
C11 && 0x01                D!(4〈7) || (2〈8)
如果 x 是一个整型变量,那么以下答案(    )是赋值 x = 1/3 的结果
A)0.33
B0。30
C0
D)未定义的无用数据
int x, *p; 下列表达式中正确的是(    )
A5.0%2        Bx+1=5        C&p        D&(x+1)
对以下说明,数值为9的表达式是 (    )
    int a[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p=a;
A*p+9        B)*(P+8)         C)*p+=9        DP+8
以下程序执行后的输出结果是(    )
    void main()
    {
        int k=2, i=2, m;
        m = (k+=i*=k);
        printf(%d,%d\n", m, i);
}
A86        B83      C64         D7,4
以下程序当输入 3 时,输出的结果是(    )
# include <stdio。h>
void main()
int x, y , z;
scanf("%d", &x);
if (x>5)
{
y = 100;
z = —5;
}
printf("%d %d %d”,x, y, z);
}
A3, 无用数据, –5            B5, 无用数据, 3
C3, 无用数据无用数据       D)无用数据, 无用数据无用数据
在下面的代码段中,语句 x = 1 会执行(    )次
for(j =1; j 〈= n; j++)
for(k=1; k 〈=n; k++)
x = 1;
An          Bn(n+1)      Cn2              Dn+n
以下程序段所做工作是(    )
do {
scanf(”%d”, &numb);
} while (numb 〈 1 || numb > 10);
A)读取 [0,11] 范围之内的一个整数
B)读取 [-1,10] 范围之内的一个整数
C)读取 [1,10] 范围之内的一个整数
D)以上三项皆错
在以下四个运算符中,优先级最低的是   
A)*          B+          C/          D)=
如果n=2,以下程序输出结果是(    )
switch (n)
case(1): printf(”You have chosen to add data\n");
break;
case(2): printf("You have chosen to delete data\n");
case(3): printf(”You have chosen to view data\n”);
break;
case(4): printf("You have chosen to print data\n”);
break;
default: printf("Invalid input\n");
break;
}
AYou have chosen to add data
B)You have chosen to delete data
CYou have chosen to delete data
Invalid input
DYou have chosen to delete data
You have chosen to view data
假设char str[10]=”China\0"; 执行strlen(str)后的结果是(      )
A)5                B)6                C)7                D)9
运行以下程序的输出结果是(    )
    void main()
    {
        int n[5]={0}, i, k=2;
        for(i=0; i〈k; i++)
n[i] = n[i] + 1;
        printf(“%d\n”, n[k]);
    }
A)不确定        B)2          C)1        D0
对于定义为 float p[3][3]; 的数组,以下用法错误的是(    )
Ap[0][0]  Bp[1][3]      Cp[1][1]          Dp[1][2]
以下程序的输出结果是(    )
    int a, b;
    void fun()
    {    a=100; b=200 ;}
    void main()
    {
        int a=5, b=7;
        fun();
        printf(“%d%d\n”, a, b);
    }
A100200            B57            C200100            D)75
(    )可以是结构体的一部分
A)字符串常量            B)整数变量      C)整数常量        D)字符常量
函数原型声明应该放置在(    )
A)在 main() 函数之中
B)作为 main() 函数中的第一个语句
C)恰好在函数本身的定义之前   
D)在其他所有函数之前(包括 main() 函数)
在调用一个函数时,主调函数将通过(    )的变量列表传递给被调函数
A)形式参数            B)实际参数  C)寄存器变量        D)局部变量
全局变量的作用域限于 (      )
A整个程序包括的所有文件
B)定义该变量的语句所在的函数
C本程序文件
D从定义变量的位置开始到本程序结束
当n=—4时,以下代码段将会发生什么情况(    )
int factorial(int n)
if (n==0)
return 1;
字符串常量在存储时末尾以什么结束else
return factorial(n-1) * n;
}
A)递归函数返回0
B)递归函数进入无限循环
C)递归函数返回 —4 的阶乘
D)以上三项皆错
递归调用中的函数状态将在(    )中得到保持
A)堆栈            B)堆(Heap)        C)树                D)以上皆错
以下程序的输出结果是 (      )
void fun(int x, int y, int z)
{
z = x*x+y*y;
void main()
{
int a=31;
fun(5, 2, a);
printf(“%d”,a);
A)0                B)29            C)31            D)无定值
对于声明 int a[100] int j,表达式 *(a + j) 等价于引用(    )
A)a[j—1]            Ba[j+1]        Ca            Da[j]
以下循环体的执行次数是(          )
    void main()
    { int i,j;
          for(i=0,j=1;  i〈=j+1; i+=2, j—-)
printf(”%d \n",i);

A)2          B)3          C)0              D)1
有以下程序
#include <stdio.h〉
void main( )
{
    int i,n=0;
    for(i=2;i〈5;i++)
    {
      do
      {
          if(i%3) continue;
          n++;
      } while(!i);
      n++;
    }
    printf(”n=%d\n",n);
则程序执行后的输出结果是(    )
A)n=4               B)n=2        C)n=3        D)n=5
以读写方式打开一个已有的文本文件file1, 下面fopen函数正确的调用方式是(    )
A)FILE *fp; fp=fopen(“file1""r);
B)FILE *fp; fp=fopen(file1r+"); 
C)FILE *fp; fp=fopen(file1rb);
D)FILE *fp; fp=fopen(file1rb+);
当 int b=2;时,表达式 (b<〈2) / (b>>1)的值是(    )
A)0                B)2            C)4            D)8
C语言规定:在一个源程序中,main()函数的位置(    )。
    A、 必须在最开始        B、必须在系统调用的库函数的后面
C、 可以任意        D、必须在最后
若x、i、j和k都是int型变量,那么执行表达式x=(i=4,j=16,k=32);后,x的值为(    )。
A4        B16      C32    D52
在C语言程序中(      )
    A、函数的定义可以嵌套,但函数的调用不可以嵌套
    B、函数的定义不可以嵌套,但函数的调用可以嵌套
    C、函数的定义和函数的调用不可以嵌套
    D、函数的定义和函数的调用均可以嵌套
sizeof(double)的返回值类型是(      )。
    A、 双精度型    B、 单精度型
    C、 整型        D、 不合法
puts函数可以向终端输出一个(      )
A、整型变量表达式值              B、实型变量值
C、字符或字符型变量值              D、字符串
已知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);
判断char型变量ch是否为小写字母的正确表达式是(    ).
    A、 ’a’〈=ch<='z’            B、 (ch〉=’a’)&(ch<=’z’
C、 (ch>='a')&&(ch〈=’z’)      D、 (ch〉=’a’) AND (ch<=’z'

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