admin 管理员组

文章数量: 887021


2023年12月16日发(作者:java开发资源库)

一、选择题(每小题分,共30分)

1、C语言中,double类型数据占( )个字节.

A)1 B)2

C)4 D)8

2、以下数据中,不正确(de)数值或字符常量是( ).

A) B) 5L

C) o13 D) 9861

3、已知各变量(de)类型定义如下, 则以下不符合C语言语法(de)表达式

是:( ).

int i=8,k,a,b;

double x=1,y=5;

A)k=i++ B)(int)x+

C)y+=x++ D)a=2a=3

4、在以下给出(de)表达式中, 与do....while(E)语句中(de)(E)不等价(de)

表达式是:( ).

A)(E==0) B)(E>0||E<0)

C)(E==0) D)(E=0)

5、已知各变量(de)类型说明如下:则以下不符合C语言语法(de)表达式是( ).

int k, a, b, w=5; float x=;

A) x%(-3) B) w+=-2

C) k=(a=2, b=3, a+b)

a+=a-=(b=4)(a=3)

6、在C语言(de)if语句中,用作判断(de)表达式为( ).

A) 关系表达式 B) 逻辑表达式

C) 算术表达式 D) 任意表达式

7、若有以下定义和语句,则输出结果是( ).

static char s[12]="a book";

printf("%d",strlen(s));

A) 12 B) 8

C) 7 D) 6

8、以下叙述正确(de)是( ).

A) 在C程序中,main函数必须位于程序(de)最前面

B) C程序(de)每一行中只能写一条语句

D)

C) C语言本身没有输入输出语句

D) C程序(de)执行总是从其第一个函数开始

9、由给出(de)数据输入和输出形式,程序中输入输出语句(de)正确内容是( ).

main( )

{ int x; float y;

printf (" enter x, y: ");

输入语句

输出语句 }

输入形式 enter x, y: 2

输出形式 x+y=

A)scanf (" %d, %f ", &x, &y); B) scanf (" %d%f ",

&x, &y);

printf (" nx+y=% ", x+y); printf (" nx+y=% ",

x+y);

C) scanf (" %d%f ", &x, &y); D) scanf (" %d% ",

&x, &y);

printf (" nx+y=% ", x+y); printf (" nx+y=% ",

x+y);

10、在C语言中,为了结束由while语句构成(de)循环,while后一对圆括

号中表达式(de)值应该为( ).

A)0 B)1

C)true D)非0

11、以下字符中,不正确(de)C语言转义字符是( )

A) 't' B) '011'

C) 'n' D) '018'

12、以下说法有错(de)是:( ).

A)字符'0'可以通过赋初值或输入字符串时,由系统自动填加.

B)在C语言中字符数组可以等价于字符串变量.

C)可以利用二维字符数组作为字符串数组.

D)可以把字符型一维数组作为字符串变量.

13、下面程序段(de)运行结果是( ).

x=y=0;

while ( x<15 ) y++, x+=++y;

printf ( " %d, %d ", y, x);

A) 20, 7 B) 6, 12

C) 20, 8 D) 8, 20

14、能满足当x(de)值为偶数时为“真”,为奇数时为“假”(de)表达式是:( ).

A)x%2==0 B)x%2=0

C)(x/22-x)==0 D)(x%2)

15、下列程序(de)输出结果为:( ).

include <>

main()

{int i=0,j=0,a=6;

if((++i>0)||(++j>0))a++;

printf("i=%d,j=%d,a=%dn",i,j,a);

}

A)i=0,j=0,a=6 B)i=1,j=1,a=7

C)i=1,j=0,a=7 D)i=0,j=1,a=7

16、设有以下定义和语句: 则下列语句中对结构体成员不正确(de)

引用是( ).

struct pupil

{ char name[20];

int age;

int sex;

} pup[5], p;

p=pup;

A) scanf("%s", pup[0].name);

&pup[0].age);

C) scanf("%d", &(p->sex));

p->age);

17、以下程序(de)运行结果为( ).

define PT

define S(x) PTxx

main()

B) scanf("%d",

D) scanf("%d",

{int a=1, b=2;

printf("% n",S(a+b));

A) B)

C) D)

18、下面程序(de)输出是( ).

main()

{char s="wbckaaakcbw";

int a=0, b=0, c=0, x=0, k; for(;s; s++)

switch(s)

{ case 'c' : c++;

case 'b' : b++;

default : a++;

case 'a' : x++;

printf("a=%d,b=%d, c=%d, x=%dn", a, b, c,

x);

A) a=8, b=4, c=2, x=11 B) a=4, b=2, c=2, x=3

C) a=8, b=4, c=2, x=3 D) a=4, b=4, c=2, x=3

19、若有下列定义,则对a数组元素地址(de)正确引用是( )

int a[5],p=a;

A) &a[5] B) p+2

C) a++ D) &a

20、若有定义:int a[4][10];则以下选项中对数组元素a[i][j](de)错误

引用是:( ).(此处0<=i<4,0<=j<10)

A)(&a[0][0]+10i+j)

B)(a+i)[j]

C)((a+i)+j)

D)(a[i]+j)

二、填空题(每空2分,共10分)

若有以下a数组,数组元素和它们(de)值如下所示:

数组元素:a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]

元素中(de)值:9 4 12 8 2 10 7 5 1 3

(1) 该数组中数组可用(de)最小下标值是( );最大下标值

是( ).

(2) 该数组中下标最小(de)元素名字是( );

(3) 该数组(de)元素中,数值最小(de)元素(de)下标值是( );

(4) 对该数组进行定义并赋以上初值(de)语句是( ) .

三、阅读程序题(每小题10分,共30分)

1、执行以下(de)程序段后,a=( ), b=( ), c=( ).

int x=10, y=9; int a, b, c;

a=( x--==y++) x-- : y++;

b=x++; c=y;

2、下面程序(de)运行结果是 ( ).

main( )

{int i,j;

for(i=0; i<=3; i++ )

{for(j=0; j<=5; j++ )

{if ( i==0 || j==0 || i==3 || j==5 ) printf

( "" );

else printf ( " " ); }

printf ( " n"); } }

3、下列程序(de)输出结果是( )

int i=8,j=9;float x=;

printf("i=%%d j=%%dn",i,j);

四、编程题(每小题10分,共30分)

1、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13,......,编程

计算该序列(de)前20项之和.

2、已知A(3行4列)、B(4行4列)矩阵,求C=AB(3行4列)矩阵.

3、现有n个数据,编程实现按下列方式排列.

┌─┬─┬─┬─┬─┬─┬─┬─┬─┐

│96│78│54│32│15│28│43│65│88│

└─┴─┴─┴─┴─┴─┴─┴─┴─┘

(以9个数据为例:输入数据为:78 65 54 32 28 96 43

88 15

输出数据为:96 78 54 32 15 28 43 65

88

即:最大(de)数放第一位,第二大(de)数放最后,第三大(de)数放在第一大数(de)右边,第四大数放在第二大数(de)左边,依次类推.

要求:数据(de)输入和输出在主函数内完成,数据(de)排列在子函数内完成,且必须用指针实现.)


本文标签: 数组 语句 数据 程序 输出