闽高校计算机二级C语言模拟题.docx

上传人:b****8 文档编号:11341787 上传时间:2023-02-28 格式:DOCX 页数:59 大小:64.29KB
下载 相关 举报
闽高校计算机二级C语言模拟题.docx_第1页
第1页 / 共59页
闽高校计算机二级C语言模拟题.docx_第2页
第2页 / 共59页
闽高校计算机二级C语言模拟题.docx_第3页
第3页 / 共59页
闽高校计算机二级C语言模拟题.docx_第4页
第4页 / 共59页
闽高校计算机二级C语言模拟题.docx_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

闽高校计算机二级C语言模拟题.docx

《闽高校计算机二级C语言模拟题.docx》由会员分享,可在线阅读,更多相关《闽高校计算机二级C语言模拟题.docx(59页珍藏版)》请在冰豆网上搜索。

闽高校计算机二级C语言模拟题.docx

闽高校计算机二级C语言模拟题

一、选择题

(一)概述

1.(A)为正确变量名

A)pro_5B)caseC)5_proD)else

2.(C)为正确的用户标识符。

A)min-5B)3_rowC)max_atD)union

3.下面叙述正确的是(C)

A)程序中必需包含自定义函数

B)main()函数必须位于源程序文件的开头

C)所有语句都必须以分号“;”结束

D)每行最多只能写两个语句

4.下面叙述错误的是(A)

A)注释说明部分只能位于C源程序的最前面

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

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

D)一个C源程序的执行是从main()函数开始,直到main()函数结束

(二)语法基础

5.下面叙述错误的是(C)

A)算术运算符中不包含“=”运算符

B)模运算符“%”是C语言基本的算术运算符

C)算术运算符只有“*”,“/”优先级高于关系运算符

D)自增和自减运算符只能用于变量,而不能用于常量或表达式

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

A)(3+9)++是正确的表达式

B)C语言中的整型与字符型变量混合运算的结果是整型

C)模运算符“%”两边运算数的数据类型是任意的

D)“abc”+“xxx”是正确的表达式

7.若有定义:

inti=3,j=6;则表达式(--i)*(j++)的值为(A)。

A)12B)10C)18D)15

8.若有定义:

floatx=3.5,y=5.5;则表达式(B)的值为2.

A)(x+y)%7B)(int)(x+y)%7

C)(int)x+y%7D)int(x+y)%7

9若有定义intx=1,y=2,n=3;则(B)为正确表达式

A)x=nyB)x=y*3,y=(x+n)/y

C)(x+y)(y+n)D)float(y/n)

10若有定义:

inta,且表达式!

a的值为0,则表达式(BD)的值为1

A)!

(a<0||a>0)B)a!

=0C)a=0D)a==0

11若有定义:

inta=3,b=5,c=8;则表达式!

(a-b)||(c-b)的值为()。

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

12.若有定义:

intx,charc=’A’;则正确的赋值表达式是(D)。

(说明:

’A’的ASCII码的十进制值为65,’a’的ASCII码的十进制值为97)

A)x=c+’ABC’B)x=c+’CBA’

C)x=’ABC’D)X=c+32

13.(A)为非法的字符串常量

A)’123’B)”056”C)””D)”case”

14.(C)为正确的字符常量

A)’165’B)’\084’C)’@’D)’bcd’

15.(B)为合法的常量

A)’b_k’B)1.23E+8C)3.21E-6.5D)5,326

16.若有定义:

intb=-15,则()为正确的赋值表达式

A)b=*5B)b+=b*3

C)*b=6D)b+10=-5

17.若有定义:

intx=1,y=2,z=3,则表达式()的值为0.

A)x

C)x||(y+z&&y-z)D!

((x

18.若有定义:

inta=6,b=7,k=0,t=1;语句(k=a

A)10B)01C)00D)11

19.(B)语句符合C语言语法

A)floatx=3.2,inti,j=6;

B)floatx=2.3,b,c;

C)inta=2,b+=a;

D)inta=b=2,c=5;

20.下面叙述正确的是(D)

A)++2与3等价B)++2与--3等价

C)2/3与2%3等价D)5/(int)4.0与5/4等价

21.若有定义floatx=3.5,y=3.6;则表达式(C)的值为6

A)x+yB)(int)(x+y)

C)(int)x+(int)yD)int(x+y)

22.以下程序段运行后x的值为()

inta=3,b=6,x;

x=(a==b)?

a++:

