文档库

最新最全的文档下载
当前位置:文档库 > 西交《程序设计基础(高起专)》在线作业

西交《程序设计基础(高起专)》在线作业

西交《程序设计基础(高起专)》在线作业
试卷总分:100 测试时间:-- 试卷得分:100
一、单选题(共50道试题,共100分。)得分:100
1.以下叙述正确的是( )
A. 可以把define和if定义为用户标识符
B. 可以把define定义为用户标识符,但不能把if定义为用户标识符
C. 可以把if定义为用户标识符,但不能把define定义为用户标识符
D. define和if都不能定义为用户标识符

答案:B
满分:2分得分:2
2.以下程序的输出结果是( )main(){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);}
A. 1
B. 0
C. 非0的数
D. -1

答案:A
满分:2分得分:2
3.若指针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));

答案:A
满分:2分得分:2
4.关于switch语句说法不正确的是( )
A. case的次序不影响执行结果
B. 每个case语句后面的常量可以不同
C. 在执行完一个case语句后转到下一个case语句执行
D. 每个case语句后面表达式只能是常量

答案:B
满分:2分得分:2
5.设:x=9;y=++x;,则产生的结果是( )
A. x=9;y=9;
B. x=10;y=10;
C. x=9;y=10;
D. x=10;y=9;

答案:B
满分:2分得分:2
6.关于指针,下列说法错误的是( )
A. 指针变量是用来存放内存地址的
B. &表示取变量地址运算
C. *表示取指针变量所指向的变量内容的运算
D. 可以将整数赋给指针变量

答案:D
满分:2分得分:2
7.下列说法错误的是( )
A. else总是和它上面的,离它最近的if配对
B. 条件表达式可以不用括号括起来。
C. 整个if语句在程序中被看作是一条语句
D. if语句中的各语句可以是一条语句,也可以是复合语句

答案:B
满分:2分得分:2
8.下列哪个不是算法的特征( )
A. 有穷性
B. 可行性
C. 不确定性
D. 输入

答案:C
满分:2分得分:2
9.下面关于表达式:int i,*ip=&i说法正确的是( )
A. 此表达式写法错误
B. 此表达式表示用&i对ip进行初始化
C. 此表达式表示用&i对*ip进行初始化
D. 此表达式表示用&i分别对*ip和i进行初始化

答案:B
满分:2分得分:2
10.关于链表的插入和删除,下列说法错误的是( )
A. 插入位置包括表头、表中和表尾
B. 从链表中删除一个结点,就是把它从内存中抹掉。
C. 要删除链表中的某个结点,需自己定义删除函数。
D. 删除结点要注意删除的结点是否是头结点

答案:B
满分:2分得分:2
11.关于字符数组,下列说法错误的是( )
A. 字符型数组中的每一个元素只能存放一个字符型数据
B. 逐个输入输出字符时,要用“%c”格式符
C. scanf(“%s”,&s);的写法是正确的
D. 数组名

就是数组的起始地址

答案:C
满分:2分得分:2
12.以下程序的输出结果是( )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

答案:D
满分:2分得分:2
13.对于如下的表达式: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]

答案:D
满分:2分得分:2
14.若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

答案:C
满分:2分得分:2
15.以下程序中,while循环的循环次数是( )main(){ int i=0;while(i<10){ if(i<1) continue;if(I==5) break;i++;}......}
A. 1
B. 10
C. 6
D. 死循环,不能确定次数

答案:D
满分:2分得分:2
16.在计算机中,一个字节所包含二进制位的个数是( )
A. 2
B. 4
C. 8
D. 16

答案:C
满分:2分得分:2
17.下面程序:#include "stdio.h"#include fut(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("%d\n",*p);getch();}输出结果是( )
A. 1
B. 7
C. 9
D. 11

答案:C
满分:2分得分:2
18.以下说法错误的是( )
A. int (*p)( ) ; 表示p被定义为一个指向返回值为整数的函数的指针
B. 使用指向函数的指针是结构化程序设计的一种有效手段。
C. char **p相当于char *(*p)
D. 指针数组的元素补仅能存放地址,还可以存放其他数组的元素。

