C语言二级考试上机题

1.表示关系x≥y≥z应使用C语言表达式()

A)(x>=y)&&(y>=z)B)(x>y)AND(y>z)C)x>=y>=zD)(x>=y)&(y>=z)

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

A)程序中第一条可执行语言B)程序中第一个函数

C)程序中的main函数D)包含文件中的第一个函数

3.以下if语句书写正确的是()

A)if(x=0;)

printf("%f",x);

else printf("%f",-x);

B)if(x>0)

{x=x+1;printf("%f",x);}

else printf("%f",-x);

C)if(x>0);

{x=x+1;printf("%f",x);}

else printf("%f",-x);

D)if(x>0)

{x=x+1;printf("%f",x)}

else printf("%f",-x);

4.以下表达中正确的是()

A)在C程序中,语句之间必须要用分号(;)分隔

B)在C程序中#include行和#define行不是C语句

C)程序中的注释部分可有可无,通常可以省略

D)当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值

5.以下语句的输出结果是()

printf("%d,%d,%u\n",016,16,-16);

A)16,16,65420

B)14,16,6542

C)16,16,-16

D)14,16,-16

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

A)k=n,n=n+1

B)n=n+1,k=n

C)k=++n

D)k+=n+1

7.以下合法的赋值语句是()

A)x=y=100

B)d--;

C)x+y;

D)c=int(a+b);

8.设a、b、c为int型变量,若从键盘给a、b、c输入数据,则正确的输入语句是()

A)scanf("%d%d%d",a,b,c);

B)put("%d%d%d",a,b,c);

C)input("%d%d%d",a,b,c);

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

9.以下正确的数组定义语句是()

A)int y[1][4]={1,2,3,4,5,}

B)float x[3][]={{1},{2},{3}}

C)long s[2][3]={{1},{1,2}{1,2,3,}}

D)double t[][3]={0}

10.设有如下的变量定义:

int i=8,k,a,b;

unsinged long w=5;

double x=1.42,y=5.2

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

A)a+=a-=(b=4)*(a=3)

B)x%(-3);

C)a=a*3=2

D)y=float(i)

11.以下字符串不属于标识符的是()

A)sum

B)average

C)day_night

D)M.D.JOHN

12.若t已定义为double类型,表达式:t=1,t++,t+5的值是()

A)1

B)7.0

C)2.0

D)1.0

13.以下各选项企图说明一种新的类型名,其中正确的是()

A)typedef v1int;

B)typedefv2=int;

C)typedef intv3;

D)typedefv4∶int;

14.若有代数式"ex+y2+y/x",则正确的C语言表达式是()

A)ex+y*y+y/x

B)exp x+pow (y,2)+y/x

C)exp (x)+pow(y,2)+y/x

D)ex+y2+y/x

15.若x=3,y=z=4,则以下表达式的值分别为()

(1)(z>=y>=x)? 1∶0

(2)y+=z,x*=y

A)0 24

B)1 8

C)0 8

D)1 12

16.下面程序的输出结果是()

main()

{ int i,j;

i=16;j=(i++)+i;printf("%d",j);

i=15;printf("%d%d",++i,i);

}

A)32 16 15

B)33 15,15

C)34 15,16

D)34 16 15

17.在C语言中,整数65534在存储单元中的存储情况是()

A)11 11 11 11 11 11 11 11

B)10 00 00 00 00 00 00 10

C)01 11 11 11 11 11 11 11

D)11 11 11 11 11 11 11 10

18.执行语句"for(n=10;n>0;) printf("%d",--n+n--);"后,以下说确的是()

A)循环体执行了5次,最终n的值是-1

B)循环体执行了6次,最终n的值是-1

C)循环体执行了6次,最终n的值是0

D)循环体执行了5次,最终n的值是0

19.若有以下定义和语句:

intu=010,v=0x10,w=10;

printf("%d,%d,%d\n",u,v,w);

则输出结果是()

A)8,16,10

B)10,10,10

C)8,8,10

D)8,10,10

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

func((exp1,exp2),(exp3,exp4,exp5));

A)1

B)2

C)4

D)5

31.以下正确的实型常量是()

A)1.2E

B).579899

C)1.2e0.6

D)8

32.若题中各变量已正确定义并赋值,下面符合C语法的表达式是()

A)a%=7.6;

B)a++,a=7+b+c

C)int(12.3)%4

D)a=c+b=a+7

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

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

m=(w<Z)?M:Z;

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

A)4

B)3

C)2

D)1

34.若有如下程序段:

int x=3,y=4,z;float a=2.0;

z=y%x/a;

则执行后,z中的值是()

A)4

B)3.0

C)0

D)0.5

35.在16位C编译系统上,若定义long a;,则能给a赋值40000的正确语句是()

A)a=20000+20000;

B)a=4000*10;

C)a=30000+10000;

D)a=4000L*10L;

