C语言期末第五弹

Posted 苏师19大数据

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言期末第五弹相关的知识,希望对你有一定的参考价值。



选择题


1

下列字符序列中,是C语言保留字的是______

A.scanf

C.include

B.sqrt

D.include

点击空白处查看答案

D

2

若已有定义:
int  a[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = a, i;其中0≤i≤9,则对a数组元素的引用不正确的是____________

A.a[p- a]

C.p[i]

B.*(&a[i])

D.*(*(a+i))

点击空白处查看答案

D

3

若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是______

A.a=b=c=100

C.d++

B.d=(c=22)-(b++)

D.c+b

点击空白处查看答案

D

4

若有以下程序段:int a=3,b=4;  a=a^b;b=b^a;a=a^b;则执行以上语句后,a和b的值分别是__________

A.a=4,b=4

C.a=3,b=4

B.a=3,b=3

D.a=4,b=3

点击空白处查看答案

D

5

以下程序的输出结果是________
#include  "stdio.h"
#define   FUDGF(y)  2.84 + y
#define   PR(a)   printf("%d", (int) ( a ) )
#define   PRINT1(a)   PR(a);  putchar('\n')
main()
{   int  x = 2;
    PRINTF1(FUDGF(5) * x);}

A.12

C.1

B.15

D.13

点击空白处查看答案

A

6

以下程序段 char *alp[]={"ABC","DEF","GHI"}; int j; puts(alp[1]);的输出结果是________

A.DEF

C.A

B.B

D.D

点击空白处查看答案

A

7

char *s1="hello",*s2;s2=s1;则__________

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

C.不能访问"hello"


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

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

点击空白处查看答案

D

8

若有定义和语句:
int   a[4][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, 

(*prt )[3] = a,  *p[4], i;
for(i = 0; i < 4; i++)
p[i] = a[i];

则不能够正确表示a数组元素的表达式是_________

A.(*(p+ 1))[1]

C.p[0][0]

B.a[4][3]

D.prt[2][2]

点击空白处查看答案

B

9

关于指针概念说法不正确的是____________

A.指针变量可以由整数赋,不能用浮点赋

D.一个指针变量只能指向同一类型变量


点击空白处查看答案

A

10

若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是________

A.4

C.3

B.2

D.无定值

点击空白处查看答案

C

11

以下程序的输出结果是_________
main()
{  int  a = 2, b =5;printf(“a=%%d,b=%%d\n”,a, b); }

A.a=%2,b=%5

C.a= %d,b=%d

B.a=%%d,b=%%d

D.a=2,b=5

点击空白处查看答案

C

12

为了提高程序的运行速度,在函数中对于整型或指针可以使用_____型的变量。

A.static

C.auto

B.register

D.extern

点击空白处查看答案

B

13

enum a {sum=9,mon=-1,tue}; 定义了________

A.枚举变量

C.3个标识符

B.整数9和-1

D.枚举数据类型

点击空白处查看答案

D

14

设有 int x=11; 则表达式 (x++ * 1/3) 的值是________

A.3

C.12

B.4

D.11

点击空白处查看答案

A

15

sizeof(float)是________

A.一个浮点表达式

C.一种函数调用

B.一个不合法的表达式

D.一个整型表达式

点击空白处查看答案

D

16

若a=1,b=2则 a|b的值是______

A.1

C.0

B.2

D.3

点击空白处查看答案

D

17

若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是_________。

A.!(A%2)

C.A%2==1

B.A%2

D.!(A%2==0)

点击空白处查看答案

A

18

以下标识符中,不能作为合法的C用户定义标识符的是______

A.signed

C.to

B._if

D.answer

点击空白处查看答案

A

19

下列程序段的输出结果为_____

float k=0.8567;printf("%06.1f%%",k*100);

A.0085.7%

C.0085.6%

B..857

D.0085.6%%

点击空白处查看答案

A

20

以下程序的输出结果是_________
main()
{   int  y=10
for(;y>0;y--)
if(y%3==0)
 { pritnf("%d", --y);   continue;}  }

A.741

C.875421

B.963

D.852

点击空白处查看答案

D

21

下列定义数组的语句中不正确的是______

A.static int 

a[2][3]={1,2,3,4,5,6};

C.static int 

a[][3]={{1},{4}};

B.static int 

a[2][3]={{1},{4,5}};

D.static int 

a[][]={{1,2,3}{4,5,6}};

点击空白处查看答案

D

22

下列定义不正确的是________

A.static char C

C.int max(x,y); int x,y;{ }

B.#define S 345

D.#define PI 3.141592

点击空白处查看答案

C

23

若有定义int a[10],*p=a;,则p+5表示____

C.元素a[6]的值

D.元素a[5]的值

点击空白处查看答案

A

24

以下程序的输出结果是_________
 void  fun(float  *a,  float  *b)
{   float  w;  *a = *a + *a;
w = *a;  *a = *b;
*b = w;  }
main()
{   float  x = 2.0, y = 3.0;
float  *px = &x, *py = &y;
fun(px, py);printf("%2.0f,%2.0f\n", x, y);  }

A.2,3

C.3,2

B.3,4

D.4,3

点击空白处查看答案

B

25

以下read函数的调用形式中,参数类型正确的是_______

A.read(int fd,

int count,char *buf)

C.read(int *buf,

int fd,int count)

B.read(int count,

char *buf,int fd)

D.read(int fd,

char *buf,int count)

点击空白处查看答案

D

26

下列变量定义中合法的是__________

A.short _a=1-.1e-1;

C.long do=0xfdaL;

B.float 2_and=1-e-3;

D.double b=1+5e2.5;

点击空白处查看答案

A

27

一个算法应该具有"确定性"等5个特性,下面对另外4个特性的描述中错误的是________

A.有穷性

C.可行性

B.有零个或多个输出

D.有零个或多个输入

点击空白处查看答案

B

28

以下叙述中不正确的是________

A.C语言中,随机读写方式不适用于文本文件


C.C语言中,顺序读写方式不适用于二进制文件

B.C语言中对二进制文件的访问速度比文本文件快

D.C语言中的文本文件以ASCII码形式存储数据

点击空白处查看答案

C

29

以下正确的字符串常量是__________

A.'abc'

C.JiangSuNormalUniversity

B.'A'

D."\\\"

点击空白处查看答案

D

30

逻辑运算符两侧运算对象的数据类型_________

A.可以是任何类型的数据

C.只能是0或1

B.只能是整型或字符型数据

D.只能是0或非0正数

点击空白处查看答案

A

31

以下程序的输出结果是____________
main()
{   int  n[2] ={0}, i, j, k = 2;
 for(i = 0; i < k; i++)
for(j = 0; j < k; j++)
n[j] = n[i] +1;printf("%d\n", n[k]); }

A.2

C.3

B.1

D.不确定的值

点击空白处查看答案

D


32

以下程序的输出结果是__________
main()
{   int  k  =4,  m = 1, p;
p = func(k,  m);
printf("%d,", p );
p = func(k,  m);
printf("%d\n", p ); }
 func( int  a,  int  b)
{ static  int  m, i=2;
 i+=m+1;
m=i+a+b;return (m);  }

A.8,20

C.8,8

B.8,17

D.8,16

点击空白处查看答案

B

33

为了提高程序的运行速度,在函数中对于整型或指针可以使用_______型的变量。

A.static

C.extern

B.auto

D.register

点击空白处查看答案

D

34

若有int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5的语句为_______

A.printf("%d",*p[5]);

C.printf("%d",*(p+5));

B.printf("%d",p[5]);

D.printf("%d",*(a+5));

点击空白处查看答案

A

35

以下程序中的for循环输出的结果是_____
#define N 2
#define M N+1
#define NUM (M+1)*M/2
main()
{   int   i;
for(i=1; i<=NUM;i++);printf("%d\n",i);  }

A.9

C.6

B.5

D.8

点击空白处查看答案

A

NUM=8,i++后为9

36

若有定义:char  *p1,*p2,*p3,*p4,ch;则不能正确赋值的程序语句为___________

A.p4= &ch;

*p4=getchar();

C.p1= &ch; 

scanf("%c";p1);

B.p2=(char *)malloc(1);

scanf(*%c",p2);

D.*p3=getchar();


点击空白处查看答案

D

37

t为int类型,进人下面的循环之前,t的值为0
while( t=1 )
{ ……}

则以下叙述中正确的是______

A.循环控制表达式不合法

C.循环控制表达式的值为0

B.循环控制表达式不合法

D.以上说法都不对


点击空白处查看答案

B

38

全局变量的定义不可能在_________

A.函数内部

C.最后一行

B.文件外面

D.函数外面

点击空白处查看答案

A

39

A.&aa[0]+1

C.&aa[1]

B.aa+1

D.&aa[0]++

点击空白处查看答案

D

40

若有char a[80],*s=a;不正确的输入语句是_________

A.fscanf(stdin,"%c",s);

C.gets(s);

B.fgets(s,80,stdin);

D.scanf("%s",s);

点击空白处查看答案

A



程序设计




01

功能:对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按降序排列。
例如:原来的字符串为CEAedca,排序后输出为CedcEAa。
#include "stdio.h"
#include "ctype.h"
#include "conio.h"
void fun(char *s,int num)
{
  /*********Begin**********/


  /**********  End  **********/
}

int main()
{
  char s[10];
  printf("输入7个字符的字符串:");
  gets(s);
  fun(s,7);
  printf("\n%s",s);
}


点击空白处查看答案

【参考代码】
 int i,j;
 char t;
 for(i=1;i<num-1;i++)
    for(j=i+1;j<num-1;j++)
       if(s[i]<s[j])         { t=s[i];s[i]=s[j];s[j]=t;}



程序改错




01

功能:有一数组内放10个整数,要求找出最小数和它的下标,然后把它和数组中最前面的元素即第一个数对换位置.
#include "stdio.h"
int main()

  int  i,a[10],min,k=0;
  printf("\n please input array 10 elements\n");
  for(i=0;i<10;i++)
    /***********ERROR***********/
    scanf("%d", a[i]);
  for(i=0;i<10;i++)
    printf("%d",a[i]);
  min=a[0];
  /***********ERROR***********/
  for(i=3;i<10;i++)  
    /***********ERROR***********/
    if(a[i]>min)
    {
      min=a[i];
      k=i;
    }
  /***********ERROR***********/
  a[k]=a[i];
  a[0]=min;
  printf("\n after eschange:\n");
  for(i=0;i<10;i++)
    printf("%d",a[i]);
  printf("\nk=%d\nmin=%d\n",k,min);}

点击空白处查看答案

【改错1】
【参考答案】
scanf("%d",&a[i]);
【改错2】 
【参考答案】
for(i=1;i<10;i++)
【改错3】
【参考答案】
if(a[i]<min)
【改错4】
【参考答案】a[k]=a[0];



程序填空




01

功能:文件操作。
# include <stdio.h>
# include <stdlib.h>
int main()
{
  /* 定义一个文件指针fp */
  /**********FILL**********/
  _____ *fp;
  char ch, filename[10];
  printf("Please input the name of file: ");
  scanf("%s", filename);  /* 输入字符串并赋给变量filename */
  /* 以写的使用方式打开文件filename */
  /**********FILL**********/
  if((fp=_____(filename, "w")) == NULL)
  {
    printf("Cannot open the file.\n");
    exit(0);  /* 正常跳出程序 */
  }
  /* 关闭文件 */
  /**********FILL**********/
 _____;}

点击空白处查看答案

【空 1 】
【参考答案】
FILE
【空 2 】
【参考答案】
fopen
【空 3 】
【参考答案】fclose(fp)


以上是关于C语言期末第五弹的主要内容,如果未能解决你的问题,请参考以下文章

C语言计算机二级/C语言期末考试 刷题

『PyTorch』第五弹_深入理解autograd_上:Variable

求一份C语言程序设计的期末考试试题!!!谢谢了

期末复习C语言知识点+习题

C语言 基础语法汇总 期末复习

C语言 基础语法汇总 期末复习