第一份
1、以下叙述错误的是(B)。
A、C源程序必须包含一个main()函数。 
B、语句必须在一行内写完。
C、以一对“/*”和“*/”为定界符括起来的文字为注释部分。
D、所有语句都必须以分号“;”结束。
2、整型常量三种表示形式中不含(D)。
A、十进制    B、八进制  C、十六进制  D、二进制
3、以下表达式中,(B)无法正确表示右图所示的代数式: (a+b)(a-c)/3a  (a <> 0)
A、(a+b)/a*(a-c)/3  B、(a+b)*(a-c)/3*a  C、(a+b)*(a-c)/(3*a)  D、(a+b)/(3*a)*(a-c)
4、运算符(C)不能用于非整型数据运算。
A、/    B、+  C、%  D、*
5、(A)可产生(0,0.9)之间的随机数。
A、rand()%10/10.0      B、srand()%10/10.0  C、srand()*10%10  D、rand()%10/10
6、能正确表示2<t<10的逻辑表达式是(D)。
A、2<t<10  B、10>t>2  C、t>2 || t<10  D、t>2  && t<10
7、定义:int a=1,b=2,c ; 语句c=1.0/b*4;  执行后,变量 c的值为(2)。
8、以下程序段的运行结果是(C)。
int x=10,y;
if(x>20)
  y=9;
else if(x>10)
  y=6;
else if(x>5)
  y=3;
else
  y=1;
printf(“%d\n”,y);
A、9          B、6              C、3          D、1
9、以下程序段的运行后sum的值为(D。
int i,j ,sum=0;
for(i=1; i<=3;i++)        I=1  J=I=1 SUM=2  J=2  SUM=2+1+2=5 J=3 SUM=5+1+3=9
  for(j=i; j<=3; j++)      I=2  J=2 SUM=9+2+2=13  J=3 SUM=13+2+3=18
sum=sum+i+j;        I=3  J=3 SUM=18+3+3=24
                  J=4    I=4
A、18          B、12              C、20          D、24
10、(B)语句能正确定义a为整型数组。
A、int a[n] ,n=10;      B、int a[10];              C、int n=10,a[n];            D、int a(10)
11、以下程序段的运行结果是(C)。
  int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12};
  printf(“%d\n”,a[0][0]-a[2][3]);
A、-1          B、10              C、-11          D、8
13、以下叙述错误的是(B)。
A、函数体内复合语句中定义的变量只在该复合语句内有效。
B、在一个程序源文件中定义的全局变量,在程序的其它源文件中必不可见。
C、全局变量的作用域是从其定义处起至程序结束处。
D、函数体内定义的变量,其生命期是函数执行期。
14、以下叙述错误的是(A)。
A、宏定义必须放置在它所在的源程序文件的最前面。
B、宏定义中的宏名一般用大写字母表示。
C、宏定义不占用程序运行时间,但与程序中的语句一样需要编译。
D、一个C语言源程序可以有多条预处理命令。
15、若已定义:int a[5], *p=a; 无法引用数组元素a[4]的是()。
A、*p+4          B、*(p+4)              C、*(&p[0]+4)          D、p[4]
16、以下程序的运行结果是()。
  #include <stdio.h>
void main()
{
  char str[]=”abcd”, * p=str;
  while(*p)
  {
    (*p)++;
    p++;
}
Printf(“%s\n”,str);
}
A、bcde      B、cdba              C、dcba          D、abcd
17、若有如下结构类型定义,以下错误的语句是()。
  struct  PERSON
{
  int num;
  char name[10];
};
A、struct  PERSON  *p;  p->name=”1234”;     
B、struct  PERSON person;  person.num=123         
C、struct  PERSON  people[100];  (people+5)->num=1234;
D、struct  PERSON  *p;
18、以下程序的输出结果是()。
#include <stdio.h>
struct Student
{  int num, grade;
} s[]={{111,80},{112,90},{113,70}};
void main()
{
  struct Student *ps=s+2;
  while(ps>=s)
  {
ps->grade+=5;
ps--;
}
printf(“%d\n”,(ps+1)->grade);
}
A、90      B、95              C、85          D、70
19、以下程序段运行后,输出结果是(D)。
  int  a=2,b=3,c=10;
