【期末高分题集】[西安交通大学]《程序设计基础(高起专)》考核必备04
奥鹏期末考核
126523–科目名《程序设计基础(高起专)奥鹏期末考试题库合集
单选题:
(1)下列说法错误的是( )
A.else总是和它上面的,离它最近的if配对
B.条件表达式可以不用括号括起来。
C.整个if语句在程序中被看作是一条语句
D.if语句中的各语句可以是一条语句,也可以是复合语句
答案问询微信:424329
(2)关于链表,下列说法错误的是( )
A.链表是动态分配的一种结构,它根据需要开辟内存单元
B.链表有头指针变量head,它是链表的第一个结点
C.如果要在链表中增加新的结点,需要申请存储空间
D.如果不再使用链表,则应释放所占的存储空间
答案问询微信:424329
(3)以下说法错误的是( )
A.C语言函数分为由系统提供的标准库函数和由程序员自己定义的函数
B.在主函数main()中可以调用其他函数,其他函数之间不可以相互调用
C.C语言的程序是由一个函数或多个函数组成的
D.对于一个很大的任务,一般把它分解成若干源文件,分别编写和调试
答案问询微信:424329
(4)若有下列定义和语句,则对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
答案问询微信:424329
(5)关于链表的插入和删除,下列说法错误的是( )
A.插入位置包括表头、表中和表尾
B.从链表中删除一个结点,就是把它从内存中抹掉。
C.要删除链表中的某个结点,需自己定义删除函数。
D.删除结点要注意删除的结点是否是头结点
答案问询微信:424329
(6)下面程序:#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( printf("%dn",*p);getch();}输出结果是( )
A.1
B.7
C.9
D.11
答案问询微信:424329
(7)用户定义的函数不可以调用的函数是()。
A.非整型返回值的
B.本文件外的
C.main函数
D.本函数下面定义的
答案问询微信:424329
(8)以下选项中,与k=n++完全等价的表达式是()。
A.k=n,n=n+1
B.n=n+1,k=n
C.k=++n
D.k+=n+1
答案问询微信:424329
(9)函数的形式参数隐含的存储类型说明是()。
A.extern
B.static
C.register
D.auto
答案问询微信:424329
(10)以下错误的描述是:函数调用可以()。
A.出现在执行语句中
B.出现在一个表达式中
C.做为一个函数的实参
D.做为一个函数的形参
答案问询微信:424329
(11)若有int *p=(int *)malloc(sizeof(int));则向内存申请到内存空间存入整数123的语句为()。
A.scanf("%d",p);
B.scanf("%d",
C.scanf("%d",*p);
D.scanf("%d",**p);
答案问询微信:424329
(12)关于指针,下列说法错误的是( )
A.指针变量是用来存放内存地址的
B.&表示取变量地址运算
C.*表示取指针变量所指向的变量内容的运算
D.可以将整数赋给指针变量
答案问询微信:424329
(13)若指针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));
答案问询微信:424329
(14)下列关于标识符的说法不正确的是( )
A.第一个字符必须是字母或下划线
B.第一个字符以后必须由字母、下划线或数字组成
C.大小写字母表示相同意义
D.标识符不能用C中的关键字
答案问询微信:424329
(15)对于如下的表达式: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
(16)已知int j,i=1;执行语句“j=i++;”后,变量i的值是( )
A.1
B.2
C.-1
D.-2
答案问询微信:424329
(17)设: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
(18)int a[10];合法的数组元素的最小下标值为()。
A.10
B.9
C.1
D.0
答案问询微信:424329
(19)以下叙述中正确的是()。
A.在程序的一行上可以出现多个有效的预处理命令行
B.使用带参的宏时,参数的类型应与宏定义时的一致
C.宏替换不占用运行时间,只占编译时间
D.在以下定义中CR是称为"宏名"的标识符#defineCR045
答案问询微信:424329
(20)以下对C语言函数的描述中,正确的是()。
A.C程序必须由一个或一个以上的函数组成
B.C函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.C程序中有调用关系的所有函数必须放在同一个程序文件中
答案问询微信:424329
(21)在位运算中,操作数每右移一位,其结果相当于()。
A.操作数乘以2
B.操作数除以2
C.操作数乘以16
D.操作数除以16
答案问询微信:424329
(22)在C语言中,能代表逻辑值“真”的是()。
A.True
B.大于0的数
C.非0整数
D.非0的数
答案问询微信:424329
(23)关于数组,下列说法正确的是( )
A.对数组的初始化操作在定义数组的同时进行
B.给数组赋初值时,必须所有数组元素都被赋值
C.给数组元素全部赋初值时,一定要指明数组的大小。
D.引用数组元素的时候,可以一次引用数组中的全部元素
答案问询微信:424329
(24)字符数组char a[]=”How do you do?”;的大小为( )
A.10
B.11
C.14
D.15
答案问询微信:424329
(25)下列四个选项中,均是C语言关键字的选项是()。
A.auto、enum、include
B.switch、typedef、continue
C.signed、union、scanf
D.if、struct、type
答案问询微信:424329
(26)若有int i=3,*p;p=下列语句中输出结果为3的是()。
A.printf("%d",
B.printf("%d",*i);
C.printf("%d",*p);
D.printf("%d",p);
答案问询微信:424329
(27)以下语句中,不能实现回车换行的是()。
A.printf("n");
B.putchar("n");
C.fprintf(stdout,"n");
D.fwrite("n",1,1,stdout);
答案问询微信:424329
(28)若使用一维数组名作函数实参,则以下正确的说法是()。
A.必须在主调函数中说明此数组的大小
B.实参数组类型与形参数组类型可以不匹配
C.在被调用函数中,不需要考虑形参数组的大小
D.实参数组名与形参数组名必须一致
答案问询微信:424329
(29)可将C源程序存在磁盘上,还可将数据按数据类型分别以()的形式存在磁盘上。
A.内存
B.缓冲区
C.文件
D.寄存器
答案问询微信:424329
(30)若x=2,y=3则x&y的结果是()。
A.0
B.2
C.3
D.5
答案问询微信:424329
(31)若有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
答案问询微信:424329
(32)若int i=10;执行下列程序后,变量i的正确结果是( )switch ( i ) {case 0: i+=1;case 10: i+=1;case 11: i+=1;default: i+=1;}
A.10
B.11
C.12
D.13
答案问询微信:424329
(33)有如下的数组 static int a[10]; 则( )
A.该数组没有被初始化
B.数组的所有元素都被赋值为0
C.数组的第一个元素是a[1]
D.数组共有11个元素
答案问询微信:424329
(34)函数rewind的作用是()。
A.使位置指针重新返回文件的开头
B.将位置指针指向文件中所要求的特定位置
C.使位置指针指向文件的末尾
D.使位置指针自动移至下一个字符位置
答案问询微信:424329
(35)关于switch语句说法不正确的是( )
A.case的次序不影响执行结果
B.每个case语句后面的常量可以不同
C.在执行完一个case语句后转到下一个case语句执行
D.每个case语句后面表达式只能是常量
答案问询微信:424329
(36)以下选项中合法的实型常数是()。
A.5E2.0
B.E-3
C..2E0
D.1.3E
答案问询微信:424329
(37)在C语言中,形参的缺省存储类是()。
A.auto
B.register
C.static
D.extern
答案问询微信:424329
(38)以下程序的输出结果是( )main(){ int a=5,b=4,c=6,d;printf("%dn",d=ab?(ac?a:c):(b));}
A.5
B.4
C.6
D.不确定
答案问询微信:424329
(39)以下程序段的输出结果是( )int a=1234;printf("%2dn",a);
A.12
B.34
C.1234
D.提示出错、无结果
答案问询微信:424329
(40)下面有关for循环的正确描述是()。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
答案问询微信:424329
(41)设C语言中,int类型数据占2个字节,则short类型数据占()。
A.1个字节
B.2个字节
C.4个字节
D.8个字节
答案问询微信:424329
(42)下列标识符中,不合法的C语言用户自定义标识符是()。
A.printf
B.enum
C._
D.sin
答案问询微信:424329
(43)若有以下的定:int t[3][2];能正确表示t数组元素地址的表达式是()。
A.&t[3][2]
B.t[3]
C.&t[1]
D.t[2]
答案问询微信:424329
(44)若有以下程序#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
(45)以下程序的运行结果是()。main(){int i=1,sum=0;while(i10)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.运行出现错误
答案问询微信:424329
(46)在计算机中,一个字节所包含二进制位的个数是( )
A.2
B.4
C.8
D.16
答案问询微信:424329
(47)以下标识符中,不能作为合法的C用户定义标识符的是()。
A.putchar
B._double
C._123
D.INT
答案问询微信:424329
(48)若k为int型变量,则以下程序段的执行结果是()。k=-8567;printf("|%06D|n",k);
A.格式描述符不合法,输出无定值
B.输出为|%06D|
C.输出为|0-8567|
D.输出为|-8567|
答案问询微信:424329
(49)static struct {int a1;float a2;char a3;}a[10]={1,3.5,'A'};说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存储方式,其中被初始化的下标变量是()。
A.a[1]
B.a[-1]
C.a[0]
D.a[10]
答案问询微信:424329
(50)若有inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5的语句为()。
A.printf("%d",*(a+5));
B.printf("%d",p[5]);
C.printf("%d",*(p+5));
D.printf("%d",*p[5]);
答案问询微信:424329
(51)以下选项中不属于C语言的类型的是( )
A.signed short int
B.unsigned long int
C.unsigned int
D.long short
答案问询微信:424329
(52)若有说明.int i,j=2,*p=,则能完成i=j赋值功能的语句是()。
A.i=*p;
B.*p=*
C.i=
D.i=**p;
答案问询微信:424329
(53)以下的选择中,正确的赋值语句是()。
A.a=1,b=2
B.j++
C.a=b=5;
D.y=int(x)
答案问询微信:424329
(54)C语言中,定义结构体的保留字是()。
A.union
B.struct
C.enum
D.typedef
答案问询微信:424329
(55)下面关于表达式:int i,*ip=&i说法正确的是( )
A.此表达式写法错误
B.此表达式表示用&i对ip进行初始化
C.此表达式表示用&i对*ip进行初始化
D.此表达式表示用&i分别对*ip和i进行初始化
答案问询微信:424329
(56)若有说明int a[3][4];则a数组元素的非法引用是()。
A.a[0][2*1]
B.a[1][3]
C.a[4-2][0]
D.a[0][4]
答案问询微信:424329
(57)fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是()。
A.字符串读入后不会自动加入'