C语言期末考试题库第一章-c语言基_第1页
C语言期末考试题库第一章-c语言基_第2页
C语言期末考试题库第一章-c语言基_第3页
C语言期末考试题库第一章-c语言基_第4页
C语言期末考试题库第一章-c语言基_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、单项选择

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语言表达式为:()

1/34

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

B、(x>=y>=z)

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

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

答案:C

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

main()

{charstr[]="ABCD",*p=str;printf("%s\n"zp);}

A、68

B、ABCD

C、不确定的值

D、字符D的地址

答案:B

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

A、a="abc";

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

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

D、strcpy(a,"abc");

答案:A

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

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

2/34

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

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

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

答案:A

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

A^intarray[][]={l,2/3,4,5,6,7,8,9,10};

intarray[][][5]={lz2,3A5,6,7,8,9,10);

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

D、intarray[3][]={l,2.,3,4,5,6,7,8,9,10};

答案:C

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

A^n=n+l,k=n

B、k+=n+l

C、k=++n

D^k=n,n=n+l

答案:D

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

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

(

scanf("%d",&x);

if(x<0)continue;

3/34

printf("%3d",t);

)

A、printf函数永远也不执行

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

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

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

答案:D

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

A、“\\\"

B、7V

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

4/34

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

C、if,switch,break

D、if,for,continue

答案:B

14.若有以下的定义:intt⑶⑵;能正确表示t数组元素地址的表达式是().A、t⑶

B、t⑵

C、&t[3][2]

D、&t[l]

答案:B

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

A、<

B、&&

C、+

D、!=

答案:C

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

A^main()

B、#include"stdio.h"

C^scanf

D、printf

答案:A

5/34

17.已定义chara[10];^nchar*p=a;,下面的赋值语句中正确的是().A、*p二叮urbo

B、p="Turboc";

C、a[10]="Turboc";

D、a="Turboc";

答案: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>intp=&x;

答案:C

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

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

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

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

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

6/34

答案:D

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

A、inta[][3]={{l,2,3},{4,5,6}};

B、inta[2][]={{l,0,l},{5,2,3));

C.inta[2][4]={{l,2,3},{4,5},{6}};

D>inta[][3]={{l,0,l}{},{l,l}};

答案:A

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

A、8个字节

B、4个字节

C、2个字节

D、1个字节

答案:A

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

B、p=a[2]+2;

C^p=p+2;

D、p=&(j+2);

答案:C

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

A、s=p+s;

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

7/34

C、p=s+5;

D^*p=s[O];

答案:A

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

exce((vl,v2),(v3,v4zv5),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&&chvB&&!y)的值是().A、”假,,

B、语法错

C、0

D、1

答案:D

8/34

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

A、-e3.234le3

B、1232e4.2.e5

C、-.18123e40.0

D、160.0.12e3

答案:B

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

func((el,e2),(e3,e4,e5));

A、3

B、5

C、语法错误

D、2

答案:D

30.已定义:floatx=L25,y=3.37;根据下面的输出结果,正确的输出语句是().

y+x=4.62,y-x=2.12

Aprintf("y+x=%4.2f,y-x=%4.2f\n"/y+x,y-x);

Bprintf("y+x=%f,y-x=%f\n",y+xzy-x);

Cprintf("y+x=%6f/y=%6f\n",y+x,y-x);

D^printf("y+x=%6.2ty-x=%6.2f\n"/y+x,y-x);

答案:A

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

9/34

charch='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、(=

10/34

B、%=

C、=

D、/

答案:B

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

A>"0"

""

C、

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、inta口二{1,2};

B、intn=5,a[n];

C^char*a⑶;

D、chars[10]=,,test";

11/34

答案:B

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

A、%y

B、a+b

C^6a

D、_do

答案:D

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

A、子程序

B、过程

C、标识符

D、函数

答案:D

40.若变量已正确定义,执行语句双"("%€1,%€1,%€1,&1<1,&1<2,&1<3);时,()是正确

的输入

A、203040

B、2030,40

C、20,30,40

D、20,3040

答案:C

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

12/34

#include<stdio.h>

main()

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

j=&i,k二&j;

printf("%d\n"J*k);

)

A、100

B、i的地址

C、j的地址

D、运行错误

答案:A

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

B、无确定值

C、511

D、512

答案:C

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

A、C程序中的#正111€)6和#加畜M均不是C语句

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

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

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

13/34

答案:B

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

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

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

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

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

45.设有如下程序段:

