第1题:
阅读下列程序段
#include "stdio.h"
typedef struct aa
{ int a;
struct aa *next; } M;
void set(M *k,int i,int *b)
{ int j,d=0;
for(j=1;j <i;j++)
{ k[j-1].next=&k[j];
k[j-1].a=b[d++]; }
k[j].a=b[d]; }
main()
{ M k[5],*p;
int d[5]={23,34,45,56,67};
set(k,5,d);
p=k+1;
printf("%d\n",table); }
则下面的表达式在table处,能使程序执行后,打印输出数据45的是
A.p->next->a
B.++p->a
C.(*p).a++
D.p++->a
第2题:
以下程序运行后的输出结果【 】。
struct NODE
{int k;
struct NODE *link;
};
main()
{structNODEm[5],*p=m,*q=m+4;
int i=0;
while(p!=q){
p->k=++i;p++;
q->k=i++;q-;
}
q->k=i;
for(i=0;i<5;i++)printf("%d",m[i].k);
printf("\n");
}
第3题:
有以下程序:
include<iostream>
using namespace std;
class MyClass
{
public:
static int s;
MyClass();
void SetValue(int val);
};
int MyClass::s=0;
MyClass::MyClass()
{
S++;
}
void MyClass::SetValue(int val)
{
s=val;
}
int main()
{
MyClass my[3],*p;
p=my;
for(int k=0;k<3;k++)
{
p->SetValue(k+1);
p++;
}
cout<<MyClass::s<<end1;
return 0;
}
运行后的输出结果是______。
第4题:
有以下程序: #include <iostream> using namespace std; int main() { int num[2][3],*p; int t,i,j,k=10; p=num[0]; for(i=0;i<2;i++) { for(j=0;j<3;j++) { k++; *p=k; for(t=2;t<*p;t++) { if(!(*p%t)) { j--; *p--; break; } *p++; } } cout<<*(p-1)<<end1; return 0; } 程序运行后的输出结果是( )。
A.19
B.11
C.29
D.23
第5题:
下面函数返回数组中最大元素的下标,数组中元素个数为t,将程序补充完整。
int findmax(int s[],int t) {
int k,p;
for(p=0,k=p;p<t;p++) {
if 【 】
k=p;
}
return k;
}
第6题:
现有如下程序段
#include "stdio.h"
int fun(int k,int *m)
{if(k%3)*m=k*k;
else *m=k/3;}
main()
{ int (*p)(int,int *),m;
p=fun;
(*p)(78, &m);
printf( "%d\n",m);}
则程序段的输出结果为
A.24
B.25
C.26
D.27
第7题:
下面程序的功能是输出数组s中最小元素,请填空。
include<iostream.h>
void main(){
int k, p, s[]={1,-9,7,2,-10,3};
k=s[0];
for(p=0;p<6;p++)
if(s[p]<k) 【 】;
cout<<k;
}
第8题:
主程序调用findmax函数求出数组中最大元素在数组中的下标,括号中需填写的内容是 #include<stdio.h> findmax(int*s,int t,int*k) { int p; for(p=0,*k=p;p<t;p++)if(s[p]>s[*k])( );} main() { int a[10],i,k; for(i=0;i<10;i++)scanf("%d",&a[i]); findmax(a,10,&k); printf("
A.k=p
B.*k=p
C.k=p-s
D.*k=p-s
第9题:
设有以下程序:
include<iostream>
using namespace std;
int main()
{
int a,b,k:4,m=6,*p1=&k,*p2=&m;
a=p1==&m;
b=(*p1)/(*p2)+7;
cout<<a<<b<<end1;
return 0;
}
执行该程序后,a的值为【 】,b的值为【 】。
第10题:
下列程序的运行结果是( )。#include<stdio.h>void fun(int*s,int*p){ static int t=3; *p=s[t]; t--;}void main(){ int a[]={2,3,4,5),k; int x; for(k=0;k<4;k++) { fun(a,&x); printf("%d,",x); }}
A.5,4,3,2
B.2,3,4,5,
C.2,2,2,2,
D.5,5,5,5,