第四套测试题

更新时间:2023-09-17 22:22:01 阅读量: 幼儿教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1. 在C语言中,一维数组的定义方式为:类型说明符:数组名( D )。

A. [常量表达式] B. [整型表达式] C. [整型常量]或[整型表达式] D. [整型常量] 2. 下列选项中正确的语句组是(D )。

A. char s[8]; s={\ B. char *s; s={\ C. char s[8]; s=\ D. char *s; s=\ 3. 以下能对一维数组a进行正确初始化的语句是( C )

A. int a[10]=(0,0,0,0,0) B. int a[10]={};

C. int a[]={0}; D. int a[10]={10*1}; 4. 若有说明:int *p,m=5,n;以下正确的程序段是( D )。 A. p=&n;scanf(\ B. p=&n;scanf(\ C. scanf(\ D. p=&n;*p=m;

5. 在C语言中,引用数组元素时,其数组下标的数据类型允许是( C )。

A. 整型常量 B. 整型表达式 C. 整型常量或整型表达式 D. 任何类型的表达式 6. 经过下列的语句 int j,a[10],*p;定义后,下列语句中合法的是( A )。 A. p=p+2; B. p=a[5]; C. p=a[2]+2; D. p=&(j+2);

7. 对于基本类型相同的两个指针变量之间,不能进行的运算是( C )。 A. < B. = C. + D. -

8. int a[10]; 给数组a的所有元素分别赋值为1、2、3、……的语句是( B )。 A. for(i=1;i<11;i++)a[i]=i; B. for(i=1;i<11;i++)a[i-1]=i; C. for(i=1;i<11;i++)a[i+1]=i; D. for(i=1;i<11;i++)a[0]=1; 9. 设有数组定义: char array [ ]=\则数组 array所占的空间为( C )。 A. 4个字节 B. 5个字节 C. 6个字节 D. 7个字节 10. 若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是( C )。 A. int p=&x; B. int *p=x; C. int *p=&x; D. *p=*x; 11. int a[10];合法的数组元素的最小下标值为( D )。 A. 10 B. 9 C. 1 D. 0

12. 若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是( B )。 A. i=*p; B. *p=*&j; C. i=&j; D. i=**p;

13. 若有int i=3,*p;p=&i;下列语句中输出结果为3的是( C )。

A.printf(\ B.printf(\ C.printf(\Dprintf(\ 14. 若有说明 int a[3][4];则对a数组元素的正确引用是( C )。 A. a[2][4] B. a[1,3] C. a[1+1][0] D. a(2)(1)

15. 若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是( B )。 A. 2 B. 3 C. 4 D. 无确定值

16. 以下不能正确进行字符串赋初值的语句是( A )。 A. char str[5]=\ B. char str[]=\

C. char *str=\D. char str[5]={’g’,’o’,’o’,’d’}; 17. 以下能对二维数组a进行正确初始化的语句是( B )。

A. int a[2][]={{1,0,1},{5,2,3}}; B. int a[][3]={{1,2,3},{4,5,6}}; C. int a[2][4]={{1,2,3},{4,5},{6}}; D. int a[][3]={{1,0,1}{},{1,1}}; 18. 在C语言中,引用数组下标的数据类型允许是(C )。

A. 整型常数 B. 整型表达式 C. 整型常数或整型表达式 D. 任何类型有表达式 19. 要说明有10个int元素的数组,应当选择语句( A )。

A. int a[10]; B. int a[2, 5]; C. int a[]; D. int *a[10];

1

20. C语言规定,函数返回值的类型是由( D )。

A. return语句中的表达式类型所决定 B. 调用该函数时的主调函数类型所决定 C. 调用该函数时系统临时决定 D. 在定义该函数时所指定的函数类型所决定 4.计算圆周率的近似值。

-------------------------------------------------------*/ #include #include main() {int s;

float n,________; double t;

t=1;pi=0;n=1;s=1; while(________>=2e-6) {pi+=t;n+=2;s=-s;t=s/n;} pi*=________;

printf(\ }

标准答案: pi fabs(t) 4; 8.计算平均成绩并统计90分以上人数。

-------------------------------------------------------*/ main()

{int n,m;float grade,average; /***********SPACE***********/ average=n=m=________; while(1)

/***********SPACE***********/ {________(\ if(grade<0)break; n++;

average+=grade;

/***********SPACE***********/ if(grade<90)________; m++; }

if(n)printf(\ }

标准答案: 0 scanf continue; 5.功能:通过函数的递归调用计算阶乘。 long power(int n) {long f; if(n>1) f=________;

2

else f=1; return(f); } main() {int n; long y;

printf(\ scanf(\ y=power(n);

printf(\ getch(); }

标准答案: power(n-1)*n &n y;

1. a=(b=4)+(c=6) 是一个合法的赋值表达式。 标准答案: B

2. char c[]=\是一个合法的为字符串数组赋值的语句。 标准答案: A 3. 若i =3,则printf(\输出的值为 -4。 标准答案: B 4. 如果有一个字符串,其中第十个字符为’\\n’,则此字符串的有效字符为9个。 标准答案: B 5. 函数strlen(\的值是7 标准答案: B 6. x*=y+8 等价于 x=x*(y+8)。 标准答案: A

7. int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0。 标准答案: A

8. 在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。 标准答案: A 9. C语言中只能逐个引用数组元素而不能一次引用整个数组。 标准答案: A 10. 若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。 标准答案: B 1. 写出以下程序的执行结果, #include int main() {

int f(int); f(1234); return 0; }

int f(int n) {

if(n>=10) f(n/10); printf(\ return 0; }

标准答案:

1 2 3 4

3

2. 写出以下程序的执行成果。 #include int sum(int n) {

int p=0,s=0,j; for(j=1;j<=n;j++) s+=(p+=j); return s; }

int main() {

printf(\ return 0; }

标准答案: sum(5)=35

3. 写出以下程序的执行结果。 #include int sum(int n) {

int c=0; do {

c+=n; n/=10; }

while(n); return c; }

int main() {

printf(\ return 0; }

标准答案: sum(123)=6

4. 写出以下程序的执行结果。 #include int fun(int n) {

if(n>0) return(n+fun(n-2)); else return 0; }

int main() {

int n=10;

4

int fun(int n);

printf(\ return 0; }

标准答案: 30

5. 以下程序输出结果是 ( ). #include void main( ) {

int a, d=241; a = d/100%9;

printf (“%d\\n”, a ); } 标准答案: 2

1.

在main函数中定义了一个整型数组并初始化,通过调用自定义函数sum把数组中-1前的所有元素值相加. 标准答案:

#include int sum(int b[ ]) {

int s=0, i=0; while( b[i]!=-1 ) s += b[i++]; return s; }

int main() {

int a[]={1,2,3,4,5,6,7,8,9,-1,6}; printf(\ return 0; }

1. 结构体是不同数据类型的数据集合,作为数据类型, 必须先说明结构体___类型_____,再说明结构体变量 2. 数组在内存中占一段连续的存储区,由__数组名______代表它的首地址

3. static int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};其中a[1][2]的值为___6_____

4. 若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3 该数组的元素中,数值最大的元素的下标值是___2_____

5. 若有以下定义和语句: int a[5]={1,3,5,7,9},*p; p=&a[2]; 则++(*p)的值是___6_____. 6. 定义int a[2][3];表示数组a中的元素个数是____6____个 7. 如果函数不要求带回值,可用__void__来定义函数返回值为空 8. 一个C源程序中至少应包括一个__main__函数.

9. 函数的定义不可以嵌套,但函数的调用 可以 嵌套

10. 函数的__递归_____调用是一个函数直接或间接地调用它自身.

5

本文来源:https://www.bwwdw.com/article/kqbh.html

Top