当前位置:首页 > C语言第四章练习题
注意,本套题目中有些涉汲到函数的调用和指针的使用,大家自已先去看下,不懂就问,培养自己的自学能力。 一,选择题 1.若有以下定义
int x[10], *pt=x;
则对x数组元素的正确引用是 A) pt+3 B) *&x[10] C) *(pt+10)
D) *(x+3) 2.有以下程序
#include
{ int i, s=0, t[]={1,2,3,4,5,6,7,8,9}; for(i=0;i<9;i+=2) s+=*(t+i); printf(\}
程序执行后的输出结果是 A) 20 B) 25 C) 45 D) 36
3.#include
{ int c[6]={10,20,30,40,50,60}, *p,*s; p = c; s = &c[5]; printf(\}
程序运行后的输出结果是 A) 5 B) 50 C) 6 D) 60
4. #include
{ int a[3]={0}, i, j, k=2; for( i=0; i for( j=0; j 程序运行后的输出结果是 A) 0 B) 2 C) 1 D) 3 5..有以下程序 #include { int a[5]={2,4,6,8,10}, *p,**k; p = a; k = &p; printf(\ printf(\ } 程序运行后的输出结果是 A) 4 6 B) 4 4 C) 2 2 D) 2 4 6.以下叙述中正确的是 A) 一条语句只能定义一个数组 B) 每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元 C) 数组说明符的一对方括号中只能使用整型常量,而不能使用表达式 D) 在引用数组元素时,下标表达式可以使用浮点数 7.以下叙述中正确的是 A) 数组下标的下限是1 B) 数组下标的下限由数组中第一个非零元素的位置决定 C) 数组下标的下限由数组中第一个被赋值元素的位置决定 D) char c1, c2, *c3, c4[40];是合法的变量定义语句 8.以下叙述中正确的是 A) 语句int a[8] = {0}; 是合法的 B) 语句 int a[] = {0};是不合法的,遗漏了数组的大小 C) 语句 char a[2] = {\是合法的,定义了一个包含两个字符的数组 D) 语句 char a[3]; a = \是合法的,因为数组有三个字符空间的容量,可以保存两个字符 9.有以下程序 #include { int a[ ]={ 2,4,6,8,10 }, x, *p, y=1; p = &a[1]; for( x=0; x<3; x++ ) y += *(p+x); printf( \ } 程序的输出结果是 A) 13 B) 19 C) 11 D) 15 10.有以下程序 #include int a[ ] = { 2,4,6,8 }, *p=a, i; for( i=0; i<4; i++ ) a[i]=*p++; printf( \ } 程序的输出结果是 A) 2 B) 8 C) 4 D) 6 11.以下叙述正确的是 A) 不能在数组说明符的一对方括号中使用表达式 B) char c1, *c2, **c3, c4[2]; 是C语言的合法语句 C) 数组下标的最小值可以是负值 D) 若有数组定义 int array[5]; 则语句printf(\是合法的 12.设有如下程序段 int a[1] = {0}; int b[] = {9}; char c[3] = {\char d = \以下叙述正确的是 A) a, b的定义合法,c, d的定义不合法 B) a,b,c,d的定义都是合法的 C) a,b,c的定义是合法的,d的定义不合法 D) 只有a的定义是合法的 12.对于函数声明 void fun(float array[], int *ptr); 下叙述正确的是 A) 调用函数时,array数组的元素和ptr都是按值传送 B) 函数声明有语法错误,参数 array 缺少数组大小定义 C) 调用函数时,array数组中将存储从实参中复制来的元素值 D) 函数参数 array, ptr 都是指针变量 13.要求定义一个具有6个元素的int型一维数组,以下选项中错误的是 A) int a[2*3] = {0}; B) int N = 6, a[N]; C) #define N 3 int a[N+N]; D) int a[] = {1,2,3,4,5,6}; 14.设有定义:int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a,i;,若0≤i≤9,则对a数组元素的引用错误的是 A) *(&a[i]) B) a[10] C) p[i] D) a[p-a] 15.有以下程序 #include int fun(int x[],int n) { static int sum=0, i; for(i=0;i main() { int a[]={1,2,3,4,5}, b[]={6,7,8,9}, s=0; s=fun(a,5)+fun(b,4); printf(\} 程序执行后的输出结果是 A) 55 B) 50 C) 45 D) 60 二,填空题 1. #include void fun(int *s, int n1, int n2) { int i, j, t; i=n1; j=n2; while( i t=s[i]; s[i]=s[j]; s[j]=t; i++; j--; } } main() { int a[10]={1,2,3,4,5,6,7,8,9,0}, k; fun(a,0,3); fun(a,4,9); fun(a,0,9); for(k=0;k<10;k++) printf(\ printf(\ }
共分享92篇相关文档