admin 管理员组

文章数量: 1086019


2024年3月26日发(作者:怎样看懂ascii对照表)

c语言基础试题及答案

一、选择题

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

A、整型常量

B、整型表达式

C、整形常量或整形表达式

D、任何类型的表达式

2、以下对一维整型数组a的正确说明是____

A、int a(10) ;

B、int n=10,a[n];

C、int n;

scanf(“%d”,&n);

int a[n];

D、#define SIZE 10

int a[SIZE];

3、若有定义:int a[10],则对数组a元素的正确引用是

A、 a[10] B、a[3.5] C、a(5) D、a[10-10]

4、以下能对一维数组a进行正确初始化的语句是 。

A、int a[10]={0,0,0,0,0};

B、int a[10]={} ;

C、int a[ ] = {0} ;

D、int a[10]={10*1} ;

5、若有定义:int a[3][4],则对数组a元素的正确引用是________

A、a[2][4] B、a[1,3] C、a(5) D、a[10-10]

6、以下能对二维数组a进行正确初始化的语句是_______

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}} ;

7、若有说明:int a[3][4]={0};则下面正确的叙述是_______

A、只有元素a[0][0]可得到初值0

B、此说明语句不正确

C、数组a中各元素都可得到初值,但其值不一定为0

D、数组a中每个元素均可得到初值0

8、下面是对s的初始化,其中不正确的`是_____

A、char s[5]={“abc”};

B、char s[5]={‘a’,’b’,’c’,’d’,’e’,’ 0’};

C、char s[5]=” ”;

D、char s[5]=”abcdef”;

二、程序填空

1、以下程序把一个由小到大的有序数列放在a[1]到a[n]中,a[0]用作工作单元,程序把读入的

x值插入到a数组中,插入后,数组中的数仍然的序。请填空,完善程序。

#include

{int a[10]={0,12,17,20,25,28},x,i,n=5;

Printf(“enter a number”);

Scanf(“%d”,&x);

a[0]=x;i=n;

while(a[i]>x)

{a[____ (1)____ ]=a[i];

______(2)___________;

}

a[___(3)____]=x;n++;

for(i=1;i<=__(4)_______;i++)

printf(“M”,a[i]);

printf(“ ”);

}

三、编程题

1、用选择法对10个整数排序(从小到大)

2、有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母,小写

字母,中文字母,中文字符,数字,空格及其他字符的个数。(提示:中文字符是两个字节,且数值

均大于128的字符)。

3、将一个数组中的值按逆序重新存放。例如:原来顺序为8,6,5,4,1。要求改为1,4,5,

6,8。

参考答案:

一、选择题

1、A 2、D 3、A 4、A 5、A 6、B 7、D 8、A

二、程序填空

(1) i+1

(2) i=i-1

(3) ++i

(4) n

二、编程题

1、 main()

{int i,j,min,temp,a[11];

Printf(“enter data: ”);

For(i=1;i<=10;i++)

{printf(“a[%d=”,i);

Scanf(“%d”,&a[i]);

}

Printf(“ ”);

For(i=1;i<=10;i++)

Printf(“]”,a[i]);

Printf(“ ”);

For(i=1;i<=9;i++)

{min=i;

For(j=i+1;j<=10;j++)

If(a[min]>a[j]) min=j;

Temp=a[i];


本文标签: 数组 字符 元素 程序 表达式