c语言题库整理.docx

上传人:b****7 文档编号:23503161 上传时间:2023-05-17 格式:DOCX 页数:101 大小:59.05KB
下载 相关 举报
c语言题库整理.docx_第1页
第1页 / 共101页
c语言题库整理.docx_第2页
第2页 / 共101页
c语言题库整理.docx_第3页
第3页 / 共101页
c语言题库整理.docx_第4页
第4页 / 共101页
c语言题库整理.docx_第5页
第5页 / 共101页
点击查看更多>>
下载资源
资源描述

c语言题库整理.docx

《c语言题库整理.docx》由会员分享,可在线阅读,更多相关《c语言题库整理.docx(101页珍藏版)》请在冰豆网上搜索。

c语言题库整理.docx

c语言题库整理

C语言程序设计课程(题型:

选择题)

序号

试题内容

1

以下斜述正确的是(c)

A)在C程序中,main函数必须位于程序的最前面。

B)在C程序中每行只能写一条语句。

C)C语言本身没有输入输出语句。

D)在对C程序进行编译过程中,可以发现注释中的拼写错误。

2

 

printf函数中用到格式符%-5s,其中数字5表示输出的字符串占用5列,如果字符串长度小于5,则输出按方式()

A)从左起输出该字符串,右补空格。

B)按字符串长度从左到右全部输出。

C)右对齐输出字符串,左补空格。

D)输出错误信息。

3

以下运算符中优先级最高的是()

A)->B)*C)&&D)!

=

4

 

已知各变量的说明如下:

inti=6,k,a,b;

unsignedlongw=5;

doublex=1.4,y=5.5;

则以下符合C语言语法的表达式是()

A)a+=a-=(b=4)*(a=3)B)a=a*3=2C)x%(-3)D)y=float(i)

5

若有以下定义,能使值为3的表达式是()

intk=7,x=12;

A)x%=(k%=5)B)x%=(k-k%5)C)x%=k-k%5D)(x%=k)-(k%=5)

6

 

执行以下一段代码后,变量a,b,c的值分别是()

intx=10,y=9;

inta,b,c;

a=(--x==y++)?

--x:

++y;

b=x++;

c=y;

A)a=9,b=9,c=9B)a=8,b=8,c=10C)a=9,b=10,c=9D)a=1,b=11,c=10

7

在C语言中,一维数组的定义为:

类型说明符数组名___。

()

A)[常量表达式]B)整型表达式C)[整型常量]或[整型表达式]D)[整型常量]

8

 

若用一维数组名作函数的实参,则以下说法正确的为()

A)实参数组类型和形参数组类型可以不匹配。

B)实参数组名和形参数组名必须一致.

C)形参数组可以不指定大小。

D)把实参数组全部元素的值传递给形参数组。

9

 

以下对结构体变量stu1中成员age的非法引用是()

structstudent

{intage;

intnum;

}stu1,*p;

p=&stu1;

A)stu1.ageB)student.ageC)p->ageD)(*p).age

10

 

若有宏定义如下:

#defineX5

#defineYX+1

#defineZY*X/2

则执行以下printf语句后,输出的结果是()

inta;a=Y;

printf(“%d\n”,Z);

printf(“%d”,--a);

A)7B)12C)12D)7

6655

11

 

以下关于宏替换的斜述不正确的是()

A)宏替换不占用运行时间

B)宏名无类型

C)宏名必须用大写字母表示

D)对宏命令的处理是在连接时进行的

12

 

若有语句inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}则以下说法不正确的是()

A)&a表示指向二维数组的指针B)a+1表示第0行第1列元素首地址

C)a[1]+2表示第1行第2列元素地址D)*(a+i)与a[i]是等价的。

13

以下程序的输出结果是

main()

{charc='z';

printf("%c",c-25);

}

A)aB)ZC)z-25D)y

14

当说明一个共用体变量时系统分配给它的内存是()

A)各成员所需内存量总和B)共用体中第一个成员所需内存量

C)成员中占内存最大者所需容量D)共用体中第后一个成员所需内存量

15

 

以下说法正确的是()

如果在一个函数中的复合语句中定义了一个变量,则该变量

A)只在该复合语句中有效B)在该函数中有效

C)在本程序范围内有效D)为非法变量

16

用C语言描述a大于b而且小于c()