答案:D
满分:2分得分:2
19.下列关于标识符的说法不正确的是( )
A. 第一个字符必须是字母或下划线
B. 第一个字符以后必须由字母、下划线或数字组成
C. 大小写字母表示相同意义
D. 标识符不能用C中的关键字

答案:C
满分:2分得分:2
20.关于数组,下列说法正确的是( )
A. 对数组的初始化操作在定义数组的同时进行
B. 给数组赋初值时,必须所有数组元素都被赋值
C. 给数组元素全部赋初值时,一定要指明数组的大小。
D. 引用数组元素的时候,可以一次引用数组中的全部元素

答案:A
满分:2分得分:2
21.下列说法不正确的是:( )
A. ++、——只能用于变量
B. ++、——比负号运算符的优先级要高
C. ++、——的结合方向是:自右至左。
D. ++、——常用于循环变量表达式中

答案:B
满分:2分得分:2
22.为了判断两个字符串s1和s2是否相等,应当使用( )
A. if (s1= =s2)
B. if (s1=s2)
C. if (strcpy(s1,s2))
D. if (strcmp(s1,s2)= =0)

答案:D
满分:2分得分:2
23.每条C语句后面都要有一个( )
A. 逗号
B. 冒号
C. 分号
D. 括号

答案:C
满分:2分得分:2
24.以下程序的输出结果是( )main(){ int a=5,b=4,

c=6,d;printf("%d\n",d=a>b(a>ca:c):(b));}
A. 5
B. 4
C. 6
D. 不确定

答案:C
满分:2分得分:2
25.有如下的数组 static int a[10]; 则( )
A. 该数组没有被初始化
B. 数组的所有元素都被赋值为0
C. 数组的第一个元素是a[1]
D. 数组共有11个元素

答案:B
满分:2分得分:2
26.已知int j,i=1;执行语句“j=i++;”后,变量i的值是( )
A. 1
B. 2
C. -1
D. -2

答案:B
满分:2分得分:2
27.设有以下说明语句typedef struct { int n;char ch[8];}PER;则下面叙述中正确的是( )
A. PER 是结构体变量名
B. PER是结构体类型名
C. typedef struct 是结构体类型
D. struct 是结构体类型名

答案:B
满分:2分得分:2
28.字符数组char a[]=”How do you do”;的大小为( )
A. 10
B. 11
C. 14
D. 15

答案:D
满分:2分得分:2
29.关于结构体,下列说法错误的是( )
A. 不能将一个结构体变量作为一个整体进行输入和输出。
B. 对成员变量可以像普通变量一样进行各种运算。
C. 结构体变量的地址主要用作函数参数传递结构体的地址。
D. 结构体变量赋初值与数组不同,可以不一一对应。

答案:D
满分:2分得分:2
30.设:int a=4,b=5; 则表达式 8>4-!0||2&&5>4的结果为( )
A. 0
B. 1
C. -1
D. 无法计算

答案:B
满分:2分得分:2
31.执行下列两个语句后,输出的结果为( )char c1=66,c2=98;printf(“%c,%d”,c1,c2);
A. 66,98
B. 66,b
C. B ,97
D. B,98

答案:D
满分:2分得分:2
32.若有以下程序#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将其类型定义为无值型

答案:C
满分:2分得分:2
33.以下说法错误的是( )
A. C程序必须从main( )函数开始执行
B. 所有函数在定义上讲都是相互独立的,不存在嵌套定义
C. C语言中有两类函数,系统提供的库函数和用户自定义的函数
D. 参数的作用是向函数传递不同的数据

答案:B
满分:2分得分:2
34.关于形式参数,下面说法错误的是( )
A. 对于形参,虽然定义了它,只有当函数被调用时,形参才在内存中开辟空间
B. 调用结束后,形参自动从内存中被释放掉
C. 在函数定义中,可以不给出形参类型,调用的时候再定义。
D. 实参与形参的关系是赋值与被赋值的关系

