C语言试题C
一、选择(30*2)
1、下列关于C语言用户标识符的叙述中正确的是(  )     
A 用户标识符中可以出现下划线和中划线(减号) 
B 用户标识符中不可以出现中划线,但可以出现下划线
C 用户标识符中可以出现下划线,但不可以放在用户标识符的开头
D 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头
2.在C语言程序中,说法正确的是___。
  A.  函数的定义可以嵌套,但函数的调用不可以嵌套
  B.  函数的定义不可以嵌套,但函数的调用可以嵌套
  C.  函数的定义和函数的调用都不可以嵌套
  D.  函数的定义和函数的调用都可以嵌套
3.变量的指针,其含义为指该变量的 (  )  。
      A. 值        B. 地址      C. 名        D. 一个标志 
4、若有定义:char  s[20]=”programming”, *ps=s; 则不能代表字符‘o’的表达式是  (  ) 。
  A. ps+2      B. s[2]      C. ps[2]      D. ps+=2, *ps
5.头文件的扩展名可以是 (  ) 
    A. .h和.obj    B.  .h和.c      C.  .c和.obj      D. 任意
6.若x、y均为int型变量,z为double型变量,则以下不合法的scanf函数调用语句为__________
A scanf(“%d,%x,%le”,&x,&y,&z);    B. scanf(“%2d,%d,%lf”,&x,&y,&z);
C.scanf(“%x,%8d,%9.2f”,&x,&y,&z);  D. scanf(“%o,%x,%lf”,&x,&y,&z);
7、在宏定义# define E 2.71828中,宏名E代替一个 (  )  。
A. 单精度数      B. 双精度数    C. 常数      D. 一个字符串
8.合法的数组定义是  (  ) 。
A. int a[]=“string”;                B. int a[5]={0,1,2,3,4,5};
C. char a=“string”;                D. char a[]={0,1,2,3,4,5};
9.若i,j已定义为int类型,则以下程序段中
  for(i=5;i;i--)
    for(j=0;j<4;j++) {…}
循环体的总的执行次数,供选择的答案是___________。
A.20        B. 24            C. 25            D. 30
10、scanf ( )函数的地址表列是用  (  )符号加上变量名表示变量的地址。 
A.%              B.&              C.#              D.!
11、在C语言的if语句中,用作判断的表达式为  (  )  。
A. 关系表达式    B. 逻辑表达式   
C. 算术表达式    D. 任意表达式
12、设有以下程序段:
char  a[ ]=”study”,*p;
p=a;
printf(“%d”,*(p+5));
执行后的结果为:
A、111        B、0        C、104        D、不确定
13.设有下列程序段,则scanf函数调用语句中对结构体变量成员的不正确引用为    。
struct student
{  char name[20];
          int age;
    char sex;
}stu[5], *p;
p=stu;
      A. scanf("%s", stu[0].name);      B. scanf("%d", p->age);
      C. scanf("%c", &(p->sex));      D. scanf("%d", &stu[0].age);
14、若有以下定义和语句
#include  <stdio.h>
int a=3,b=4,*,*q,*w;
p=&a;q=&b;w=q;q=NULL;
    则以下选项中错误的语句是(  )
A*q=0;    Bw=p;  C*p=a;        D*p=*w;
15、有以下程序
int *f(int *x,int *y)
{ if(*x<*y)
    return x;
  else
    return y;
}
main()
{ int a=7,b=8,*p,*q,*r;
  p=&a;  q=&b;
  r=f(p,q);
  printf(“%d,%d,%d\n”,*p,*q,*r);
}
执行后输出结果是(  )
A)7,8,8          B)7,8,7            C8,7,7            D 8,7,8
16、有以下程序
main()
{ char *s[]={“one”,”two”,”three”},*p;
    p=s[1];
    printf(“%c,%s\n”,*(p+1),s[0]);
}
执行后输出结果是(  )
An,two Bt,one      Cw,one  Do,two
17、设有如下定义
struct ss
{ char name[10];
  int age;
  char sex;
}std[3],*p=std; 
下面各输入语句中错误的是(  )
Ascanf(“%d”,&(*p).age);      Bscanf(“%s”,&std.name);
Cscanf(“%c”,&std[0].sex);    Dscanf(“%c”,&(p->sex));
18、设char型变量x中的值为10100111,则表达式(2+x)^(~3)的值是
A10101001        B10101000      C11111101      D01010101
19、以下叙述中不正确的是(  )
A  C语言中的文本文件以ASCII码形式存储数据 
B  C语言中对二进制文件的访问速度比文本文件低
C  C语言中,随机读写方式不适用于文本文件
D  C语言中,顺序读写方式不适用于二进制文件
20、以下程序企图把从终端输入的字符输出到名为的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。
#include  <stdio.h>
main()
{  FILE *fout; char ch;
  fout=fopen(‘’,’w’);
  ch=fgetc(stdin);
  while(ch!=’#’)
  { fputc(ch,fout);
    ch=fgetc(stdin);
  }
  fclose(fout);
}
出错的原因是(  )
A函数fopen调用形式错误 B输入文件没有关闭
C函数fgetc调用形式错误 D文件指针stdin没有定义
21、若变量c为char类型,能正确判断出c为小写字母的表达式是 (    ) 。
    A'a'<=c<='z'              B(c>='a')||(c<='z')
    C('a'<=c)and('z'>=c)    D(c>='a')&&(c<='z')
22、以下所列的各函数首部中,正确的是(    )  。
Avoid play(var a:Integer var b:Integer)  Bvoid play(int a,b)
Cvoid play(int a,int b)        Dsub play(a as integer b as integer)
23、以下程序的输出结果是(    ) 。
  A0  B29    C31    D无定值
  fun(int x int y,int z)
    {z=x*x+y*y;}
    main()
    {  int a=31;
      fun(5,2,a);
符合标识符的字符串是什么printf("%d",a);   
}
24、下列程序段的输出结果是(    )
    A2 l 4 3    B1 2 1 2    C1 2 3 4    D2 1 1 2
    void fun(int *x,int *y)
    { printf("%d%d",*x,*y);*x=3;*y=4;}
    main()
    {  int x=1,y=2;
      fun(&y,&x);
printf("%d%d",x,y);   
}
25、、若已定义了如下的共用体类型变量x,则x所占用的内存字节数为(    ) 。
union  data
{ int  i;
  char  ch;
  double  f;
}x;
A7    B11    C8  D10
26、若有下面的说明和定义:
struct  test
{ int  m1;char m2;float m3;
  union  uu{  char u1[5];int u2[2];}ua;
  }  myaa;
则sizeof(struct test)的值是 (    ) 。
  A12    B16    C 14    D9
27、请选择正确的运行结果填入(  ) 中。
include  <stdio.h>
int x,y;
num()
{
int a=15,b=10;
int x,y;
y=a-b;
y=a+b;
return;
}
main()
{ int  a=7,b=5;
  x=a+b;
  y=a-b;
  num();  printf("%d,%d\n",x,y);
}
A  12,2      B  5,25        C2,12      D不确定
28、设有一结构体类型变量定义如下:
    struct date
        {  int year;

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