最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

C语言习题5

来源:动视网 责编:小OO 时间:2025-09-26 00:24:35
文档

C语言习题5

测试题5设有说明int(*ptr)[M];其中标识符ptr是(C)。A、M个指向整型变量的指针B、具有M个指针元素的一维指针数组,每个元素都只能指向整型量C、一个指向具有M个整型元素的一维数组的指针D、指向M个整型变量的函数指针若以下变量均是整型,且num=sum=7;则计算表达式sum=num++,sum++,++num后sum的值为(A)。A、8B、7C、10D、9若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是(C)。A、6B、-3C、-12D、9当调用函数时,
推荐度:
导读测试题5设有说明int(*ptr)[M];其中标识符ptr是(C)。A、M个指向整型变量的指针B、具有M个指针元素的一维指针数组,每个元素都只能指向整型量C、一个指向具有M个整型元素的一维数组的指针D、指向M个整型变量的函数指针若以下变量均是整型,且num=sum=7;则计算表达式sum=num++,sum++,++num后sum的值为(A)。A、8B、7C、10D、9若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是(C)。A、6B、-3C、-12D、9当调用函数时,
测试题5

设有说明int (*ptr)[M];其中标识符ptr是(C)。

A、M个指向整型变量的指针

B、具有M个指针元素的一维指针数组,每个元素都只能指向整型量

C、一个指向具有M个整型元素的一维数组的指针

D、指向M个整型变量的函数指针

若以下变量均是整型,且num=sum=7;则计算表达式sum=num++,sum++,++num后sum的值为(A)。

A、8

B、7

C、10

D、9

若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是(C)。

A、6

B、-3

C、-12

D、9

当调用函数时,实参是一个数组名,则向函数传送的是(B)。

A、数组每一个元素的地址

B、数组的首地址

C、数组每个元素中的值

D、数组的长度

以下叙述不正确的是(B)。

A、C程序的基本组成单位是函数

B、在C程序中,注释说明只能位于一条语句的后面

C、一个C源程序必须包含一个main函数

D、一个C源程序可由一个或多个函数组成

对于基本类型相同的两个指针变量之间,不能进行的运算是(A)。

A、+

B、<

C、=

D、-

fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式

必须是(D)。

A、答案B和C都正确

B、只写

C、追加

D、读或读写

以下叙述正确的是(B)。

A、do-while语句构成的循环不能用其它语句构成的循环来代替.

B、用do-while语句构成的循环,在while后的表达式为零时结束循环

C、用do-while语句构成的循环,在while后的表达式为非零时结束循环.

D、do-while语句构成的循环只能用break语句退出.

C语言程序中必须有的函数是(C)

A、#include "stdio.h"

B、#include

C、main

D、printf

以下不正确的说法是:C语言规定(B)。

A、实参可以为任何类型

B、形参可以是常量,变量或表达式

C、实参可以是常量,变量或表达式

D、形参应与其对应的实参类型匹配一致

已知int  k=67; 则表达式k/10的值为;C

A、6.70

B、6.7

C、6

D、7

static struct {int a1;float a2;char a3;}a[10]={1,3.5,'A'}; 说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存

储方式,其中被初始化的下标变量是(B)。

A、a[10]

B、a[0]

C、a[1]

D、a[-1]

在C语言程序中(A)。

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

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

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

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

以下不能正确进行字符串赋初值的语句是(B)。

A、char str[]="good!";

B、char str[5]="good!";

C、char *str="good!";

D、char str[5]={'g','o','o','d',0};

若有以下程序:

main()

{

int k=2,i=2,m;

  m=(k+=i*=k); 

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

}

执行后的输出结果是___A___。

A、6,4

B、7,4

C、8,3

D、8,6

在执行fopen函数时,ferror函数的初值是(D)。

A、TRUE

B、1

C、-1

D、0

下列定义不正确的是(A)。

A、int max(x,y);  intx,y; {  }

B、static char c;

C、#define S3 45

D、#define PI 3.141592

下面选择中正确的赋值语句是(设char a[5],*p=a;)(C)。

A、*a="abcd";

B、a="abcd";

C、p="abcd";

D、*p="abcd";

下面不正确的字符串常量是(B)。

A、"0"

B、'abc'

C、"12'12"

D、"  "

C语言中,char类型数据占(D)。

A、2个字节

B、8个字节

C、4个字节

D、1个字节

设a=12,且a定义为整型变量。执行语句a+=a-=a*=a;后a的值为(B)。

A、144

B、0

C、12

D、132

以下程序的执行结果是___A____.

main()

{  intnum = 0; 

while( num<= 2 ) { num++; printf( "%d,",num ); } }

A、1,2,3,

B、1,2,3,4,

C、1,2,

D、0,1,2

下列四个选项中,均是C语言关键字的选项是(B)。

A、if  struct   type

B、switch  typedef   continue

C、signed  union   scanf

