C语言02.docx

上传人:b****1 文档编号:20118397 上传时间:2023-04-25 格式:DOCX 页数:20 大小:20.16KB
下载 相关 举报
C语言02.docx_第1页
第1页 / 共20页
C语言02.docx_第2页
第2页 / 共20页
C语言02.docx_第3页
第3页 / 共20页
C语言02.docx_第4页
第4页 / 共20页
C语言02.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

C语言02.docx

《C语言02.docx》由会员分享,可在线阅读,更多相关《C语言02.docx(20页珍藏版)》请在冰豆网上搜索。

C语言02.docx

C语言02

sizeof(float)是(C)。

A、一个浮点表达式

B、一个不合法的表达式

C、运算结果是一个整型表达式。

D、一种函数调用

下列数据中属于"字符串常量"的是(B)。

A、'A'

B、"ABC"

C、ABC

D、'ABC'

用下面的scanf函数输入数据,使得i=10,k=15选择正确的键盘输入方法(B).

(用"[CR]"表示回车,U表示空格)

main()

{inti,k;

scanf("i=%d,k=%d",&i,&k);

}

A、i=10[CR]k=15[CR]

B、i=10,k=15[CR]

C、10U15[CR]

D、10,15[CR]

逻辑表达式3<2||-1&&4>3-!

0的值为:

(A)

A、1

B、3

C、0

D、2

下列运算符中是C语言关系运算符的是(C)。

A、&

B、~

C、!

=

D、!

语句while(!

E);中的表达式!

E等价于(D)。

A、E==1

B、E!

=0

C、E!

=1

D、E==0

以下正确的描述是(A).

A、只能在循环体内和switch语句内使用break语句

B、continue语句的作用是终止整个循环的执行

C、从多层嵌套的外层循环中退出时,只能使用goto语句

D、在循环体内使用break和continue语句的作用相同

下面各语句中,能正确进行赋字符串操作的语句是(B).

A、chars1[5][]={"ABCDE"};

B、chars2[6]={'A','B','C','D','E'};

C、charst[][]={"ABCDE"};

D、chars[5]={'A','B','C','D','E'};

若有说明:

inta[3][4]={0};则下面正确的叙述是(A)。

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

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

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

D、此说明语句不正确

若有说明inta[3][4];则a数组元素的非法引用是(B)。

A、a[1][3]

B、a[0][4]

C、a[0][2*1]

D、a[4-2][0]

执行下面程序后,输出结果是(D)。

main()

{inta,b,c;

a=45,b=27,c=0;

c=max(a,b);

printf("%d\n",c);

}

intmax(intx,inty)

{intz;

if(x>y)z=x;

elsez=y;

return(z);

}

A、72

B、18

C、27

D、45

以下正确的描述是:

在C语言程序中(B)。

A、函数的定义可以嵌套,但函数的调用不可以嵌套

B、函数的定义不可以嵌套,但函数的调用可以嵌套

C、函数的定义和函数的调用均可以嵌套

D、函数的定义和函数的调用均不可以嵌套

在C语言的函数中,下列正确的说法是(B)。

A、形参可以是常量和变量

B、可以有也可以没有形参

C、数组名不能作形参

D、必须有形参

设有宏定义#definePI3.14和#defineS(r)PI*r*r,则S

(2)的值为(B).

A、6.28

B、12.56

C、3.14

D、9.42

inta[10]={1,2,3,4,5,6,7,8};int*p;p=&a[5];p[-3]的值是(D)。

A、4

B、2

C、不一定

D、3

若有以下程序段,则使用错误的选项是(C).

structstudent

{

intnum;

intage;

};

structstudentstu[3]={{1001,20},{1002,19},{1004,20}};

main();

{

structstudent*p;

p=stu;

;

}

A、(*p).num

B、(p++)->num

C、p=&stu.age

D、p++

若以"a+"方式打开一个已存在的文件,则以下叙述正确的是(A)。