答案:C
满分:2分得分:2
35.以下说法错误的是( )
A. C语言函数分为由系统提供的标准库函数和由程序员自己定义的

函数
B. 在主函数main()中可以调用其他函数,其他函数之间不可以相互调用
C. C语言的程序是由一个函数或多个函数组成的
D. 对于一个很大的任务,一般把它分解成若干源文件,分别编写和调试

答案:B
满分:2分得分:2
36.下列运算符优先级最高的是( )
A. &&
B. >
C. ++
D. !

答案:D
满分:2分得分:2
37.下面程序#include "stdio.h"void main(){ int k=2,m=4,n=6; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf("%d\n",n); getch();}的运行结果是( )
A. 7
B. 8
C. 9
D. 10

答案:B
满分:2分得分:2
38.以下选项中不属于C语言的类型的是( )
A. signed short int
B. unsigned long int
C. unsigned int
D. long short

答案:D
满分:2分得分:2
39.下面关于do-while语句和while语句说法正确的是( )
A. while语句和do-while语句肯定都要执行
B. 两者运行结果不同
C. do-while在判断条件之前先执行循环体一次
D. while语句至少执行一次

答案:C
满分:2分得分:2
40.下列类型中错误的是( )
A. unsigned
B. unsigned float
C. unsigned long int
D. unsigned int

答案:B
满分:2分得分:2
41.以下不能定义为用户标识符的是( )
A. scanf
B. Void
C. _3com_
D. int

答案:D
满分:2分得分:2
42.以下函数,哪个不属于动态申请空间的标准库函数( )
A. malloc( )
B. calloc( )
C. free( )
D. strcmp( )

答案:D
满分:2分得分:2
43.下列说法错误的是( )
A. for语句中,<表达式1> 、<表达式2>和<表达式3>都可以缺省。
B. <表达式2>缺省,系统会认为此处的值是0
C. for语句的三个表达式可以是任何类型的表达式
D. for语句可以嵌套使用

答案:B
满分:2分得分:2
44.关于函数调用,下面说法错误的是( )
A. 被调用函数必须是已经存在的函数、库函数或用户已定义过的函数
B. 没有头文件也可以对库函数进行调用
C. 如果使用用户自定义的函数,还要在主调用函数中说明用户函数的返回值类型。
D. 在主函数main()中可以调用其他函数,其他函数也可以相互调用

答案:B
满分:2分得分:2
45.下面程序:#include "stdio.h"void main(){static int a[200];int i,j,n;for(i=0;i<200;i++) a[i]=0; n=100; for(i=0;iA. 199
B. 200
C. 201
D. 202

答案:A
满分:2分得分:2
46.以下程序段的输出结果是( )int a=1234;printf("%2d\n",a);
A. 12
B. 34
C. 1234
D. 提示出错、无结果

答案:C
满分:2分得分:2
47.关于链表,下列说法错误的是( )
A. 链表是动态分配的一种结构,它根据需要开辟内存单元
B. 链表有头指针变量head,它是链表的第一个结点
C. 如果要在链表中增加新的结点,需要申请存储空间
D. 如果不再使用

链表,则应释放所占的存储空间

答案:B
满分:2分得分:2
48.有如下程序, 该程序的输出的结果是( )int addc(int a,int b,int c) { c=a+b;return(c); } main() { int x=4,y=2,z,r; z=x+y;r=addc(addc(x,y,z),addc(y,z,x),z);printf("%d\n",r); }
A. 36
B. 12
C. 14
D. 6

答案:C
满分:2分得分:2
49.结构体如下所示:struct employees;{ char name[30]; int age; float wage;};下面说法错误的是:( )
A. 上述形式的定义在程序运行时不会为该结构体类型分配内存空间。
B. 结构体变量在内存中存放时,占用连续的一段存储空间
C. 上述结构体必须有关键字struct
D. 上述结构体成员的类型不可以是已经定义过的结构体类型。

答案:D
满分:2分得分:2
50.( )是用来描述对象的属性和行为的
A. 实体
B. 类
C. 对象
D. 现象

答案:B
满分:2分得分:2