一、填空:
1. C语言程序是函数构成,其中只有只有1 函数,程序的执行总是从该函数开始。
2. 用线条运算符写出求两个整数xy中大数的表达式z=x.>yxy
3. 定义一个符号常量PI,其值为3.1415926格式是#define  PI 3.1415926
4. 设整型变量x=5y=6z=7,执行x%=y+2后,x= 5
5. 执行语句“for j=15j >=5j--):”后,变量j的值为 4
6. 在一个函数中有定义 int a=60*P=&a;执行*P=*P=15后,a的值为 75
7. 结构化程序(3个结构)
顺序  选择  循环
8. 定义一个长度为100的整形一维数组a且前5个元素的初值为3691215,定义的格式为int a[100]={3,6,9,12,15};
9. 写出表达式25>15&&65<251188>75的值    1    
10. 函数的传值调用中,实际参数把它的值传递给    形式    参数.
11. C语言中,正确的标识符是由 字母、下划线、数字 组成的.
12. x=4,y=( + + x)+( + + x);表达式执行后,变量x的值为 6  y的值为 12
13. 写出表达式66>65&&65<2565>65的值       
14. C语言中,允许在程序中用typedf来定义新的类型名代替已有的类型名,例如
typedf  int  integer.
15. 编写好一个C程序到完成运行,有几个步骤?
编辑、编译、连接、执行
16. 一个变量的指针是指 在内存空间的地址 .
17. 能够构成一个数组,其元素满足的特点是   类型相同、性质相同       .
18. 下面运算符 < % ++ = 按照优先级从高到低排列顺序为 %  ++  <  = .
19. 表达式m=a>b?a+b:b+5 a=15,b=11, m 的值为:  26  
20. C语言中字符串用双引号引起来的一串字符,在机器中,实际串”AbcdEFg\n”需使用(  9 )字节
21. 写出值3*5/7+7%3= 3
          3+4>=7-10    =1
          X=2,y=2,++x11++y  =1
22. 设有以下宏定义,则执行赋值语句a=pp*20;  (aint型变量)后,a的值是 8140
#define PR 80
#define PP PR+403
80+403*20=80+8086=8140
二、选择:
1、 设整形变量a为5,使B不为2的表达式是(C
A b=a/2      B b=b-(-a)
C  b=a%2    D b=a>3?2:1
2、为了避免嵌套的条件分支语句if—else 的二义性,C语言规定,C程序中的else总是与(C)组成的配对关系
A 缩排位置相同的IF
B 在其之后末配对的IF
C 在其之前末配对的最近的IF
D 同一行上的IF
3、设a为存放的整形的一维数组,如果a首地址为p,那么a 中第i个元素的地址为(B
A  p+i*2    B  p+(i+1)*2    C  p+(i-)  D p+i
4、在C程序中有如下语句:
Char func (int x ,int y ):它是(C
A 对函数func的定义
B 对函数func的调用
C 对函数func的原型说明
D 不合法的
5、下列描述不正确的是(C
A字符型数组可以存放字符串
B可以对字符型数组进行整体输入,输出
C可以对整形数组进行整体输入,输出
D不能在赋值语句中通过赋值运算符“=”对空字型数组进行整体赋值
6、以下程序结果是(I=1  j=1  k=3
#include<stdio.h>
Main()
{
Int i,j,k, a=3,b=2
I=(--a=b++)?  --a;++b
J=a++;k=b;
Printf (“i=%d,k=%d\n”,i,j,k)
}
7、一个C语言的原程序中(C
A必须有主函数和其它函数
B可以有多个主函数
C必须有一个主函数
D可以没有主函数
8.写出下列程序运行结果( A )
Main()
{ int n;
For(n=1;n<=10;n++)
  {if(n%3==0) continue;
  Printf(“%d”,n);
  }
}
A.12457810  B.369  C.12  D.12345678910
9、若输入a,b程序运行结果为(B
Main()
{ static char a[2]
Scanf (“%S”,a)
Printf (“%C,%C”, a[1], a[2])
A a,b      B a      C b      D 程序出错
10.下列函数定义不正确有(
Aint max()                                  B.int max(x,y)
{int x,y,z;                                      int x,y
Z=x>y?x:y;                                    { int z;
}                                                z=x>y?x:y;
                                                  Return(z);
                                                }
C. int max(x,y)                                D. int max()
{ int x,y,z;                                        { }   
  Z=x>y?x:y;
  Return(z);
}
11. 在函数内,定义量为()是可以省略的。
A. auto    B static  C extern  D register
12、二维数组初始化不正确的是(C
A int a[2][3]={{1,2,3},{3,4,5}}
B int a[][3]={1,2,3,4,5,6}
C int a[2][]={1,2,3,4,5,6}
D int a[2][3]={{1,2},{3,4}   
13.下列正确的是(
A.C语言程序总是从第一个函数开始执行
BC语言程序中,要调用的函数必须在main()函数中定义
C. C语言程序总是从main()函数开始的
DC语言程序中的main()函数必须放在程序的开始部分
14. int x=10,y=3,z; 则语句printf(“%d\n”,z=(x%y,x/y));的输出结果(
A 1  B 0    C 4    D 3
15、若有说明,int i,j=7  *p=&i  则与i=j等价的语句是(B
A  i=*P    B  *p=j    C  i=&j      D  i=**P
16.函数调用strcat (strcpy (str1,str2),str3)的功能是( A
A 将串str2复制到串str1中后,再将串str3连到串str1之后
B 将串str1复制到串str2中后,再连到串str3之后
C 将串typec转dpstr1复制到str2中后,再复制到串str3之后
D 将串str2连到串str1中后,再将串str1复制到串str3
17.执行下列程序
Int a[3][3]={{1},{2},{3}};
Int b[3][3]={1,2,3};
Main()
{printf(“%d\n”,a[1][0]+b[0][0]);}
后输出结果( D
A 0    B. 1    C.2    D.3
18.执行下列程序
Int a=3,b=4
Void fun (int x1,int x2)
{printf(“%d,%d\n”,x1+x2,b);}
Main()
{ int a=5,b=6;fun (a,b);}