1.main( )函数的位置(D)。
A.必须在自定义函数后面              B.必须在自定义函数前面
C. 必须位于程序的最前面              D. 可以在自定义函数后面
2. (A)为正确的变量名。
A. k_5        B. k.jeep        C. -k15      D. int
3. 若有定义 int a,x; 则语句 a=(x=8,x+8); 运行后,变量a、x的值依次为(D)。
A.8,  16        B.16,  16        C.8,  8        D.16,  8
4. 设整型变量x为7,使整型变量y不为2的表达式是(A)。
A. y=x%3        B. y=8-(--x)      C. y =(++x)/3      D. y = x/3
5. 已有定义 char s; 使用scanf( )函数输入一个字符给变量s,不正确的函数调用是(A)。
A. scanf("%lf",&s) ; B. scanf("%u",&s) ; C. scanf("%c",&s) ;D. scanf("%d",&s) ;
6. 若定义 int a=2,b=3; 则表达式 !a||b 的值为(B)。
A. 3        B.1        C.2          D.0
7. 若已定义 int m=7;float k=5.5; 则表达式 k+ m%2/4 的值为(B)
A.6.375          B.5.5        C.5.75          D.6.75
8. 若已定义 int a=1,b=2,t=3; 则执行以下程序段后变量a,b,t的值分别为(D )。
    if(a<b)
    { t=b; b=a; a=t;
    }
A. a=2,b=1,t=3                    B. a=2,b=1,t=1
C. a=3,b=1,t=2                    D. a=2,b=1,t=2
9. 在循环语句的循环体中,break语句的作用是(A)。
A. 提前结束循环,接着执行该循环后续的语句
B. 暂停程序的运行
C. 继续执行break语句之后的循环体各语句
D. 结束本次循环
10. 数组元素下标的数据类型为( A)。
A.整型常量、字符型常量或整型表达式.
B. 实型常量或实型表达式
C. 任何类型的表达式
D. 字符串常量
11. 若有定义:int s[3][4]={{1,2},{0},{3,4,5}};则s[2][1]的值为(D)。
A.3          B.0            C.1            D.4对于 c 语言中的字符串常量说法正确的是?
12. 有如下定义:
  char str[10]={ "National"};
则分配给数组str的存储空间是(D)个字节。
A.11          B.8            C.9            D.10
13 以下程序运行后输出结果是(C)。
void fun(int i)
{ int m=2;
  m=i++;
  printf("%d  ",m);
}
main()
{ int m=7,n=5;
  fun(n);
  printf("%d",m);
}
A.6  7      B.5  5    C.5    7    D.6    6
14. 以下程序运行后输出结果是(D)。
#define MIN(m,n) m<n?m:n
main()
{ int a=3,b=5,c;
  c=2*MIN(a,b); 
  printf("%d",c);
}
A.10        B.6          C.3        D.5   
15. 有以下语句:
    int a[5]={0,1,2,3,4,5},i;
    int *p=a;
设0≤i<5,对a数组元素不正确的引用是(B)。
A. a[p-a]      B. *(*(a+i))        C. *(&a[i])      D. p[i]
16.  若有以下程序段,则不能正确访问数组元素a[1][2]的是(C)。
int (*p)[3];
int a[ ][3]={1,2,3,4,5,6,7,8,9};
p = a;
A. p[1][2]      B. (*(p+1))[2]      C. p[1]+2    D. *(*(a+1)+2)
17. 以下程序段的运行结果是(  D)。
  union
  { int n;
    char str[2];
  }t;
  t.n=80;
  t.str[0]='a';
  t.str[1]=0;
  printf("%d\n", t.n);
A.a          B.80            C.0          D.97
18. 若有以下定义:
struct node
{ int data;
  struct node *next;
};
struct node *p;
已建立如下图所示的链表:
      ┌──┬──┐  ┌──┬──┐        ┌──┬──┐
  p  →│data│next┼→│data│next┼→...─→│data│NULL│
      └──┴──┘  └──┴──┘        └──┴──┘
指针p指向第一个结点,能输出链表所有结点的数据成员data的循环语句是(C)。
A. for( ; p; p=p->next)
  printf("%d,", (*p).data);
B. for( ; p!=NULL; p++)
  printf("%d,", p->data);
C. while(p)
{ printf("%d,", p.data);
  p=p->next;
  }
D. while(p!=NULL)
{ printf("%d,",p->data);
  p++;
  }
19. 若有定义:int m=7,n=10,k; 则执行语句k=m&n;后k的值为(B)。 
A.1          B.2          C.17            D.15
20. 对于以下程序,说法正确的是(B)。
#include <stdio.h>
main()
{ FILE *fp;
  fp=fopen("", "w");
  if(fp!=NULL)
  { fprintf(fp,"%s\n", "success!");
    fclose(fp);
    printf("ok!");
  }
}
A.程序运行之前,当前工作目录下一定存在文件
B.程序运行后,当前工作目录下存在文件,其中的内容是"success!"
C.程序运行后,当前工作目录下存在文件,其中的内容是"ok!"
D.程序运行之前,当前工作目录下一定不存在文件
21.C语言函数体由(C)括起来。
A.[  ]      B.(  )    C.  {  }      D. <  >
22. 下面叙述中,错误的是(C)。
A. 自增与自减运算符的结合方向为“自右至左”
B. C语言中的表达式求值,是按其运算符的优先级先高后低的次序进行
C. C语言算术运算符不包含模运算符“%”
D. 关系运算符的优先级低于算术运算符
23.  函数putchar( ) 的功能是向终端输出(B)。
A. 一个关系表达式        B. 一个字符
C. 一个实型变量值        D. 多个字符
24. 判定逻辑值为“真”的最准确叙述是(D)。
A. 1  B. 大于0的数    C. 非0的整数    D. 非0的数
25. 设已定义 float a=2.0,b=3.0; 使a值为5.0的表达式是(A)。
A. a+= b    B. a*=b+2.0  C. a-=b+2.0  D. a/=b+2.0
26. 以下程序运行的结果是(D)。
void main()
{int x,y,z,a;
x=y=z=1;a=15;
if(!x)
  a--;
else if(y)
  ;
if(z)
  a=3;
else
  a+=4;
printf("%d\n",a);
}
A. 14    B. 19    C. 15    D. 3
27. 以下程序段运行后,循环体运行的次数为(B)。
    int i=8,a=0;
    for ( ;i<8;i++)
      a+= i;
A. 无限    B. 0次    C. 8次    D. 1次
28. ( B)是正确的数组定义。
A. int n;
scanf("%d",&n);
int x[n]; 
B. int x[10]; 
C. int N=10;int x[N];
D. int n=10,x[n];   
29. 不能对二维数组a进行正确初始化的语句是(C)。
A. int a[3][2]={1,2,3,4,5};      B. int a[3][2]={{1},{2,3},{4,5}};
C. int a[3][2]={{1,2,3},{4,5,6}};  D. int a[][2]={{1,2},{3,4},{5,6}};
30. 以下程序段运行后a的值为(C)。
int a=2;
char s1="passion",s2=s1;
a=strcmp(s1,s2);
A. -1    B. 1      C. 0      D. 2
31. 自定义函数中若缺省函数值类型,则隐含的类型是( C )。
A. float      B. long      C. int    D. double
32.  以下叙述正确的是( C)。
A. "#define PRICE=30"定义了与30等价的符号常量PRICE
B. 编译预处理命令行都必须以"#"开头

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