36.在以下4个选项中,均属于C语言不合法标识符的是()

A)include

B)c.2

C)na

D)PI

37.以下有关格式输入函数scanf的表达中正确的是()

A)输入项可以是C语言中规定的任何变量,并且在任何变量前必须加地址符号"&"

B)可以只有格式控制项,没有地址列表项

C)在输入数据时,必须规定精度。如:scanf ("%4.2f",&d);

D)当输入数据时,必须指明变量地址

38.有以下程序:

main()

{inty=3,x=3,z=1;

printf("%d%d\n",(++x,y++),z+2);

}

执行后的输出结果是()

A)34

B)42

C)43

D)33

39.C语言提供的合法关键字是()

A)swicth

B)cher

C)Case

D)default

40.以下选项中不属于C语言数据类型的是()

A)整型

B)逻辑型

C)双精度型

D)枚举型

41.已有定义语句:intx=3,y=0,z=0;,则值为0的表达式是()

A)x&&y

B)x||z

C)x||z+2&&y-z

D)!((x<y)&&!z||y)

42.能正确表示代数式3xn2x-1的C语言表达式是()

A)3*x^n/(2*x-1)

B)3*x**n/(2*x-1)

C)3*pow(x,n)*(1/(2*x-1))

D)3*pow(n,x)/(2*x-1)

43.若int类型数据占两个字节,则以下语句

int k=-1;

printf("%d,%u\n",k,k);

的输出为()

A)-1,-1

B)-1,32767

C)-1,32768

D)-1,65535

44.以下常数中,不合法的C常量是()

A)-0x3b1

B)123e+2.3

C)′}′

D)6e+7

45.如果int i=3,则 k=(++i)+(++i)+(i++)执行过后k的值为,i的值为。()

A)15,6

B)12,5

C)18,6

D)15,5

46.以下有四组用户标识符,其中合法的一组是()

A)For

-sub

Case

B)4d

DO

Size

C)f2_G3

IF

abc

D)WORD

void

define

47.以下非法的赋值语句是()

A)n=(i=2,++i)

B)j++

C)++(i+1)

D)x=j>0

48.有以下程序

main()

{double d;floatf;long l;inti;

i=f=l=d=20/3;

printf("%d%ld%f%f\n",i,l,f,d);

}

程序运行后的输出结果是(小数点后只写1位)()

A)666.06.0

B)666.76.7

C)666.06.7

D)666.76.0

49.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量′\101′是()

A)字符A

B)字符a

C)字符e

D)非法的常量

50.若变量已正确说明为float类型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,不正确的输入形式是()

A)10

22

33

B)10.0,22.0,33.0

C)10.0

22.033.0

D)1022

33

51.以下表达中正确的是()

A)C程序由函数和过程组成

B)C程序由主函数组成

C)C程序由函数组成

D)C程序中,主函数必须放在其他函数之前

52.以下运算符中,不属于关系运算符的是()

A)<

B)>=

C)==

D)!

53.以下属于合法的C语言无符号短整型常数的选项是()

A)-2

B)65536

C)123L

D)50000

54.设a,b均为float型变量,则以下非法的赋值语句是()

A)b=(a/5)/8;

B)++a

C)a=1.0,b=2.0,

D)a+=3;

55.设有如下变量定义:

doublea=3.500000;floatb=2.5;intm=2,n=3;

则表达式"(float)(m+n)/2+(int)a%(int)b"的值是()

A)2.5

B)3.5

C)4.5

D)表达式不正确

56.先用以下语句定义字符型变量:

char c;

然后要将字符a赋给变量c,则以下语句中正确的是()

A)c=′a′;

B)c="a";

C)c="97";

D)c=′97′

57.设有语句char a=′\72′;,则变量a()

A)包含1个字符

B)包含2个字符

C)包含3个字符

D)说明不合法

58.以下表达中正确的是()

A)C程序中,赋值运算符的优先级最低

B)若a是实型变量,C程序中允许进行以下赋值:a=10,因此,实型变量中允许存放整型数

C)若a和b类型相同,在执行了赋值a=b后b中的值将放入a中,b中的值将丢失

D)在C程序中,除号运算符"/"两边的类型相同时才能进行相除运算

59.已有定义:doublex;inti;,能正确给x赋70000.0的表达式是()

A)x=7000*10

B)x=70000

C)x=35000+35000

D)i=700,x=i*100

60.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()

A)a<>0

B)!a

C)a=0

D)a

61.以下说确的是()

A)在执行C程序时不是从main函数开始的

B)C程序书写格式严格限制,一行必须写一个语句

C)C程序书写格式自由,一个语句可以分写在多行上

D)C程序书写格式严格限制,一行必须写一个语句,并要有行号

62.C语言中最简单的数据类型包括()

A)整型、实型、逻辑型

B)整型、实型、字符型

C)整型、字符型、逻辑型

D)整型、实型、逻辑型、字符型

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

