西安交通大学《程序设计基础(高起专)》期末考试必备题集
奥鹏期末考核
126523–西安交通大学《程序设计基础(高起专)》奥鹏期末考试题库合集
单选题:
(1)执行以下程序段后,输出结果和a的值是()。Int a=10;printf("%d",a++);
A.10和10
B.10和11
C.11和10
D.11和11
答案问询微信:424329
(2)
答案问询微信:424329
(3)下面程序:#include "stdio.h"#include stdlib.hfut(int **s,int p[2][3]){**s=p[1][1];}void main(){ int a[2][3]={1,3,5,7,9,11},*p; p=(int *)malloc(sizeof(int)); fut(&p,a); printf("%dn",*p);getch();}输出结果是( )
A.1
B.7
C.9
D.11
答案问询微信:424329
(4)若有int *p=(int *)malloc(sizeof(int));则向内存申请到内存空间存入整数123的语句为()。
A.scanf("%d",p);
B.scanf("%d",&p);
C.scanf("%d",*p);
D.scanf("%d",**p);
答案问询微信:424329
(5)对于如下的表达式:int a[3][4],*p;p=*a;执行p++操作之后,*p表示取( )的内容。
A.a[0][0]
B.a[1][0]
C.a[1][1]
D.a[0][1]
答案问询微信:424329
(6)下面关于do-while语句和while语句说法正确的是( )
A.while语句和do-while语句肯定都要执行
B.两者运行结果不同
C.do-while在判断条件之前先执行循环体一次
D.while语句至少执行一次
答案问询微信:424329
(7)设:x=9;y=++x;,则产生的结果是( )
A.x=9;y=9;
B.x=10;y=10;
C.x=9;y=10;
D.x=10;y=9;
答案问询微信:424329
(8)int a[10];合法的数组元素的最小下标值为()。
A.10
B.9
C.1
D.0
答案问询微信:424329
(9)以下叙述中正确的是()。
A.在程序的一行上可以出现多个有效的预处理命令行
B.使用带参的宏时,参数的类型应与宏定义时的一致
C.宏替换不占用运行时间,只占编译时间
D.在以下定义中CR是称为"宏名"的标识符#defineCR045
答案问询微信:424329
(10)以下对C语言函数的描述中,正确的是()。
A.C程序必须由一个或一个以上的函数组成
B.C函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.C程序中有调用关系的所有函数必须放在同一个程序文件中
答案问询微信:424329
(11)设有以下说明语句typedef struct { int n;char ch[8];}PER;则下面叙述中正确的是( )
A.PER 是结构体变量名
B.PER是结构体类型名
C.typedef struct 是结构体类型
D.struct 是结构体类型名
答案问询微信:424329
(12)在位运算中,操作数每右移一位,其结果相当于()。
A.操作数乘以2
B.操作数除以2
C.操作数乘以16
D.操作数除以16
答案问询微信:424329
(13)
答案问询微信:424329
(14)下列四个选项中,均是C语言关键字的选项是()。
A.auto、enum、include
B.switch、typedef、continue
C.signed、union、scanf
D.if、struct、type
答案问询微信:424329
(15)以下语句中,不能实现回车换行的是()。
A.printf("n");
B.putchar("n");
C.fprintf(stdout,"n");
D.fwrite("n",1,1,stdout);
答案问询微信:424329
(16)应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。
A.fclose()
B.close()
C.fread()
D.fwrite
答案问询微信:424329
(17)关于数组,下列说法错误的是( )
A.在任何一个数组中,数组元素的类型都是一致的
B.常量表达式不允许是变量
C.一维数组中的各个元素在内存中是按顺序存放的
D.C语言运行时要检查数组的边界,即下标值超界时,系统会报错
答案问询微信:424329
(18)可将C源程序存在磁盘上,还可将数据按数据类型分别以()的形式存在磁盘上。
A.内存
B.缓冲区
C.文件
D.寄存器
答案问询微信:424329
(19)若x=2,y=3则x&y的结果是()。
A.0
B.2
C.3
D.5
答案问询微信:424329
(20)
答案问询微信:424329
(21)关于形式参数,下面说法错误的是( )
A.对于形参,虽然定义了它,只有当函数被调用时,形参才在内存中开辟空间
B.调用结束后,形参自动从内存中被释放掉
C.在函数定义中,可以不给出形参类型,调用的时候再定义。
D.实参与形参的关系是赋值与被赋值的关系
答案问询微信:424329
(22)下面有关for循环的正确描述是()。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
答案问询微信:424329
(23)
答案问询微信:424329
(24)int a=1,b=2,c=3;if(ab)a=b;if(ac)a=c;则a的值为()。
A.1
B.2
C.3
D.不一定
答案问询微信:424329
(25)
答案问询微信:424329
(26)若有以下程序#include void f(int n);main(){ void f(int n);f(5);}void f(int n){ printf("%dn",n); }则以下叙述中不正确的是( )
A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f
B.若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f
C.对于以上程序,编译时系统会提示出错信息:提示对对f函数重复说明
D.函数f无返回值,所以可用void将其类型定义为无值型
答案问询微信:424329
(27)下列程序段的输出结果为()。Float k=0.8567;printf("%06.1d%%",k*100);
A.0085.6%%
B.0085.7%%
C.0085.6%
D..857
答案问询微信:424329
(28)以下正确的说法是:在C语言中()。
A.实参和与其对应的形参各占用独立的存储单元
B.实参和与其对应的形参共占用一个存储单元
C.只有当实参和与其对应的形参同名时才共占用存储单元
D.形参是虚拟的,不占用存储单元
答案问询微信:424329
(29)int a[10]={1,2,3,4,5,6,7,8};int *p;p=&a[5];p[-3]的值是()。
A.2
B.3
C.4
D.不一定
答案问询微信:424329
(30)在计算机中,一个字节所包含二进制位的个数是( )
A.2
B.4
C.8
D.16
答案问询微信:424329
(31)以下标识符中,不能作为合法的C用户定义标识符的是()。
A.putchar
B._double
C._123
D.INT
答案问询微信:424329
(32)
答案问询微信:424329
(33)以下不能定义为用户标识符的是( )
A.scanf
B.Void
C._3com_
D.int
答案问询微信:424329
(34)若有说明.int i,j=2,*p=,则能完成i=j赋值功能的语句是()。
A.i=*p;
B.*p=*
C.i=
D.i=**p;
答案问询微信:424329
(35)以下的选择中,正确的赋值语句是()。
A.a=1,b=2
B.j++
C.a=b=5;
D.y=int(x)
答案问询微信:424329
(36)fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是()。
A.字符串读入后不会自动加入'