《高级语言程序设计基础》在线平时作业2
共20道题 总分:100分
一、单选题(共20题,100分)
1.函数调用语句:fseek(fp, 10L, 2);的含义是:将文件位置指针( )。
A、移动到距离文件头10个字节处
B、从当前位置向后移动10个字节
C、从文件尾部前移10个字节
D、移到离当前位置10个字节处
2.C语言程序从main()函数开始执行,所以这个函数要写在( )。
A、程序文件的开始
B、程序文件的最后
C、它所调用的函数的前面
D、程序文件的任何位置
3.以下程序的运行结果是( )。# include “stdio.h”main(){ struct date { int y,m,d;} today; printf(“%d\n”, sizeof(struct date));}
A、2
B、3
C、6
D、出错
4.若有说明:int a[10];则对数组元素的正确引用是( )。
A、a[10]
B、a[3,5]
C、a(5)
D、a[10-10]
5.下列程序的输出结果是( )。#includevoid fun();void main(){int x=1;if(x= =1){ int x=2; printf(“%d”,++x);} void fun(){ printf(“%d”,x++);}
A、2,1,1
B、1,2,1
C、2,2,2
D、2,2,1″
6.下列关于C语言的叙述错误的是( )。
A、大写字母和小写字母的意义相同
B、不同类型的变量可以在一个表达式中
C、在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D、同一个运算符号在不同的场合可以有不同的含义
7.C语言的编译系统对宏命令的处理是( )。
A、在对源程序中其它成分正式编译之前进行的
B、和C程序中的其它语句同时进行的
C、在程序连接时进行的
D、在程序运行时进行的
8.以下不正确的定义语句是( )。
A、double x[5]={2.0,4,0,6,0,8,0,10.0};
B、int y[5]={0,1,3,5,7,9};
C、char c1[]={‘1′,’2′,’3′,’4′,’5’};
D、char c2[]={‘\x10′,’\xa’,’\x8′};”
9.判断字符串a和b是否相等,应当使用( )。
A、if(a==b)
B、if(a=b)
C、if(strcpy(a,b))
D、if(strcmp(a,b))”
10.若有说明:int a[][4]={0,0};则下面不正确的叙述是( )。
A、数组a中的每个元素都可得到初值0
B、二维数组a的第1维大小为1
C、因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1
D、只有数组元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
11.若用fopen打开一个新的二进制文件,要求文件既能读又能写,则应选用的文件方式字符串是( )。
A、”wb+
B、”r+”
C、”rb+”
D、”ab+””
12.下程序( )。 main( ) { int x1=3, x2=0, x3=0; if (x1=x2+x3)printf(“* * * *”); else printf(“# # # #”); }
A、输出:* * * *
B、输出:# # #
C、#存在语法错误
D、无输出结果
13.有两个字符数组a、b,则以下正确的输入语句是( )。
A、gets(a,b);
B、scanf(“%s%s”,a,b);
C、scanf(“%s%s”,&a,&b);
D、gets(“a”); gets(“b”);”
14.语句while (!y)中的表达式 !y 等价于( )。
A、y==0
B、y!=1
C、y!=0
D、y==1
15.在一个源文件中定义的全局变量的作用域为( )。
A、本文件的全部范围
B、本程序的全部范围
C、本函数的全部范围
D、从定义该变量的位置开始至本文件结束
16.若有以下程序段: …… 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进行选择排序(降序)
17.以下能对一维数组a进行正确初始化的语句是( )。
A、int a[10]=(0,0,0,0,0);
B、int a[10]={ };
C、int a[]={0};
D、int a[10]=(10*1);
东大答案请进:opzy.net或请联系微信:1095258436
18.设c1、c2均是char类型变量,则以下不正确的函数调用是( )。
A、scanf(“c1=%cc2=%c”,&c1,&c2);
B、getchar( )
C、putchar(c2);
D、putchar(c1,c2)”
19.有字符数组a[80]和b[80],则正确的输出语句是( )。
A、puts(a.b);
B、printf(“%s,%s”,a[],b[]);
C、pitchar(a,b);
D、puts(a); puts(b);
20.定义如下变量和数组: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