A)bb||ab&&ab,a

17

以下变量名全部合法的是()

A)ABC、L10、A_B、_a1B)?

123、print、*p、a+b

C)_12、ZHANG、*P、11FD)Li_Li、P、for、101

18

 

正确的答案为()

main()

{chargrade;

scanf(“%c”,&grade);

switch(grade)

{case‘a’:

printf(“90——100”);

case‘b’:

printf(“80——89”);

case‘c’:

printf(“70——79”);

case‘d’:

printf(“60——69”);

case‘e’:

printf(“不及格”);

}

A)输入:

b输出:

80——89B)输入:

a输出:

90——100

C)输入:

c输出:

70——79D)输入:

e输出:

不及格

19

以下程序输出的结果为()

main()

{inti,sum=0;

i=0;

while(i<6)

{i++;

 

if(i==2||i==4)

continue;

sum=sum+i;

}

printf(“%d”,sum);

}

A)15B)13C)9D)14

20

 

已知函数的调用形式:

fread(buffer,size,count,fp);其中buffer代表()

A)一个整型变量,代表要读入的数据项总数

B)一个文件指针,指向要读的文件

C)一个指针,指向要读入数据的存放地址

D)一个存储区,存放要读的数据项

21

执行语句c*=a+b(设有inta=4,b=2,c=2;)后,c的值为()

A)8B)10C)12D)6

22

以下正确的选项是()

A)10++B)(x+y)--C)++(a1-b2)D)(d++)+(d++)

23

 

以下程序的输出结果为:

()

main()

{inti,j,k,m;

i=3;

j=6;

k=i++;

m=++j;

printf(“%d,%d,%d,%d”,i,j,k,m);

}

A)3,6,3,7B)4,7,4,C)4,7,3,7D)3,6,3,6

24

表达式3+(!

(4<6)&&(3<=7))的值为()

A)3B)4C)错误的表达式D)5

25

 

以下正确的if语句是()

A)if(a>b);printf(“%d”,a);B)if(a>b)

elseprintf(“%d”,b);temp=a;a=b;b=temp;

elseprintf(“%d”,temp);

C)f(a>b)D)if(a>b)

{temp=a;a=b;b=temp;};{temp=a;a=b;b=temp;}

elseprintf(“%d”,temp);elseprintf(“%d”,temp);

26

 

以下程序的输出为()

main()

{intx=0,y=-1;

if(x!

=0)

if(x>0)y=1;

elsey=0;

elsey=5;

printf(“%d”,y);

}

A)1B)-1C)0D)5

27

在C语言中,合法的字符常量是()

 A)’\184’   B)’\x43’ C)’ab’      D)″\0″

28

若已定义x和y为double类型,则表达式:

x=1,y=x+3/2的值是()

A)1  B)2  C)2.0  D)2.5

29

若t为double类型,表达式t=1,t+5,t++的值是()

A)1 B)6.0 C)2.0 D)1.0

30

 

若i、j已定义为int类型,则以下程序段中内循环体的总的执行次数是

   for(i=5; i; i--)

   for(j=0; j<4; j++){…}

A)20  B)24  C)25  D)30

31

设原来a=12,则表达式a+=a-=a=a*a运算后a的值为()

A)24B)-120C)-264D)0

32

合法的数组定义是()

A)staticinta[5]=″string″;

B)staticinta[5]={0,1,2,3,4,5};

C)staticchara=″string″;

D)staticchara[]={65,66,67,68,69,70};

33

若有以下定义和语句:

charcl='b',c2='e';

printf(″%d,%c\n″,c2-c1,c2-'a'+'A');

则输出结果是():

A)2,M  B)3,E   C)2,E

D)输出项与对应的格式控制不一致,输出结果不确定

34

下面正确的概念是()

A)数组名的规定与变量名不相同。

B)数组名后面的常量表达式用一对圆括弧括起来。

C)数组名代表数组的首地址。

D)在C语言中,一个数组的数组下标从1开始。

35

在以下一组运算符中,优先级最高的运算符是()

A)<= B)= C)% D)&&

36

C语言中,合法的长整型常数是()

A)0LB)4962C)324562&D)216D

37

假定x和y为double型,则表达式x=2,y=x+3/2的值是()

A)3.500000B)3C)2.000000D)3.000000

