资源描述
Learn General Secretary on "two to learn a" strengthening "four Consciousnesses" important speech caused a strong reaction in the country. Time, watching "red treasure", the origin of building the party back to power, how to strengthen services for the masses, improve party cohesion, fighting to become the grass-roots party members and masses hot topic. Grass-roots party organizations "two" is to strengthen the service of party members and cadres, the pioneer spirit. Distribution of grass-roots party organizations in all walks of people, clothing, shelter, which belongs to the nerve endings of the party organization and comments reputation has a direct perception of the masses. Strengthen the party ahead of the "pedal" spirit; strengthen the party members and cadres "success does not have to be me" and "the first to bear hardships, the last to" service spirit to set the party's positive image among the people is important. Grass-roots party organizations "two" is to cleanse all people not happy not to see "stereotypes", establish the honest faithful, diligent faith for the people. No need to avoid mentioning that, some members of our party can not stand the "money," corrosion of temptation, thin, Xu Zhou, such abuse and corrupt bribery, malfeasance borers, and rats. Two, is to clean up, thin, Xu, Zhou's solution to restore the party's fresh and natural, solid and honest work style. Cleansing "take, eat, card," undesirable and behaviour, "cross, hard and cold, push" attitude. Grass-roots party organizations "two" is to strengthen the sense of ordinary party members, participating in consciousness, unity consciousness. For reasons known, members of grass-roots party branches less mobile, less resources, and the construction of party organizations have some lag. Two studies, is to focus on the grass-roots party branches "loose, soft, loose" problem, advance the party members and cadres, "a gang working", "Hong Kong report." Strong cleanup actions, style and rambling, presumptuous "unqualified" party members, pays special attention to party members and cadres "joining party of thought" problem. "Party building" is obtained in the long-term development of our party's historical experience accumulated. Two is our party under the new historical conditions, strengthen the party's construction of a new "rectification movement." Grass-roots party organizations should always catch the hard work, results-oriented. Two educational outcomes are long-term oriented and become an important impetus for the work. "Two" should have three kinds of consciousness "two" study and education, basic learning lies in the doing. Only the Constitution address the series of party rules, and do solid work, be qualified party members had a solid ideological basis. Only the "learning" and "do" real unity, to form a "learn-learn-do-do" the virtuous cycle, and ultimately achieve the fundamental objective of education. This requires that the Organization
阅读程序题(共13分)
6.以下程序运行时输出结果是 (6 ) 。
#include<stdio.h>
#define M 3
#defme N M+1
#define NN N*N/2
main() .
{printf("%d\n",NN);}
7.以下程序运行时输出结果是 (7) 。
#include <stdio.h>
main()
{char a=256:
int d=a;
prinff("%d",d+1);
} 、
8•有如下程序,假定所用编译系统用两个字节存储一个int型操作数,已知输出结果第一行是FFD2,则第二行应当是( 8)
main()
{int a[10]={1,2,3,4,5,6,7,8,9,0},*p;
P=&a[5];
printf("%X\n",p);printf("%X\n",p-1);
9•以下程序运行时输出结果的第一行是(9) ,第二行是(10)。
int C:
void fl(int x,int *sum)
{static int y;
x++;y++;c=c+y;
*sum=(x+y)/c;
}
main()
{int a,b=100:
for(a=O;a<2;a++)
{f1(a,&b);printf("%d%d%d\n",a,b,c)} ,
10.以下程序运行时输出结果的第一行是___(11)_______,第三行是______(12)__________
#include<stdio.h>
void mat_change(int b[4][4])
{int i,j,m,n,k,c[6][6];
for(i=0;i<6;i++)
for(j=0;j<6;j++) c[i][j]=1;
for(i=1;i<5;i++)
for(j=1;j<5;j++) c[i][j]=b[i-1][j-1];
for(i=1;i<5;i++)
for(j=1;j<5;j++)
{if(c[i][j]==0)
{k=0;
for(m=-1;m<=1;m++)
for(n=-1;n<=1;n++)
if(!(m==O&&n==O))k=k+c[i+m][j+n];
if(k==8)c[i][j]=1;
}
}
for(i=1;i<5;i++)
for(j=1;j<5;j++)
b[i-1][j-1]=c[i][j];
}
main()
{int i,j,a[4][4]={{0,1},{1,1,1,l},{0,1,0,1},{0,1,1,1}};
mat_change(a);
for(i=0;i<4;i++) .
{for(j=0;j<4;j++)printf("%d",a[i][j]);
printf("\n");
}
}
11.以下程序运行时输出结果是(13) 。
#include<stdio.h>
void f(int a[],int n,int x,int *c);
main()
{int a[10]={1,3,5,2,3,5,3,7,4,1},t=0;
f(a,10,5,&t);printf("%d",t);
}
void f(int a[],int n,int X,int *c)
{if(n==0)return;
if(a[O]>=x)(*c)++;
f(a+1,n-1,x,c);
}
12.以下程序运行时输出结果的第一行是 (14) ,第二行是(15) ,第三行是(16)
#include<stdio.h>
typedef struct s
{
int index;
int value;
}M;
main()
{static int i,j,k,c[4][4];
M a[10]={{0,1},{3,2},{5,3},{6,4},{9,5},{15,6},{-l,0}},*p=a,
b[10]={{1,1},{3,2},{4,3},{6,4},{lO,5},{13,6},{-1,0}},*q=b;
while(p->index!=-1)
{
i=p->index/4;
j=p->index%4;
c[i][j]=P->value;
p++;
}
while(q->index!=-1)
{
i=q->index/4;
j=q->index%;
c[i][j]+=q->value;
q++;
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%d",c[i][j]);
printf("\n");
}
}
13.以下程守运行时输出结果的第一行是__(17)______ ,第二行是____(18)________ 。
void q(char *s,int left, int right)
{ int i,j;
char x,y;
i=left; j=right;
x=s[(1eft+right)/2];
do
{while(s[i]>x&&i<right)i++:
while(s[j]<x&&j>left)j--;
if(i<=j)
{ y=s[i];
s[i]=s[j];
s[j]=y;
i++;j--;
}
}while(i<=j);
}
main()
{char strl[6]="abcde",str2[7]="25134";
q(strl,0,4);puts(strl);
q(str2,1,4);puts(str2);
}
●完善程序题(共12分) 7
14.如果一个两位整数是质数,将组成它的两个数字交换位置后形成的整数仍为质数,则称这
样的数为绝对质数。例如,13就是一个绝对质数。以下程序用于找出所有两位绝对质数。
#include<stdio.h>
int a_prime(int n)
{int j,k,m[2];
m[O]=n;
m[1]= _____(19)_______ ;
for(j=0;j<2;j++)
for(k=m[j]/2;k>1;k--)
if( (20) )return 0;
return 1;
}
main()
{int i;
for(i=10;i<100;i++)
if(a_prime(i))printf("%d",i);
}
20 i
15.计算∑ ∑n!的值,即求(1!)+(1!+2!)+(1!+2!+3!)+…+(1!+2!+3!+…+20!)
i=1 n=1
main()
{int i,n;double s=0,t;
for(i=1;i<=20;i++)
{ ________(21)__________ ;
for(n=1;_____(22)___________ ;n++)
{ t=t*n;s=s+t;}
}
printf("1!+(1!+2!)+…+(1!+2!+…+20 !)=%e\n",s);
} .
16.以下程序中函数strmerge的功能是:合并a和b两个有序的字母字符串(字典序)而产生一
个新的字符串,在合并的过程中删除重复出现的字符,合并后的字符串仍然保持原序并保
存到c指向的数组中,函数返回在合并过程中删除的字符个数。main函数中输出合并后
的字符串“copy”以及在合并过程中删除的字符个数3。
include<stdio.h>
int strmerge(char *a,char *b,char *c)
{int i=0,j=0,k=O;char t;
while(a[i]!='\0' && ( 22 )
{if(a[i]==b[j])
{t=a[i];i++;
( 24 );
}
else
if(a[i]<b[j])
t=a[i++];
else
t=b[j++];
if(t!=c[k-1])
( 25 ) =t; 。
}
while(a[i])
if(a[i]!=c[k-1])
. c[k++]=a[i++];
else
i++:
while(b[j])
if(b[j]!=c[k-1])
c[k++]=b[j++];
else
j++;
e[k]='\0';
return ( 26 ) ;
}
main()
{static char s1[10]="ccp",s2[10]="oppy",s3[20];int n;
n=strmerge(sl,s2,s3);
puts(s3);
printf("%d",n);
}
17.设某链表上每个结点的数据结构为
typedef struct node
{int d;
struct node *next;
}NODE;
函数NODE *invert(NODE *head)的功能是:将head指向的单链表逆置,即原链表最后一
个结点变为第一个结点,原来倒数第二个结点变成第二个结点,以此类推。在逆置过程中不建
立新的链表。
NODE *invert(NODE *head)
{NODE *P,*q,*r;
if(head==0|| ( (27) )
return head;
P=head;
q=P->next;
while(q!=0)
{r= ( 28 ) ;
q->next=p;p=q;q=r;
}
( 29 ) =O;
head= ( 30 ) ;
return head;
}
(6)6 (7)1 (8)FFD0 (9)021 (10)113
(11)1100 (12)0111 (13)3 (14)1104 (15)3380 (16)0550 (17)edcba (18)
25431
(19)n/10+n%10*10 (20)m[j]%k==0 (21)t=1 (22)n<=i (23)b[j]!=’\0’ (24)j++
(25)c[k++] (26) i+j-k (27)head->next==0 (28)q->next (29)head->next (30) p
●阅读程序题(共11分)
6.以下程序运行时输出结果是( 6 ) 。
#define PT 3.14
#define S(x) PT*x*x
main() ’
{int a=2;
printf("%4.1f",6.28/S(a));
}
7.已知int型变量的存储字节数为2,以下程序运行时输出结果是( 7 )。
#include<stdio.h>
main()
{int a=3,b=2,c=7,d=6,e=8;
long f=a*10000+b*1000+c*100+d*10+e;
printf("%ld",f);
}
8.以下程序运行时输出结果是( 8 ) 。
#include<stdio.h>
main()
{char *P="student";
if(P=="student")
printf("yes");
else
printf("no");
}
9.以下程序运行时输出结果是( 9 )。
#include<ctype.h>
#include<stdio.h>
main()
{char *s="23a4";
int k=0,a=0,b=0;
do
{if(isdigit(s[k]))
{if(s[k]%2==0)
{a=a+s[k]-'0';
continue;
}
a=a+s[k]-'0';b=b+s[k]-'0';
}
}while(s[k+1]&&++k);
printf("%d,%d,%d\n",k,a,b);
}
10.以下程序运行时输出结果是(10) 。
#include<stdio.h>
int f(int a[],int m,int b[],int n,int c[])
{int i,j,k=0,t;
for(i=0;i<m;i++)
{for(t=1,j=0;j<n;j++)
if(a[i]==b[j])
{t=O;break;}
if(t) c[k++]=a[i];
}
return k;
}
void main()
{int x[]={7,2,3,6,5,4,1},y[]={5,10,7,9,8,6},z[10],w,j;
w=f(x,7,y,6,z);
for(j=0;j<w;j++)printf("%d",z[j]);
}
11.以下程序运行时输出结果是(11)
void fun(int *p1,int *p2);
main()
{int i,a[6]={1,2,3,4,5,6};
fun(a,a+5);
for(i=O;i<5;i++) printf("%2d",a[i]);
}
void fun(int *pl,int *p2)
{int t;
if(pl<p2) .
{ t=*p1,*pl=*p2;*p2=t;
fun(p1+=2,p2-=2);
}
}
12.以下程序运行时输出结果的第一行是 ( 12 ) ,第二行是( 13 )。
void swap(int *a,int *b)
{int c;
c=*a; *a=*b; *b=c;
}
main()
{int i,j,a[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0:i<2:i++)
for(j=0;j<2-i;j++)
if(i==j)
swap(&a[i][j],&a[i+2][j+2]);
else
swap(&a[i][j],&a[i+1][j+1]);
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
printf("%d",a[i][j]);
printf("\n");
}
}
13.以下程序运行时输出结果的第一行是 ( 14 ) ,第二行是 ( 15 ) ,第三行是(16 )
提示:函数int toupper(int ch)的功能是:将小写字母字符转换为对应的大写字母字符。
#include<stdio.h>
#include<ctype.h>
long fun(char *s)
{long n,sign,base=10,t;
for(;isspace(*s);s++);
sign=(*s=='-')?-1:1;
if(*s=='+'||*s=='-')s++;
if(*s=='0'&&s++)
{if(*s=='x||*s=='X')
{base=16;S++;}
else
base=8;
}
for(n=0,t=1;t&&(isdigit(*s)||isalpha(*s));s++)
switch(base)
{case 10:if(isdigit(*s)) n=n*base+*s-'0';
else t=0;
break:
case 8:if(*s>='0'&&*s<='7')n=n*base+*s-'0';
else t=0:
break;
default:if(isdigit(*s))n=n*base+*s-'0';
else
if(toupper(*s)>='A'&&toupper(*s)<='F')
n=n*base+toupper(*s)-'A'+lO;
else t=0;
}
return sign*n:
}
main()
{char c1[]="0x1f",c2[]="0409",c3[]="-33a";
printf("%ld\n%ld\n%ld",fun(c1),fun(c2),fun(c3));
}
●完善程序题(共14分)
14.程序中函数double,mycos(double x)的功能是:根据下列公式计算cos(x)的近似值。
cos(x)=1-x^2/2!+x^4/4!-x^6/6!+....+(-1)^n*(x^2*n/(2*n)!)
精度要求:当通项的绝对值小于等于10^-6时为止。
#include<stdio.h>
#include< ____(17)____________> .
double mycos(double x) .
{int n=1;
double sum=0,term=1.0;
while( ___(18)_________ >=le-6)
{sum+=term;
term*= ___(19)_________ ;
n=n+2:
}
return sum;
}
main()
{double x;
scanf("%lf",&x);
printf("fx(%f)=%f,%f\n",x,mycos(x),cos(x));
}
15.main函数内结构数组P中的元素已按结构成员index的值升序排列。以下程序先在P中插入s1和s2两组数据,再将数组的所有元素输出。要求插入数据后数组p中的元素仍按
结构成员index的值升序排列。
#include<stdio.h>
typedef struct s
{int index;
char text[10];
}T;
int inserttv(T *p,T s,int n)
{int k,j;
for(k=0;k<n;k++)
if( 20 )>s.index)
{for(j=n;j>k;j--)p[j]=p[j一1];
break;
}
( 21 ) =s;
return n+1;
}
main()
{int n;
T p[8]={{0,"a",},{5,"t",},{10,"e",},{15,"r"}};
T s1={3,"f"},s2={16,"s"},*q;
展开阅读全文