奥鹏20春在线作业c语言,奥鹏20春北理工《C语言程序设计》在线作业

北理工《C语言程序设计》在线作业        -0004

试卷总分:100  得分:100

一、单选题 (共 40 道试题,共 80 分)

1.若int x;则执行下列程序段后输出是( )。for(x=10;x>3;x--){if(x%3)x--;--x;--x;printf(“%d”,x); }

A.63

B.62

C.74

D.73

2.若int a,b,c;则为它们输入数据的正确的语句是( )。

A.read(a,b,c);

B.scanf("%d%d%d",a,b,c);

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

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

3.不能正确为字符数组输入数据的是( )。

A.char s[5];scanf(“%s”,&s);

B.char s[5];scanf(“%s”,s);

C.char s[5];scanf(“%s”,&s[0]);

D.char s[5];gets(s);

4.若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是( )。

A.scanf("%f",&c);

B.scanf("8.4f",&c);

C.scanf("%6.2f",&c);

D.scanf("8f",&c);

5.说明语句"int (*p)(); "的含义是( )。

A.p是一个指向一维数组的指针变量

B.p是一个指针变量,指向一个整型数据

C.p是一个指向函数的指针,该函数的返回值是一个整型

D.以上都不对

6.下面描述中,不正确的是( )。

A.递归法的关键是必须有一个递归终止的条件。

B.递归算法要求语言具有反复自我调用子程序的能力。

C.对于同一个问题,递推算法比递归算法的执行时间要长。

D.递推算法总可以转换为一个递归算法。

7.下列说法中正确的是( )。

A.break用在switch语句中,而continue用在循环语句中。

B.break用在循环语句中,而continue用在switch语句中。

C.break能结束循环,而continue只能结束本次循环。

D.continue能结束循环,而break只能结束本次循环。

8.main(argc,argv)中形式参数argv的正确说明形式应当为( )。

A.char *argv[ ]

B.char argv[ ][ ]

C.char argv[ ]

D.char *argv

9.C语言结构类型变量在程序执行期间( )。

A.所有成员一直驻留在内存中

B.只有一个成员驻留在内存中

C.部分成员驻留在内存中

D.没有成员驻留在内存中

10.要判断char型变量m是否是数字字符,可以使用下列表达式( )。

A.0<=m&&m<=9

B.'0'<=m&&m<='9'

C.“0”<=m&&m<=“9”

D.前3个答案都是错误的

11.已知:int a,*p=&a; 则下列函数调用中错误的是( )

A.scanf("%d",&a);

B.scanf("%d",p);

C.printf("%d",a);

D.printf("%d",p);

12.以下程序的输出结果是( )。main(){int i,k,a[10],p[3];k=5;for(i=0;i<10;i++)a=i;for(i=0;i<3;i++)p=a[i*(i+1)];for(i=0;i<3;i++)k+=p*2;printf(“%d”,k); }

A.20

B.21

C.22

D.23

13.下面个选项组中,均属于C语言关键字的一组是( )。

A.auto,enum,include

B.switch,typedef,continue

C.signed,union,scanf

D.if,struct,type

14.以下程序的输出结果是( )。main(){int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++)printf(“%d,”x[2-i]);}

A.1,5,9

B.1,4,7

C.3,5,7

D.3,6,9

15.C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是( )。

A.地址传递

B.值传递

C.由实参传给形参,并由形参传回给实参

D.由用户指定传递方式

16.在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则( )。

A.称为函数的直接递归

B.称为函数的间接递归

C.称为函数的递归定义

D.C语言中不允许这样的递归形式

17.已知:struct sk{int a;float b; }data,*p;若有p=&data, 则对data中的成员a的正确引用是( )。

A.(*p).data.a

B.(*p).a

C.p->data.a

D.p.data.a

18.指出程序结束时,j、i、k的值分别是( )。main(){int a=10,b=5,c=5,d=5,i=0,j=0,k=0;for(;a>b;++b)i++;while(a> ++c)j++;do k++;while(a>d++);}

A.j=5,i=4,k=6;

B.i=5,j=4,k=6;

C.j=6,i=5,k=7

D.j=6,i=6,k=6;

19.在以下对C语言的描述中,正确的是( )。

A.在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参

B.C语言函数既可以嵌套定义又可以递归调用

C.函数必须有返回值,否则不能使用函数

D.C语言程序中有定义关系的所有函数都必须放在同一源文件中

20.若有以下定义和语句:struct student{int num,age;};struct student stu[3]={{1001,20},{1001,19},{1003,21}};struct student *p=stu;则以下错误的引用是( )。