--b;

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

23.若有定义:

inta,b=5;语句a=(b/2)+(b%2);运行后,a的值为()

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

24.若有定义:

inta=1,b=2,c=3,d=4,t=2,k=2;语句(t=a

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

25.若有定义:

floatx=2,y;inta=3;语句y=1*(x+a)/3;运行后y的值为()

A)1.666667B)1.0C)2.0D)0

26.下面运算符中优先级最低的是(B)。

A)!

B)=C)*D)>

27.若有定义:

inta=3;语句a+=a-=a*a;运行后,a的值为()

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

28.x的值在-20至-5之间为“真”,否则为“假”的正确逻辑表达式为()

A)-20

C)!

(x>-20)&&!

(x<-5)D)x>-20&&x<-5

29.若有定义:

intx,y,z;语句x=(y=z=3,++y,z+=y);运行后,x的值为()。

A)7B)3C)6D)8

30.若有定义floatx;要从键盘输入数据6.02赋给x,则应选用()语句。

A)scanf(“%8.2f”,&x);B)scanf(“%1.2f”,&x);

C)scanf(“%4.2f”,&x);D)scanf(“%f”,&x);

31.若有语句inta,charc;

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

为将整数135赋给a,字符’6’赋给c,正确的数据输入方式是()(说明代表换行,_代表空格)

A)1356

B)1356

C)135_6_

D)135_6

32.若有定义:

charc1=’A’,c2=’B’;语句printf(“%d+%d=%d”,c1,c2,c1+c2);运行的结果为()。

(说明’A’的ASCII码的十进制值为65)

A)A+B=131B)65+66=131

C)65+66=ABD)A+B=AB

33.若有定义:

inta=8,b=5;要实现输出形式为:

8*5=40,正确的printf()函数调用语句是()。

A)printf(“%d*%d=a*b\n”,a,b);

B)printf(“%d*%d=%d\n”,a,b,a*b);

C)printf(“a*b=%d\n”,a*b);

D)printf(“a*b=a*b\n”);

(三)控制结构

34.以下程序段运行的结果是()

ints=15;

switch(s/4)

{case1:

printf(“One”);

case2:

printf(“Two”);

case3:

printf(“Three”);

default:

printf(“Over”);

}

A)TwoOver

B)OneOver

C)ThreeOver

D)Three

35.以下程序段运行结果是()。

ints=15;

switch(s/4)

{default:

printf(“Over”);

case1:

printf(“One”);

break;

case2:

printf(“Two”);

}

A)OverOne

B)Two

C)One

D)Overtwo

36.以下程序段运行后,若从键盘输入5,则运行结果是()

inta,y=10;

scanf(“%d”,&a);

if(a>10)y=a+6;

printf(“%d\n”,y+a);

}

A)15B)16C)10D)11

37.以下程序运行结果是()

voidmain()

{inta,b=2,c=6;

a=3;

if(a>6)a=a+6;

elseif(a==6)b=a+c;

elsea=b+c;

printf(“%d\n”,a);}

A)6B)9C)5D)8

38.以下程序段运行后,x的值为()

inti,j,x=0;

for(i=3;i>=1;i--)

for(j=1;j<=i;j++)x=x+2;

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

39.若有定义inti,x;()不是死循环

A)for(x=5;x>0;x--);

B)while(x=1);

C)for(;;i+=2);

D)for(i=10;;i--);

40.以下程序段运行后,x的值为()

inti=0,x=0;

for(;i<=5;i++,i++)

{x+=3;}

A)9B)6C)12D)15

41.以下程序段运行后x的值为()。

inti=0,x=2;

while(i++<=5)

{x+=2;

}

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

42.下面叙述正确的是()

A)for循环的循环体可包含多条语句,但必须用花括号{}括起来

B)在for循环中,不能用break语句跳出循环体

C)for循环是先执行循环体语句,后判断表达式

D)for循环只能用于循环次数已经确定的循环

43.若有定义:

inti,x=0;语句for(i=1;i<=3;i++)x+=2;与下列()程序段不等价。

A)i=1;

for(;i<=3;){x+=2;i++;}

B)for(i=1;i<=3;){x+=2;i++;}

C)i=1;

for(;;i++)x+=2;

D)i=1;

for(;i<=3;i++)x+=2;

(四)数组

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

A)数组中每一个元素都属于同一个数据类型

B)C语言规定可逐个引用数组元素,但不能一次引用整个数组