/*  a=00000000 00000010  b=00000000 00000011  c=00000000 00001010  */
      00000000 00000001   
00000000 00000110
0000000000000111
  c=(a>>1)| (b<<1);
 
  printf(“%d  %d  %d\n”,a,b,c);
A、2  5  7      B、2  3  10              C、3  2  5          D、2  3  7
20、以下程序的可执行文件名为do.exe。
  #include <stdio.h>
  #include <stdlib.h>
  void main(int argc,char *argv[])
  {
      if(argc!=2)printf是不是c语句
      {
        printf(“Bad command found !\n”);
        exit(1);
}
printf(“hello %s\n”,argv[1]);
getch();
}
在Dos命令行输入:do me<回车>,则输出结果是()。
A、hello do      B、hello me              C、Bad command found !        D、hello dome 

第二份
2、(B)合法的用户标识符
A、h2.7      B、_3tree              C、8du        D、struct
3、若已定义:int a, b=3,c ; 则(A)是不正确。
A、c=((2=a)+b);  B、b*=b+=2*b;              C、c=(a=10,a+=6)        D、c=6*b;
4、若已定义:float a=1.2 ; int b=3;  则表达式b%5-a的值是( C )
A、-1.2  B、-0.2              C、1.8        D、2
5、若已定义:char c1,c2,c3;  使用语句scanf(“%c%c%c”,&c1,&c2,&c3); 给c1,c2,c3分别赋‘h’, ‘u’, ‘b’,正确的输入形式是(C)
A、’h’  ‘u’  ‘b’      B、’h’, ‘u’, ‘b’                C、hub      D、h,u,b
6、若已定义:int a;  条件表达式( D )等价于求a的绝对值。
A、a<0?a:-a    B、a>0?--a : a            C、a>0?-a : a        D、a<0?-a:a
7、以下运算符优先级最高的是(B)
A、>      B、+                C、=      D、==
8、若已定义:int  a=3, b=2; 以下程序段运行结果是(A)。
  if( a==2)
{  if(b==1)
{ a+=b;
        printf(“%d\n”,a);
      }
      else
{ a-=b;
        printf(“%d\n”,a);
      }
}
else
printf(“%d\n”,a+3);
A、6      B、1              C、 5          D、3
9、以下程序运行后k的值为(D )
  int  i,k=3;
  for(i=1; i<=5; i++)      i=1  k=4  i=2  k=5+2=7 i=3
  {
    k+=1;
    if(k%2==0)
      continue;
      k+=2;
A、11      B、9              C、 10          D、12
10、以下程序段的运行结果是(C)。
  int a[3], k=3;
    a[0]=k;
    a[1]= a[0]+2;
    a[2]= a[0]*a[1];
    printf(“%d\n”,a[2]);
A、9          B、6          C、15          D、12
11、正确定义二维数据a的语句是(B)
A、int  a[4,5]          B、float a[2+2][5]          C、int  a(4,3)          D、float a[4][];
12、若已定义char b[20]=”How do you do!”; 实现输出字符串”do you do!” 的语句是( C );
A、puts(“%c”,b[20]);          B、printf(“%c”,b+4);         
C、printf( “%s”,b+4);          D、puts(“%s”,b);   
13、以下叙述错误的是(C)。
A、定义函数时必须指明函数名          B、函数原型中可以不指明参数的类型     
C、定义函数时必须指明函数类型      D、函数原型中可以不指明参数的名字
14、不正确的宏定义命令是(?AC)。
A、#define  N*N  100        B、#define  SUM(x,y)  (x+y)
C、#define  K=100            D、#define  K  3.14

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