c语言言中凡未指定存储类别的局部变量,西安交通大学19年3月课程考试《程序设计基础(高起专)》作业考核试题【答案】...

西安交通大学19年3月课程考试《程序设计基础(高起专)》作业考核试题【答案】

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2019-02-26 10:45

西安交通大学18年5月补考《程序设计基础(高起专)》作业考核试题-0001 试卷总分:100 得分:0 一、 单选题 (共 30 道试题,共 60 分) 1.用户定义的函数不可以调用的函数是()。 A.非整型返回值

西安交通大学18年5月补考《程序设计基础(高起专)》作业考核试题-0001

试卷总分:100    得分:0

一、 单选题 (共 30 道试题,共 60 分)

1.用户定义的函数不可以调用的函数是()。

A.非整型返回值的

B.本文件外的

C.main函数

D.本函数下面定义的

2.若有int *p=(int *)malloc(sizeof(int));则向内存申请到内存空间存入整数123的语句为()。

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

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

C.scanf("%d",*p);

D.scanf("%d",**p);

3.在C语言中,形参的缺省存储类是()。

A.auto

B.register

C.static

D.extern

4.以下程序段的输出结果是( )int a=1234;printf("%2d\n",a);

A.12

B.34

C.1234

D.提示出错、无结果

5.C语言中,要求运算数必须是整型的运算符是()。

A.^

B.%

C.!

D.>

6.下列程序段的输出结果为()。Int x=3,y=2;printf("%d",(x-=y,x*=y+8/5));

A.1

B.7

C.3

D.5

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

A.5E2.0

B.E-3

C..2E0

D.1.3E

8.关于switch语句说法不正确的是( )

A.case的次序不影响执行结果

B.每个case语句后面的常量可以不同

C.在执行完一个case语句后转到下一个case语句执行

D.每个case语句后面表达式只能是常量

9.关于数组,下列说法正确的是( )

A.对数组的初始化操作在定义数组的同时进行

B.给数组赋初值时,必须所有数组元素都被赋值

C.给数组元素全部赋初值时,一定要指明数组的大小。

D.引用数组元素的时候,可以一次引用数组中的全部元素

10.下面关于do-while语句和while语句说法正确的是( )

A.while语句和do-while语句肯定都要执行

B.两者运行结果不同

C.do-while在判断条件之前先执行循环体一次

D.while语句至少执行一次

11.以下程序的运行结果是()。main(){int i=1,sum=0;while(i<10)sum=sum+1;i++;printf("i=%d,sum=%d",i,sum);}

A.i=10,sum=9

B.i=9,sum=9

C.i=2,sum=1

D.运行出现错误

12.以下说法错误的是( )

A.C语言函数分为由系统提供的标准库函数和由程序员自己定义的函数

B.在主函数main()中可以调用其他函数,其他函数之间不可以相互调用

C.C语言的程序是由一个函数或多个函数组成的

D.对于一个很大的任务,一般把它分解成若干源文件,分别编写和调试

13.double x;scanf("%lf",&x);不可以赋值给x变量的常量是()。

A.123

B.100000

C.A'

D."abc"

14.以下程序的输出结果是( )int f(){static int i=0;int s=1;s+=i; i++;return s;}main(){ int i,a=0;for(i=0;i<5;i++) a+=f();printf("%d\n",a);}

A.20

B.24

C.25

D.15

15.若有说明.int i,j=2,*p=&i;,则能完成i=j赋值功能的语句是()。

A.i=*p;

B.*p=*&j;

C.i=&j;

D.i=**p;

16.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。

A.自动(auto)

B.静态(static)

C.外部(extern)

D.寄存器(register)

17.若有int a[][]={{1,2},{3,4}};则*(a+1),*(*a+1)的含义分别为()。

A.非法,2

B.&a[1][0],2

C.&a[0][1],3

D.a[0][0],4

18.以下错误的描述是:函数调用可以()。

A.出现在执行语句中

B.出现在一个表达式中

C.做为一个函数的实参

D.做为一个函数的形参

19.若有下列定义和语句,则对a数组元素的非法引用是()。Int a[2][3],(*pt)[3];pt=a;

A.pt[0][0]

B.*(pt+1)[2]

C.*(pt[1]+2)

