C语言复习题3
一、单项选择题
1、C语言提供的合法关键字是___A____。
A、AUTO            B、include
C、unsigned          D、dafault
2、合法的C语言标识符是_____B_____。
A、2a                B、sum
C、default            D、a+b
3、下面四个选项中,不是C语言整型常量的是    C   
  A、01                B、0x11
  C、081              D、-32768
4、下面四个选项中正确的实型常量是    B   
  A、0x12              B、-12345.e-3
  C、1e0.5              D、e-5
5、若a为整型变量,则下面语句  B   
  a=-2L;
  printf(“%d\n”,a);
  A、赋值不合法          B、输出值为-2
C、输出为不确定值    D、输出值为2
6、在C语言中,要求参加运算的数必须是整数的运算符是  C   
  A、/                  B、!
  C、%                  D、==
7、字符串“\\012\012”在内存中占用的字节数是    5    个。
  A、4                  B、5
  C、6                  D、7
8、下列说法中,错误的是    B   
A、变量的定义可以放在所有函数之外
B、变量的定义可以不放在本编译单位中,而放在其他编译单位中
C、变量的定义可以放在某个函数的函数头中
D、变量的定义可以放在某个复合语句的开头
9、在C语言中,一个int型数据在内存中占用2个字节,则int型数据的取值范围是  B   
  A、-128~127          B、-32768~32767
  C、0~65536            D、0~2147483647
10、下面不正确的字符串常量的  A   
  A、’abc’              B”12’12”  //双引号、反斜杠必须转义
  C、”0”                D、”  ”
11、char型常量在内存中存放的是    A   
  A、ASCII代码值        B、BCD代码值
  C、内码值              D、十进制代码值
12、以下程序段  C     
int x=2,y=3;
printf( x>y ? ”****=%d” :  “###y=%d”,x,y);
A、输出控制格式错误  B、输出为:****x=2
C、输出为:###y=2        D、输出为:###y=3
13、以下程序的输出为    B   
int a,b,c;
a=10;b=50;c=30;
if (a>b) a=b;
b=c;c=a;
printf(“a=%d,b=%d,c=%d”,a,b,c);
A、a=10,b=50,c=10            B、a=10,b=30,c=10
C、a=50,b=30,c=10            D、a=50,b=30,c=50
14、在C语言中,当while语句构成的循环的条件为    D    时,结束循环。
A、True  B、非0    C、1      D、0
15、下列四个选项中,正确的数组定义是    C     
A、char 4a[4]          B、int I;scanf(“%d”,&I);char ch[I];
C、#define MAX 20      D、#define MAX 20.0
Char a[MAX]            int a[MAX] 
16、合法的数组定义是    D     
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}或者int a[]={a,b,c,d};
17、设有说明:char *str[10];则标识符的意义是:    B     
A、str是一个指向有10个元素的数组的指针
B、str 是一个有10个元素的数组,数组元素的数据类型是指向char型的指针
C、str是一个指向char型函数的指针
D、str是具有10个指针元素的一维指针数组,每个元素都只能指向整型变量
18、阅读下面程序:
#include <stdio.h>
int a[ ]={2,4,6,8};
main( )
{int I;  int *p=a;
for (I=0; I<4; I++)  a[I]=*p++;
printf(“%d\n”,a[2]);}
上面程序的输出结果是    B   
A、6  B、8    C、4    D、2
19、在C语言中,如果对函数类型未加显示说明,则函数的隐含类型是  A     
A、int  B、char  C、void  D、double
20、在C语言中,当函数调用时    A   
A、实参和形参共用存储单元
B、实参和形参各占一个独立的存储单元
C、由系统自动确定实参和形参是否共用存储单元
D、可由用户指定实参和形参是否共用存储单元
21、设有如下枚举型定义:enum color {red=1, black, white=10, green=100, blue};则枚举量blue的值为    C 
A、5              B、3
C、101            D、11
22、当说明一个结构体变量时系统分配给它的内存是  A   
A、各成员所需内存量的总和
B、结构中第1个成员所需内存量
C、成员中占内存量最大者所需的容量
D、结构中最后一个成员所需内存量
23、使用共用体union的目的是    A 
A、将一组数据作为一个整体,以便与其中的成员共享同一存空间
B、将一组具有相同数据类型的数据作为一个整体,以便与其中的成员共享同一存储空间
C、将一组相关数据作为一个整体,以便程序中使用
D、将一具有相同数据类型的数据作为一个整体,以便程序中使用
24、在宏定义#define PI 301415926中,用宏名PI代替一个  C   
A、单精度数      B、双精度数
C、常量          D、字符串
二 、 填空题
1、C语言的函数体由  {  开始,用符号}结束;函数体的前面是    语句声明          部分,  其后是执行语句。 
2、在内存中存储“A”要占用  2  个字节,存储‘A’要占用  1  个字节。
3、使用“putchar( )”函数时,程序的开头必须写的一条包含命令为      stdio..h                 
4、下列是计算n!的值的程序,请填空。
Main()
  {int I,s,n;
  s=1;
  printf(“enter n: “);
  scanf(“%d”,&n);
  for (I=1;I<=n;I++)
        s*=I          ;
  printf(“s=%d”,s);
}
5、设有如下定义:int a[10]; ,则数组元素a下标的上限为    0    ,下限为    9     
6、若自定义函数要求返回一个值,则应在该函数体中有一条      return      语句;若自定义函数要求不返回一个值,则应在该函数说明加一个类型说明符__void__。
7、引用结构变量中成员的一般形式是    结构体变量名.成员变量       
三、程序分析题。
阅读下列程序,将输出结果或功能写到各题右侧的空白处。
1、 main(  )
  { int x1, x2, x3, x4;
x1=x2=x3=x4=1;
switch(x1)
{   
case 1: switch(x2)
           
case 0: x3++; break;
                  case 1: x4--;        //X4变成0
              }
    case 2: x3++; x4--;
}
printf(“%d%d”, x3 , x4);    //2,-1
}
2、main ( )
{ int i;
float f, sum;
for (i=1, sum=0.0;i<11;i++)
{    scanf (“%f”,&f);
sum=sum+f;
}
printf (“average=%f\n”, sum/10);  //输入十个数,然后求平均值
  }
3、#include<stdio.h>
  main ( )
  { int  i,j,x=0;
for (i=0; i<2; i++)
{    x++;
    for (j=0; j<=3; j++)
    {    if (j%2)  continue;
          x++;
    }
    x++;
整型常量合法要求}
printf (“x=%d”, x);  //8
}
4、#include <string.h>
  void invert (char str[ ])
{int i,j,k;
for (i=0, j=strlen(str)-1; i<j;i++;j--)
    {k=str[i]; str[i]=str[j]; str[j]=k;}        //使数组逆序排放
}
5、#include <stdio.h>
  main ( )
  { int a[ ]={1,2,3,4,5,6}, *p=a;

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