|  |  需要购买此门答案请加qq2762169544(微信:2762169544)
 
| 西交《程序设计基础(高起专)》在线作业 试卷总分:100       测试时间:--
 单选题
 
 
 一、单选题(共 50 道试题,共 100 分。)V 1.  以下叙述正确的是( )
 A. 可以把define和if定义为用户标识符
 B. 可以把define定义为用户标识符,但不能把if定义为用户标识符
 C. 可以把if定义为用户标识符,但不能把define定义为用户标识符
 D. define和if都不能定义为用户标识符
 满分: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
 满分: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));
 满分:2  分
 4.  关于switch语句说法不正确的是( )
 A. case的次序不影响执行结果
 B. 每个case语句后面的常量可以不同
 C. 在执行完一个case语句后转到下一个case语句执行
 D. 每个case语句后面表达式只能是常量
 满分: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;
 满分:2  分
 6.  关于指针,下列说法错误的是( )
 A. 指针变量是用来存放内存地址的
 B. &表示取变量地址运算
 C. *表示取指针变量所指向的变量内容的运算
 D. 可以将整数赋给指针变量
 满分:2  分
 7.  下列说法错误的是( )
 A. else总是和它上面的,离它最近的if配对
 B. 条件表达式可以不用括号括起来。
 C. 整个if语句在程序中被看作是一条语句
 D. if语句中的各语句可以是一条语句,也可以是复合语句
 满分:2  分
 8.  下列哪个不是算法的特征( )
 A. 有穷性
 B. 可行性
 C. 不确定性
 D. 输入
 满分:2  分
 9.  下面关于表达式:int i,*ip=&i说法正确的是( )
 A. 此表达式写法错误
 B. 此表达式表示用&i对ip进行初始化
 C. 此表达式表示用&i对*ip进行初始化
 D. 此表达式表示用&i分别对*ip和i进行初始化
 满分:2  分
 10.  关于链表的插入和删除,下列说法错误的是( )
 A. 插入位置包括表头、表中和表尾
 B. 从链表中删除一个结点,就是把它从内存中抹掉。
 C. 要删除链表中的某个结点,需自己定义删除函数。
 D. 删除结点要注意删除的结点是否是头结点
 满分:2  分
 11.  关于字符数组,下列说法错误的是( )
 A. 字符型数组中的每一个元素只能存放一个字符型数据
 B. 逐个输入输出字符时,要用“%c”格式符
 C. scanf(“%s”,&s);的写法是正确的
 D. 数组名就是数组的起始地址
 满分: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
 满分: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]
 满分: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
 满分: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. 死循环,不能确定次数
 满分:2  分
 16.  在计算机中,一个字节所包含二进制位的个数是( )
 A. 2
 B. 4
 C. 8
 D. 16
 满分:2  分
 17.  下面程序:#include "stdio.h"#include <stdlib.h>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
 满分:2  分
 18.  以下说法错误的是( )
 A. int (*p)( ) ; 表示p被定义为一个指向返回值为整数的函数的指针
 B. 使用指向函数的指针是结构化程序设计的一种有效手段。
 C. char **p相当于char *(*p)
 D. 指针数组的元素补仅能存放地址,还可以存放其他数组的元素。
 满分:2  分
 19.  下列关于标识符的说法不正确的是( )
 A. 第一个字符必须是字母或下划线
 B. 第一个字符以后必须由字母、下划线或数字组成
 C. 大小写字母表示相同意义
 D. 标识符不能用C中的关键字
 满分:2  分
 20.  关于数组,下列说法正确的是( )
 A. 对数组的初始化操作在定义数组的同时进行
 B. 给数组赋初值时,必须所有数组元素都被赋值
 C. 给数组元素全部赋初值时,一定要指明数组的大小。
 D. 引用数组元素的时候,可以一次引用数组中的全部元素
 满分:2  分
 21.  下列说法不正确的是:( )
 A. ++、——只能用于变量
 B. ++、——比负号运算符的优先级要高
 C. ++、——的结合方向是:自右至左。
 D. ++、——常用于循环变量表达式中
 满分:2  分
 22.  为了判断两个字符串s1和s2是否相等,应当使用( )
 A. if (s1= =s2)
 B. if (s1=s2)
 C. if (strcpy(s1,s2))
 D. if (strcmp(s1,s2)= =0)
 满分:2  分
 23.  每条C语句后面都要有一个( )
 A. 逗号
 B. 冒号
 C. 分号
 D. 括号
 满分:2  分
 24.  以下程序的输出结果是( )main(){ int a=5,b=4,c=6,d;printf("%d\n",d=a>b?(a>c?a:c)
  b));} A. 5
 B. 4
 C. 6
 D. 不确定
 满分:2  分
 25.  有如下的数组 static int a[10]; 则( )
 A. 该数组没有被初始化
 B. 数组的所有元素都被赋值为0
 C. 数组的第一个元素是a[1]
 D. 数组共有11个元素
 满分:2  分
 26.  已知int j,i=1;执行语句“j=i++;”后,变量i的值是( )
 A. 1
 B. 2
 C. -1
 D. -2
 满分:2  分
 27.  设有以下说明语句typedef struct { int n;char ch[8];}PER;则下面叙述中正确的是( )
 A. PER 是结构体变量名
 B. PER是结构体类型名
 C. typedef struct 是结构体类型
 D. struct 是结构体类型名
 满分:2  分
 28.  字符数组char a[]=”How do you do?”;的大小为( )
 A. 10
 B. 11
 C. 14
 D. 15
 满分:2  分
 29.  关于结构体,下列说法错误的是( )
 A. 不能将一个结构体变量作为一个整体进行输入和输出。
 B. 对成员变量可以像普通变量一样进行各种运算。
 C. 结构体变量的地址主要用作函数参数传递结构体的地址。
 D. 结构体变量赋初值与数组不同,可以不一一对应。
 满分:2  分
 30.  设:int a=4,b=5; 则表达式 8>4-!0||2&&5>4的结果为( )
 A. 0
 B. 1
 C. -1
 D. 无法计算
 满分:2  分
 31.  执行下列两个语句后,输出的结果为( )char c1=66,c2=98;printf(“%c,%d”,c1,c2);
 A. 66,98
 B. 66,b
 C. B ,97
 D. B,98
 满分: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将其类型定义为无值型
 满分:2  分
 33.  以下说法错误的是( )
 A. C程序必须从main( )函数开始执行
 B. 所有函数在定义上讲都是相互独立的,不存在嵌套定义
 C. C语言中有两类函数,系统提供的库函数和用户自定义的函数
 D. 参数的作用是向函数传递不同的数据
 满分:2  分
 34.  关于形式参数,下面说法错误的是( )
 A. 对于形参,虽然定义了它,只有当函数被调用时,形参才在内存中开辟空间
 B. 调用结束后,形参自动从内存中被释放掉
 C. 在函数定义中,可以不给出形参类型,调用的时候再定义。
 D. 实参与形参的关系是赋值与被赋值的关系
 满分:2  分
 35.  以下说法错误的是( )
 A. C语言函数分为由系统提供的标准库函数和由程序员自己定义的函数
 B. 在主函数main()中可以调用其他函数,其他函数之间不可以相互调用
 C. C语言的程序是由一个函数或多个函数组成的
 D. 对于一个很大的任务,一般把它分解成若干源文件,分别编写和调试
 满分:2  分
 36.  下列运算符优先级最高的是( )
 A. &&
 B. >
 C. ++
 D. !
 满分: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
 满分:2  分
 38.  以下选项中不属于C语言的类型的是( )
 A. signed short int
 B. unsigned long int
 C. unsigned int
 D. long short
 满分:2  分
 39.  下面关于do-while语句和while语句说法正确的是( )
 A. while语句和do-while语句肯定都要执行
 B. 两者运行结果不同
 C. do-while在判断条件之前先执行循环体一次
 D. while语句至少执行一次
 满分:2  分
 40.  下列类型中错误的是( )
 A. unsigned
 B. unsigned float
 C. unsigned long int
 D. unsigned int
 满分:2  分
 41.  以下不能定义为用户标识符的是( )
 A. scanf
 B. Void
 C. _3com_
 D. int
 满分:2  分
 42.  以下函数,哪个不属于动态申请空间的标准库函数( )
 A. malloc( )
 B. calloc( )
 C. free( )
 D. strcmp( )
 满分:2  分
 43.  下列说法错误的是( )
 A. for语句中,<表达式1> 、<表达式2>和<表达式3>都可以缺省。
 B. <表达式2>缺省,系统会认为此处的值是0
 C. for语句的三个表达式可以是任何类型的表达式
 D. for语句可以嵌套使用
 满分:2  分
 44.  关于函数调用,下面说法错误的是( )
 A. 被调用函数必须是已经存在的函数、库函数或用户已定义过的函数
 B. 没有头文件也可以对库函数进行调用
 C. 如果使用用户自定义的函数,还要在主调用函数中说明用户函数的返回值类型。
 D. 在主函数main()中可以调用其他函数,其他函数也可以相互调用
 满分: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;i<n;i++) for(j=0;j<n;j++)a[j]=a[i]+1; printf("%d\n",a[n-1]);getch();}的运行结果是( )
 A. 199
 B. 200
 C. 201
 D. 202
 满分:2  分
 46.  以下程序段的输出结果是( )int a=1234;printf("%2d\n",a);
 A. 12
 B. 34
 C. 1234
 D. 提示出错、无结果
 满分:2  分
 47.  关于链表,下列说法错误的是( )
 A. 链表是动态分配的一种结构,它根据需要开辟内存单元
 B. 链表有头指针变量head,它是链表的第一个结点
 C. 如果要在链表中增加新的结点,需要申请存储空间
 D. 如果不再使用链表,则应释放所占的存储空间
 满分: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
 满分:2  分
 49.  结构体如下所示:struct employees;{ char name[30]; int age; float wage;};下面说法错误的是:( )
 A. 上述形式的定义在程序运行时不会为该结构体类型分配内存空间。
 B. 结构体变量在内存中存放时,占用连续的一段存储空间
 C. 上述结构体必须有关键字struct
 D. 上述结构体成员的类型不可以是已经定义过的结构体类型。
 满分:2  分
 50.  ( )是用来描述对象的属性和行为的
 A. 实体
 B. 类
 C. 对象
 D. 现象
 满分:2  分
 | 
 |