38

设正x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是()

printf("%d,%d\n",x--,--y);

A)10,3B)9,3C)9,2D)10,2

39

x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()

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

C)scanf("%d%d%d",x,y,z);D)read("%d%d%d",&x,&y,&z);

40

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

main()

{inta=3;

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

}

A)-6B)12C)0D)-12

41

a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值位为()

A)0B)1C)2D)3

42

以下是合法变量名的一组是()

A)a#b@cB)4dC)f2_G3D)a=b

43

 

阅读以下程序:

main()

{intx;

scanf("%d",&x);

if(x--<5)printf("%d",x);

elseprintf("%d",x++);

}

程序运行后,如果从键盘上输人5,则输出结果是()

A)3B)4C)5D)6

44

 

假定w、x、y、z、m均为int型变量,有如下程序段:

w=1;x=2;y=3;z=4;

m=(w

w:

x;m=(m

m:

y;m=(m

m:

z;

则该程序运行后,m的值是()

A)4B)3C)2D)1

45

设有定义:

longx=-123456L;,则以下能够正确输出变量x值的语句是()。

A)printf("x=%d\n",x);B)printf("x=%2d\n",x);C)printf("x=%8dL\n",x);D)printf("x=%ld\n",x);

46

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

A)k=n,n=n+1B)n=n+1,k=nC)k=++nD)k+=n+1

47

 

有以下程序

main()

{inta=15,b=21,m=0;

switch(a%3)

{case0:

m++;break;

case1:

m++;

switch(b%2)

{default:

m++;

case0:

m++;break;

}

}

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

}

程序运行后的输出结果是()

A)1B)2C)3D)4

48

以下程序的输出结果是:

main()

{inta=5,b=4,c=6,d;

printf(“%d\n”,d=a>b?

(a>c?

a:

c):

(b));

}

A)5B)4C)6D)不确定

49

 

以下说法不正确的是():

A)C程序是由函数构成的

B)一个C源程序可以包含一个或多个main()函数。

C)C程序总是从main函数开始执行的,而不论main函数在整个程序中的位置。

D)C程序中,每个语句和数据定义的最后都必须有一个分号。

50

执行下面的语句之后,x的值是():

x=(x=3,6*3);

A)3B)6C)18D)1

51

下面表达式中a的值为():

(a为int型,且原来它的值为12)

a*=a-5+3

A)10B)120C)142D)表达式错误

52

设x、y、t均为int型变量,则执行语句:

x=y=3;t=++x||++y;后,y的值为()

A)不定值B)4C)3D)1

53

 

有以下程序段

intx=3

do

{printf("%d",x-=2);}

while(!

(--x));

其输出结果是

A)1B)30C)1-2D)死循环

54

下面定义的数组a的数组元素个数是():

inta[4][6];

A)15B)24C)4D)6

55

有如下的定义并初始化,则数组元素a[3]的值是:

inta[4]={23,12,3,65};

A)23B)12C)3D)65

56

 

C语言中用于结构化程序设计的三种基本结构是:

A、顺序结构、择结构、循环结构

B、if、switch、break

C、for、while、do-while

D、if、for、continue

57

以下运算符中优先级最高的是()

A)

=

58

 

当a=1,b=3,c=5,d=4时,执行完以下一段代码后x的值为()

if(a

if(c

else

if(a

if(b

elsex=3;

elsex=6;

elsex=7;

A)1B)2C)3D)6

59

 

执行以下一段代码后,变量a,b,c的值分别是()

intx=10,y=9;

inta,b,c;

a=(--x==y++)?

--x:

++y;

b=x++;

c=y;

A)a=9,b=9,c=9B)a=8,b=8,c=10C)a=9,b=10,c=9D)a=1,b=11,c=10

60

 

以下数组定义中不正确的是

A)inta[2][3];B)intb[][3]={0,1,2,3};

C)intc[100][100]={0};D)intd[3][]={{1,2},{1,2,3},{1,2,3,4}};

61

printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度小于5,则输出按方式()

A)左起输出该字符串,右补空格B)字符串长度从左到右全部输出

C)右对齐输出字符串,左补空格D)输出错误信息

62

以下正确的选项是()

A)10++B)(x+y)--C)++(a1-b2)D)(d++)+(d--)

63

 

