c语言复习题(有答案)● 下载本文

内容发布更新时间 : 2024/4/28 1:33:33星期一 下面是文章的全部内容请认真阅读。

8_6、下列正确的定义是()。

① int i,*p=&i; ②int *p=&i,i; ③int *p,i;p=&i;④int *p,i;p=i;⑤int *p,i,p=&i; A: ①③ B: ②④ C:②⑤ D:④①

答案:D;D;C;A;C;A;

三、多项选择题

1_1、下列选项中合法的标识符有()。

A: good_morning B:main C: stdio.h D: 8abc 答案:AB;

1_2、下列选项中合法的用户标识符有()。

A: page B:short C: _3com D: int 答案:AC;

1_3、下列选项中合法的用户标识符有()。

A: return B:f2_G3 C: a3-3 D: abc 答案: BD;

1_4、以下叙述正确的是()。

A:C语言严格区分大小写英文字母。 B:C语言用“;”作为语句分隔符。 C:C程序书写格式自由:一行内可以写几个语句,一个语句也可以写在几行。 D:可以使用/*…*/对C程序中的任何部分作注释。 答案:ABCD;

1_5、下列对逻辑运算符两侧的运算对象的数据类型描述不正确的是()。

A: 只能是0或1; B:只能是0或非0正数; C: 可以是整型或字符型数据; D:可以是任何类型的数据; 答案:AB;

1_6、以下对switch语句和break语句中描述错误的有()。

A: 在switch语句中必须使用break语句; B:break语句只能用于switch语句;

C: 在switch语句中可以根据需要使用或不使用break语句; D:break语句是switch语句的一部分; 答案:ABD;

2_1、已定义c为字符型变量,则下列语句中错误的是()。

A: c=’97’; B:c=”97” ; C: c=97; D: c=”a”; 答案:ABD;

3_1、以下正确的是()。

A:预处理命令行必须以‘#’开始。 B:以‘#’开始的都是预处理命令行。 C:程序在执行过程中对预处理命令行进行处理。 D:#define ABCD是正确的宏定义。 答案:ABD;

4_1、在定义int a[2][3]之后,对a[i][j]的正确引用有()。

A: a[0][2] B: a[1,3] C: a[1>2][!1] D: a[2][0] 答案:AC;

4_2、以下对二维数组a正确初始化的是()。

A:static char word[]=’Turbo\\0’; B:static char word[]={‘T’,’u’,’r’,’b’,’o’,’\\0’}; C:static char word[]={“Turbo\\0”}; D:static char word[]=”Turbo\\0”; 答案:BCD;

5_1、以下4个选项中可以看作是一条语句的有()。

A: {;} B: a=0,b=0,c=0 ; C: if(a>0); D: if(b==0) m=1;n=2; 答案:ABC;

5

5_2、若a、b、c、d都是int型变量且已赋初值0,则正确的赋值语句是()。

A: a=b=c=d=100 ; B: d++; C: c+b; D: d=(c=22)-(b++); 答案:ABD;

5_3、设有以下定义:int a=0;double b=1.25;char c=’A’;

#difine d 2 ,则正确的语句是()。

A: a++; B: b++; C: c++; D: d++; 答案:ABC;

6_1、以下述说中正确的是()。

A:一个c源程序可以由一个或多个函数组成。 B:一个c源程序必须包含一个main()函数。 C:c源程序的基本组成单位是函数。 D:在c源程序中,注释说明只能位于一条语句的最后。 答案:ABC;

6_2、以下对C语言中的函数描述不正确的是()。

A:可以嵌套定义,不可以嵌套调用。 B:不可以嵌套定义,可以嵌套调用。 C:可以嵌套定义,也可以嵌套调用。 D:嵌套定义和嵌套调用都不允许。 答案:ACD;

四、程序填空

1、功能:计算平均成绩并统计90分以上人数。成绩数据以一负数作为结束标志。 #include void main(void) {

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(\}

答案: 1). 0 或 0.0 2). scanf 3). Continue

2、功能:找出一维数组中最大值和此元素的下标,数组元素的值由键盘输入。 #include \void main() {

int a[10],*p,*s,i; for(i=0;i<10;i++)

/***********SPACE***********/ scanf(\【?】);

/***********SPACE***********/ for(p=a,s=a;【?】<10;p++) if(*p>*s) s=p;

/***********SPACE***********/

printf(\【?】,s-a); }

答案:1). a + i 或 &a[i] 2). p-a 或 -a+p 3). *s

6

3、功能:输入学生成绩并显示。 # include struct student {

char number[6]; char name[6]; int score[3]; } stu[2];

void output(struct student stu[2]); void main(void) {

int i, j;

/***********SPACE***********/ for(i=0; i<2; 【?】) {

printf(\请输入学生%d的成绩:\\n\ printf(\学号:\

/***********SPACE***********/ scanf(\【?】.number); printf(\姓名:\

scanf(\ for(j=0; j<3; j++) {

printf(\成绩 %d. \ /***********SPACE***********/ scanf(\【?】.score[j]); }

printf(\ }

output(stu); }

void output(struct student stu[2]) {

int i, j;

printf(\学号 姓名 成绩1 成绩2 成绩3\\n\ for(i=0; i<2; i++) {

printf(\ for(j=0; j<3; j++)

printf(\ printf(\ } }

答案:

1). i++ 或 ++i 或 i=i+1 或 i+=1 2). stu[i] 3). &stu[i]

4、功能:输入两个整数x,y,请把这两个数由小到大输出。 #include void main(void) {

int x,y,t;

/***********SPACE***********/ scanf(\【?】);

/***********SPACE***********/ if (【?】)

7

/***********SPACE***********/ {【?】}

printf(\}

答案:

1). &x,&y 或 &y,&x

2). x>y 或 x>=y 或 y

3). t=y;y=x;x=t; 或 t=y,y=x,x=t; 或 t=x;x=y;y=t; 或 t=x,x=y,y=t;

5、功能:输出结果为: * * * * * * * * * * * * * * * * * * * *

#include void main(void) {

/***********SPACE***********/

static char 【?】={'*','*','*','*','*'}; int i,j,k;

char space=' '; for(i=0;i<5;i++) {

printf(\

for(j=1;j<=3*i;j++)

/***********SPACE***********/ printf(\【?】);

/***********SPACE***********/ for(k=0;k<【?】;k++) printf(\ }

printf(\}

答案: 1). a[5] 或 a[] 2). space 或 ' ' 3). 5 或 =4

6、功能:下面函数为二分法查找key值。数组中元素已递增排序,若找到key则返回对应的下标,否则返回-1。 #include

fun(int a[],int n,int key) {

int low,high,mid; low=0; high=n-1;

/***********SPACE***********/ while(【?】) {

mid=(low+high)/2; if(key

/***********SPACE***********/ 【?】;

else if(key>a[mid])

/***********SPACE***********/ 【?】; else

return mid;

8