admin 管理员组

文章数量: 887021


2023年12月16日发(作者:为什么开发unix)

C语言期末考试题库(第一章c语言基

一、单项选择

1.算术运算符,赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为().

A、关系运算,赋值运算,算术运算

B、算术运算,关系运算,赋值运算

C、算术运算,赋值运算,关系运算

D、关系运算,算术运算,赋值运算

答案:B

2.下述正确的C语言常量是:().

A、E2

B、3e-3

C、1.5E2.5

D、5.0E

答案:B

3.使用共用体变量,不可以().

A、进行动态管理

B、节省存储空间

C、同时访问所有成员

D、简化程序设计

答案:C

4.为表示关系x>=y>=z,应使用C语言表达式为:()

A、(x>=y)&(y>=z)

B、(x>=y>=z)

C、(x>=y)&&(y>=z)

D、(x>=y)AND(y>=z)

答案:C

5.以下程序的输出结果是().

main()

{char str[]="ABCD",*p=str;printf("%sn",p);}

A、68

B、ABCD

C、不确定的值

D、字符D的地址

答案:B

a[10];不能将字符串"abc"存储在数组中的是().

A、a="abc";

B、a[0]=0;strcat(a,"abc");

C、int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;

D、strcpy(a,"abc");

答案:A

函数的正确调用形式是().

A、fscanf(文件指针,格式字符串,输入表列);

B、fscanf(格式字符串,文件指针,输出表列);

C、fscanf(fp,格式字符串,输出表列);

D、fscanf(格式字符串,输出表列,fp);

答案:A

8.下列数组说明中正确的是().

A、int array[][]={1,2,3,4,5,6,7,8,9,10};

B、int array[][][5]={1,2,3,4,5,6,7,8,9,10};

C、int array[][4]={1,2,3,4,5,6,7,8,9,10};

D、int array[3][]={1,2,3,4,5,6,7,8,9,10};

答案:C

9.以下选项中,与k=n++完全等价的表达式是().

A、n=n+1,k=n

B、k+=n+1

C、k=++n

D、k=n,n=n+1

答案:D

10.针对下列程序段回答问题().

for(t=1;t<=100;t++)

{

scanf("%d",&x);

if(x<0)continue;

printf("%3d",t);

}

A、printf函数永远也不执行

B、当x<0时整个循环结束

C、x>=0时什么也不输出

D、最多允许输出100个非负整数

答案:D

11.以下正确的字符串常量是()

A、""

B、'A'

C、'abc'

D、OlympicGames

答案:A

12.如下说法不正确的是().

A、若a为真b为假,则a||b为真

B、若a为真b为假,则a&&b为假

C、若a为真b为假,则! a-1&&b为真

D、若a为真,则! a为假

答案:C

13.C语言中,用于结构化程序设计的三种基本结构是().

A、for,while ,do-while

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

C、if,switch,break

D、if,for,continue

答案:B

14.若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是().A、t[3]

B、t[2]

C、&t[3][2]

D、&t[1]

答案:B

15.下列运算符中优先级最高的是().

A、<

B、&&

C、+

D、!=

答案:C

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

A、main()

B、#include"stdio.h"

C、scanf

D、printf

答案:A

17.已定义char a[10];和char *p=a;,下面的赋值语句中正确的是().A、

*p="Turbo c";

B、p="Turbo c";

C、a[10]="Turbo c";

D、a="Turbo c";

答案:B

18.以下叙述正确的是().

A、可以把if定义为用户标识符,但不能把define定义为用户标识符

B、define和if 都不能定义为用户标识符

C、可以把define和if定义为用户标识符

D、可以把define定义为用户标识符,但不能把if定义为用户标识符答案:D

19.若已定义x为int类型变量,下列语句中,说明指针变量p的正确语句是().

A、*p=*x;

B、int *p=x;

C、int *p=&x

D、int p=&x

答案:C

20.以下叙述中,正确的是().

A、花括号"{"和"}"只能作为函数体的定界符

B、构成C程序的基本单位是函数,所有函数名都可以由用户命名

C、分号是C语句之间的分隔符,不是语句的一部分

D、C程序中,注释部分可以出现在程序中,任意合适的地方

答案:D

21.以下能对二维数组a进行正确初始化的语句是().

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

B、int a[2][]={{1,0,1},{5,2,3}};

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

D、int a[][3]={{1,0,1}{},{1,1}};

答案:A

22.C语言中,double类型数据占().

A、8个字节

B、4个字节

C、2个字节

D、1个字节

答案:A

23.经过下列的语句int j,a[10],*p=a;定义后,下列语句中,合法的是().A、p=a[5];

B、p=a[2]+2;

C、p=p+2;

D、p=&(j+2);

答案:C

24.定义char s[10],*p=s;,则下面编译不能通过的语句是().

A、s=p+s;

B、s[2]=p[4];

C、p=s+5;

D、*p=s[0];

答案:A

25.以下函数调用语句中,实参的个数是().

exce((v1,v2),(v3,v4,v5),v6);

A、3

B、4

C、5

D、6

答案:A

26.若x=2,y=3,则x||y的结果是()

A、0

B、3

C、2

D、1

答案:D

27.已知x=43,ch='A',y=0;,则表达式(x>=y&&ch<'B'&&!y)的值是().A、"假"

B、语法错

C、0

D、1

答案:D

28.下面四个选项中均是不合法的浮点数的选项是().

A、-e3.234 1e3

B、123 2e4.2.e5

C、-.18 123e4 0.0

D、160.0.12 e3

答案:B

29.以下函数调用语句中,实参的个数是().

fun c((e1,e2),(e3,e4,e5));

A、3

B、5

C、语法错误

D、2

答案:D

30.已定义:float x=1.25,y=3.37;根据下面的输出结果,正确的输出语句是(). y+x=4.62,y-x=2.12

A、printf("y+x=%4.2f,y-x=%4.2fn",y+x,y-x);

B、printf("y+x=%f,y-x=%fn",y+x,y-x);

C、printf("y+x=%6f,y=%6fn",y+x,y-x);

D、printf("y+x=%6.2f,y-x=%6.2fn",y+x,y-x);

答案:A

31.执行下面程序段后,ch的值是().

char ch='a';

ch=(ch>='A'&&ch<='Z')?(ch+32):ch;

A、A

B、z

C、Z

D、a

答案:D

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

A、数组名不能作形参

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

C、形参必须是变量名

D、必须有形参

答案:B

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

A、在循环中,break语句不能独立出现

B、只能用continue语句来终止本次循环

C、goto语句只能用于退出多层循环

D、switch语句中,不能出现continue语句答案:B

34.C语言中,运算对象必须是整型的运算符是().

A、〈=

B、%=

C、=

D、/

答案:B

35.下面不正确的字符串常量是().

A、"0"

B、""

C、"12'12"

D、'abc'

答案:D

36. fwrite函数的一般调用形式是().

A、fwrite(buffer,count,size,fp);

B、fwrite(fp,count,size,buffer);

C、fwrite(fp,size,count,buffer);

D、fwrite(buffer,size,count,fp);

答案:D

37.以下定义语句中错误的是().

A、int a[]={1,2};

B、int n=5,a[n];

C、char *a[3];

D、char s[10]="test";

答案:B

38.下列正确的标识符是().

A、%y

B、a+b

C、6a

D、_do

答案:D

39.C语言源程序的基本单位是().

A、子程序

B、过程

C、标识符

D、函数

答案:D

40.若变量已正确定义,执scanf("%d,%d,%d",&k1,&k2,&k3);时,()是正确的输入

A、20 30 40

B、2030,40

C、20,30,40

D、20,30 40

答案:C

41.设有如下程序,请选择正确答案().

#include

main()

{int **k,*j,i=100;

j=&i,k=&j

printf("%dn",**k);

}

A、100

B、i的地址

C、j的地址

行语句

D、运行错误

答案:A

42.若定义:int a=511,*b=&a,则printf("%dn",*b);的输出结果为().A、a的地址

B、无确定值

C、511

D、512

答案:C

43.以下叙述中,不正确的是().

A、C程序中的#include和#define均不是C语句

B、在C程序中,赋值运算符的优先级最低

C、在C程序中,j++;是一条赋值语句

D、一个好的程序应该有详尽的注释

答案:B

44.下面叙述中错误的是().

A、若一个函数没有return语句,则什么值也不会返回

B、一般来说,函数的形参和实参的类型要一致

C、函数的形式参数,在函数未被调用时就不被分配存储空间

D、若函数的定义出现在主调函数之前,则可以不必再加说明答案:A

45.设有如下程序段:

int k=10;

while(k==0)

k--;

,则下述说明中正确的是().

A、循环体执行一次

B、死循环

C、循环体一次也不执行

D、循环体执行10次

答案:C

46.表示关系x>0且y<=10的C语言表达式为().

A、(x<=0)AND(y<=10)

B、(x>0)&&(y<=10)

C、x>0,y<=10

D、(x<=0)&(y<=10)

答案:B

47.以下叙述不正确的是().

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

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

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

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

答案:B

48.C语言提供的合法的数据类型关键字是().

A、float

B、unsigned

C、char

D、int eger

答案:B

49.所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是:().

A、6

B、7

C、8

D、2

答案:C

50.以下符合C语言语法的赋值表达式是().

A、d=9+e+f=d+9

B、d=9+e,e++,d+9

C、d=9+e

D、d=9+e++=d+7

答案:C

51.下面对函数的叙述,正确的是().

A、函数中无论是否有return语句,都能返回正确值

B、函数中没有return语句,说明不带回值

C、函数不能嵌套定义

D、函数的返回值是通过return语句获得的

答案:C

52.整型变量x=1,y=3,经下列计算后,x的值不等于6的是().

A、x=(x=1+2,x*2)

B、x=9-(--y)-(--y)

C、

D、x=y>2?6:5

答案:B

53.设x,y,z,t均为整型变量,则执行以下语句后,t的值为:() x=y=z=1;

t=++x||++y&&++z;

B、不定值

C、2

D、0

答案:A

54.下列字符序列中不可用作C语言标识符的是().

A、a_1

B、#ab

C、symbol

D、b70

答案:B

55.C语言执行程序的开始执行点是().

A、包含文件中的第一个函数

B、程序中,第一个函数

C、程序中的main()函数

D、程序中,第一条可以执行语言

答案:C

56.下列运算符优先级最低的是().

A、&&

B、+

C、=

答案:C

57.下面所列的语句行中能正确进行赋字符串操作的语句行是().A、char st[4][5]={"ABCDE"};

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

C、char *s;scanf("%c",s);

D、char *s;s="ABCDE";

答案:D

58.以下正确的函数定义形式是().

A、double fun(int x,int y)

B、double fun(int x;int y)

C、double fun(int x,y);

D、double fun(int x,int y);

答案:A

59.下列变量中合法的是().

A、$ABC

B、

C、3a6b

D、_6a7b

答案:D

60.以下标识符中可以作为用户函数名的是().

A、union

B、int

C、struct

D、go_to

答案:D

61.判断两个字符串是否相等,正确的表达方式是().

A、while(strcmp(s1,s2)=0)

B、while(strcmp(s1,s2)==0)

C、while(s1==s2)

D、while(s1=s2)

答案:B

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

A、char st[][]={"ABCDE"};

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

C、char s1[5][]={"ABCDE"};

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

答案:B

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

A、'ABC'

B、ABC

C、"ABC"


本文标签: 语句 函数 C语言 字符串