|
【奥鹏】[电子科技大学]18秋《C语言》在线作业2
试卷总分:100 得分:100
第1题,若有以下程序段:int a[]={4,0,2,3,1},i,j,t;for(i=1;i5;i++){t=a[i];j=i-1;while(j=0&&ta[j]){a[j+1]=a[j];j- -;}a[j+1]=t;}......则该程序段的功能是( )
A、对数组a进行插入排序(升序)
B、对数组a进行插入排序(降序)
C、对数组a进行选择排序(升序)
D、对数组a进行选择排序(降序)
第2题,凡是函数中未指定存储类别的局部变量,其隐含的存储类别为( )
A、自动(auto)
B、静态(static)
C、外部(extern)
D、寄存器(register)
第3题,"文件包含"预处理语句的使用形式中,当#include后面的文件名用" ",(双引号)括起时,寻找被包含文件的方式是( )
A、直接按系统设定的标准方式搜索目录
B、先在源程序所在目录搜索,再按系统设定的标准方式搜索
C、仅仅搜索源程序所在目录
D、仅仅搜索当前目录
第4题,对下面程序 ,从整体功能及语法上看,说法正确的是( )(每行程序前面的数字表示行号)。
1 main()
2 {
3 float a[10]={0.0};
4 int i
5 for(i=0;i3;i++) scanf("%d",&a[i]);
6 for(i=0;i10;i++) a[0]=a[0]+a[i];
7 printf("%d\n",a[0]);
8 }
A、没有错误
B、第3行有错误
C、第5行有错误
D、第7行有错误
第5题,设有语句int a[4][10],*p=*a;则下面表达式中属于地址表达式的是( )
A、a[1][2]
B、a[1]
C、*(p+1*10+2)
D、*(a[1]+2)
第6题,设有程序段
t=0;
while(printf("*")){t++;if(t3) break; }
下面描述正确的是( )
A、其中循环控制表达式与0等价
B、其中循环控制表达式与'0'等价
C、其中循环控制表达式是不合法的
D、以上说法部不对
第7题,有以下程序,其中函数f的功能是将多个字符串按字典顺序排序
#includestring.h
void f(char *p[],int n)
{ char *t; int i,j;
for(i=0; in-1; i++)
for(j=i+1;jn; j++)
if(strcmp(p[i],p[j])0){t = p[i];p[i]=p[j];p[j] =t;}
}
main( )
{
char *p[5] ={"abc","aabdfg","abbd","dcdbe","cd"}
A、2
B、3
C、6
D、4
第8题,一个C语言程序是由( )
A、一个主程序和若干子程序组成
B、函数组成
C、若干过程组成
D、若干子程序组成
第9题,不能把字符串:Hello!赋给数组b的语句是( )
A、char b[10]={'H','e','l','l','o','!'};
B、char b[10];b="Hello!";
C、char b[10];strcpy(b,"Hello!");
D、char b[10]="Hello!";
第10题,若调用一个函数,且此函数中没有return语句,关于该函数则正确的说法是( )
A、没有返回值
B、返回若干个系统默认值
C、能返回一个用户所希望的函数值
D、返回一个不确定的值
第11题,下列符号中可以用作自定义函数名的是( )
A、int
B、go_to
C、INT
D、Getchar
E、typedef
,C,D
第12题,C语言规定,如下说法是正确的( )
A、不能将结构作为整体来进行存取;
B、结构是若干变量的集合,这些变量的类型可以相同;
C、共用体(联合)允许不同数据类型的数据使用共同的存储区域;
D、不能用&来取结构的地址;
E、位段是一种特殊的结构成员。位段的类型可以是char、int、float、double等。
,B,C
第13题,在定义函数时,函数的存储类型可以( )
A、是static
B、是auto
C、是register
D、是extern
E、省略
,D,E
第14题,以下程序正确计算p=n! (n=0)的是( )
A、for(p=1.0,k=1;k=n;) p*=k++;
B、p=1.0;k=0;while(kn) p*=++k;
C、p=1.0;k=1;do{++k;p*=k;} while(k=n);
D、p=1.0;for(k=n;k=1;k--) p*=k--;
,B
第15题,以下数据类型在内存中占用4个字节的是( )
A、int
B、unsigned long
C、float
D、unsigned char
,C
第16题,以下哪些是关于指针数组的正确描述( )
A、int (*a)[4];
B、int *a[4];
C、指针数组每个元素都是指针变量
D、若int a[4][4]; int *b[]={a[0],a[1],a[2],a[3]}; 则b是指针数组
E、指针数组与指向数组的指针是等价的
,C,D
第17题,以下关于C源程序文件的说法中正确的是( )
A、是一种二进制文件
B、是一种文本(ASCII码)文件
C、可以用DOS的type命令显示其内容
D、文件扩展名一般为c
,C,D
第18题,下面关于C语言的说法错误的是( )
A、C函数必须有形式参数
B、任何复合语句体的{ }中允许定义局部变量
C、局部变量都存储在动态存贮区
D、C程序的执行起点只能是main函数
,C,D
第19题,在函数调用过程中,下列说法正确的是( )
A、形式参数和实在参数各占一个独立的存储单元
B、形式参数和实在参数存储空间都是在函数调用时分配的
C、)在函数的执行过程中,形参变量值的改变不会影响实参值的改变
D、函数调用结束时,临时存储区被撤消
E、在函数调用过程中,实在参数与形式参数在个数、类型上必须匹配
,C,D,E
第20题,定义char s[81]; 后,能正确输入一个字符串到数组s的语句是( )
A、gets(s);
B、scanf ("%c",s);
C、scanf ("%s",&s[0]);
D、gets(&s[0]);
,C,D
|
|