4.以下能对一维数组a进行正确初始化的语句是 ? 。
A. int a[10]=(0,0,0,0)
B. int a[10]={};
C. int a[]={0};
D. int a[10]={10*1};
5.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为 ? 。(假设a[0][0]位于数组的第一个位置上)
A. i*m+j
B. j*m+i
C. i*m+j-1
D. i*m+j+1
6.若有说明 int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是 ? 。
A. 2
B. 无确定值
C. 4
D. 3
7.下面程序的运行结果是 ? 。 char c[5]={‘a’,’b’,’\0’,’c’,’\0’};
printf(“%s”,c);
A. a’’b’
B. abc
C. ab c
D. ab
8.判断字符串a和b是否相等,应当使用 ? 。
A. if (a= =b)
B. if (a=b)
C. if (strcpy(a,b))
D. if (strcmp(a,b))
9.用数组名作为实参,传给形参的是?
A. 数组第0个元素的值
B. 数组全部元素的值
C. 数组元素个数
D. 数组首地址
10.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是?
A. 地址传递
B. 单向值传递
C. 双向值传递。即由实参传给形参,再由形参传回给实参
D. 由用户指定传递方式
11.在C语言中,下面对函数不正确的描述是?
A. 当用数组名作形参时,形参数组值的改变可以使实参数组
B. 允许函数递归调用。
C. 函数形参的作用范围只是局限于所定义的函数内。
D. 子函数必须位于主函数之前。
12.若有定义:int a[10],*p=a;则*(p+5)表示 ? 的值。
13.已知:char *c=”good”;则printf(“%s\n”,c)输出为 ?
,printf(“%s\n”,c+1)输出为 ? 。
14.单目运算符&后跟变量名,表里是该变量的 ? ,单目运算符*后跟指针名,表示该指针的 ? 。
15.程序填空题。下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。 int n=0,c;
c=getchar(); while (【1】 ) {if (【2】) n++; c=getchar(); }