一、选择题(共30分,每小题2分)
题目1
在下面的函数声明语句中,存在着语法错误的是(    )。
选择一项:
a. AA(int a, int b)
b. AA(int, int)
c. AA(int a; int b)
d. AA(int a, int)
正确答案是:AA(int a; int b)
题目2
在下面的保留字中,不能作为函数的返回值类型的是(    )。
选择一项:
a. void
b. int
c. enum
d. long
正确答案是:enum
c++判断素数题目3
假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址增加的字节数为(    )。
选择一项:
a. 1
b. 2
c. 4
d. 8
正确答案是:4
题目4
假定a为一个数组名,在下面的表达式中,存在语法错误的是(    )。
选择一项:
a. a[i]
b. *a++
c. *a
d. *(a+1)
正确答案是:*a++
题目5
用calloc函数创建具有10个整型元素的一维数组的正确语句是(    )。
选择一项:
a. int *p=calloc(10,2);
b. int *p=calloc(10);
c. int *p=calloc(10,4);
d. int *p=malloc(10)
正确答案是:int *p=calloc(10,4);
题目6
假定变量m定义为“int m=7;”,则下面正确的语句为(    )。
选择一项:
a. int p=&m;
b. int *p=&m;
c. int &p=*m;
d. int *p=m;
正确答案是:int *p=&m;
题目7
假定k是一个double类型的变量,则定义变量p的正确语句为(    )。
选择一项:
a. double p=&k;
b. int *p=&k;
c. double &p=*k;
d. char *p="Thank you!";
正确答案是:char *p="Thank you!";
题目8
若有语句为“int a[10], x, *pa=a;”,要把数组a中下标为3的元素值赋给x,则不正确的语句为(    )。
选择一项:
a. x=pa[3];
b. x=*(a+3);
c. x=a[3];
d. x=*pa+3;
正确答案是:x=*pa+3;
题目9
假定有语句为“int b[10]; int *pb;”,则下面不正确的赋值语句为(    )。
选择一项:
a. pb=b;
b. pb=&b[0];
c. pb=b+2;
d. pb=b[5];
正确答案是:pb=b[5];
题目10
已知“int *p=malloc(100);”,要释放p所指向的动态内存,正确的语句为(    )。
选择一项:
a. free(p);
b. free p;
c. free(*p);
d. free[p];
正确答案是:free(p);
题目11
在程序的一个文件中定义的函数,若要在另一个文件中调用,则必须在这另一个文件中给出该函数的(    )。
选择一项:
a. 原型语句
b. 参数表
c. 函数名
d. 返回类型
正确答案是:原型语句
题目12
假定一个函数定义为“static int f1(int x,int y){return x+y;}”,该函数名称为(    )。
选择一项:
a. static
b. int
c. f1
d. return
正确答案是:f1
题目13
假定一个函数的原型语句为“int ff(int* x);”,一个整型数组为a[10],则下面函数调用表达式不正确的是(    )。