A)<=

B)=

C)%

D)&&

64.以下表达中,正确的一条是()

A)语句"goto 12;"是合法的

B)for(;;)语句相当于while(1)语句

C)if(表达式)语句中,表达式的类型只限于逻辑表达式

D)break语句可用于程序的任何地方,以终止程序的执行

65.设int a=12,则执行完语句a+=a-=a*a后,a的值是()

A)552

B)264

C)144

D)-264

66.以下选项中均属于C语言合法的标识符的是()

A)Int

B)_3ab

C)3a

D)WORD

#subFORprintfauto

breakLonga_binclude

67若有如下变量定义并赋值:

inta=1,b=2,c=3,k;float f=2.5,e;doubled=2.4,g;

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

A)e=c*=a+=d*f%b

B)(k=a+b,b*f++,k%c)

C)g=a+f*c=5

D)x=double(b)

68.设x是int型变量,则计算表达式"x=25/3%3"的值是()

A)0

B)1

C)2

D)非法

69.以下能正确表示x在-5到-1或5到1围(含5和1),值为"真"的表达式是()

A)(x>=-5)||(x<=-1)&&(x<=5)&&(x>=1)

B)!(x>=-5||x<=-1&&x<=5||x>=1)

C)x<-5&&x>-1||x<1&&x>5

D)(x<-5)||(x>-1&&x<1)||(x>5)

70.若int类型数据占两个字节,则以下语句的输出结果为()

int x=-1;

printf("%u\n",x);

A)-1

B)32767

C)65535

D)65536

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

A)函数

B)过程

C)字符

D)语句

72.以下正确的变量声明是()

A)intm;n;k;

B)unsigned intm,n,k;

C)double int m,n,k;

D)intm,n,k

73.已知大写字母B的ASCII码值是66,小写字母b的ASCII码值是98,则用八进制表示的字符常量′\142′是()

A)字符B

B)字符b

C)字符a

D)非法的常量

74.以下表达中错误的是()

A)在C程序中,APH和aph是两个不同的变量

B)C程序中的变量,代表存中的一个存储单元,它的值可以根据需要随时修改

C)在C程序中,无论是整数还是实数,都能准确无误地表示

D)在C程序中,一个正整数可以用十进制、八进制和十六进制的形式来表示

75.设a、b和 c都是int型变量,且a=3,b=4,c=5,则以下值为0的表达式是()

A)′a′&&′b′

B)a<=b

C)a||b+c&&bc

D)!((a<b)&&!c||1)

76.以下表达中正确的是()

A)输入项可以是一个实型常量,如scanf("%f",3.5);

B)只有格式控制,没有输入项,也能正确输入数据到存,例如:

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

C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:

scanf("%4.2f",&f)

D)当输入数据时,必须指明变量地址,例如:scanf("%f",&f);

77.有以下程序

main()

{int x=10,y=10;printf("%d%d\n",x--,--y);}

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

A)1010

B)99

C)910

D)109

78.C语言中各种基本数据类型的存储空间长度排列为()

A)char≤long≤int≤float≤double

B)double≤float≤long≤int≤char

C)char≤int≤long≤float≤double

D)float≤int≤long≤char≤double

79.设有如下定义

int x=10,y=3,z;

则语句

printf("%d\n",z=(x%y,x/y));

的输出结果是()

A)3

B)0

C)4

D)1

80.下述语句中,中的if语句语法是错误的。()

A)if (x>y);

B)if (x==y) x+=y;

C)if (x!=y) scanf("%d", &x) else scanf("%d",&y);

D)if (x<y) {x++;y++; }

相关推荐
m0_675988231 小时前
Leetcode2545:根据第 K 场考试的分数排序
python·算法·leetcode
人才程序员1 小时前
QML z轴(z-order)前后层级
c语言·前端·c++·qt·软件工程·用户界面·界面
破-风1 小时前
leetcode---mysql
算法·leetcode·职场和发展
w(゚Д゚)w吓洗宝宝了1 小时前
C vs C++: 一场编程语言的演变与对比
c语言·开发语言·c++
Wils0nEdwards1 小时前
Leetcode 合并两个有序链表
算法·leetcode·链表
AI人H哥会Java1 小时前
【Spring】Spring的模块架构与生态圈—Spring MVC与Spring WebFlux
java·开发语言·后端·spring·架构
开心工作室_kaic1 小时前
springboot461学生成绩分析和弱项辅助系统设计(论文+源码)_kaic
开发语言·数据库·vue.js·php·apache
觉醒的程序猿2 小时前
vue2设置拖拽选中时间区域
开发语言·前端·javascript
明月看潮生2 小时前
青少年编程与数学 02-004 Go语言Web编程 12课题、本地数据存储
开发语言·青少年编程·本地存储·编程与数学·goweb
eternal__day3 小时前
数据结构十大排序之(冒泡,快排,并归)
java·数据结构·算法