A、文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作

B、以上各种说法皆不正确

C、文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作

D、文件打开时,原有文件内容被删除,只可作写操作

 

#define和printf都不是C语句。

正确

格式字符%x用来以十六进制形式输出整数.正确

语句if(a>b)printf("%d",a);elseprintf("%d",b);可以用条件表达式a>b?

a:

b取代.

错误逻辑表达式-5&&!

8的值为1.错误

循环结构中的continue语句是使整个循环终止执行错误

for循环语句不能用于循环次数未知的情况下.错误

引用数组元素时,数组元素下标必须是整型常量.错误

数组的首地址一定是第一个数组元素的地址.正确

数组整体不参加数据处理(即不参加各种运算),参加数据处理的只能是数组的元素.正确

数组名作为函数调用时的实参,实际上传递给形参的是数组全部元素的值.错误

在主函数中,必须要对被调用函数进行类型说明,否则在编译时会出现错误.错误

在一个函数中定义的静态局部变量不能被另外一个函数所调用.正确

计算机编译系统对宏定义在编译时进行语法检查.错误

指向某一变量的指针,就是该变量的内存地址.正确

对于不同类型的数据,若想合成一个有机的整体,可以引用结构体进行定义。

正确

在打开文件时,必须说明文件的使用方式,"r"表示以只读方式打开一个文件.正确

 

intx=2;z=x++-1;则x的值为___3__.

设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为___2.5__.

设x=62,表达式x>=60&&x<70||x==1的值为___1__.

c语言表达式5>2>7>8的值是__0___.

字符串比较的库函数是__strcmp___,只写函数名即可.

从函数的形式上看,函数分为无参函数和___有参函数__两种类型.

设有以下共用体类型说明和变量定义,则变量a在内存所占字节数是__16___。

unionstud{charnum[6];floats[4];doubleave;}a,*p;

在C语言中,根据要处理的文件存储的编码形式,可以把文件分为ASCII文件和__二进制___文件.

 

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

用函数求N个[10,60]上的整数中能被5整除的最大

的数,如存在则返回这个最大值,如果不存在则

返回0。

------------------------------------------------*/

#include"stdio.h"

#include"stdlib.h"

#defineN30

intfind(intarr[],intn)

