2018年自考《C语言程序设计》试题三
(41)有以下程序
int fa(int x)
{return x*x; }
int fb(int x)
{return x*x*x; }
int f(int (*f1)(),int (*f2)(),int x)
{return f2(x)-f1(x); }
main()
{int i;
i=f(fa,fb,2); printf('%d ',i);
程序运行后的输出结果是______。
A) -4 B) 1 C) 4 D) 8
(42)有以下程序
int a=3;
main()
{int s=0;
{int a=5; s+=a++; }
s+=a++; printf('%d ',s);
程序运行后的输出结果是_______。
A) 8 B) 10 C) 7 D) 11
(43)有以下程序
void ss(char *s,char t)
{while(*s)
{if(*s==t) *s=t-’a’+’A’;
s++;
}
main()
{char str1[100]='abcddfefdbd',c=’d’;
ss(str1,c); printf('%s ',str1);
程序运行后的输出结果是______。
A) ABCDDEFEDBD
B) abcDDfefDbD
C) abcAAfefAbA
D) Abcddfefdbd
(44)有以下程序
struct STU
{char num[10]; float score[3]; }
main()
{struct STU s[3]={{'20021',90,95,85},
{'20022',95,80,75},
{'20023',100,95,90}},*p=s;
int i; float sum=0;
for(i=0;i<3;i++)
sum=sum+p->score;
printf('%6.2f ',sum);
程序运行后的输出结果是______。
A) 260.00 B) 270.00 C) 280.00 D) 285.00
(45)设有如下定义:
struct sk
{int a;
float b;
}data;
int *p;
若要使p指向data中的a域,正确的赋值语句是______。
A) p=&a; B) p=data.a; C) p=&data.a; D) *p=data.a
(46)有以下程序
#include
struct NODE
{int num; struct NODE *next; }
main()
{struct NODE *p,*q,*r;
p=(struct NODE *)malloc(sizeof(struct NODE));
q=(struct NODE *)malloc(sizeof(struct NODE));
r=(struct NODE *)malloc(sizeof(struct NODE));
p->num=10;q->num=20;r->num=30;
p->next=q;q->next=r;
printf('%d ',p->num+q->next->num);
程序运行后的输出结果是______。
A) 10 B) 20 C) 30 D) 40
(47)若有以下说明和定义
typedef int *INTEGER
INTEGER p,*q;
以下叙述正确的是______。
A) p是int型变量
B) p是基类型为int的指针变量
C) q是基类
型为int的指针变量
D) 程序中可用INTEGER代替int类型名
(48)有以下程序
main()
{unsigned char a,b,c;
a=0x3; b=a|0x8; c=b<<1;
printf('%d%d ',b,c);
程序运行后的输出结果是______。
A) -11 12 B) -6 -13 C) 12 24 D) 11 22
(49)有以下程序
#include
main()
{char *p,*q;
p=(char *)malloc(sizeof(char)*20); q=p;
scanf('%s%s',p,q); printf('%s%s ',p,q);
若从键盘输入:abc def<回车>,则输出结果是______。
A) def def B) abc def C) abc d D) d d
(50)以下程序中函数f的功能是将n个字符串,按由大到小的顺序进行排序。
#include
void f(char p[][10],int n)
{ char t[20]; int i,j;
for(i=0;ifor (j=i+1;jif(strcmp(p,p[j])<0)
{ strcpy(t,p);strcpy(p,p[j]);strcpy(p[j],t);}
main()
{char p[][10]={'abc','aabdfg','abbd','dcdbe','cd'};int i;
f(p,5); printf('%d ',strlen(p[0]));
程序运行后的输出结果是
A) 6 B) 4 C) 5 D) 3