c语言浮点数出错_20192020第二学期C语言练习题03

2023-11-14

一、单选题(共100题,50分)

1、若有定义int a[10],*p=a; 则表达式p+5表示()

A、 元素a[5]的地址

B、 元素a[6]的地址

C、 元素a[5]的值

D、 元素a[6]的值

正确答案:A

2、题号:8281若有定义:int aa[ 8];则以下表达式中不能代表数组元aa[1]的地址的是()。

A、 &aa[0]++

B、 aa+1

C、 &aa[0]+1

D、 &aa[1]

正确答案:A

3、现代计算机之父是(   ):

A、 阿兰·图灵

B、 冯·诺依曼

C、 莫言

D、 莱布尼兹

正确答案:B

4、能正确定义整型变量a和b,并为它们赋初值5的语句是(            )

A、 a=b=5;

B、 int a=5,b=5;

C、 int a=b=5;

D、 int a,b=5;

正确答案:B

5、题号:8282若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是()。

A、 *p=*q;

B、 n=*q;

C、 p=n;

D、 p=q;

正确答案:C

6、假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,
则数组x在内存中所占字节数是()。

A、 10

B、 3

C、 20

D、 6

正确答案:C

7、C 语言程序的三种基本结构是顺序结构、选择结构和______结构.

A、 递归

B、 转移

C、 嵌套

D、 循环

正确答案:D

8、有以下定义:

struct person { char name[10] ;  int age; } ;

struct person class[10]={ "John", 17, "Paul", 19, "Mary", 18, "Adam", 16 } ;

能输出字母M的语句是:()

A、 printf( "%c \n",class[2].name[0] ) ;

B、 printf( "%c \n",class[3].name[0] ) ;

C、 printf( "%c \n",class[3].name[1] ) ;

D、 printf( "%c \n",class[2].name[1] ) ;

正确答案:A

9、若用数组名作为函数调用的实参,则传递给形参的是 (     )

A、 数组的首地址

B、 数组第一个元素的值

C、 数组中全部元素的值

D、 数组元素的个数

正确答案:A

10、以下不正确的if语句形式是(   )。

A、 if(x!=y) scanf("%d",&x) else scanf("%d",&y);

B、 if(x

C、 if(x>y&&x!=y);

D、 if(x==y) x+=y;

正确答案:A

11、下列结构体的定义语句中,错误的是()

A、 struct ord{int x; int y; int z; }struct ord a;

B、 struct ord{int x; int y; int z; }; struct ord a;

C、 struct ord{int x; int y; int z; }a;

D、 struct {int x; int y; int z; }a;

正确答案:A

12、以下对宏替换的叙述不正确的是(   )

A、 宏名无类型,其参数也无类型

B、 宏替换只是字符的替换

C、 带参的宏替换在替换时,先求出实参表达式的值,然后代入形参运算求值

D、 宏替换不占运行时间

正确答案:C

13、
C语言的源程序通常的扩展名是(          )

A、 .cpp

B、 .c

C、 .obj

D、 .exe

正确答案:B

14、

有如下程序:有如下程序:

#include

void main()

char a,b,c,d;

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

printf("%c, %c, %c, %c ",a,b,c,d);

}

     若运行时从键盘输入:6,5,65,66,则输出结果是(  )。

A、 6,5,A,B

B、 6,5,65,66

C、 6,5,6,5

D、 6,5,6,6

正确答案:A

15、以下程序运行时,输入的x值在(    )范围时才会有输出结果。

#include

void main()

{

  int x;

  scanf("%d",&x);

  if(x<5)

    ;

  else if(x!=20)

      printf("%d",x);

}

A、 大于等于5且不等于20的整数

B、 不等于20的整数

C、 小于5的整数

D、 大于等于5且等于20的整数

正确答案:A

16、若整型变量a=1,b=2,c=3,d=4,则表达式 a>b && c

A、 0

B、 1

C、 2

D、 -1

正确答案:A

17、以下程序的运行结果是()。
#include
void main()
{
int i=1,sum=0;
while(i<10)
{
sum=sum+1;
i++;
}
printf("i=%d,sum=%d"; i,sum);
}

A、 运行出现错误

B、 i=9,sum=9

C、 i=2,sum=1

D、 i=10,sum=9

正确答案:A

18、阅读下面的程序:

#include

void main()

   int swap();

   int a,b;

    a=3;b=10;

    swap(a,b);

    printf("a=%d,b=%d\n",a,b);

 }

swap(int a,int b)

{

   int temp;

   temp=a; a=b; b=temp; 

}

下面的说法中,正确的是(    )。

A、 在main()函数中调用swap()后,能使变量a和b的值交换

B、 在main()函数中输出的结果是:a=3,b=10

C、 .程序第2行的语句int swap();是对swap()函数进行调用

D、 swap()函数的类型是void

正确答案:B

19、若调用一个函数,且此函数中没有return语句,则正确的说法是:
该函数()。

A、 没有返回值

B、 返回若干个系统默认值

C、 返回一个不确定的值

D、 能返回一个用户所希望的值

正确答案:C

20、为了避免嵌套的条件分支语句if-else二义性,C语言规定,C程序中的else总是与(    )组成配对关系。

A、 缩排位置相同的if

B、 在其之前未配对的最近的if

C、 在其之前未配对的if

D、 同一行上的if

正确答案:B

21、
设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用(  )最节省时间。

A、 带尾指针的单循环链表

B、 单循环链表

C、 带头结点的双循环链表

D、 单链表

正确答案:C

22、设变量定义为int a[2]={ 1, 3 }, *p=&a[0]+1; 则表达式*p的值是( )。

A、 1

B、 2

C、 3