{

intm=0;

/*********Begin**********/

【参考代码】

inti;

for(i=0;i

if(arr[i]%5==0&&arr[i]>m)

m=arr[i];

 

===============

【考生代码】

/**********End**********/

return(m);

}

main()

{

inta[N],i,k;

voidTestFunc();

for(i=0;i

a[i]=rand()%50+10;

for(i=0;i

{

printf("%5d",a[i]);

if((i+1)%5==0)printf("\n");

}

k=find(a,N);

if(k==0)

printf("NOFOUND\n");

else

printf("themaxis:

%d\n",k);

TestFunc();

}

voidTestFunc()

{

FILE*IN,*OUT;

intn;

inti[5];

into;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("ReadFileError");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("WriteFileError");

}

for(n=0;n<5;n++)

{

fscanf(IN,"%d",&i[n]);

}

o=find(i,5);

fprintf(OUT,"%d\n",o);

fclose(IN);

fclose(OUT);

 

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

根据整型参数n,计算如图公式的值。

------------------------------------------------*/

#include"stdio.h"

#include"conio.h"

doublefun(intn)

{

/*********Begin**********/

【参考代码】

doublea=1;inti;

for(i=1;i

a=1.0/(1+a);

returna;

 

===============

【考生代码】

/**********End**********/

}

main()

{

intm;

voidTestFunc();

printf("Enterm:

");

scanf("%d",&m);

printf("\nTheresultis%f\n",fun(m));

TestFunc();

}

voidTestFunc()

{

FILE*IN,*OUT;

ints;

intt;

doubleo;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("ReadFileError");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("WriteFileError");

}

for(s=1;s<=5;s++)

{

fscanf(IN,"%d",&t);

o=fun(t);

fprintf(OUT,"%f\n",o);

}

fclose(IN);

fclose(OUT);

}

 

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:

实现3行3列矩阵的转置,即行列互换。

------------------------------------------------------*/

#include"stdio.h"

voidfun(inta[3][3],intn)

{

inti,j,t;

for(i=0;i

for(j=0;j

/**********ERROR**********/

scanf("%d",a[i][j]);

for(i=0;i

{

for(j=0;j

printf("%4d",a[i][j]);

printf("\n");

}

for(i=0;i

/**********ERROR**********/

for(j=0;j

{

/**********ERROR**********/

a[i][j]=t;

a[i][j]=a[j][i];

/**********ERROR**********/

t=a[j][i];

}

for(i=0;i

{

for(j=0;j

printf("%4d",a[i][j]);

printf("\n");

}

}

main()

{

intb[3][3];

fun(b,3);

}

【改错1】错误

【学生答案】

scanf("%d",a[i][j]);

【参考答案】

scanf("%d",&a[i][j]);

scanf("%d",(*(a+i)+j));

 

============================================================

【改错2】错误

【学生答案】

for(j=0;j

【参考答案】

for(j=0;j

for(j=0;i>j;j++)

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

for(j=0;i>=j;j++)

for(j=i+1;j

for(j=i;j

for(j=0;j<=i-1;j++)

for(j=0;i-1>=j;j++)

for(j=i+1;j<=n-1;j++)

for(j=i;j<=n-i;j++)

 

============================================================

【改错3】错误

【学生答案】

a[i][j]=t;

【参考答案】

t=a[i][j];

 

============================================================

【改错4】错误

【学生答案】

t=a[j][i];

【参考答案】

a[j][i]=t;

 

============================================================

 

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:

从键盘输入10个字符,统计其中数字字符的个数。

------------------------------------------------------*/

#include

intmain()

{

inti,sum=0;

charc;

for(i=11;i>=2;i--)

{

/**********ERROR**********/

c=gets();

if(c<'0'||c>'9')

/**********ERROR**********/

break;

++sum;

}

printf("sum=%d",sum);

return0;

}

【改错1】错误

【学生答案】

c=gets();

【参考答案】

c=getchar();

 

============================================================

【改错2】错误

【学生答案】

break;

【参考答案】

continue;

 

============================================================

 

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:

从键盘上输入2名学生4门课成绩,求每个学生的平均成绩,并统计不及格门次。

-------------------------------------------------------*/

#include

#include"math.h"

intmain()

{

inti,j,n=0;

floatx,sum,avg;

for(i=1;i<=2;i++)

{

/***********FILL***********/

____________;

for(j=1;j<=4;j++)

{

scanf("%f",&x);

if(x<60)n++;

/***********FILL***********/

___________;

}

avg=sum/4.0;

printf("\navgofNO.%dis%5.2f",i,avg);

}

printf("\n%d",n);

return0;

}

 

【空1】错误

【学生答案】

____________;

【参考答案】

sum=0

 

============================================================

【空2】错误

【学生答案】

___________;

【参考答案】

sum=sum+x

sum+=x

 

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:

设数组a中的元素均为正整数,以下程序是求a中偶数的个数

和偶数的平均值。

-------------------------------------------------------*/

#include

intmain()

{

inta[10]={1,2,3,4,5,6,7,8,9,10};

intk,s,i;

floatave;

for(k=s=i=0;i<10;i++)

{

/***********FILL***********/

if(a[i]%2!

=0)_______;

/***********FILL***********/

s+=________;

k++;

}

if(k!

=0)

{

ave=s/k;

printf("%d,%f\n",k,ave);

}

return0;

}

【空1】错误

【学生答案】

if(a[i]%2!

=0)_______;

【参考答案】

continue

 

============================================================

【空2】错误

【学生答案】

s+=________;

【参考答案】

a[i]

 

============================================================

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 日语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1