intk=10;

while(k==O)

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、仅<=0)&(y<=10)

14/34

答案:B

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

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

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

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

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

答案:B

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

A、float

B、unsigned

C、char

D、integer

答案:B

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

A、6

B、7

C、8

D、2

答案:C

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

d-9+e+f=d+9

15/34

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=l,y=3,经下列计算后,x的值不等于6的是().

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

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

C、

D^x=y>2?6:5

答案:B

.设均为整型变量,则执行以下语句后,的值为:()

53x,y,zztt

x=y=z=l;

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

A、1

B、不定值

16/34

C、2

D、0

答案:A

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

A、a_l

B、#ab

C、symbol

D、b70

答案:B

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

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

B、程序中,第一个函数

C、程序中的main。函数

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

答案:C

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

A、&&

B、+

C、=

D、!

答案:C

17/34

57.下面所列的语句行中能正确进行赋字符串操作的语句行是().A、char

st[4][5]={"ABCDE"};

、,;,,,,,;,;

Bchars[5]={'AB7C/DE}

Cchar*s;scanf("%c"/s);

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

答案:D

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

A、doublefun(intxjnty)

B、doublefun(intx;inty)

C、doublefun(intx,y);

D、doublefun(intxjnty);

答案:A

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

A、$ABC

B、B.C.Tom

C、3a6b

D、_6a7b

答案:D

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

A、union

B、int

18/34

C>struct

D^go_to

答案:D

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

A^while(strcmp(sl,s2)=0)

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

C、while(sl==s2)

D^while(sl=s2)

答案:B

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

A、charst[][]={"ABCDE");

,,,,,

B、chars2[6]={'A;B';CzD;E};

C、charsl[5][]={"ABCDt"};

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

答案:B

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

A、'ABC

B、ABC

C、“ABC”

D、TV

答案:C

19/34

64.C语言中的文件的存储方式有().

A、可以顺序存取,也可随机存取

B、只能随机存取(或直接存取)

C、只能顺序存取

D、只能从文件的开头进行存取

答案:A

65.putchar函数可以向终端输出一个().

A、字符或字符型变量值

B、整型变量表达式值

C、实型变量值

D、字符串

答案:A

66.下面叙述中正确的是().

A、声明函数时必须明确其参数类型和返回类型

B、函数可以返回一个值,也可以什么值也不返回

C、空函数在不完成任何操作,所以在程序设计中没有用处

D、对于用户自己定义的函数,在使用前必须加以声明

答案:B

67.以下标识符中不能作为合法的C用户定义标识符的是().

A、_123

B、void

20/34

C、if

D、a3_b3

答案:B

68.将字符串Turbo赋给字符数组word,则下面错误的说明语句是().A、char

word[]={"Turbo\0"};

B、charword[]="Turbo\0";

C、charwordn^T/u'/r'/bVo'/XO'};

D、charword[]='Turbo\0';

答案:D

69.用下面的scanf函数输入数据,使得k10/二15,选择正确的键盘输入方法。

(用[CR]表示回车)

main()

(

inti,j;

scanf("i=%dj=%d",&i,&j);

)

A、i=10,j=15[CR]

B、i=10Uj=15[CR]

C、10U15[CR]

D、10,15[CR]

答案:A

21/34

70.跳过当前循环体内容,继续执行下一次循环的语句是()

A、continue语句

B、return语句

C^break语句

D、空语句

答案:A

71.设有以下定义:

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

int*p=a;

,则数值为6的表达式是().

A、p+5

B、*p+6

C、*p+=5

D、*(p+6)

答案:C

72.以下程序段执行后输出的结果是().

