注意:此页面搜索的是所有试题
国家开放大学C语言程序设计
0
int a[8]={3,5,7#include<stdio.h>
int LA(int *a, int n, int x) {
int i,s=0;
for(i=0;i<n;i++)
if(a[i]<x) s+=a[i];
return s;
}
void main() {
int a[8]={5,10,15,8,12,3,9,20};
int b=LA(a,5,10);
int c=LA(a+2,6,10);
printf("%d %d\n",b,c);
}
double SF(double x, int n) { //n为正整数
double p=1,s=1;
int i;
for(i=1;i<=n;i++) {
p*=x;
s+=p;
}
return s;
}
int SG(int x) { //x为大于等于2的整数
int i=2;
while(i*i<=x) {
if(x%i==0) break;
i++;
}
if(i*i<=x) return 0; else return 1;
}
int WB(int a[], int n, int x) {
for(int i=0;i<n;i++)
if(a[i]==x) return 1;
return 0;
}
int fun(int m, int n) {
int c=0;
static int b=2;
if(m<b || n<b) return m*n;
else if(m%b==0 && n%b==0) {c=b; return c*fun(m/b,n/b);}
else {b++; return fun(m,n);}
}
int LK(double a[], int n) {
double s=0;
int i,m=0;
for(i=0;i<n;i++) s+=a[i];
s/=n;
for(i=0;i<n;i++)
if(a[i]>=s) m++;
return m;
}
假定有“struct BOOK{char title[40]; float price;}; struct BOOK book;”,则不正确的语句为( )。
单选题 (2 分) 2分
A.
struct BOOK *x=malloc(book);
B.
struct BOOK x={"C++ Programming",27.0};
C.
struct BOOK *x=malloc(sizeof(struct BOOK));
D.
struct BOOK *x=&book;
假定有“struct BOOK{char title[40]; float price;} book;”,则正确的语句为( )。
单选题 (2 分) 2分
A.
struct BOOK x= &book;
B.
struct BOOK *x=&book;
C.
struct BOOK x=calloc(BOOK);
D.
struct BOOK *x=BOOK;
在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是( )。
单选题 (2 分) 2分
A.
句点
B.
冒号
C.
分号
D.
逗号
假定一个结构类型的定义为 “struct A{int a,b; double c;};”,则该类型的长度为( )。
单选题 (2 分) 2分
A.
8
B.
10
C.
12
D.
16
假定一个结构类型的定义为 “struct D{int a; D* next;};”,则该类型的长度为( )。
单选题 (2 分) 2分
A.
4
B.
8
C.
12
D.
16
假定要访问一个结构指针变量x中的数据成员a,则表示方法为( )。
单选题 (2 分) 2分
A.
a
B.
x->a
C.
x(a)
D.
x{a}
与结构成员访问表达式x.name等价的表达式为( )。
单选题 (2 分) 2分
A.
x->name
B.
&x->name
C.
(&x)->name
D.
(*x)->name
假定一个链表中结点的结构类型为“struct AA{int data, struct AA *next;};”,则next数据成员的类型为( )。
单选题 (2 分) 2分
A.
struct AA
B.
struct AA*
C.
AA
D.
int
假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为( )。
单选题 (2 分) 2分
A.
p->next=f
B.
p->next=f和f=p
C.
f=p->next
D.
f->next=p和f=p
int a[8]={3,5,7#include<stdio.h>
int LA(int *a, int n, int x) {
int i,s=0;
for(i=0;i<n;i++)
if(a[i]<x) s+=a[i];
return s;
}
void main() {
int a[8]={5,10,15,8,12,3,9,20};
int b=LA(a,5,10);
int c=LA(a+2,6,10);
printf("%d %d\n",b,c);
}
double SF(double x, int n) { //n为正整数
double p=1,s=1;
int i;
for(i=1;i<=n;i++) {
p*=x;
s+=p;
}
return s;
}
int SG(int x) { //x为大于等于2的整数
int i=2;
while(i*i<=x) {
if(x%i==0) break;
i++;
}
if(i*i<=x) return 0; else return 1;
}
int WB(int a[], int n, int x) {
for(int i=0;i<n;i++)
if(a[i]==x) return 1;
return 0;
}
int fun(int m, int n) {
int c=0;
static int b=2;
if(m<b || n<b) return m*n;
else if(m%b==0 && n%b==0) {c=b; return c*fun(m/b,n/b);}
else {b++; return fun(m,n);}
}
int LK(double a[], int n) {
double s=0;
int i,m=0;
for(i=0;i<n;i++) s+=a[i];
s/=n;
for(i=0;i<n;i++)
if(a[i]>=s) m++;
return m;
}
假定有“struct BOOK{char title[40]; float price;}; struct BOOK book;”,则不正确的语句为( )。
单选题 (2 分) 2分
A.
struct BOOK *x=malloc(book);
B.
struct BOOK x={"C++ Programming",27.0};
C.
struct BOOK *x=malloc(sizeof(struct BOOK));
D.
struct BOOK *x=&book;
假定有“struct BOOK{char title[40]; float price;} book;”,则正确的语句为( )。
单选题 (2 分) 2分
A.
struct BOOK x= &book;
B.
struct BOOK *x=&book;
C.
struct BOOK x=calloc(BOOK);
D.
struct BOOK *x=BOOK;
在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是( )。
单选题 (2 分) 2分
A.
句点
B.
冒号
C.
分号
D.
逗号
假定一个结构类型的定义为 “struct A{int a,b; double c;};”,则该类型的长度为( )。
单选题 (2 分) 2分
A.
8
B.
10
C.
12
D.
16
假定一个结构类型的定义为 “struct D{int a; D* next;};”,则该类型的长度为( )。
单选题 (2 分) 2分
A.
4
B.
8
C.
12
D.
16
假定要访问一个结构指针变量x中的数据成员a,则表示方法为( )。
单选题 (2 分) 2分
A.
a
B.
x->a
C.
x(a)
D.
x{a}
与结构成员访问表达式x.name等价的表达式为( )。
单选题 (2 分) 2分
A.
x->name
B.
&x->name
C.
(&x)->name
D.
(*x)->name
假定一个链表中结点的结构类型为“struct AA{int data, struct AA *next;};”,则next数据成员的类型为( )。
单选题 (2 分) 2分
A.
struct AA
B.
struct AA*
C.
AA
D.
int
假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为( )。
单选题 (2 分) 2分
A.
p->next=f
B.
p->next=f和f=p
C.
f=p->next
D.
f->next=p和f=p