:20春学期《高级语言程序设计基础X》在线平时作业3
1.以下能正确定义整型变量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;"
答案:-
2.若有定义:int x[10], *p=x;,则*(p+5)表示( )。
A.数组元素x[5]的地址
B.数组元素x[5]的值
C.数组元素x[6]的地址
D.数组元素x[6]的值
E.选项内容11
F.选项内容11
答案:-
3.以下为一维整型数组a的正确说明是( )。
A.int a(10);
B.int n=10,a[n];
C.int n; scanf("%d",&n); int a[n];
D.#define SIZE 10;int a[SIZE];
答案:-
4.执行下面程序段后,x的值是( )。
int x;printf("%d\n",(x=3*5,x+5));
A.10
B.15
C.20
D.5
答案:-
5.若有以下程序段: …… int a[]={4,0,2,3,1},i,j,t; for(i=1;i=0 && ta[j]) { a[j+1]=a[j];j--;} a[j+1]=t; } …… 则该程序段的功能是( )。
A.对数组a进行插入排序(升序)
B.对数组a进行插入排序(降序)
C.对数组a进行选择排序(升序)
D.对数组a进行选择排序(降序)
答案:-
6.下面程序的输出结果是( )。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
答案:-
7.下面程序的运行结果是( )。
main()
{ struct cmplx { int x;int y;} cm[2]={1,2,3,4};printf("%d\n", 2*cm[0].x+
cm[1].y/cm[0].y);}
A.5
B.2
C.3
D.4
答案:-
8.以下程序的输出结果是( )。
main()
{ int a=0,b=1,c=0,d=20;
if(a) d=d-10;
else if(!b)
if(!c) d=15;
else d=25;
printf("d=%d\n",d);}
A.d=10
B.d=15
C.d=20
D.d=25
答案:-
9.若有以下语句,则对x数组元素引用不正确的是( )。
int x[ ]={1, 2, 3, 4, 5, 6}, *ptr;ptr=x;
A.*(--ptr)
B.*(ptr--)
C.*(ptr++)
D.*(++ptr)
答案:-
10.以下程序执行后a的值为( )。main( ){ int a,m=2, k=1, *p=&k;a=p!=&m;printf("%d\n",a); }
A.-1
B.0
C.1
D.2
答案:-
11.若用fopen打开一个新的二进制文件,要求文件既能读又能写,则应选用的文件方式字符串是( )。
A."wb+
B."r+"
C."rb+"
D."ab+""
答案:-
12.以下对指针变量的操作中,不正确的是( )。
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;"
答案:-
13.若有说明:int a[10];则对数组元素的正确引用是( )。
A.a[10]
B.a[3,5]
C.a(5)
D.a[10-10]
答案:-
14.以下能正确读入字符串的程序段是( )。
A.char *p; scanf("%s", p);
B.char str[10]; scanf("%s", &str);
C.char str[10], *p; p=str; scanf("%s", p);
D.char str[10], *p=str; scanf("%s", p[1]);"
答案:-
15.设ch是char类型变量,其值是A,则表达式ch=(ch='A'&&ch='Z')?(ch+32):ch的值是( )。
A.Z
B.A
C.a
D.z
答案:-
16.以下在任何情况下计算两数积时都不会引起二义性的宏定义是( )。
A.#define MUL(x,y) x*y
B.#define MUL(x,y) (x)*(y)
C.#define MUL(x,y) (x*y)
D.#define MUL(x,y) ((x)*(y))"
答案:-
17.若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )。
A.num%2==1
B.!(num%2==0)
C.!(num%2)
D.num%2
答案:-
18.下面程序( )。(每行程序前的数字为行号) 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=1;i10;i++) a[0]=a[0]+a[i]; 7 printf("%f\n",a[0]); 8 }
A.没有错误
B.第3行有错误
C.第5行有错误
D.第7行有错误
答案:-
19.若有定义: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)
答案:-
20.若二维数组a有m列,则在a[i][j]前的元素个数为( )。
A.j*m+i
B.i*m+j
C.i*m+j-1
D.i*m+j+1
答案:-
21.函数rewind(fp)的作用是:使文件位置指针( )。
A.重新返回文件的开头
B.返回到前一个字符的位置
C.指向文件的末尾
D.自动移至下一个字符的位置
答案:-
22.执行以下程序后,m的值是( )。#define MIN(x, y) (x)(y) ? (x) : (y)main( ){ int i=12, j=8, m;m=10*MIN(i, j);printf("%d\n", m); }
A.120
B.80
C.12
D.8
答案:-
23.若有定义:int x[10], *p=x;,则*(p+5)表示( )。
A.数组元素x[5]的地址
B.数组元素x[5]的值
C.数组元素x[6]的地址
D.数组元素x[6]的值
E.选项内容11
F.选项内容11
G.选项内容11
答案:-
24.若k为整型变量,则以下for循环的执行次数是( )。for (k=2; k==0; ) printf("%d",k--);
A.无限次
B.0次
C.1次
D.2次
答案:-
25.在C语言中,一维数组的定义方式为:类型说明符 数组名( )。
A.[常量表达式]
B.[整型表达式]
C.[整型常量或整型表达式]
D.[整型常量]
答案:-