D、 &a[0]+1

正确答案:C

23、静态链表中的游标表示的是(  )。

A、 逻辑上下一个结点在数组中的下标

B、 内存地址

C、 数组下标

D、 逻辑上下一个结点的实际地址

正确答案:A

24、C语言中用于结构化程序设计的三种基本结构是()。

A、 for、while、do-while

B、 顺序结构、选择结构、循环结构

C、 if、switch、break

D、 if、for、continue

正确答案:B

25、在C语言中,为了结束由while语句构成的循环,while后一对圆括号
中表达式的值应该为()。

A、 1

B、 0

C、 True

D、 非0

正确答案:B

26、以下所列的C语言常量中,错误的是()。

A、 '\72'

B、 0xFF

C、 2L

D、 1.2e0.5

正确答案:D

27、题号:8284变量的指针,其含义是指该变量的()。

A、 名

B、 地址

C、 一个标志

D、 值

正确答案:B

28、

设有以下宏定义:

#define N 4

#define Y(N) ((N+1)+1)

    则执行语句:z=2*(N+Y(5+1)); 后,z的值为(    )。

A、 24

B、 出错

C、 60

D、 48

正确答案:A

29、下列程序的输出结果为(    )。
main()
{

    int m=7,n=4;
    float a=38.4,b=6.4,x;
    x=m/2+n*a/b+1/2;
    printf("%f\n",x);
}

A、 28.000000

B、 27.500000

C、 28.500000

D、 27.000000

正确答案:D

30、题号:4350具有相同类型的指针变量p与数组a,不能进行的操作是()。

A、 p=&a[0];

B、 p=a;

C、 p=&a;

D、 *p=a[0];

正确答案:C

31、以下不符合C语言语法的赋值语句是()。

A、 a=b=5;

B、 y=(a=3,6*5);

C、 a=1,b=2

D、 j=j+1;

正确答案:C

32、以下语法中正确的是(   )

A、 C语言程序中的main函数必须放在程序的开始部分

B、 C语言程序总是从main开始执行

C、 在C语言程序中,要调用的函数必须在main函数中定义

D、 C语言程序总是从第一个定义的函数开始执行

正确答案:B

33、若有定义如下:

typedef int * T;

T a[10];

则a的定义与下面哪个语句等价()?

A、 int  (*a)[10];

B、 int  *a[10];

C、 int  *a;

D、 int  a[10];

正确答案:B

34、以下选项中不属于C语言程序运算符的是:(   )

A、 <>

B、 sizeof

C、 ()

D、 &&

正确答案:A

35、题号:428已知p,p1为指针变量,a为数组名,j为整型变量,下列赋值语句中不正确的是()。

A、 p=&a[j];

B、 p=a;

C、 p=10;

D、 p=&j,p=p1;

正确答案:C

36、能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是(   )

A、 a>=0 | a<=10

B、 a>=10 or a<=0

C、 a>=10 && a<=0

D、 a>=10 || a<=0

正确答案:D

37、若有double *p, x[10]; int i=5;使指针变量p指向元素x[5]的语句为()。

A、 p=x;

B、 p=x[i];

C、 p=&(x+i)

D、 p=&x[i];

正确答案:D

38、题号:1057
经过下列的语句 int j,a[10],*p;定义后,下列语句中合法的是()。

A、 p=a[5];

B、 p=&(j+2);

C、 p=a[2]+2;

D、 p=p+2;

正确答案:B

39、若k为int型变量,则以下程序段的执行结果是()。
k=8567; printf("|%6d|\n",k);

A、 输出为|%6D|

B、 输出为| 8567|

C、 格式描述符不合法,输出无定值

D、 输出为|8567 |

正确答案:B

40、int a[2][4]={1,2,3,4,5,6,7,8};

int (*p)[4]=a;

此时p的数据类型是()?

A、 int

B、 int *

C、 int *[4]

D、 int (*)[4]

正确答案:D

41、
下列属于C语言中合法标识符的是(          )

A、 ex-1

B、 _cook

C、 951a

D、 if

正确答案:B

42、已知字母a的ASCII值为97,则执行下列语句后的输出结果为(     )。
char a='a'; a--;
printf("%d,%c\n",a+'2'-'0',a+'3'-'0');

A、 b,c

B、 格式描述和输出项不匹配,输出无定值

C、 a--运算不合法,故有语法错

D、 98,c

正确答案:D

43、
两个指针p和q,分别指向单链表的两个结点,p是q的前驱结点的条件是(    )。

A、 p->next==q->next

B、 p->next==q

C、 q->next==p

D、 p==q

正确答案:B

44、题号:914若定义:int a=511,*b=&a;, 则printf("%d\n",*b);的输出结果为()。

A、 512

B、 511

C、 a的地址

D、 无确定值

正确答案:B

45、题号:8296若有下列定义,则对a数组元素地址的正确引用是()。int a[5],*p=a;

A、 a++

B、 &a

C、 p+2

D、 &a[5]

正确答案:C

46、假设c语言中int型数据类型占4个字节,经下列语句定义后,sizeof(x),
sizeof(y),sizeof(a),sizeof(b)在微机上的值分别为()。
char x=65;
float y=7.3;
int a=100;
double b=4.5;

A、 1,4,4,8

B、 2,2,2,4

C、 1,2,2,4

D、 2,4,2,8

正确答案:A

47、执行语句 for(i=1;i++<4;); 后变量 i 的值是()。

A、 不定

B、 3

C、 4

D、 5

正确答案:D

48、下列浮点数的形式表示错误的是(     )

A、 10.6

B、 12E2.0

C、 100000

D、 .5

正确答案:B

49、设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是()。