A.(p++)->num

B.p++

C.(*p).num

D.p=&stu.age

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

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};

22.以下程序的输出是( )。main(){char a[2][5]={“6937”,”8254”};int i,j,s=0;for(i=0;i<2;i++)for(j=0;a[j]>'0'&&a[j]<='9';j+=2)s=10*s+a[j]-‘0’;printf(“s=%d ”,s);}

A.6385

B.69825

C.63825

D.693825

23.为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当时( )。

A."r+"

B."w+"

C."wb+"

D."ab+"

24.if语句的控制条件( )。

A.只能用关系表达式

B.只能用关系表达式或逻辑表达式

C.只能用逻辑表达式

D.可以是任何表达式

25.执行下列程序段后,x、y和z的值分别是( )。int x=10,y=20,z=30;if(x>y)z=x; x=y; y=z;

A.10,20,30

B.20,30,30

C.20,30,10

D.20,30,20

26.下列对字符串的定义中错误的是( )。

A.char str[7]="FORTRAN"

B.char str[ ]=" FORTRAN"

C.char *str="FORTRAN"

D.char str[ ]={'F','O','R','T','R','A','N','

27.以下( )不是C语言的特点。

A.语言的表达能力

B.语言定义严格

C.数据结构系统化

D.控制流程结构化

28.若有char a[80],b[80];则正确的是( )。

A.puts(a,b);

B.printf(“%s,%s”a[ ],b[ ]);

C.putchar(a,b);

D.puts(a);puts(b);

29.下列程序执行的结果是( )。A=1;b=2;c=3;While(b

A.1,2,0

B.2,1,0

C.1,2,1

D.2,1,1

30.以下对C语言中联合类型数据的正确叙述是( )。

A.一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员

B.一个联合变量中可以同时存放其所有成员

C.一个联合变量中不能同时存放其所有成员

D.联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中

31.已知:char s[10],*p=s,则在下列语句中,错误的语句是( )。

A.p=s+5;

B.s=p+s;

C.s[2]=p[4];

D.*p=s[0];

32.C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是( )。

A.编辑和编译

B.编译和连接

C.连接和运行

D.编辑和运行

33.执行下面的语句后x的值为( )。int a=14,b=15,x;char c='A';x=((a&b)&&(c

A.TRUE

B.FLASE

C.0

D.1

34.执行以下程序段后,a,b,c的值分别是( )。int a,b=100,c,x=10,y=9;a=(--x= =y++)?—x:++y; if(x<9) b=x++;c=y;

A.9,9,9

B.8,8,10

C.9,10,9

D.1,11,10

35.已知: struct{int i; char c; float a; }test; 则sizeof(test)的值是( )。

A.4

B.5

C.6

D.7

36.已知:int x=1,y=2,z;则执行z=x>y?++x:++y;则z的值为( )。

A.1

B.2

C.3

D.4

37.执行以下程序段后,c3的值是()。int c1=1,c2=2,c3; c3=c1/c2;

A.0

B.1/2

C.0.5

D.1

38.下面程序的输出结果是( )。main(){int i,j;float s;for(i=6;i>4;i--){s=0.0; for(j=i;j>3;j--)s=s+i*j; }printf(“%f ”,s);}

A.135.000000

B.90.000000

C.45.000000

D.60.000000

39.利用fseek函数可以( )。

A.改变文件的位置指针

B.实现文件的顺序读写

C.实现文件的随机读写

D.以上答案均正确

40.已知“int a=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a的值为( )。

A.1

B.0

C.4

D.5

二、判断题 (共 10 道试题,共 20 分)

41.在标准C语言中,在定义带参数的宏时也要定义参的类型。

42.在标准C语言中,所有函数在调用之前都要进行声明。

43.在C语言的scanf( )中可用”%m.nf”形式的格式字符指定输入数据的精度。

44.设有变量定义char s[]=”hello”,则数组中有6个元素。

45.若函数的返回值与return表达式类型不一致时,以return 表达式类型为准。

46."A"是一个字符常串量。

47.在C语言中,逻辑表达式中只允许出现逻辑型数据。

48.在C语言中处理文件时文本文件和二进制文件都可采用EOF作为判断文件是否读写结束。

49.结构体变量在内存中所占的字节数是由其各个成员所占字节的总和。

50.在C语言中,枚举元素作为常量,它们是有确定的值的,它们的值按顺序从0开始依次增加且不可以改变。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值