|  |  需要购买此门答案请加qq2762169544(微信:2762169544)
 
| 15春学期《高级语言程序设计基础》在线作业2 试卷总分:100       测试时间:--
 单选题
 
 
 一、单选题(共 20 道试题,共 100 分。)V 1.  有两个字符数组a、b,则以下正确的输入语句是( )。
 A. gets(a,b);
 B. scanf("%s%s",a,b);
 C. scanf("%s%s",&a,&b);
 D. gets("a"); gets("b");"
 满分:5  分
 2.  当正常执行了文件关闭操作时,fclose函数的返回值是( )。
 A. -1
 B. 随机值
 C. 0
 D. 1
 满分:5  分
 3.  设ch是char类型变量,其值是A,则表达式ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是( )。
 A. Z
 B. A
 C. a
 D. z
 满分:5  分
 4.  函数调用语句:fseek(fp, 10L, 2);的含义是:将文件位置指针( )。
 A. 移动到距离文件头10个字节处
 B. 从当前位置向后移动10个字节
 C. 从文件尾部前移10个字节
 D. 移到离当前位置10个字节处
 满分:5  分
 5.  若调用fputc函数输出字符成功,则函数的返回值是( )。
 A. 输出的字符
 B. -1
 C. 0
 D. EOF
 满分:5  分
 6.  若有以下程序段: …… int a[]={4,0,2,3,1},i,j,t; for(i=1;i<5;i++) { t=a[i];j=i-1; while(j>=0 && t>a[j]) { a[j+1]=a[j];j--;} a[j+1]=t; } …… 则该程序段的功能是( )。
 A. 对数组a进行插入排序(升序)
 B. 对数组a进行插入排序(降序)
 C. 对数组a进行选择排序(升序)
 D. 对数组a进行选择排序(降序)
 满分:5  分
 7.  若调用fputc函数输出字符成功,则函数的返回值是( )。
 A. 输出的字符
 B. -1
 C. 0
 D. EOF
 满分:5  分
 8.  若有说明:int a[3][4];则对a数组元素的正确引用是( )。
 A. a[2][4]
 B. a[1,3]
 C. a[1+1][0]
 D. a(2)(1)
 满分:5  分
 9.  下面程序段的运行结果是( )。 char str[10]="output";printf("\"%s\"\n", str);
 A. output
 B. "output"
 C. \"output\"
 D. 编译出错
 满分:5  分
 10.  若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为( )。(假设a[0][0]位于数组的第一个位置上。)
 A. i*m+j
 B. j*m+i
 C. i*m+j-1
 D. i*m+j+1
 满分:5  分
 11.  若使用一维数组名作函数实参,则以下正确的说法是( )。
 A. 必须在主调函数中说明此数组的大小
 B. 实参数组类型与形参数组类型可以不匹配
 C. 在被调函数中,不需要考虑形参数组的大小
 D. 实参数组名与形参数组名必须一致
 满分:5  分
 12.  若有定义:int a[2][3];,则以下对a数组元素地址的正确表示为( )。
 A. *(a+1)
 B. *(a[1]+2)
 C. a[1]+3
 D. a[0][0]
 满分:5  分
 13.  在一个源文件中定义的全局变量的作用域为( )。
 A. 本文件的全部范围
 B. 本程序的全部范围
 C. 本函数的全部范围
 D. 从定义该变量的位置开始至本文件结束
 满分:5  分
 14.  有下面的程序段 char a[3],b[]="China"; a=b; printf("%s",a); 则( )。
 A. 运行后将输出China
 B. 运行后将输出Ch
 C. 运行后将输出Chi
 D. 编译时出错
 满分:5  分
 15.  下面程序的输出结果是( )。 main() { int x,i; for(i=1;i<=100;i++) { x=i; if(++x%2==0) if(++x%3==0) if(++x%7==0) printf("%d ",x); }}
 A. 39 81
 B. 42 84
 C. 26 68
 D. 28 70
 满分:5  分
 16.  若执行fopen函数时发生错误,则函数的返回值是( )。
 A. 随机值
 B. 1
 C. NULL
 D. EOF
 满分:5  分
 17.  若有说明:int a[3][4]={0};则下面正确的叙述是( )。
 A. 只有数组元素a[0][0]可得到初值0
 B. 此说明语句不正确
 C. 数组a中各元素都可得到初值,但其值不一定为0
 D. 数组a中每个元素均可得到初值0
 满分:5  分
 18.  以下对指针变量的操作中,不正确的是( )。
 A. int p, *q; q=&p;
 B. int *p, *q; q=p=NULL;
 C. int a=5, *p; *p=a;
 D. int a=5, *p=&a, *q=&a; *p=*q;"
 满分:5  分
 19.  下面程序的运行结果是( )。 void prt(int *a) { printf(“%d\n”,++*a); } main() { int b=25; prt(&b);}
 A. 24
 B. 25
 C. 26
 D. 27
 满分:5  分
 20.  设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。    for (y=100; x!=y; ++x,y++)      printf("****\n");
 A. 循环体只执行一次
 B. 是无限循环
 C. 循环体一次都不执行
 D. for语句中存在语法错误
 满分:5  分15春学期《高级语言程序设计基础》在线作业1
 试卷总分:100       测试时间:--
 单选题
 
 
 一、单选题(共 20 道试题,共 100 分。)V 1.  当正常执行了文件关闭操作时,fclose函数的返回值是( )。
 A. -1
 B. 随机值
 C. 0
 D. 1
 满分:5  分
 2.  以下程序的运行结果是( )。  main( )   { int a=1, k;    for (k=0; k<3; k++)     printf("%4d", f1(a));   }   f1(int x)   { static int z=3, y=0;    y++;    z++;    return(x+y+z);  }
 A. 6 8 10
 B. 6 6 6
 C. 7 8 9
 D. 7 9 11
 满分:5  分
 3.  设x,y是float型变量,则不正确的赋值语句是( )。
 A. ++x;
 B. y=int(5);
 C. x*=y+1;
 D. x=y=0;
 满分:5  分
 4.  C语言结构体类型变量在程序执行期间( )。
 A. 所有成员一直驻留在内存中
 B. 只有一个成员驻留在内存中
 C. 部分成员驻留在内存中
 D. 没有成员驻留在内存中
 满分:5  分
 5.  若调用fputc函数输出字符成功,则函数的返回值是( )。
 A. 输出的字符
 B. -1
 C. 0
 D. EOF
 满分:5  分
 6.  以下程序运行后,输出结果是( )。  #define ADD(x) x+x   main( )   { int m=1, n=2, s=3;    s*=ADD(m+n);    printf("s=%d\n", s);  }
 A. s=8
 B. s=9
 C. s=6
 D. s=18
 满分:5  分
 7.  以下能对二维数组a进行正确初始化的语句是( )。
 A. int a[2][]={{1,0,1},{5,2,3}};
 B. int a[][3]={{1,2,3},{4,5,6}};
 C. int a[2][4]={{1,2,3},{4,5},{6}};
 D. int a[][3]={{1,0,1},{},{1,1}};"
 满分:5  分
 8.  若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )。
 A. num%2==1
 B. !(num%2==0)
 C. !(num%2)
 D. num%2
 满分:5  分
 9.  以下对C语言中共用体类型数据的叙述正确的是( )。
 A. 可以对共用体变量名直接赋值
 B. 一个共用体变量中可以同时存放其所有成员
 C. 一个共用体变量中不能同时存放其所有成员
 D. 共用体类型定义中不能出现结构体类型的成员
 满分:5  分
 10.  以下正确的说法是( )。
 A. 实参和与其对应的形参各占用独立的存储单元
 B. 实参和与其对应的形参共占用一个存储单元
 C. 只有当实参和与其对应的形参同名时才共用存储单元
 D. 形参是虚拟的,不占用存储单元
 满分:5  分
 11.  C语言的编译系统对宏命令的处理是( )。
 A. 在对源程序中其它成分正式编译之前进行的
 B. 和C程序中的其它语句同时进行的
 C. 在程序连接时进行的
 D. 在程序运行时进行的
 满分:5  分
 12.  若有定义:int i, x[3][4];,则不能将x[1][1]的值赋给变量i的语句是( )。
 A. i=x[1][1]
 B. i=*(*(x+1))
 C. i=*(*(x+1)+1)
 D. i=*(x[1]+1)
 满分:5  分
 13.  若a、b、c均为int型变量,则执行以下程序段后的输出结果为( )。 b=(a=10,a+5,c=10); printf("a=%d,b=%d,c=%d\n",a,b,c); c=(a=10,b=5,a+b);printf("a=%d,b=%d,c=%d\n",a,b,c);
 A. a=10,b=15,c=10a=10,b=5,c=10
 B. a=10,b=10,c=10a=10,b=5,c=10
 C. a=10,b=10,c=10a=10,b=5,c=15
 D. a=10,b=10,c=10a=10,b=5,c=5
 满分:5  分
 14.  在一个源文件中定义的全局变量的作用域为( )。
 A. 本文件的全部范围
 B. 本程序的全部范围
 C. 本函数的全部范围
 D. 从定义该变量的位置开始至本文件结束
 满分:5  分
 15.  以下能正确定义整型变量x、y和z并为其赋初值5的语句是( )。
 A. int x=y=z=5;
 B. int x,y,z=5;
 C. int x=5,y=5,z=5;
 D. x=5,y=5,z=5;"
 满分:5  分
 16.  若二维数组a有m列,则在a[i][j]前的元素个数为( )。
 A. j*m+i
 B. i*m+j
 C. i*m+j-1
 D. i*m+j+1
 满分:5  分
 17.  若使用一维数组名作函数实参,则以下正确的说法是( )。
 A. 必须在主调函数中说明此数组的大小
 B. 实参数组类型与形参数组类型可以不匹配
 C. 在被调函数中,不需要考虑形参数组的大小
 D. 实参数组名与形参数组名必须一致
 满分:5  分
 18.  设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。    for (y=100; x!=y; ++x,y++)      printf("****\n");
 A. 循环体只执行一次
 B. 是无限循环
 C. 循环体一次都不执行
 D. for语句中存在语法错误
 满分:5  分
 19.  以下程序段的执行结果是( )。    int x=-3;     do      { printf("%d\n", x++);     }while(!x);
 A. -3
 B. -2
 C. -1
 D. 陷入死循环
 满分:5  分
 20.  C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是( )。
 A. 地址传递
 B. 单向值传递
 C. 由实参传给形参,再由形参传回实参
 D. 由用户指定传递方式
 满分:5  分15春学期《高级语言程序设计基础》在线作业3
 试卷总分:100       测试时间:--
 单选题
 
 
 一、单选题(共 20 道试题,共 100 分。)V 1.  函数rewind(fp)的作用是:使文件位置指针( )。
 A. 重新返回文件的开头
 B. 返回到前一个字符的位置
 C. 指向文件的末尾
 D. 自动移至下一个字符的位置
 满分:5  分
 2.  函数调用语句:fseek(fp, 10L, 2);的含义是:将文件位置指针( )。
 A. 移动到距离文件头10个字节处
 B. 从当前位置向后移动10个字节
 C. 从文件尾部前移10个字节
 D. 移到离当前位置10个字节处
 满分:5  分
 3.  系统的标准输入文件是指( )。
 A. 键盘
 B. 显示器
 C. 软盘
 D. 硬盘
 满分:5  分
 4.  若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维的大小是( )。
 A. 2
 B. 3
 C. 4
 D. 无确定值
 满分:5  分
 5.  设a、b、c、d均是int类型变量,为了使以下程序段的输出为:1234+123+12+1,正确的输入形式应当是( )。 scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d);printf("%4d+%3d+%2d+%1d",a, b, c, d);
 A. 1234123121<回车>
 B. 1234123412341234<回车>
 C. 1234+1234+1234+1234<回车>
 D. 1234+123+12+1<回车>
 满分:5  分
 6.  若有说明:int a[3][4];则对a数组元素的非法引用是( )。
 A. a[0][2*1]
 B. a[1][3]
 C. a[4-2][0]
 D. a[0][4]
 满分:5  分
 7.  已知ch是字符型变量,则不正确的赋值语句是( )。
 A. ch=5+9;
 B. ch='\0';
 C. ch='7'+'9';
 D. ch='a+b';
 满分:5  分
 8.  以下正确的函数形式是( )。
 A. double fun1(int x, int y)  { z=x+y; return z; }
 B. fun1(int x, y){ int z;return z; }
 C. fun1(x, y) { int x, y; double z;z=x+y;return z; }
 D. double fun1(int x, int y){ double z;z=x+y; return z; }"
 满分:5  分
 9.  以下程序运行后,输出结果是( )。  #define ADD(x) x+x   main( )   { int m=1, n=2, s=3;    s*=ADD(m+n);    printf("s=%d\n", s);  }
 A. s=8
 B. s=9
 C. s=6
 D. s=18
 满分:5  分
 10.  以下程序段的执行结果是( )。    int x=-3;     do      { printf("%d\n", x++);     }while(!x);
 A. -3
 B. -2
 C. -1
 D. 陷入死循环
 满分:5  分
 11.  以下有关宏替换的叙述不正确的是( )。
 A. 宏名不具有类型
 B. 宏名必须用大写字母表示
 C. 宏替换只是字符替换
 D. 宏替换不占用运行时间
 满分:5  分
 12.  以下程序的运行结果是( )。 # include "stdio.h" main() { struct date { int y,m,d;} today; printf("%d\n", sizeof(struct date));}
 A. 2
 B. 3
 C. 6
 D. 出错
 满分:5  分
 13.  下面程序的输出结果为( )。 main( ) { int a=1,b=0; switch(a) { case 1: switch (b) { case 0: printf("**0**"); break; case 1: printf("**1**"); break; } case 2: printf("**2**"); break; }}
 A. **0**
 B. **0****2**
 C. **0****1****2**
 D. 有语法错误
 满分:5  分
 14.  若有定义:int a[2][3];,则以下对a数组元素地址的正确表示为( )。
 A. *(a+1)
 B. *(a[1]+2)
 C. a[1]+3
 D. a[0][0]
 满分:5  分
 15.  有字符数组a[80]和b[80],则正确的输出语句是( )。
 A. puts(a.b);
 B. printf("%s,%s",a[],b[]);
 C. pitchar(a,b);
 D. puts(a); puts(b);
 满分:5  分
 16.  定义如下变量和数组:int k; int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )。for(k=0;k<3;k++) printf("%d",a[k][2-k]);
 A. 3 5 7
 B. 3 6 9
 C. 1 5 9
 D. 1 4 7
 满分:5  分
 17.  若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )。
 A. num%2==1
 B. !(num%2==0)
 C. !(num%2)
 D. num%2
 满分:5  分
 18.  以下对C语言中共用体类型数据的叙述正确的是( )。
 A. 可以对共用体变量名直接赋值
 B. 一个共用体变量中可以同时存放其所有成员
 C. 一个共用体变量中不能同时存放其所有成员
 D. 共用体类型定义中不能出现结构体类型的成员
 满分:5  分
 19.  有下面的程序段 char a[3],b[]="China"; a=b; printf("%s",a); 则( )。
 A. 运行后将输出China
 B. 运行后将输出Ch
 C. 运行后将输出Chi
 D. 编译时出错
 满分:5  分
 20.  以下能对一维数组a进行正确初始化的语句是( )。
 A. int a[10]=(0,0,0,0,0);
 B. int a[10]={ };
 C. int a[]={0};
 D. int a[10]={10*1};
 满分:5  分
 | 
 |