charstr[]="ABCD"/*p=str;

printf("%d\n"z*(p+4));

A、不确定的值

B、字符U的地址

C、68

22/34

D、0

答案:D

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

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

main()

{inti,k;

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

)

A、10U15[CR]

Bi=10zk=15[CR]

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

D、10,15[CR]

答案:B

74.设有如下的程序段:

charstr[]="Hello";

char*ptr;

ptr=str;

执行完上面的程序段后,*(ptr+5)的值为().

As'\0,

B、'o'

C、b'的地址

23/34

D、不确定的值

答案:A

75.定义♦问]={0,123,4,5,678,9}为=航淇中,0杂9则对a数组元素的引用

不正确的是().

A、a[p-a]

B、*(&a[i])

C、p[i]

D、*(*(a+i))

答案:D

76.以下字符中,不是转义字符的是().

A.'\b'

B、7

C>'\c'

D>'\a'

答案:C

77.设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:()

A、10<a<15

B、!(a<=10)&&!(a>=15)

C^a>10&&a<15

D、a==ll||a==12||a==13||a==14

答案:A

24/34

78.在C语言中,存储类型为()的变量只在使用它们时才占用存储空间.A、static

和auto

B、register和auto

C、register和extern

D,static和register

答案:B

79.已知键盘输入3=4为二3,下面程序输出的结果是().

main()

{inta,b,s;

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

s=a;

if(a<b)s=b;

s=s*s;

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

)

A、13

B、9

C、16

D、15

答案:C

80.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,

25/34

则文件方式字符串应是().

A."ab"

B>"wb+"

C."rb+"

D、“ab++”

答案:B

81.设有如下说明和语句,请选出哪个是对c数组元素的正确引用().int

c[4][5],(*cp)[5];

cp=c;

A、*(*cp+2)

B、*(cp+3)

C、cp+1

D、*(cp+l)+3

答案:A

82.以下标识符中不能作为合法的C用户定义标识符的是().

A、for

B、printf

C、sizeof

D、WORD

答案:C

83.在定义构造数据类型时,不能().

26/34

A、末尾不写分号

B、说明变量

C、初始化

D、说明存储类型

答案:A

84.以下叙述中,错误的是().

A、用户所定义的标识符应尽量做到"见名知意"

B、用户所定义的标识符必须以字母或下划线开头

C、用户所定义的标识符允许使用关键字

D、用户定义的标识符中,大,小写字母代表不同标识

答案:C

85.选择正确的输入语句()二(其中:charstring[20];)使得string的内容为“lam

student".

A、scanf("%s",string);

B、scanf("%c",&string);

C、scanf("%s",&string);

D、gets(string);

答案:D

86.以下选项中,合法的实型常数是().

A、.2E0

B、1.3E

27/34

C、E-3

D、5E2.0

答案:A

87.若inta=2,则执行完表达式a-=a+=a*a后,a的值是().

A、-4

B、0

C、-8

D、-2

答案:B

88.设a,b和c都是int型变量,且a=3,b=4,c=5,下面表达式中值为0的表达式是

().

A^a<=b

B、'a'&&b

C、!((a<b)&&!c||l)

D、a||b+a&&b-c

答案:C

89.定义charb⑸,*p=b;,则能正确赋值的语句是().

A、*p="abcd";

B、p="abcd";

C、*b="abcd";

D、b="abcd";

28/34

答案:B

90.能正确表示a>=10或a<=0的关系表达式是:()

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

B、A>=10ora<=0

C、a>=10&a<=0

D、a>=10|a<=0

答案:A

91.设有如下定义:structsk{inta;floatb;}data,*p;

若要使p指向data中的a域,正确的赋值语句是().

A、p=(structsk*)data.a;

B、p=&data.a;

C、*p=data.a;

D、p=(structsk*)&data.a;

答案:D

92.若变量已正确定义且k的值是4,计算表达式(j=4,k--)后,j和k的值为().

A、j=3,k=3

B、j=3,k=4

C、j=4,k=4

D、j=4,k=3

答案:D

93.当说明一个结构体变量时系统分配给它的内存是().

29/34

A、结构中,第一个成员所需内存量

B、成员中,占内存量最大者所需的容量

C、结构中,最后一个成员所需内存量

D、各成员所需内存量的总和

答案:D

94.int(*p)[6];它的含义为().

A、具有6个元素的一维数组

B、定义了一个指向具有6个元素的一维数组的指针变量

C、指向整型指针变量

D、指向6个整数中的一个的地址

答案:B

95.若有说明语句:charc二'\72京则变量c().

A、包含1个字符

B、说明不合法,c的值不确定

C、包含2个字符

D、包含3个字符

答案:A

96.以下表述中正确的是().

A^do-while循环中while语句不能省略

B、在do-while循环中while表达式的值不能为"假"

C、除了for■循环,其池循环中都不能使用复合语句

30/34

D、do-while循环中while(表达式)后面不能加分号

答案:A

97.能正确表示a和b同时为正或同时为负的逻辑表达式是乂)

A^(a+b>0)&&(a+b<=0)

B、(a>=0||b>=O)&&(a<O||b<0)

C、a*b>0

D、(a>=O&&b>=O)&&(a<O&&b<O)

答案:C

98.下面错误的说明语句是().

int(*a)[10];

B>inta[][];

C>i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论