1、以下对二维数组 a 的正确说明是(c)。

int a[3][]   float a(3,4)

double a[1][4]

float a(3)(4) 2、判断字符串a是否大于b,应当使用( d)   if (a>b)   if (strcmp(a,b))   if (strcmp(b,a)>0)    if (strcmp(a,b)>0) 3、有以下程序 1 2 3 4 main() { int a=666,b=888;   printf("%d\n",a,b); } 程序运行后的输出结果是(   b)。   错误信息   666   888   666,888 3、下列选项中,不能用作标识符的是(   d)。   1234   1_2   int_2   2_int_

标识符以下划线和字母开头

4、在 C++ 中,用于实现动态多态性的是( d)。   内联函数   重载函数   模板函数   虚函数 5、下列标识符错误的是(  c      )   xly   _123   2ab   _ab 6、以下不符合 C 语言语法的赋值语句是(a)。   a=1,b=2   ++j;   a=b=5;   y=(a=3,6*5); 7、以下对C语言函数的描述中,正确的是(a)。

C 程序必须由一个或一个以上的函数组成   C 函数既可以嵌套定义又可以递归调用   函数必须有返回值,否则不能使用函数 【void】   C 程序中有调用关系的所有函数必须放在同一个程序文件中

函数不可以嵌套定义

8、设 x,y,t 均为 int 型变量,执行下列语句后,y的值为(c)。 x=y=3; t=++x||++y;   不确定   4   3   1 9、下列程序段,循环体执行次数是:d 1 2 3 y = 2; while (y <= 8)     y = y + y;

2   16   4   3 10、用变量a给出下面的定义:一个有10个指针的数组,该指针指向一个函数,该函数有一个×××参数并返回一个整型数   int *a[10];   int (*a)[10];   int (*a)(int);  

int (*a[10])(int); 11、下面有关java和c++的描述,错误的是?   java是一次编写多处运行,c++是一次编写多处编译   c++和java支持多继承   Java不支持操作符重载,操作符重载被认为是c++的突出特征   java没有函数指针机制,c++支持函数指针

12、不能把字符串"HELLO!"赋给数组b的语句是(b)   char b[10]={'H','E','L','L','O','!','\0'};   char b[10];b="HELLO!";   char b[10];strcpy(b,"HELLO!");   char b[10]="HELLO!"; 13、p++ 自增p 还是 p 所指向的变量?a   自增p   自增p所指向的变量   和机器相关 14、下面程序会输出什么:b 1 2 3 4 5 6 7 8 9 10 11 12 13 static int a=1; void fun1(void){    a=2;  } void fun2(void){    int a=3;  } void fun3(void){   static int a=4;  } int main(int argc,char* args){       printf(“%d”,a);       fun1( );       printf(“%d”,a);       fun2( );       printf(“%d”,a);      fun3( );       printf(“%d”,a);  }   1 2 3 4   1 2 2 2   1 2 2 4   1 1 1 4 15、已知一运行正常的程序中有这样两个语句:int p1,p2=&a; p1=b; 由此可知,变量a和b的类型分别是(a)。   int和int   int和int   int和int*   int和int 16、c++中,声明const int i,是在哪个阶段做到 i只可读的(a)   编译   链接   运行   以上都不对 17、以下程序的运行结果是(b) int main(void) { printf("%s , %5.3s\n","computer","computer"); return 0; }   computer , puter   computer , com   computer , computer   computer , compu.ter 18、运行下面这段C语言程序之后,输出在屏幕上的结果是: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 void foobar(int a, int *b, int **c)[d] {     int *p = &a;     *p = 101;     *c = b;     b = p; }   int main() {     int a = 1;     int b = 2;     int c = 3;     int *p = &c;     foobar(a, &b, &p);     printf("a=%d, b=%d, c=%d, *p=%d\n", a, b, c, *p);     return (0); }   a=1, b=2, c=3, *p=2   a=101, b=2, c=3, *p=2   a=101, b=101, c=2, *p=3   a=1, b=101, c=2, *p=3

19、下列程序的运行结果是3,5,请为横线处选择合适的程序( ) 1 2 3 4 5 6 7 8 9 10 11 12 13 #include<stdio.h>  struct S  {     int n;     char c[10];  } *p;  main()  {     struct S a[3]={{3,"abc"},{5,"def"},{7,"ghi"}};     p=a;     printf("%d,",(p).n);     printf("%d\n",_((p+1)));  }

20、在 C 语言中下面那个语句的结果是 1 ?[b]   main 函数正常结束的返回值   return 7&1;   char *p="hello"; return p == "hello";   上面都不对

21、下列给定程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]…中,把偶数从数组中删除,奇数个数通过函数值返回。 例如,若a所指数组中的数据最初排列为:9,1,4,2,3,6,5,8,7,删除偶数后,a所指数组中的数据为:9,1,3,5,7,返回值为5。 函数原型:int cnt_array_oushu(int *a, int len) 

int cnt_array_oushu(int *a, int len) { int num = 0 ; int i = 0 , j = 0;

for( i=0 ; i<len ; i++ )
{
	if( a[i]%2 == 1 )
	{
		a[j] = a[i];
		j++;
		num++;
	}

}
return num;

} int main (void) { char arr[]={9,1,4,2,3,6,5,8,7} int ret =cnt_array_oushu(arr,9) printf(“%d”ret);

}