C)C语言数组长度在定义数组时可不确定

D)C语言数组名称是数组的首地址

45.若有定义:

inta[10],i=2;则能正确引用数组元素的是()

A)a[10]B)a(7)C)a[9+i]D)a[10-i]

46.若有定义:

intarr[15],n=5;无法正确引用arr数组元素的是(D)。

A)arr[0]

B)arr[n]

C)arr[15-n]

D)arr[10+n]

47.以下程序段运行后,x的值为()

inta[8]={1,2,3,4,5,6,7,8},i,x=0;

for(i=0;i<8;i++,i++)

x=x+a[i];

A)18B)16C)20D)36

48.C语言中,二维数组元素在内存中的存放顺序是()

A)按列存放B)随机存放

C)由用户自己定义D)按行存放

49..以下()对二维数组arr的初始化是错误的。

A)intarr[2][3]={{1,2},{3,4}};

B)intarr[2][3]={{1,2},{3,4},{5,6}};

C)intarr[][3]={1,2,3,4,5};

D)intarr[2][3]={{1},{3,4,5}};

50.以下程序段的运行结果是()

intt[][3]={1,2,3,4,5,6,7,8,9,10,11,12};

printf(“%d\n”,t[1][1])}

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

51.以下程序段运行后,x的值为()

inti=0,x=0;

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

for(;i<3;i++)

x+=a[i][i];

A)12B)18C)0D)15

52.以下程序运行的结果是()

intfun(intarray[3][3])

{intj;

for(j=0;j<3;j++)array[1][j]++;

printf(“\n”);

}

main()

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

fun(a);

for(j=0;j<3;j++)printf(“%2d”,a[1][j]);

printf(“\n”);

}

A)215B)104C)012D)123

53.以下程序段的运行结果是()。

charstr[3][2]={‘a’,’b’,’c’,’\0’,’e’,’f’};

printf(“%s”,str[0]);

A)abc\0efB)aC)abcD)abcef

(五)函数

54.只能向终端输出一个字符的是()

A)putchar()函数B)printf()函数

C)scanf()函数D)getchar()函数

55.getchar()函数的功能是获取终端输入的()。

A)多个字符B)一个整形变量表达式

C)一个字符D)一个实型变量值

56.下面叙述正确的是()

A)预处理命令也是C语句,必须以分号结束

B)宏展开不占用运行时间,只占用编译时间

C)一个源程序只能有一个预处理命令行

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

57.下面叙述错误的是()。

A)C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率

B)“#definePRICE30”命令的作用是定义一个与30等价的符号常量PRICE

C)预处理命令行都必须以“#”开头

D)预处理命令行必须以分号结束

58.下面叙述错误的是()

A)”#include”命令的作用是在预处理时将stdio.h文件中的实际内容代替该命令

B)预处理命令行必须以分号结束

C)C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率

D)宏定义也是C语句,必须在行末加分号

59.以下程序运行结果是()

#defineXa+b

main()

{inta=3,b=4,s1;

s1=2*X;

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

}

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

60.若有定义:

#definePI3,则表达式PI*2*2的值为()

A)4B)12C)不确定D)322

61.若有定义:

#defineF2+3,则表达式F*F的值为()

A)17B)13C)25D)11

62..以下程序段运行结果是()

charstr[]={“Fujian”};

printf(“%d”,strlen(str));

A)6B)8C)9D)7

63.以下程序段运行后,a的值为()

inta=2;

a=strcmp(“miss”,“miss”);

A)trueB)-1C)0D)1

64.以下程序段的运行结果是()

chara[]=”abcdef”;

charb[]=”xyz”

strcpy(a,b);

printf(“%c”,a[2]);

A)bB)zC)yD)c

65.若有定义:

charstr1[10],str2[10]=”Fujian”;能将字符串“Fujian”赋给数组str1的正确语句是()

A)strcpy(str1,str2);B)str1=”Fujian”;

C)strcpy(str2,str1);D)strcopy(str1,str2);

66.以下程序段的运行结果是()

chara[]=”abc”;

charb[]=”xyz”;

charc[10];

strcpy(c,a);

strcat(c,b);

printf(“%s”,c);

A)xyzabcB)abcxyzC)abcD)xyz

67.以下程序的运行结果是()

intf(intc)

{c+=2;returnc;}

main()

{inta=2,c=5;

a=f(a);

printf(“%d%d\n”,a,c);

}

A)44B)25C)45D)24

68.以下程序段运行结果是()

