C语言基础练习题(含答案) 联系客服

发布时间 : 星期日 文章C语言基础练习题(含答案)更新完毕开始阅读f8347a2eba4cf7ec4afe04a1b0717fd5360cb2a3

·45·

(9) 若有以下整型的a数组,数组元素和它们得值如下所示: 数组元素: a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 元素的值: 9 4 12 8 2 10 7 5 1 3 ①请写出对该数组的说明,并赋以上初值。 ②该数组的最小下标值为___,最大下标值为___。

③写出下面各式的值:a[a[9]]的值为___ ;a[a[4]+a[8]]的值为___。 int a[10]={9,4,12,8,2,10,7,5,1,3}; 0 9 8 8 (10) 字符串\的长度为___。10

3. 判断题

( × )(1) C允许对数组的大小作动态定义,即可用变量定义数组的大小。 ( × )(2) 字符数组不要求它的最后一个字符为‘\\0’,甚至可以不包含‘\\0’。 ( × )(3) 数组定义 int a[10]; 也可以写成 int a(10); 。 ( √ )(4) 在对全部数组元素赋初值时,可以不指定数组长度。 ( × )(5) 定义s为5×6(5行6列)的数组可写成 float a[5,6]; ( √ )(6) 数组定义 int a[10]; 表示数组名为a,此数组有10个元素。

( × )(7) 数组定义 int a[10]; 表示数组名为a,此数组有10个元素,第10个元素为a[10]。

( √ )(8) static char c[]={“a book”}; 与static char c[]=“a book”; 等价。 ( × )(9) static char c[]={'a' ,' ','b','o','o','k','\\0'};与 static char c[]={'a' ,' ' ,'b','o','o','k'}; 等价。

( × )(10) 设已有说明:static char c1[10],c2[10]; 下面程序片段是合法的。c1={“book”}; c2=c1;

4. 程序填空题

(1) 输入 20 个数,输出它们的平均值,输出与平均值之差的绝对值为最小的数组元素。请填空。

#include

·46·

void main( ) {

float a[20],pjz=0,s,t; int i,k; for(i=0;i<20;i++) pjz+=a[i]; s=fabs(a[0]-pjz); for(i=1;i<20;i++) if(fabs(a[i]-pjz)

s=fabs(a[i]-pjz); t=a[i]; } }

-------------------------------------------------------------------------------- for(i=0;i<20;i++) scanf(“%f”,&a[i]); pjz/=20; printf(“%f,%f\\n”,piz,t);

(2) 以下程序以每行 10个数据的形式输出 a 数组,请填空。 void main( ) {

int a[50],i;

printf(\输入50个整数:\

for(i=0; i<50; i++) scanf( \for(i=1; i<=50; i++) {

if( _________ ) printf( \printf( \} } &a[i]

·47·

i==0 a[i-1]

(3) 下面程序的功能是输出数组 s 中最大元素的下标,请填空。 void main( ) { int k, p;

int s[ ]={1,-9,7,2,-10,3}; for(p=0,k=p; p<6; p++) if(s[p]>s[k]) _____; printf(\} k=p

(4) 这个程序输入了20个数存放在一个数组中,并且输出其中最大者与最小者、20个数的和及它们的平均值。请填空。 void main() {

char array_____ ;

int max,min,average,sum; int i;

for(i=0;i<_____;i++) {

printf(\请输入第%d个数:\scanf(\}

max=array[0];

·48·

min=array[0];

for(i=0;i<=_____;i++) {

if(maxarray[i]) __________ sum=________; }

average =_________;

printf(\个数中最大值是%d,\printf(\最小值是%d,\printf(\和是%d,\

printf(\平均值是%d.\\n\} [20] 20 &array[i] 19

max=array[i]; min=array[i]; sum+array[i] sum/20