以下程序的输出结果为:

()

main()

{inti,j,k,m;

i=3;

j=6;

k=++i;

m=j+i--;

printf(“%d,%d,%d,%d”,i,j,k,m);

}

A)3,6,3,10B)4,7,4,9C)3,7,3,11D)3,6,4,10

64

表达式3+(!

(7<1)||(3<=7))的值为()

A)3B)4C)错误的表达式D)5

65

 

函数调用:

strcat(strcpy(str1,str2),str3)的功能是()

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

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

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

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

66

 

下面程序的输出是

 main()

 {unsigneda=32768;

  printf(″a=%d\n″,a);

 }

 A)a=32768     B)a=32767  C)a=-32768    D)a=-1

67

运行以下程序的结果为()

main()

{

intnumber=0;

while(number<=1)

{number++;

 

printf(“%d\n”,number);

}

}

A)0B)1

C)2D)1

2

68

以下斜述正确的是()

A)在C程序中,main函数必须位于程序的最前面。

B)在C程序中每行只能写一条语句。

C)C语言本身没有输入输出语句。

D)在对C程序进行编译过程中,可以发现注释中的拼写错误。

69

 

已知各变量的说明如下:

inti=8,k,a,b;

unsignedlongw=5;

doublex=1.43,y=5.2;

则以下符合C语言语法的表达式是()

A)a+=a-=(b=4)*(a=3)B)a=a*3=2C)x%(-3)D)y=float(i)

70

 

以下程序段不是死循环的是()

A)inti=100;

while

(1)

{i=i%100+1;

if(i>100)break;

}

B)for(;;);

C)intk=0;

do{++k;}

while(k>0);

D)ints=36;

while(s);

--s;

71

判断字符串s1是否大于字符串s2,应当使用()

A)if(s1>s2)B)if(strcmp(s1,s2))C)if(strcmp(s2,s1))D)if(strcmp(s1,s2)>0)

72

以下关于宏替换的斜述不正确的是()

A)宏替换不占用运行时间B)宏名无类型

C)宏名必须用大写字母表示D)对宏命令的处理是在连接时进行的

73

 

若有宏定义如下:

#defineX5

#defineYX+1

#defineZY+Y/2

则执行以下printf语句后,输出的结果是()

inta;a=Y+2;

printf(“%d\n”,Z);

printf(“%d”,--a);

A)7B)12C)9D)11

6656

74

若有语句inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}则以下说法不正确的是()

A)a表示指向二维数组的指针B)a+1表示第1行首地址

C)a[1]+2,与*(a+1)+2表示第1行第2列元素地址D)*(a+2)与a[2]是等价的。

75

 

以下程序的输出结果是

main()

{inti,a[10];

for(i=9;i>=0;i--)a[i]=10-i;

printf("%d%d%d",a[2],a[5],a[8]);

}

A)258B)741C)852D)369

76

 

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

A)各成员所需内存量总和

B)结构体中第一个成员所需内存量

C)结构体占内存最大者所需容量

D)结构体第后一个成员所需内存量

77

可以作为函数fopen中第一个参数的正确格式是()

A)c:

user\text.textB)c:

\user\text.text

C)”c:

\user\text.text”D)”c:

\\user\\text.text”

78

已知函数的调用形式:

fwrite(buffer,size,count,fp);其中buffer代表()

A)一个整型变量,代表要读入的数据项总数B)一个文件指针,指向要读的文件

C)一个指针,指向要读入数据的存放地址

D)一个指针,指向要输出数据的地址

79

以下说法不正确的是()

A、0||a==aB、1&&a==aC、1||a==1D、0&&a==a

80

下面正确的概念是()

A)数组名的规定与变量名不相同。

B)数组名后面的常量表达式用一对圆括弧括起来。

C)以数组名作为参数时,采取的是“值传送”方式。

D)在C语言中,一个数组的数组下标从0开始。

81

对数组初始化正确的方法是()

A)staticinta(5)={1,2,3,4,5};B)staticinta[5]={1,2,3,4,5};

C)staticinta[5]={1—5};D)staticinta[5]={0,1,2,3,4,5};

82

若有说明:

inti,j=7,*p=&i;则与i=j;等价的语句是()

A)i=*P;B)*p=*&j;C)i=&j;D)i=**p; 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 财务管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1