D、auto   enum    include

对循环语句:for(表达式1;表达式2;表达式3)语句,以下叙述正确的是(D ).

A、for语句只能用于循环次数已经确定的情况

B、for语句中的三个表达式一个都不能少

C、for语句中的循环体至少要被执行一次

D、for语句中的循环体可以是一个复合语句

以下错误的描述是:函数调用可以(A)。

A、做为一个函数的形参

B、出现在执行语句中

C、做为一个函数的实参

D、出现在一个表达式中

以下程序的输出结果是D

#define FMT  “%d,”

main()

    {

int b[][4] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23};

printf(FMT, *(*(b+1)+1));

printfFMT, b[2][2]);

    }

A、1,11,

B、1,11

C、11,21

D、11,21,

下列定义不正确的是(C)。

A、static char c;

B、#define S 345

C、int max(x,y);  intx,y; {  }

D、#define PI 3.141592

下列关于C语言数据文件的叙述中正确的是(D)。

A、文件由ASCII码字符序列组成,C语言只能读写文本文件

B、文件由二进制数据序列组成,C语言只能读写二进制文件

C、文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件

D、文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件

若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c赋予33,以下不正确的输入形式是A

scanf(“%f  %f  %f”, &a, &b, &c);

A、

B、

C、

D、

设j和k都是int类型,则下面的for循环语句(D)。

for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k);

A、是无限循环

B、最多执行9次

C、循环体一次也不执行

D、最多执行10次

char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。N

while和do…while循环不论什么条件下它们的结果都是相同的.N

若有定义:int i=3,j;执行j=i++;后,i,j的值都为4。N

关系运算符<= 与 == 的优先级相同。N

若有定义和语句:

int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0;

for(i=0;i<3;i++) sum+=a[i][2-i];则sum=21.Y

十进制数15的二进制数是1111.Y

C语言的函数可以嵌套定义.N

在Turbo C中,整型数据在内存中占2个字节。N

通过return语句,函数可以带回一个或一个以上的返回值。N

#define 和printf 都不是C语句。Y

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

【程序设计】

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

功能:输入2个学生3门课的成绩,计算学生成绩平均分,

课程平均分和最高分. 

例如:输入2名学生3门课的成绩分别为92,87,68,56,

      92,84 则

学生1平均分:82.33

学生2平均分:77.33

课程1平均分:74.00

课程2平均分:.50

课程3平均分:76.00

最高分为:92

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

#include

void VV();

/*定义全局变量*/

/*学生成绩平均分*/

float StuAgv[2];

/*课程平均分*/

float CouAgv[3];

/*所有学生的所有课程最高分*/

float Max=0;

/*说明:需要在下面函数中把题干要求中的结果赋值到上面定义一变量中*/

void fun(float score[2][3])

{

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

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

}

void main()

{

inti,j;

float score[2][3];

printf("输入学生的成绩:");

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

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

scanf("%f",&score[i][j]);

printf("\\n输出学生的成绩:");

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

  {  

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

printf("%.2f  ",score[i][j]);

printf("\\n"); 

   }

fun (score);

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

printf("第%d个学生的平均成绩是:%0.2f\\n",i+1,StuAgv[i]);

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

printf("第%d门课的平均成绩是:%0.2f\\n",j+1,CouAgv[j]);

printf("所有分数中的最高分为:%.2f\\n",Max);

VV();

}

void VV()