A、 p1=p2;

B、 c=*p1+*p2;

C、 c=*p1*(*p2);

D、 p2=c;

正确答案:D

50、下列关于指针定义的描述,___________是错误的

A、 指针变量的类型与它所指向的变量类型一致

B、 指针是一种变量,该变量用来存放某个变量的地址值的

C、 指针变量的命名规则与标识符相同

D、 指针是一种变量,该变量用来存放某个变量的值

正确答案:D

51、
C语言属于(          )

A、 机器语言

B、 汇编语言

C、 高级语言

D、 低级语言

正确答案:C

52、C语言中,while语句和do-while语句的主要区别是(    )

A、 do-while的循环体不能是复合语句

B、 do-while的循环体至少无条件执行一次

C、 while的循环控制条件比do-while的循环控制条件严格

D、 do-while允许从外部转到循环体内

正确答案:B

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

A、 +

B、 <

C、 =

D、 -

正确答案:A

54、

若a为实型变量,则以下程序段的输出结果是(         )。

a=2.389;

printf("%.2f",a);

A、 2.389

B、 0.38

C、 2.4

D、 2.39

正确答案:D

55、若定义int i;则以下循环语句的循环执行次数是(    )。

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

   printf("%d",i--);

A、 1

B、 2

C、 0

D、 无限次

正确答案:C

56、题号:8279若有int i=3,*p;p=&i;下列语句中输出结果为3的是()。

A、 printf("%d",*p);

B、 printf("%d",*i);

C、 printf("%d",p);

D、 printf("%d",&p);

正确答案:A

57、题号:8300若有int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5的语句为()。

A、 printf("%d",*(a+5));

B、 printf("%d",*(p+5));

C、 printf("%d",p[5]);

D、 printf("%d",*p[5]);

正确答案:D

58、若用fopen()函数打开一个新的二进制文件,该文件可以读也可以写,则文件的打开方式是(    )。

A、 "ab+"

B、 "wb+"

C、 "rb+"

D、 "ab"

正确答案:B

59、题号:6490若有说明:int *p,m=5,n;以下正确的程序段是()。

A、 scanf("%d",&n);*p=n;

B、 p=&n;*p=m;

C、 p=&n;scanf("%d",*p)

D、 p=&n;scanf("%d",&p);

正确答案:B

60、字符型指针变量中存入的是:()

A、 第一个字符

B、 字符串

C、 字符串的首地址

D、 字符串变量

正确答案:C

61、题号:2319下面判断正确的是()。

A、 char *a="china";等价于 char *a;*a="china";

B、 char str[10]={"china"};等价于char str[10];str[]={"china"};

C、 char c[4]="abc",d[4]="abc";等价于 char c[4]=d[4]="abc";

D、 char *s="china";等价于 char *s;s="china";

正确答案:D

62、题号:8291若有double *p,x[10];int i=5;使指针变量p指向元素x[5]的语句为()。

A、 p=x[i];

B、 p=x;

C、 p=&(x+i)

D、 p=&x[i];

正确答案:D

63、以下字符中不是转义字符的是()。

A、 '\c'

B、 '\b'

C、 '\\'

D、 '\t'

正确答案:A

64、下列说法正确的是()。

A、 在利用返回值方式传递数据时,可以省略数据类型说明符

B、 利用地址返回值方式传递数据时,返回值可以赋予普通变量

C、 在函数间通过全局变量的传递数据,只能用外部变量,不能用内部变量

D、 利用全局变量传递数据,可以简化程序,提倡使用

正确答案:C

65、下列说法不正确的是()。

A、 不同函数中,可以使用相同名字的变量

B、 在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效

C、 形式参数是局部变量

D、 主函数main中定义的变量在整个文件或程序中有效

正确答案:D

66、在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则()。

A、 称为函数的直接递归调用

B、 C语言中不允许这样的递归调用

C、 称为函数的循环调用

D、 称为函数的间接递归调用

正确答案:D

67、
链表不具有的特点是( )。

A、 插入、删除不需要移动元素

B、 可随机访问任意元素

C、 所需空间与链表长度成正比

D、 不必事先估计存储空间

正确答案:B

68、以下的选择中,正确的赋值语句是()。

A、 j++;

B、 a=1,b=2;

C、 a=b=5;

D、 y=int(x);

正确答案:C

69、在宏定义#define PI 3.1415926中,用宏名PI代替一个(    )。

A、 字符串

B、 单精度数

C、 双精度数常量

D、 常量

正确答案:A

70、题号:8311若有下列定义,能正确引用元素a[2]的是()。int a[5],*p=a;

A、 *p+2

B、 *(a+2)

C、 p+2

D、 a+2

正确答案:B

71、若有说明:int *p,m=5,n; 以下正确的程序段是()。

A、 p=&n;*p=m;

B、 p=&n;scanf("%d",*p)

C、 p=&n;scanf("%d",&p);

D、 scanf("%d",&n);*p=n;

正确答案:A

72、已知i、j、k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3,
以下选项中正确的输入语句是

A、 scanf("%d %d %d",&i,&j,&k);

B、 scanf("%d,%d,%d",&i,&j,&k);

C、 scanf("%2d%2d%2d",&i,&j,&k);

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

正确答案:B

73、下列合法的转义字符是(       )

A、 '\"'

B、 '\ee'

C、 '\018

D、 'xab'

正确答案:A

74、题号:8323char h,*s=&h;可将字符H通过指针存入变量h中的语句是()。

A、 *s='H';

B、 *s=H;

C、 s=H;

D、 s='H'

正确答案:A

75、可在C程序中用作标识符的一组标识符是(   )

A、 2c DO SiG

B、 void Define WORD