D.*(a[0]+2

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

A.一个好的程序应该有详尽的注释

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

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

D.C程序中的#include和#define均不是C语句

21.若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是( )

A.p=2*(int*)malloc(sizeof(int));

B.p=(int*)malloc(2*sizeof(int));

C.p=(int*)malloc(2*2);

D.p=(int*)calloc(2,sizeof(int));

22.结构体类型的定义允许嵌套是指()。

A.成员是已经或正在定义的结构体型

B.成员可以重名

C.结构体型可以派生

D.定义多个结构体型

23.关于建立函数的目的,以下正确的说法是()。

A.提高程序的执行效率

B.提高程序的可读性

C.减少程序的篇幅

D.减少程序文件所占内存

24.下列说法不正确的是:( )

A.++、——只能用于变量

B.++、——比负号运算符的优先级要高

C.++、——的结合方向是:自右至左。

D.++、——常用于循环变量表达式中

25.以下叙述正确的是( )

A.可以把define和if定义为用户标识符

B.可以把define定义为用户标识符,但不能把if定义为用户标识符

C.可以把if定义为用户标识符,但不能把define定义为用户标识符

D.define和if都不能定义为用户标识符

26.C语言中,定义结构体的保留字是()。

A.union

B.struct

C.enum

D.typedef

27.若k为int型变量,则以下程序段的执行结果是()。k=-8567;printf("|%06D|\n",k);

A.格式描述符不合法,输出无定值

B.输出为|%06D|

C.输出为|0-8567|

D.输出为|-8567|

28.以下叙述中正确的是()。

A.在程序的一行上可以出现多个有效的预处理命令行

B.使用带参的宏时,参数的类型应与宏定义时的一致

C.宏替换不占用运行时间,只占编译时间

D.在以下定义中CR是称为"宏名"的标识符#defineCR045

29.若有以下程序#include void f(int n);main(){ void f(int n);f(5);}void f(int n){ printf("%d\n",n); }则以下叙述中不正确的是( )

A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f

B.若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f

C.对于以上程序,编译时系统会提示出错信息:提示对对f函数重复说明

D.函数f无返回值,所以可用void将其类型定义为无值型

30.在计算机中,一个字节所包含二进制位的个数是( )

A.2

B.4

C.8

D.16

二、 多选题 (共 10 道试题,共 20 分)

1.以下不合法的赋值语句是()。

A.x=y=100

B.d--;

C.x+y;

D.c=int(a+b);

2.以下选项中,合法的字符常量是()。

A.'\t'

B.'\17'

C."n"

D.'\xaa'

3.设有以下定义int a=0;double b=1.25;cha rc='A';#defined2则下面语句中正确的是()。

A.a++;

B.b++;

C.c++;

D.d++;

4.t为int类型,进入下面的循环之前,t的值为0do{………}while(t==1);则以下叙述中正确的是()

A.循环控制表达式的值为0

B.循环控制表达式的值为1

C.循环控制表达式合法

D.以上说法都不对

5.下列对逻辑运算符两侧的运算对象的数据类型描述不正确的是()。

A.只能是0或1

B.只能是0或非0正数

C.可以是整型或字符型数据

D.可以是任何类型的数据

6.以下描述正确的是()。

A.使用while和do-while循环时,循环变量初始话的操作应在循环体语句之前完成

B.while循环是先判断表达式,后执行循环语句

C.do-while和for循环均是先执行循环语句,后判断表达式

D.for,while和do-while循环中的循环体均可以由空语句构成

7.以下叙述正确的是()。

A.预处理命令行都必须以"#"开始

B.在程序中凡是以"#"开始的语句行都是预处理命令行

C.C程序在执行过程中对预处理命令行进行处理

D.#defineABCD是正确的宏定义

8.下列为c语言的关键字是()

A.if

B.struct

C.union

D.Int

9.以下选项中合法的表达式是()。

A.0<=x<100

B.i=j==0

C.(char)(65+3)

D.x+1=x+1

10.以下描述错误的是()。

A.continue语句的作用是重新开始一次循环体的执行

B.只能在循环体内和switch语句体内使用break语句

C.在循环体内使用break语句和continue语句的作用相同

D.从多重循环嵌套中退出是,只能使用goto语句

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

1.用户标识符中可以出现下划线和中划线(减号)。()

A.错误

B.正确

2.C语言中,函数的隐含存储类别是extern()

A.错误

B.正确

3.break语句可用于switch语句,也可用于for、while和do循环语句中。()

A.错误

B.正确

4.若有static int a[10];则a数组的10个元素的值都是0。()

A.错误

B.正确

5.在C程序中“%”是只能用于整数运算的运算符,而“/”是既可以用于整数运算又可以用于实数运算的运算符。()

A.错误

B.正确

6.一个无符号整数各数字往左移动2位后,一定是原数的4倍。()

A.错误

B.正确

7.函数的实参可以传递给形参,形参也可以传递给实参。()

A.错误

B.正确

8.数组名代表数组的起始地址。()

A.错误

B.正确

9.在某种意义上,char和int通用。()

A.错误

B.正确

10.若定义char *str;则str="BOOK";是正确的。()

A.错误

B.正确

Tag:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值