补充习题
一、单选题
1、下列语句中,符合语法的赋值语句是                C
    Aa7bca+7          Ba7b++=a7
    Ca=(7bb++,a7)      Da7bca7
2、对于char cx='\039';语句,正确的是            A
    A)不合法      BcxASCII值是33
    Ccx的值为四个字符        Dcx的值为三个字符
3、以下所列的C语言常量中,错误的是              B
    A0xFF        B1.2e0.5   
    C2L        D)‘\72’
4、有输入语句:scanf(a=%d,b=%d,c=%d,&a,&b,&c);为使变量 a的值为1b的值为3c的值为2,则正确的数据输入方式是                D
    A132                      B1,3,2
    Ca=1 b=3 c=2              Da=1,b=3,c=2
5、逻辑运算符两侧运算对象的数据类型              D
    A)只能是01                    B)只能是0或非0正数
    C)只能是整型或字符型数据          D)可以是任何类型的数据
6C语言对嵌套if语句的规定是:else总是与      D
      A)其之前最近的if配对          B)第一个if配对
      C)缩进位置相同的if配对        D)其之前最近的且尚未配对的if配对
7、设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)n的值为        B
    A    B
    C3        D4
8、以下程序段的循环次数是                       B
  for (i=2; i==0; )    printf(%d ,  i--) ;
      A)无限次            B0   
    C1          D2
9循环语句的循环体中执行 continue 语句,其作用是          C
    A) 立即终止程序运行
    B) 继续执行 continue 语句之后的循环体各语句
    C) 结束本次循环
    D) 结束本次循环,跳出循环
10、以下正确的说法是                                    A
    A)实参和与其对应的形参各占用独立的存储单元
    B)实参和与其对应的形参共占用一个存储单元
    C)只有当实参和与其对应的形参同名时才共占用相同的存储单元
    D)形参时虚拟的,不占用存储单元
11、以下正确的描述是                                    B
    A)函数的定义可以嵌套,但函数的调用不可以嵌套
    B)函数的定义不可以嵌套,但函数的调用可以嵌套
    C)函数的定义和函数的调用均不可以嵌套
    D)函数的定义和函数的调用均可以嵌套
12、若用数组名作为函数调用的实参,传递给形参的是        A
    A)数组的首地址          B)数组中第一个元素的值
    C)数组中的全部元素的值        D)数组元素的个数
13若有定义和语句
      int **pp,*p,a=10,b=20;
      pp=&p;p=&a;p=&b;printf("%d\n",*p,**pp);
      则输出结果是:                                    D         
    A) 10,20                              B) 10,10
    C) 20,10                              D) 20,20
14、以下不正确的说法是                                  B
    A)形参的存储单元是动态分配的
    B)函数中的局部变量都是动态存储
    C)全局变量都是静态存储
    D)动态分配的变量的存储空间在函数结束调用后就被释放了
15、以下正确的函数首部是                                A
    Adouble fun(int x , int y)          Bdouble fun(int x ; int y)
    Cdouble fun(int x , int y) ;          Ddouble fun(int x,y)
16、以下不正确的说法是      。              D
    A)在不同函数中可以使用相同名字的变量
    B)形式参数是局部变量
    C)在函数内定义的变量只在本函数范围内有定义
    D)在函数内的复合语句中定义的变量在本函数范围内有定义
17、以下不正确的说法是                                D
    A)全局变量、静态变量的初值是在编译时指定的
    B)静态变量如果没有指定初值,则其初值为0
    C)动态局部变量如果没有指定初值,则其初值不确定
    D)函数中的静态变量在函数每次调用时,都会重新设置初值
18、已知一个函数的定义如下:
   double fun(int x, double y)
   { …… }
则该函数正确的函数原型声明为      。           C
    Adouble fun (int x,double y)          Bfun (int x,double y)
    Cdouble fun (int ,double );          Dfun(x,y) ;
19在说明语句:int *f();,标识符f代表的是      。   D
    A) 一个用于指向整型数据的指针变量
    B) 一个用于指向一维数组的行指针
    C) 一个用于指向函数的指针变量
    D) 一个返回值为指针型的函数名
20、若有定义:int a[10],则对数组a元素的正确引用是      。  D
    Aa[10]        Ba[3.5]   
    Ca(5)        Da[10-10]
21、若有定义:int a[3][4],则对数组a元素的正确引用是      。  A
    Aa[2][3]            Ba[1,3]   
    Ca(5)        Da[10-10]
22、以下能对二维数组a进行正确初始化的语句是      。     B
    Aint a[2][]={{1,0,1},{5,2,3}} ;
    B令数组全部的值为0int a[][3]={{1,2,3},{4,5,6}} ;
    Cint a[2][4]={{1,2,3},{4,5},{6}} ;
    Dint a[][3]={{1,0,1},{},{1,1}} ;
23若要用fopen函数打开一个新的二进制文件,该文件既要能读也能写,则文件打开方式字符串应是      。                     
    A) ab+                B) w+          C
    C) rb+    D) ab
24、若有说明:int a[3][4]={0};则下面正确的叙述是      。   D
    A)只有元素a[0][0]可得到初值0
    B)此说明语句不正确
    C)数组a中各元素都可得到初值,但其值不一定为0
    D)数组a中每个元素均可得到初值0
25、变量的指针,其含义是指该变量的      。          B
    A)         B) 地址       
    C)             D) 一个标志
26、若有说明:int *p1, *p2,m=5,n;以下均是正确赋值语句的选项是      。  C
    A) p1=&m; p2=&p1 ;                      B) p1=&m; p2=&n; *p1=*p2 ;
    C) p1=&m; p2=p1 ;                          D) p1=&m; *p1=*p2 ;
27、下面程序段的运行结果是      。             
char *s=abcde ;  s+=2 ; printf(%d,s);    C
    A) cde                  B) 字符’c’         
    C) 字符’c’的地址        D) 不确定
28p1p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是      。                       B
    A) c=*p1+*p2            B) p2=c           
    C) p1=p2                D) c=*p1*(*p2)
29、若有定义:int a[5];a数组中首元素的地址可以表示为      。   C
    A) &a                  B) a+1     
    C) a                      D) &a[1]
30、如下说明语句,则下面叙述不正确的是      。       C
struct stu {  int a ; float b ;} stutype;
    A) struct是结构体类型的关键字   
    B) struct  stu是用户定义结构体类型
    C) stutype是用户定义的结构体类型名   
    D) ab都是结构体成员名
31、设struct {int a; char b; } Q, *p=&Q;错误的表达式是      。   D
    A) Q.a                      B) (*p).b               
    C) p->a                  D) *p.b
32、若执行fopen函数时发生错误,则函数的返回值是      。      D
    A) 地址值        B) 0     
    C) 1      D) EOF
二、填空题
1、若aint变量,则执行表达式a=25/3%3后,a的值是        。    2

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