fun()

{staticinta=0;

a++;

printf(“%d“,a);

}

main()

{inti;

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

fun();

}

A)12B)11C)00D)01

69.以下程序段的运行结果是()。

inta=2,b=3;

intmin(inta,intb)

{intc;

c=a

a:

b;

returnc;

}

main()

{inta=4;

printf(“%d”,min(a,b));

}

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

(六)指针

70.下面叙述错误的是()

A)可以将一个整数值赋给指针变量

B)一个变量的地址称为该变量的指针

C)一个指针变量只能指向同一类型的变量

D)任何指针变量都可以与空类型NULL进行比较

71.以下程序段运行结果是()

intx[3]={1,2,3};

int*p;

p=x;

for(p++;p<&x[2];p++)

printf(“%d“,*p);

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

72.以下程序运行的结果是()

main()

{chara[]=”137”,*p;

for(p=a;p

printf(“%s”,p);

}

A)7B)137C)137377D)13737

73.以下程序段运行后,*(p+1)的值为()

chara[]=”good”;

char*p;

p=a;

A)a[1]的地址B)’o’C)不确定D)’g’

74.()能正确定义一个指向函数的指针。

A)(int*)p()B)int*p()

C)int(*p())D)int(*p)()

75.以下程序段的运行结果是()

intx[]={2,3,4,5,6,7},*p=x;

inti,s=0;

for(i=1;i<5;i++)s+=p[i++];

printf(“%d”,s);

A)6B)8C)20D)14

76.以下程序段运行后,x的值为()

inta[]={1,2,3,4,5,6,7,8};

inti,x,*p;

x=1;p=&a[1];

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

x*=*(p+i);

A)120B)6C)1D)24

77.若有定义:

inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则()表达式是错误的。

A)a++B)a[2]C)p++D)p[2]

78.若有定义

inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12},(*p)[4];

p=a;()对数组a元素的引用是正确的

A)*(p[2]+3)B)**(p+4)C)(**p)[4]D)*(p[4])

79.下面程序段运行后,()对数组a元素的引用是错误的。

(其中0≤i<4,0≤j<3)

inti,j,(*p)[3];

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

p=a;

A)*(*(a+i)+j)B)p[i][j]

C)*(*(p+i)[j]D)*(p[i]+j)

80.以下程序运行的结果是()

main()

{intx,y;

int*p,*q,*t;

x=23;y=45;

p=&x;q=&y;

t=p;

p=q;

q=t;

printf(“%d,%d\n”,x,y);

}

A)23,45B)45,23

C)23,23D)45,45

81.以下程序的运行结果是()。

main()

{inta[3]={1,2,3};

int*num[3];

int**p,i;

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

num[i]=&a[i];

p=num;

printf(“%d”,**p);

}

A)1B)3C)numD)&a[0]

82.若有定义:

inta[3][2];则表达式&a[2][1]-a的值为()

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

(七)结构体与共用体

83.以下程序段的运行结果是()

union

{intnum1;

intnum2;

}s;

s.num1=20;

s.num2=30;

printf(“%d”,s.num1);

A)2030B)50C)30D)20

84.若有定义:

unionu_type

{intx;

floaty[3];

charz;

}a;

则变量a的长度是()

A)4B)15C)1D)12

85.若有定义:

structteacher

{intnum;

charsex;

intage;

}teacher1;

则下面叙述错误的是()

A)teacher1是结构类型名

B)struct是结构类型的关键字

C)structteacher是用户定义的结构类型

D)num、sex、age都是结构变量teacher1的成员

86.若有定义:

structdata

{chara;

floatb[3];

longc;

}d1;

则变量d1的长度是()

A)15B)12C)17D)4

87.若有定义:

structteacher

{intnum;

charname[10];

charsex;

intage;

}t1={2001,“LiMing”,’M’,35};

则下列()对结构体变量引用是正确的

A)t1.name[0]B)t1->name[0]

C)t1.nameD)t1->name

88下列程序段运行后,表达式()的值为3。

structpoint

{intx;

inty;

}*p;

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

p=a;

A)*(p+2)B)p[3].xC)p[1].xD)p[2].x

(八)枚举、自定义类型和位运算

89有定义:

enumnum{a1,a2=3,a3,a4=10};则枚举常量a2,a3的值分别为()

A)12B)33C)23D)34

90若有定义:

enumda

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

当前位置:首页 > 教学研究 > 教学计划

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

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