C、 as_b3 _123 If

D、 For -abc case

正确答案:C

76、
若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。

A、 顺序表

B、 双链表

C、 带头结点的双循环链表

D、 单循环链表

正确答案:A

77、int a[10]={1,2,3,4,5,6,7,8};
int *p=&a[0];
则p[3]的值是()。

A、 2

B、 3

C、 4

D、 不一定

正确答案:C

78、有如下枚举类型定义:

enum language { English=6, French,Chinese=1,Japanse,Italian};

则枚举量Italian的值为(    )。

A、 10

B、 3

C、 4

D、 5

正确答案:B

79、

下面程序的输出结果是(    )。

#include

void main()

{

 int x=10,y=3,z;

  printf("%d\n",z=(x%y,x/y));

   }

A、 4

B、 3

C、 1

D、 0

正确答案:B

80、在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的
表达式是()。

A、 (!E==0)

B、 (E==0)

C、 (E>0||E<0)

D、 (E!=0)

正确答案:B

81、
以下叙述不正确的是(         )

A、 注释说明被计算机编译系统忽略

B、 注释说明必须跟在“//”之后不能换行或者括在“/*”和“*/”之间且注释符必须配对使用

C、 注释符“/”和“*”之间不能有空格

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

正确答案:D

82、以下程序的输出结果是(    )。

#include

double f(int n)

   int i;

  double s=0;

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

        s+=1/i;

  return s;

}

int main()

   int i,m=3;

  float a=0.0;

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

    a=a+f(i);

  printf("%f\n",a);

   return 0;

}

A、 3.000000

B、 5.5000000

C、 4.000000

D、 8.25

正确答案:A

83、以下关于typedef的叙述不正确的是(    )。

A、 用typedef可以说明各种类型名,但不能用来定义变量

B、 用typedef可以增加新类型

C、 用typedef只是将已存在的类型用一个新的名称来代表

D、 用typedef便于程序的通用和移植

正确答案:B

84、
若变量x,y均定义为int型,z定义为double型,下列不合法的scanf语句是(        )

A、 scanf("%d%d%lf",&x,&y,&z);

B、 scanf("%d,%x,%lf",&x,&y,&z);

C、 scanf("%x,%o,%6.2f",&x,&y,&z);

D、  scanf("%x,%o",&x,&y);

正确答案:C

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

A、 a[1][3]

B、 a[0][4]

C、 a[4-2][0]

D、 a[0][2*1]

正确答案:B

86、
以下可以实现“输入一个字符到变量ch”的语句是(            )。

A、 scanf("%c",ch);

B、 ch=getchar( );

C、 getchar(ch);

D、 getch();

正确答案:B

87、#include

int main( )

{       FILE *fp;

        fp=fopen("file1.txt","w");

        fprintf(fp,"abc");

        fclose(fp);

}

假设file1.txt中原有内容为:hello,则以上代码运行后,文件file1.txt中的内容是:________。

A、 helloabc

B、 abclo

C、 abc

D、 abchello

正确答案:C

88、函数调用:strcat(strcpy(str1,str2),str3)的功能是()。

A、 将串str2连接到串str1之后再将串str1复制到串str3中

B、 将串str1复制到串str2中后再连接到串str3之后

C、 将串str2复制到串str1中后再将串str3连接到串str1之后

D、 将串str1连接到串str2之后再复制到串str3之后

正确答案:C

89、若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是

A、 scanf(“%d%d%d”, &a,&b,&c);

B、 scanf(“%d%d%d”,a,b,c);

C、 read(a,b,c)

D、 scnaf(“%D%D%D”,&a,&b,&C);

正确答案:A

90、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。

A、 传递方式由用户指定

B、 地址传递

C、 由实参传给形参,再由形参传回实参

D、 单向值传递

正确答案:D

91、题号:1768char *s1="hello",*s2;s2=s1;则()。

A、 s2指向不确定的内存单元

B、 s1不能再指向其它单元

C、 不能访问"hello"

D、 puts(s1);与puts(s2);结果相同

正确答案:D

92、假设a、b均为字符数组,则以下正确的输入语句是(    )。

A、 gets("a");gets("b");

B、 gets(a,b);

C、 scanf("%s %s",&a,&b);

D、 scanf("%s %s",a,b);

正确答案:D

93、代码编制中,累乘器变量的初始值一般设置为(   )?

A、 0

B、 1

C、 2

D、 3

正确答案:B

94、题号:5467若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是()。

A、 n=*q;

B、 p=q;

C、 p=n;

D、 *p=*q;

正确答案:C

95、以下程序的输出结果是(    )。

#include

int func(int a,int b)

return(a+b);

}

int main()

int x=6,y=7,z=8,r;

  r=func(func(x,y),z--);

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

  return 0;

}

A、 20

B、 31

C、 15

D、 21

正确答案:D

96、穷举法适用范围是(   )

A、 一切问题

B、 解的个数极多问题

C、 解的个数有限且可以列举

D、 不适合设计算法

正确答案:C

97、题号:5537有定义:char *p1,*p2;则下列表达式中正确合理的是

A、 p1/=5

B、 p1+=5

C、 p1=&p2

D、 p1*=p2

正确答案:B

98、若k,g均为int型变量,则下列语句的输出为()。
k=017; g=111;
printf("%d\t",k);
printf("%x\n",g);

A、 16 70

B、 15 71

C、 15 6f

D、 16 6f

正确答案:C

99、题号:8307char *s1="hello",*s2;s2=s1;则()。

A、 s2指向不确定的内存单元

B、 puts(s1);与puts(s2);结果相同

C、 s1不能再指向其它单元

D、 不能访问"hello"