{

  FILE *IN,*OUT;

floatiIN[2][3];

inti,j;

  IN=fopen("in.dat

if(IN==NULL)

  {

printf("Please Verify The CurrerntDir..it May Be Changed");

  }

  OUT=fopen("out.dat

if(OUT==NULL)

  {

printf("Please Verify The Current Dir.. it May Be Changed");

}

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

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

fscanf(IN,"%f",&iIN[i][j]);

fun(iIN);

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

fprintf(OUT,"%.2f\\n",StuAgv[i]);

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

fprintf(OUT,"%.2f\\n",CouAgv[j]);

fprintf(OUT,"%.2f\\n",Max);

fclose(IN);

fclose(OUT);

return ;

}

【参考代码】

inti,j;

float sum;

/*计算第i个学生平均分*/

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

{

sum=0;

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

sum=sum+score[i][j];

StuAgv[i]=sum/3;

}

/*计算第j门课的平均分*/

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

{

sum=0;

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

sum=sum+ score [i][j];

CouAgv[j]=sum/2;

}

Max=score[0][0];

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

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

if(Max<=score[i][j])

      Max=score[i][j];

return ;

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

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

【程序设计】

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

功能:对长度为7个字符的字符串,除首、尾字符外,将其

余5个字符按降序排列。

例如:原来的字符串为CEAedca,排序后输出为CedcEAa。

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

#include

#include

#include

void  bky(); 

void fun(char *s,intnum)

{

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

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

}

main()

{

char s[10];

printf("输入7个字符的字符串:");

gets(s);

fun(s,7);

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

bky();

}

voidbky()     

{     

int i;

char a[100];

  FILE *rf, *wf ;

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

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

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

  {

fscanf(rf, "%s", &a);

fun(a,7);

fprintf(wf, "%s", a);

fprintf(wf, "\\n");

  }

fclose(rf);

fclose(wf);

}

【参考代码】

inti,j;

char t;

for(i=1;ifor(j=i+1;jif(s[i]{ t=s[i];s[i]=s[j];s[j]=t;}

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

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

【程序改错】

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

功能:计算正整数num的各位上的数字之积。

例如:输入252,则输出应该是20。

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

#include

long fun (long num)

{

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

long k;

do

  {

k*=num%10;

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

num\\=10;

}while (num);

return k;

}

main()

{

long n;

printf("\\nPlease enter a number:");

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

scanf("%ld", n);

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

printf("\\n%ld\\n",fun(long n));

}

【改错1】    错误

【学生答案】

long k;

【参】

long k=1;

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

【改错2】    错误

【学生答案】

num\\=10;

【参】

num/=10;

num=num/10;

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

【改错3】    错误

【学生答案】

scanf("%ld", n);

【参】

scanf("%ld",&n);

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

【改错4】    错误

【学生答案】

printf("\\n%ld\\n",fun(long n));

【参】

printf("\\n%ld\\n",fun(n));

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

【程序改错】

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

功能:判断字符ch是否与str所指串中的某个字符相同;若相同,

什么也不做,若不同,则将其插在串的最后。

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

#include

#include

#include

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

void fun(char str, char ch )

while ( *str&& *str != ch )

str++;

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

if ( *str == ch )

  {

str [ 0 ] = ch;

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

str[1] = '0';

  }

main( )

{

char s[81], c ;

printf( "\\nPlease enter a string:\\n" );

gets ( s );

printf ("\\n Please enter the character to search : " );

  c = getchar();

fun(s, c) ;

printf( "\\nThe result is %s\\n", s);

}

【改错1】    错误

【学生答案】

void fun(char str, char ch )

【参】

void fun(char *str, char ch )

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

【改错2】    错误

【学生答案】

if ( *str == ch )

【参】

if ( *str == '\\0' )

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

【改错3】    错误

【学生答案】

str[1] = '0';

【参】

str[1] = '\\0';

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

【程序填空】

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

功能:计算一元二次方程的根。

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

#include

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

#include _____

main()

{

float a,b,c,disc,x1,x2,realpart,imagpart;

scanf("%f%f%f",&a,&b,&c);

printf("the equation");

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

if(_____<=1e-6)

printf("is not quadratic\\n");

else

disc=b*b-4*a*c;

if(fabs(disc)<=1e-6)

printf("has two equal roots:%-8.4f\\n",-b/(2*a));

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

else if(_____)

  {

x1=(-b+sqrt(disc))/(2*a);

x2=(-b-sqrt(disc))/(2*a);

printf("has distinct real roots:%8.4f and %.4f\\n",x1,x2);

  }

else

  {

realpart=-b/(2*a);

imagpart=sqrt(-disc)/(2*a);

printf("has complex roots:\\n");

printf("%8.4f=%.4fi\\n",realpart,imagpart);

printf("%8.4f-%.4fi\\n",realpart,imagpart);

}

}

【空1】    错误

【学生答案】

#include _____

【参】

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

【空2】    错误

【学生答案】

if(_____<=1e-6)

【参】

fabs(a)

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

【空3】    错误

【学生答案】

else if(_____)

【参】

fabs(disc) > 1e-6

1e-6/*-------------------------------------------------------

【程序填空】

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

功能:调用函数fun计算m=1-2+3-4+……+9-10,并输出结果。

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

#include

int fun( int n)

{

int m=0,f=1,i;

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

for(i=1;_____;i++)

  {

    m+=i*f;

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

    _____;

  }

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

return _____;

}

main()

{

printf("m=%d\\n", fun(10));

}

【空1】    错误

【学生答案】

for(i=1;_____;i++)

【参】

i<=n

n>=i

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

【空2】    错误

【学生答案】

_____;

【参】

f= -f

f= -1*f

f=f*(-1)

f=(-1)*f

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

【空3】    错误

【学生答案】

return _____;

【参】

M

文档

C语言习题5

测试题5设有说明int(*ptr)[M];其中标识符ptr是(C)。A、M个指向整型变量的指针B、具有M个指针元素的一维指针数组,每个元素都只能指向整型量C、一个指向具有M个整型元素的一维数组的指针D、指向M个整型变量的函数指针若以下变量均是整型,且num=sum=7;则计算表达式sum=num++,sum++,++num后sum的值为(A)。A、8B、7C、10D、9若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是(C)。A、6B、-3C、-12D、9当调用函数时,
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top