正确答案:B

100、若整型变量a=3;b=2;c=1; 则表达式a>b>c的结果是(     )。

A、 0

B、 1

C、 2

D、 3

正确答案:A

二、多选题(共5题,10分)

1、设有以下程序段

struct book

{   float price;

     char language;

     char title[20];

} rec, *ptr;

ptr=&rec;

现要求输入字符串给结构体变量rec的title成员,下列正确的输入语句有:()

A、 scanf( "%s",ptr.title );

B、 scanf( "%s",rec.title );

C、 scanf( "%s",(*ptr).title );

D、 scanf( "%s",ptr->title );

正确答案:BCD

2、下列函数,可以用来向计算机外部设备输出单个字符的有?

A、 getchar()

B、 putchar()

C、 scanf

D、 printf

正确答案:BD

3、C语言源程序中的注释标志有(   )?

A、 //

B、 /

C、 /*       */

D、 //*    *//

正确答案:AC

4、C语言中的浮点型数据类型有(   )?

A、 float

B、 double

C、 long

D、 char

正确答案:AB

5、下列哪些文件的使用方式可以对已经存在的二进制文件进行“读和写”的双向操作()?

A、 ab

B、 rb+

C、 wb+

D、 ab+

正确答案:BCD

三、填空题(共20题,20分)

1、使用fputc函数从“程序数据区”向 "磁盘文件缓冲区" 输出一个字符时,则该磁盘文件的使用方式必须是_________。(填r或w)

正确答案:第1空:

w

2、采用普通的基本数据类型定义的变量只能存放1个数据,而采用______类型定义的变量允许我们存放多个性质不同的数据。

正确答案:第1空:

结构体

3、需要根据某个条件是否成立来决定是否执行指定的操作和任务,我们称这种结构为________结构?

正确答案:第1空:

选择;选择结构

4、C语言编译器是在内存的______区中进行动态内存分配的。

正确答案:第1空:

5、如果文件尾标志EOF已被读出,此时feof函数的值是:______。

正确答案:第1空:

真;1

6、C语言库函数_______是用来在内存的动态存储区中分配n个长度为size字节的连续空间的。(填函数名)

正确答案:第1空:

calloc

7、函数中的非静态局部变量都是存储在内存的_______区中的。

正确答案:第1空:

8、C语言编译器一般采用“__________”处理数据文件内容的。

正确答案:第1空:

缓冲文件系统;文件缓冲系统;文件缓冲区;缓冲;文件缓冲

9、int a[5]={1,2,3,4,5},*p=a;

则表达式*p的值是_____。

正确答案:第1空:

1

10、struct student

{     int num;

      float score;

      struct student *next;

}a={10101,89.5}, b={10103,90}, c={10107,85};

a.next=&b;  b.next=&c;  c.next=NULL;

struct student *head=&a, *p=NULL;

_____________;

p=head;

do 

{  printf("%d,%5.2f\n",p->num,p->score); 

    p=(*p).next;

}while(p!=NULL); 

上述代码功能是:去掉当前链表中的第1个结点即a结点,重新组建一个链表,则横线上应该填上?

正确答案:第1空:

head=head->next;head=(*head).next

11、字符数组中的字符串结束标志是1个字符,即字符 '______' 。

正确答案:第1空:

\0

12、int a=3,b=4;

则逻辑表达式a&&b的值是(   )?

正确答案:第1空:

1

13、C语言库函数_______是用来在内存的动态存储区中分配一个长度为size字节的连续空间的。(填函数名)

正确答案:第1空:

malloc

14、C语言中,我们利用______函数,将磁盘文件中的数据以二进制形式读入到程序数据区。

正确答案:第1空:

fread

15、union

{ struct {int x,y,z;}u;

  int k;

}a;

a.u.x=4;

a.k=123;

printf("%d",a.u.x);

上述程序的输出结果是:______。

正确答案:第1空:

123

16、max函数原型是:int max(int,int);

已知p已经指向该函数;则通过函数指针变量p调用max函数的表达式是________。(假设实参是3和4)

正确答案:第1空:

(*p)(3,4)

17、单向的静态链表或动态链表中的结点成员一般由2个部分组成:数据域和_______。

正确答案:第1空:

指针域

18、如下程序的功能是通过递归函数Fib()求斐波那契数列的第n项。斐波那契数列为1,1,2,3,5,8,13,…公式如下图,在横线上填入正确的代码。

#include

int main()

{

       int n;

       long Fib(int n);

       do

       {    

              printf("please input n:");

              scanf("%d",&n);

       }while(n<=0);

       printf("fib(%d)=%ld",n,             );

       return 0;

}

long Fib(int n)

{

       if(n==1 ||              )

              return 1;

       else

              return Fib(n-1)+Fib(          );

}

正确答案:第1空:

Fib(n)

第2空:

n==2

第3空:

n-2

19、struct student

{    char name[10];

     int num;

     int age;

     char address[15];

}a;

上述构造的结构体数据类型变量a所占的内存字节数是______。

正确答案:第1空:

36

20、操作系统是以_______为单位对计算机中的所有数据进行管理的。

正确答案:第1空:

文件

四、判断题(共40题,20分)

1、int a[2][4]={1,2,3,4,5,6,7,8};

int *p[2];

此时p是一个包含2个指向普通数组元素的数组名称。

正确答案:正确

2、8E2是不合法的整型常量。(  )

正确答案:正确

3、

以下程序的输出结果是15。

#define T(x,y) (x)

void main()

int i=10,j=15,k;

  k=10*T(i,j);

  printf("%d",k);

}

正确答案:正确

4、C语言是面向对象的高级程序设计语言。()

正确答案:错误

5、若有int x=8,y=5,z;则执行语句“z=x/y+0.4”后,z的值为1。(   )

正确答案:正确

6、假设结构体类型是struct student, p1,p2,p3为3个该类型的指针变量,则p1,p2,p3都可以同时指向struct student类型声明的同一个变量。()

正确答案:正确

7、FILE * fp;

fp=fopen("C:\a.doc",w);

上述2行代码中的第2行代码存在明显的语法错误。

正确答案:正确

8、int a[6]={6,5,4,3,2,1},b[2][3]={1,2,3,4,5,6},*p1,*p2;

可以让p1去指向数组a中的元素a[5],也可以让p2去指向数组b中的元素b[1][2]。

正确答案:正确

9、在定义或构造一个枚举数据类型时,也可以同时声明1个或多个枚举变量。

正确答案:正确

10、采用结构体数据类型声明的2个变量可以直接相互赋值。()

正确答案:正确

11、ASCII文件中的数据是以“字符形式”存放的,每个ASCII字符对应了一个唯一的ASCII编码。()

正确答案:正确

12、C语言中,标准的输出文件是“显示器”,标准的输入文件是“键盘”。()

正确答案:正确

13、语句 (a

正确答案:错误

14、建立链表的前提是:构建一个含有指针变量的结构体数据类型。()

正确答案:正确

15、int i,*p;

p=(int *)malloc(5*sizeof(int));    

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

 printf("%p\n",*p+i);

以上代码可以打印出申请到的5个整型内存空间的20个连续字节的地址。

正确答案:正确

16、用结构体变量作函数实参的时候,形参也必须是同类型的结构体变量,实参向传递的是“实参变量的所有内存单元的内容”。

正确答案:正确

17、对于双向的静态链表或动态链表中的结点,其指针域一般要有2个:一个是前驱结点指针、一个是后驱结点指针。()

正确答案:正确

18、fgets函数的功能是:将“磁盘文件缓冲区“中的字符串数据读入到“程序数据区”的。()

正确答案:正确

19、下面程序段循环一次也不执行。()

int x=10; 

while(x==0) 

   x=x-1;

正确答案:正确

20、指针变量是一种特殊的变量,只能用来存储地址,它在内存中不占用存储空间。()

正确答案:错误

21、已定义了一个指针变量p1并指向普通变量num1,假设已知num1的内存地址是2008,则可以将2008直接赋值给p1。()

正确答案:错误

22、int a[10],*p;

p=&a[2];

上述2行代码的作用是:让指针变量p去指向数组的第3个元素。()

正确答案:正确

23、函数名代表该函数代码段所占内存空间的入口地址。

正确答案:正确

24、
数组比链表的插入与删除运算更方便。

正确答案:错误

25、
数组适合于随机存储,而链表不适合。

正确答案:正确

26、函数指针变量不仅可以指向函数的入口处,也可以指向函数中间的某一条指令处。

正确答案:错误

27、
中的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。

正确答案:错误

28、当数据是从文件流向计算机内存或主机时,我们把这样的操作叫做“输入”。()

正确答案:正确

29、
“#define”和“printf”都不是C语句。

正确答案:正确

30、在使用"a"方式打开某个文本文件时,该文本文件事先必须在磁盘中存在。()

正确答案:正确

31、在使用"a+"方式打开某个文本文件时,该文本文件事先必须在磁盘中存在。()

正确答案:正确

32、共用体变量中起作用的成员是最后一次被赋值的成员。()

正确答案:正确

33、C语句为:scanf(“%d%d%d”,&a,&b,&c); 该语句可以给3个整型变量a、b、c赋值。

正确答案:正确

34、
已知带头结点的双向循环链表L,判断其为空表的条件是L->next==L && L->prior==L。

正确答案:正确

35、条件运算符是C语言中唯一的一个三目运算符(    )。

正确答案:正确

36、rewind和fseek两个函数都可以让文件标记回到文件的开头。()

正确答案:正确

37、函数的返回值类型可以是整型、字符型、指针等;也可以是结构体数据类型。()

正确答案:正确

38、使用C语句scanf("%c,%c,%c",&c1,&c2,&c3);给3个字符型变量依次赋值为'a'、'b'、'c',正确的输入格式是a,b,c。

正确答案:正确

39、随机读写方式访问磁盘文件时,文件位置标记可以随意移动。()

正确答案:正确

40、假设已构造好struct student数据类型;

则函数头void fun ( struct student stu[ ] )完全等价于void fun ( struct student *stu )

正确答案:正确

ed08d160d63c1a4bc3ae76650d0cd0d0.png

更多精彩内容敬请关注微信公众号:

科文计算机


精彩内容导读:

  1. 科文2017级计算机基础-选择题复习题

  2. 2017级Visual Basic 程序设计-A 单选题练习

  3. 计算机基础知识1

  4. 计算机概述

  5. 数制转换

  6. VB实验1

  7. VB实验2

  8. VB实验3

  9. VB实验4

  10. VB实验5

  11. VB实验6

  12. VB实验7

  13. VB实验8

  14. 2019-2020-2计算机基础期末练习

  15. 2019-2020第二学期C语言练习1

  16. 2019-2020第二学期C语言练习2

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c语言浮点数出错_20192020第二学期C语言练习题03 的相关文章

  • 微信小程序怎么设置服务器上,如何为微信小程序设置服务器地址?-微信小程序服务器诗...

    腾讯要求微信小程序使用到的域名都需要在公众平台中进行设置 可以说是一种备案 那么如何为微信小程序设置服务器域名地址呢 工具 原料 1 电脑互联网 方法 步骤 2 首先用小程序账号登陆微信公众平台 然后点击左下角的 设置 之后点击右侧上部的
  • 深度学习-环境搭建(安装Pytorch)

    文章目录 前言 一 安装Anaconda 二 查看电脑显卡支持的CUDA版本 三 更新CUDA版本 四 创建并激活Anaconda虚拟环境 需要创建虚拟环境而最好不在base下载的原因 五 安装pytorch PS 注意事项 六 下载其他库
  • Vue Router 跳转404,路由守卫及配置(登录篇)

    在这个前端技术迭代迅速的时代 单页面应用开发中 路由守卫已经是非常常见也是必备的需求 为了控制使用者在各种状态下的路由页面跳转 例如 是否登录 是否有路由权限等等 今天就记录一下在各种登录状态下路由配置和路由守卫 Vue Router官方文
  • GitBash基本操作

    git的一些基本命令用法可以用git help命令获取 MINGW64 d GitProject Git1 master git config global user name userName 登陆全局用户名 注意可以在官网下载windo
  • Linux 下 grep 常用过滤命令讲解

    导读 这篇文章主要介绍了Linux 使用grep筛选多个条件及grep常用过滤命令 需要的朋友可以参考下 使用grep筛选多个条件 cat log txt grep 条件 cat log txt grep 条件一 grep 条件二 cat
  • 冒险游戏:假期冒险公园巡游者 15 parkRanger15 CE mac中文

    Vacation Adventures Park Ranger 15 Collector s Edition 假期冒险 公园巡游者 mac是一款冒险游戏 让玩家扮演公园管理员 开展刺激的公园管护冒险 作为游戏中的公园管理员 你将被派往各种美
  • HTML CSS属性overflow、white-space、text-overflow

    li width 20 float left 文本或图像会移至父元素中的左侧 overflow hidden 不显示超过对象尺寸的内容 white space nowrap 默认处理方式 文本自动处理换行 假如抵达容器边界内容会转到下一行
  • 数组排序sort()方法详解

    sort 方法用原地算法对数组的元素进行排序 并返回数组 默认排序顺序是在将元素转换为字符串 然后比较它们的UTF 16代码单元值序列时构建的 一 sort 方法基本介绍 1 语法 arr sort compareFunction 2 参数
  • [机缘参悟-84]:读《心若菩提 - 曹德旺》有感

    目录 第1章 心若菩提 简介 1 1 心若菩提 的主要内容 1 2 作者简介 第2章 心若菩提 有感 2 1 首要因素 创业意识 长远目标 正确的方向 2 2 顺势而为的创新 2 3 愿景与专注 2 4 人脉 2 5 政 府关系 2 6 大
  • linux-shell-批量查看多个目录下多个csv文件的行数

    批量查看多个文件的行数 文件目录如下 2020 2020 202008 csv 2020 202009 csv 2020 202002 csv 2020 202011 csv 2020 202005 csv 2020 202001 csv
  • 内核态编程规范

    内核态的编程规范包括以下几点 安全性 内核态的编程需要确保代码的安全性 避免出现缓冲区溢出 越权操作等安全漏洞 可靠性 内核态的代码需要保证高可靠性 避免因为程序的不可预期的异常中断导致系统崩溃或者损坏 性能 内核态的代码需要具有很高的性能
  • 常见异常报错

    一 401错误 Unauthorized 客户试图未经授权访问受密码保护的页面 应答中会包含一个WWW Authenticate头 浏览器据此显 示用户名字 密码对话框 然后在填写合适的Authorization头后再次发出请求 二 403
  • Day 36: 关系型数据库和MySQL概述

    关系型数据库和MySQL概述 关系型数据库概述 数据持久化 将数据保存到能够长久保存数据的存储介质中 在掉电的情况下数据也不会丢失 数据库发展史 网状数据库 层次数据库 关系数据库 NoSQL 数据库 NewSQL 数据库 1970年 IB
  • 预测变量的不确定性

    https www toutiao com a6646320437884092936 2019 01 14 19 57 45 在本文中 我们考虑的情况是预测变量的值不可信 而不是目标变量的值可信 为了简单起见 我们考虑一个带有一个数值预测器
  • 弃用Dubbo!这个新一代框架阿里都用疯了!

    哪个Java框架火 要说几年前 那你大可能会说是Spring Cloud Dubbo 但是现在 你还会说是它们吗 微服务当道 阿里巴巴开源一个Spring Cloud的子项目Spring Cloud Alibaba 它用两年的时间在众多架构
  • pointnet C++推理部署--onnxruntime框架

    classification 以分10类 gpu版本为例 先将pytorch训练出的pth权重文件转为onnx文件 import torch import pointnet cls point num 1024 class num 10 n
  • 沸腾过程气泡成核OVITO渲染

    关注 M r m a t e r
  • 保留两位小数,不要四舍五入,截取前两位

    我的主要思路是把我的数据变成字符串数组 整数部分和小数部分分开 然后对小数部分判断有没有小数 没有直接添加两个0 有一位往后边添加一个0 如果有多位小数直接截取前两位即可 实现过程 const baoliuNumber num gt 封装了
  • Android studio卡顿问题

    使用Android studio版本是2 3 3 最近在使用Android studio时候遇到一件事情 项目开始到中期Android studio好好的 流畅得一批 但是某天快要收尾了 使用Android studio打开项目后 鼠标开始

随机推荐

  • VMware卡在命令行/dev/sda1 clean... 界面不动

    网上说进入 alt ctl F2 进入tty不一定能进得去 此时 可以先进入虚拟机设置 对磁盘进行扩容 比如我就从 20GB 扩充到了 60GB 但此时 扩充的40GB属于未格式化的区域 无法被利用 需要格式化 此时 可以用ubuntu的安
  • 【Python爬虫】requests库

    文章目录 1 requests库的介绍 2 requests库的基本用法 2 1request访问请求 2 1 2对豆瓣等网址发送请求的问题 2 2robots协议 2 3查看和修改爬虫的头部信息 2 2 response响应对象 2 3r
  • mysql with语句_sql 中的with 语句使用

    一直以来都很少使用sql中的with语句 但是看到了一篇文章中关于with的使用 它的确蛮好用 希望以后记得使用这个语句 一 with 的用法 With alias name as select1 alias namen as select
  • 【Python游戏】咱就说Python实现一个蔡徐坤大战篮球的小游戏,可还行?

    相关文件 想学Python的小伙伴可以关注小编的公众号 Python日志 有很多的资源可以白嫖的哈 不定时会更新一下Python的小知识的哈 需要源码的小伙伴可以在公众号回复蔡徐坤大战篮球 Python源码 问题解答学习交流群 773162
  • PPLM:使用即插即用语言模型控制文本生成

    Paper https arxiv org pdf 1912 02164 pdf Code https github com uber research PPLM 本文讨论了一种受控文本生成的替代方法 称为即插即用语言模型 PPLM 该方法
  • Linux 启动脚本 完全注释 1 -- 整体流程

    Linux太伟大了 什么东西都可以由你来做主 Linux加载完内核后 所有的其他系统服务 进程 都是靠脚本来加载的 所以Linux是这么的透明 你可以清除的指导你的系统做了什么 下面我就对Linux的启动脚本做了注释 该脚本是属于LFS的
  • QT进程间通信详细介绍及QProcess机制分析

    1 QT通信机制 为了更好的实现QT的信息交互 在QT系统中创建了较为完善的通信机制 QT的通信可分为QT内部通信和外部通信两大类 对于这两类通信机制及应用场合做如以下分析 1 QT内部对象间通信 在图形用户界面编程中 经常需要将一个窗口部
  • java单元测试工具 junit

    单元测试 unit testing 是对程序中最小的可测试部分进行检查和验证 验证程序执行的结果是否和自己期待的结果一致 junit就是一个java语言的比较常用的单元测试框架 目前主要版本有junit3和junit4 二者的区别是就jun
  • 声明式事务@TransactionTemplate 手动提交 手动回滚

    使用 TransactionTemplate 或编程式事务管理来手动提交事务之外 还可以使用注解 Transactional 来控制事务的提交和回滚 如何在 Spring Boot 中使用 Transactional 注解来手动提交事务 S
  • OpenWrt 未来智能家居系统、物联网的底层核心

    前言 很多参加 跟着佐大学OpenWrt开发 培训班的学员对OpenWrt未来的发展方向很迷茫 所以写此文谈一下我对OpenWrt未来趋势的看法 随着OpenWrt的流行 OpenWrt已经在不知不自觉中从单纯的路由器系统转变成了智能家居
  • javascript排序

  • teamSpeak Server搭建Linux

    1 需要用到的 Xshell以及Xftp 操作云服务器以及上传teamSpeak Linux文件 还需要一台云服务器 2 开放服务器防火墙端口 1 如果Xshell连接不上就是22端口没开放 3 下载teamSpeak Linux文件 1
  • 平行云受邀参与撰写信通院XRMA联盟《3D数字内容生产技术白皮书》

    本周 由中国信息通信研究院发起编制的 3D数字内容生产技术白皮书 首次全体研讨会在线上举行 来自信通院 平行云 北航虚拟现实国家重点实验室 中国联通研究院 中国电信研究院 Cocos等多家单位的专家参与本次研讨 会上 信通院专家介绍项目研究
  • 华为OD机试 Python 最佳植树距离

    描述 小明得到了一项任务 在一个沙地里种树 不过 有些地方不能种树 只能选特定的位置来种 为了让树之间的空间尽可能大 从而更好地防沙 你要帮小明决定每棵树应该种在哪里 举个例子 如果合适的种树地点是1 3 5 6 7 10 13 你有3棵树
  • tortoisegit:TortoiseGitPlink Fatal Error - No supported authentication methods available

    TortoiseGit gt Settings gt Network gt 将SSH client设置成C Program Files Git usr bin ssh exe
  • ajax如何传对象去后台,ajax如何传一个实体对象到后台呢

    实体声明 function target code content isnt temgix temgix1 temgix2 temgix3 gruw this code code this content content this isnt
  • js 正则表达式

    js 正则表达式 http tool oschina net regex https developer mozilla org zh CN docs Web JavaScript Guide Regular Expressions 11
  • 深入理解计算机系统-程序链接

    链接 就是将不同部分的代码和数据手机和组合成为一个单一文件的过程 这个文件可被加载到存储器并执行 链接过程可以在如下时间执行 编译时 在源代码翻译成机器代码时 加载时 程序被加载器加载到存储器并执行时 运行时 由应用程序去完成这个工作 OS
  • 笛卡尔积的解释和作用

    一 笛卡尔积的解释 例 给出二个域 假设集合A a b 集合B 0 1 2 则两个集合的笛卡尔积为 a 0 a 1 a 2 b 0 b 1 b 2 类似的例子有 如果A表示某学校学生的集合 B表示该学校所有课程的集合 则A与B的笛卡尔积表示
  • c语言浮点数出错_20192020第二学期C语言练习题03

    一 单选题 共100题 50分 1 若有定义int a 10 p a 则表达式p 5表示 A 元素a 5 的地址 B 元素a 6 的地址 C 元素a 5 的值 D 元素a 6 的值 正确答案 A 2 题号 8281若有定义 int aa 8