四川省计算机二级C语言历年考题之程序填空

四川省计算机二级C语言历年考题之程序填空
四川省计算机二级C语言历年考题之程序填空

三、程序填空(每空2分,共30分)

1.下列程序实现将一个整数字符串转换为一个整数。

# include

# include

int Fun(char *str)

{ int num,digital,len;

①num=0 ;

len=strlen(str);

while(*str!=NULL)

{

digital=*str-'0';

for(int i=0;②i < len-1 ;i++)

digital*=10;

len--;

③str++ ;

num+=digital;

}

return num;

}

void main()

{ char n[80];

int number;

gets(n);

number=Fun(n);

printf("%d\n",number);

}

11~999之间的数m,它满足m,m2,m3均为回文数(所谓回文数是指其各位数字左右对称的整数)。

# include

void main()

{ int symm(long n);

long m;

for(m=11;m<1000;m++)

if(①symm(m)&&symm(m*m)&&symm(m*m*m)

)

cout<<"m="<

}

int symm(long n)

{ long i,m;

i=n; m=0;

while(②i!=0 )

{ ③m=m*10+i%10 ;

i=i/10;

}

return (m==n);

}

3.已知head指向一个单向链表,如下图:

主程序中调用add函数能求出链表中所有结点数据域的和sum并返回。

struct link

{ int data;

struct link *next;

}

int add(struct link *heak)

{ struct link *p;

int s=0;

p=①head ;

while(p)

{ s+=②p->data ;

p=③p->next ;

}

return (s);

}

void main()

{ struct link *head;

……/* 表示省掉的程序段,创建链表*/

sum=add(head);

printf("%d\n",sum);

}

4.下面程序功能是统计文本data.txt中各种大写字母的个数,将统计结果存放在数组count 中,(字母'A'的个数存入count[0]中,字母'B'的个数存入count[1]……依此类推),输出统计结果,一行输出5个。请填空。

# include

# include

void main()

{ FILE *fp;

static int count[26]={0};

int i;

char ch;

if(①(fp=fopen("data.txt", "r"))==NULL )

{ printf("Cannot open the file!\n");

exit(0);

}

while(! feof(fp))

{ ②ch=fgetc(fp) ;

if(ch>='A'&&ch<='Z') count[③ch-'A' ]++;

}

for(i=0;i<26;i++)

{

if(i%5==0) printf("\n");

printf("count[%d]=%-5d",count[i]);

}

fclose(fp);

}

5.下面程序的功能是输入两个字符串a和b和一个标志flag,当flag=0时,将b连在a 后;当flag=1时,将a连在b后;否则返回空指针。请填空。

# include

# include

char *stradd(char *s,char *t,int f)

{ char *p;

if(f==0)

{ p=s;

s+=strlen(s);

①while(*s++=*t++ ) ;

}

else if(f==1)

{ p=t;

while(*t++);

t--;

while(*s)

*t++=*s++;

②*t='\0' ;

}

③else p=NULL ;

return p;

}

void main()

{ char a[100],b[100],*str;

int n;

printf("Input string a and b:\n");

gets(a);

gets(b);

printf("Input flag:");

scanf("%d",flag);

str=stradd(a,b,n);

printf("Output: %s\n",str);

}

三、程序填空( 每空2分,共30分)

下面程序是一个求数组元素之和的程序。主程序中定义并初始化了一个数组,然后计算该数组各元素之和,并输出结果。函数Sum计算数组元素之和。请完成下列程序。

# include

int TotalSum(int [],int );

void main()

{ int a[5]={2,3,6,8,10};

int Total;

Total=①TotalSum(a,5) ;

count<<"Aumof array: "②Total <

}

int TotalSum(int array[],int len)

{ int sum=0;

for(int i=0;i

③sum+=array[i] ;

return sum;

}

输入一个8位二进制数,将其转换为十进制数输出。

# include "iostream.h"

double power(double x,int n);

void main(void)

{ int i;

int value=0;

char ch;

cout<<"Enter an 8 bit binary number ";

for(i=7;i>=0;i--)

{ cin>>ch;

if(①ch=='1' )

value+=②power(2,i) ;

}

cout<<"decimal value is "<

}

double power(double x,int n)

{ double val=1.0;

while(n--)

③val=val*x ;

return(val);

}

3. 以下程序是判断输入的字符串是否是“回文”(顺读和倒读都一样的字符串叫回文,如level),请填空。

# include "stdio.h"

# include "string.h"

void main()

{

char s[81],*p1,*p2;

int n;

gets(s);

n=strlen(s);

p1=s;

p2=①s+n-1 ;

while(②*p1!= '\0' )

{ if(*p1!=*p2) break;

else { p1++; ③p2-- ; }

}

if(p1

else printf("Yes\n");

}

4. 下面程序功能是检查一个4阶矩阵是否对称(即对所有的i,j,都有num[i][j]=num[j][i]),请填空。

# include

void main()

{

int num[4][4];

int i,j,flag=0;

printf("Input array num:\n");

for(i=0;i<4;i++)

for(j=0;j<4;j++)

scanf("%d",①&num[i][j] );

for(i=0;i<4;i++)

for(j=0;j<4;j++)

if(②num[i][j]!=num[j][i] )

{ flag=1; break; }

if(③flag==1 ) printf("No\n");

else printf("Yes\n");

}

5. 下面程序的功能是从键盘输入一字符串,将该字符串与一文本文件进行比较,打印出也之相同的行的行号和内容。void comp( )用于文件的比较,文件名用命令行参数提供。请填空。

# include "stdio.h"

# include "string.h"

# include "stdlib.h"

FILE *fp;

void comp(char *string)

{ int line=0;

char str[100];

①while(!feof(fp) )

{ fgets(str,100,fp);

str[strlen(str)-1]='\0';

line++;

②if(strcmp(str,string)==0)

printf("%d:%s\n",line,str);

}

}

void main(int argc,char **argv)

{

char string[100];

if(argc!=2)

{ printf("Error \n");

exit(0);

}

if(fp=③fopen(argv[1],"r") )==NULL)

{ printf("Can't open file %s!\n",argv[1]);

exit(0);

}

printf("Please input the string:\n");

gets(string);

comp(string);

fclose(fp);

}

1.以下程序能创建一张包含有4名学生信息的单向链表并输出。

# include

# include

# define LEN sizeof(struct student)

struct student

{ int data;

①struct student *next ;

};

int num=1;

struct student *creat()

{ struct student *head,*p1,*p2;

head=p1=p2=(struct student *)malloc(LEN);

scanf("%d",&p1->data);

while(num<4)

{ p1=(struct student *)malloc(LEN);

scanf("%d",&p1->data);

②p2->next=p1 ;

p2=p1;

num++;

}

p2->next=NULL;

return(head);

}

main()

{ struct student *head,*p;

head=creat();

p=head;

if(head!=NULL)

do{ printf("%d ", p->data);

③p=p->next

;

}while(p!=NULL);

}

2.下面程序功能是在一个字符串中找出最大的字符并放在第一个位置上,并将该字符前的原字符往后顺序移动,如:cbyab 变成ycbab。

# include

# include

main()

{ char str[80],*p=str,*q,max;

gets(p);

max=*(p++);

while(*p!=0)

{ if(max<*p)

{ max=*p;

①q=p ;

}

p++;

}

p=q;

while(②p>str )

{ *p=*(p-1);p--; }

③*p=max ;

puts(p);

}

3.以下程序能统计低于平均成绩的人数,并将低于平均成绩的分数存放到below数组中。

# include

int fun(int score[],int m,int below[])

{ int i,k=0,aver=0;

for(i=0;i

①aver+=score[i] ;

aver/=m;

for(i=0;i

if(score[i]

{ ②below[k]=score[i] ;

k++;

}

return(k);

}

main()

{ int i,n,below[9];

int score[9]={10,20,30,40,50,60,70,80,90};

n=③fun(score,9,below) ;

printf("%d\n",n);

printf("Below the average scoer are:\n");

for(i=0;i

printf("%d ",below[i]);

}

4.下面程序的功能是求出数组a的两条对角线上的元素之和。

# include

main()

{ int a[3][3]={1,3,6,7,9,11,14,15,17};

int sum1=0,sum2=0,i,j;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

if(①i==j )

sum1+=a[i][j];

for(i=0;i<3;i++)

for(②j=2 ; ③j>=0

;j--)

if(i+j==2)

sum2+=a[i][j];

printf("sum1=%d , sum2=%d\n",sum1,sum2);

}

5.将三个职工的数据(编号,姓名,年龄)从键盘输入,存放到一个新建的二进制文件employee 中去。

# include

main()

{ FILE *fp;

struct employee

{ long code;

char name[20];

int age;

}em;

int k;

if((fp=fopen("employee",①"wb" ) )==NULL)

{ printf(“error\n”);

exit(0);

}

for(k=0;k<3;k++)

{ scanf("%ld%s%d",&em.code,https://www.360docs.net/doc/5e4723016.html,,&em.age);

fwrite(②&em ,sizeof(struct employee),③ 1 ,fp );

}

fclose(fp);

return(1);

1. 以下程序的功能是将磁盘文件a.dat中的10个整数读入并进行升序排序。

# include

void sort(int *p,int n)

{ int i,j,t;

for(i=0;i

for(j=i+1;j

if(①p[i]>p[j] )

{ t=p[i]; p[i]=p[j]; p[j]=t; }

}

main()

{ int a[10],i;

FILE *fp;

fp=fopen("a.dat","r");

for(i=0;i<10;i++)

②fscanf(fp,"%d",&a[i] ) ;

fclose(fp);

for(i=0;i<10;i++)

printf("%d ",a[i]);

printf("\n");

③sort(a,10)

;

for(i=0;i<10;i++)

printf("%d ",a[i]);

printf("\n");

}

2. 下列程序用递归算法实现,输入任意一个整数,在各数位之间插入空格后输出。

# include

main()

{ long int n;

void func(long);

scanf("%ld",&n);

①func(n) ;

}

void func(②long m )

{ if(m>=0)

③func(m/10) ;

printf(" %d",m%10);

}

3. 程序功能:有10个数按升序放在一个数组中,输入一个数,要求用折半查找该数是数组中的第几个元素,如果该数不在数组中,打印出“NO”。折半查找法:设数组长度为n,则将输入的数m与a[n/2]比较,若ma[n/2],则将a[n/2]到a[n]的数继续折半进行查找。

# include

main()

{ int a[10]={12,32,45,62,71,76,80,85,90,95};

int num,bott,top,mid;

printf("Input a number:\n");

scanf("%d",&num);

bott=0;

top=9;

while(bott<=top)

{ mid=①(bott+top)/2 ;

if(num==a[mid])

{ printf("%d is the %d number\n",num,mid+1); break; }

else if(num

else bott=mid+1;

}

if(③bott>top

) printf("No\n");

}

4. 有两个字符串str1和str2,将str1和str2对应字符中ASCII码值较大者存入字符数组str3的对应位置,若str1和str2长度不一致,则将较长字符串中剩余字符直接连接到str3的末尾。例如:str1存放字符串"abaxef",str2存放字符串"bac",则str3中的字符串为"bbcxef"。

# include

# include

main()

{ int i;

char str[80],str2[80],str3[80]=" ";

char *p1,*p2;

p1=str1; p2=str2;

gets(str1); gets(str2);

for(i=0;①str1[i]!= '\0'&&str2[i]!= '\0'

;i++)

{ if( *(p1+i) > *(p2+i) ) str3[i] = *(p1+i);

else str3[i] = *(p2+i);

}

if(②strlen(str1)>strlen(str2) ) strcat(str3,p1+i);

else ③strcat(str3,p2+i ) ;

printf("Result:%s\n",str3);

}

5. 下面程序的功能是计算100至1000之间有多少个数其各位数字之和是5。

# include

void main()

{ int i,s,k,count=0;

for(i=100;i<=1000;i++)

{

s=0;

k=i;

while(①k>0 )

{

s=s+k%10;

k=②k/10 ;

}

if(s!=5) ③continue ;

else count++;

}

printf("total=%d\n",count);

}

1. 以下程序可把输入的十进制数以十六进制的形式输出。

# include

void main()

{

char b[17]="0123456789ABCDEF";

int c[64],d,i=0,base=16;

long n;

scanf("%ld",&n);

do{

c[i]=①n%base ;

i++;

n=n/base;

}while(n!=0);

for(i--; i>=0; --i)

{

d=②c[i] ;

printf("%c",③b[d] );

}

printf("\n");

}

2. 有一个数是43634,其左右对称,求比它大的对称数中最小的那个。

# include

void main()

{

long int i=43634,j;

int count,ch[10];

do

{

i++;

j=i;

count=0;

while(j)

{

ch[count]=j%10;

j=①j/10 ;

count++;

}

if(②ch[0]==ch[4] && ch[1]==ch[3] )

break;

}while(1);

printf("%ld\n",③i );

}

3. 以下程序能统计并输出1至100之间所有能被3整除但不能被7整除的所有正整数。

# include

# define M 100

void fun( int m, int *p, int *t)

{

int i,num=0;

for(i=1;i<=m;i++)

if(①i%3==0&&i%7!=0 )

②p[num++]=i ;

*t=num;

}

void main()

{

int a[M],n,k;

③fun ( M,a,&n ) ;

for(k=0;k

if( (k+1) % 5 == 0 )

printf("\n");

else

printf("%3d",a[k]);

printf("\n");

}

4. 下面程序功能是从字符串s中删除任何在第二个字符串t中出现的字符,然后输出。

# include

void main()

{

char s[81],t[20],*p1,*p2;

int i;

scanf("%s%s",①s,t );

printf("\n");

p1=s;

for(i=0;*(p+i);i++)

for(p2=t;*p2;p2++)

while(②*(p1+i)==*p2 )

strcpy(③p1+i ,p1+i+1 );

printf("%s",s);

}

5. 文件stu.txt中存放了一个学生各门课程的考试分数,数据之间以逗号分割。下面程序将文件中的所有分数取出,计算出平均分,显示在屏幕上,还要把这个平均分数按原文件的数据格式记录在原文件中。例如文件stu.txt中存放的为“60.5,81.1,93.5,90.5”,则程序运行后文件stu.txt中为“60.5,81.1,93.5,90.5,78.366669”。

# include

void main()

{

int n=0;

float x=0.0,y;

FILE *fp;

fp=①fopen ("stu.txt","r+" ) ;

do

{

fscanf(②fp,"%f",&y );

if(feof(fp)) break;

x+=y;

n++;

}while(1);

x=x/n;

printf("average=%f",x);

③fprintf ( fp,"%f",x ) ;

fclose(fp);

}

1. 下面程序的功能是:将给定的整数x按指定的位置插入已有的10个整数序列并输出,插入操作在被调函数insert中完成。(指定的位置应大于等于0且小于等于10)# include

void insert(①int *p 或int p[] ,int i,int x)

{ int j;

for(j=9;j>=i;j--)

②p[j+1]=p[j] ;

p[i]=x;

}

void main()

{ int i,a[11]={1,2,3,4,56,7,8,9,10},wz,x;

printf("Input the inserting position,>=0&<=10\n");

scanf("%d",&wz);

printf("Input a inserting data\n");

scanf("%d",&x);

③insert(a,wz,x) ;

for(i=0;i<=10;i++)

printf("%d ",a[i]);

}

2. 函数fun的功能是求x的y次方(y>=1),请填空。

double fun(double x,int y)

{ ①int i ;

double z;

for(i=1,z=1;②i<=y ; i++)

z=z*x;

③return z ;

}

3. 下面程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。

main()

{ float x,max,min;

scanf("%f",&x);

max=x;

min=x;

while(①x>=0 )

{ if(x>max) max=x;

if(②x

scanf("%f",③&x );

}

printf("\n Max=%f\n Min=%f\n",max,min);

}

4. 下面程序是利用插入排序法对数组a进行降序排列。插入排序的思路是:先对数组的头两个元素进行排序,然后把第三个元素插入已排好序的前两个元素,再插入第四个,依次完成全部元素的插入排序。请填空。

# include

void main()

{ int a[10];

int i,j,t;

for(i=0;i<10;i++)

scanf("%d",&a[i]);

for(i=1;i<10;i++)

{ t=a[i];

j=①i-1 ;

while(j>=0 && t>a[j])

{ ②a[j+1]=a[j] ;

j--;

}

③a[j+1]=t ;

}

for(i=0;i<10;i++)

printf("%4d",a[i]);

printf("\n");

}

5. 下面程序从一个二进制文件中读入结构体数据,并把结构体数据显示在屏幕上。请填空。

# include

struct rec

{ int num;

float total;

};

reout(①FILE *f )

{ struct rec r;

while(!feof(f))

{ fread(&r,②sizeof(stract rec) , 1,f );

printf("%d,%f\n", ③r.num, r.total );

}

}

void main()

{ FILE *f;

f=fopen("bin.dat","rb");

reout(f);

fclose(f);

}

1. 以下程序的功能是计算下列级数之和

s=1+x+x2/2!+x3/3!+…+x n/n!

double sum(int x,int n)

{ int i;

double a,b,s;

a=1.0;b=1.0;s=1.0;

for(i=1;i

{ ①a=a*x;

②b=b*i;

s=s+a/b;

}

return s;

}

void main()

{

int x,n;double s;

scanf("%d,%d",&x,&n);

③s=sum(x,n);

printf("%f\n",s);

}

2. 下面invert函数实现数组元素值的逆置,即a[0],a[9]互换,a[1],a[8]互换,以此类推。请填空。

# include

void main()

{ void invert(int *s,int num);

int a[10]={1,2,3,4,5,6,7,8,9,10},i,n=10;

for(i=0;i<10;i++)

printf("%4d",a[i]);

printf("\n");

invert(a,n-1);

for(i=0;i<10;i++)

printf("%4d",a[i]);

printf("\n");

}

void invert(int *s,int num)

{ int *t,k;

t=s+num;

while(①s

{

k=*s;*s=*t;*t=k;

②s++;

③t--;

}

}

3. 下面程序的功能是:从键盘上输入一个已存在的文本文件名test.txt,分别统计test.txt 文件中A到Z字符(不区分大小写)的个数,并将结果显示在屏幕上。

# include

void main()

{ FILE *fp;

char filename[15];

char c;

char ch='A';

int n[26]={0},i;

scanf("%s",filename);

fp=fopen(①filename,"r");

while(!feof(fp))

{ c=fgetc(fp);

if(c>='a'&&c<='z')

n[②c-…a?]++;

if(c>='A'&&c<='Z')

n[c-'A']++;

}

fclose(fp);

for(i=0;i<26;i++)

{ if(i%5==0) printf("\n");

printf("%c(%c)=%3d\t",③ch+i,ch+32+i,n[i]);

}

}

输出格式如下:

A(a)= 12 B(b)= 6 C(c)= 20 D(d)= 7 E(e)= 26

F(f)= 9 G(g)= 7 H(h)= 7 I(i)= 18 J(j)= 0

4. 下面程序的功能是在数组中同时查找最大元素下标和最小元素下标,分别存放在main 函数的变量max和min中,请填空。

# include

void fun(int *a,int n,int *max,int *min)

{ int i;

*max=*min=0;

for(i=1;i

if(*(a+i)>*(a+*max)) ①*max=i;

else if(*(a+i)<*(a+min)) ②*min=i;

return;

}

void main()

{ int a[10]={3,15,2,26,9,28,7,1,4,12};

int max,min;

③fun(a,10,&max,&min);

printf("max=%d,min=%d\n",max,min);

}

程序输出为:

max=5,min=7

5. 下面程序的功能是将已按升序排好序的两个字符串a和b中的字符按升序归并到字符串c中。即字符串c为:abcdefghijklmnpq

# include

# include

void main()

{ char a[]="acegikm";

char b[]="bdfhjlnpq";

char c[80],*p;

int i=0,j=0,k=0;

while(a[i]!='\0'&&b[j]!='\0')

{ if(a[i]

else ②c[k]=b[j++] ;

k++;

}

c[k]='\0';

if(③*(b+j)!=?\0?)p=b+j;

else p=a+i;

strcat(c,p);

puts(c);

}

1. 下面程序的功能是:统计C语言源程序(file3-1.c)文件中的“{”和“}”是否配对,即“{”和“}”的数目是否相等。如果配对,则输出“OK!”否则输出“ERROR!”。

# include

# include

void main()

{

FILE *fp;

①char ch ;

int ch1=0,ch2=0;

if((fp=fopen("file3-1.c",②“r”))==NULL)

{

printf("file open error!\n");

exit(0);

}

while(!feof(fp))

{

③ch =fgetc(fp);

if(ch1=='{')

ch1++;

if(ch2=='}')

ch2++;

}

fclose(fp);

if(ch1==ch2)

printf("OK!\n");

else

printf("ERROR!\n");

}

2. 下面程序的功能是:将一个数插入到一个有序数组(从小到大)中,使插入以后的数组仍然有序。采用的算法是:确定要插入数的位置,然后将比这个数大的数后移一个位置,在空出的位置上将该数插入。

# include

void main()

{

int a[11]={1,3,6,7,9,12,14,18,19,20},x;

int i,p;

printf("Input a data:\n");

scanf("%d",&x);

for(i=0,p=10;i<10;i++)

if(x

{

①p=i ;

break;

}

for(i=9; ②i>=p ;i--)

a[i+1]=a[i];

③a[p]=x ;

printf("The array:\n");

for(i=0;i<11;i++)

printf("%4d",a[i]);

printf("\n");

}

3. 以下程序能统计一个英文句子(以. 号结束)中最长单词的长度。

# include

int count(char *p)

{

int word=0,max=0;

while(*p!='.')

{

while((*p<='z')&&(*p>='a')||(*p<='Z')&&(*p>='A'))

{

①word++ ;

p++;

}

if(②max

max=word;

③word=0 ;

p++;

}

return max;

}

void main()

{

char str[80];

gets(str);

printf("max=%d\n",count(str));

}

4. 下面程序中,函数SumColumMin的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。主函数中输出和值。

# include

# define M 2

# define N 4

void SumColumMin(int a[M][N],int *sum)

{

int i,j,k,s=0;

for(i=0;i

{

k=0;

for(j=0;j

if(a[k][i]>a[j][i]) k=j;

s+=①a[k][i] ;

}

②*sum =s;

}

void main()

{

int x[M][N]={3,2,5,1,4,1,8,3},s;

SumColumMin(③x,&s );

printf("%d\n",s);

}

5. 以下程序采用直接选择法对数组a中的10个数进行降序排列,然后按每行5个数的格式输出。

# include

void main()

{

int i,j,k,t,a[10]={1,4,3,5,7,9,2,0,6,8};

for(j=0;j<9;j++)

{

k=j;

for(i=j+1;i<10;i++)

{

if(*(a+i)>①a[k] )

k=i;

}

t=a[j];

*(a+j)=②a[k] ;

*(a+k)=t;

}

for(i=0;i<10;i++)

printf( (i%5) ? "%4d" : ③“%4\n”, *(a+i) );

printf("\n");

}

1. 下面函数的功能是将一个字符串逆序存放,请填空。

# include

# include

void fun(char str[])

{

①char m;

int i,j;

for(i=0,j=strlen(str); ②i<=j;i++,j--)

{

m=str[i];

二年级C语言程序填空题答题技巧

二年级C语言程序填空 题答题技巧 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

程序填空题答题技巧 程序填空题是计算机等级考试中的重点中度难点,占有的分值为30 分。做填空题时注意掌握答题技巧。 填空题的分类: (一)、数学题目 解题方法: 1.量赋初值,如果这个量以后用到的是加减运算,则赋初值0或者为是0.0;如果以后用到的是乘除运算,则赋初值为1或者是1.0; 2.循环条件的填空,分析表达式的规律,看表达式中的最后一项的值是否到了第m项或者是第n项,如果到了第m或者第n项,则在循环中的第二个表达式中用到的是i<=m或者是i<=n; 3.循环条件中如果用的是while 语句,则循环变量的初值应该在while 的外面定义和赋初值,在循环语句中必须给变量自加或者是自减。如果没有则一般填的是i++; 例子:int i=1; while(i<5){} (二)、字符串题目 1、循环的条件是判断该字符是否和结束符\0相等,如果相等,说明该字符串结束,否则说明没有结束,继续循环。While(s[i]!=’\0’) 2、把一个数字字符转变成对应的数值的格式是:ch=’1’-‘0’;把大写字母转变为小写字母 的格式:c h=c h+32 ;把小写字母转变为大写字母的格式为:ch=ch-32 ;

3、区分好字符数组中的指针和指针所指的值的关系。在循环语句中,当指针往后走一个位置的时候,用的是指针的自加,而不是指针所指的值的自加。 char ch[5]=”abcd” ; char * p; p=ch; p指向哪个字母?*p 代表什么?p指向下一个字母如何操作?p++还是(*p)++ 4、掌握字符数组中的函数的使用的格式。即:strlen(a)、strcmp(a,b)、strcpy(a,b) 、sizeof() 、strcat()的使用格式。注意里面的格式中使用的都是指针或数组名。 5、字符数组结束时都有一个结束符:‘\0’;在字符数组中的题目中的结束后要加上一个结束符。 (三)、结构体题目 结构体类型的题目 1、看清题目的意思。 2、定义结构体变量时的格式。 struct student *stu1 stu1->name struct student stu2 https://www.360docs.net/doc/5e4723016.html, 3、结构体中成员的调用格式。结构体中的成员分为多种类型,调用结构体重的成员,使用的是“.”或者是“—>”运算符。得到结构体中学生分数,a— >score[i]。 4、如果返回的是结构体的话,函数的返回类型必须是结构体类型。调用函数的格式中,调用的若是结构体数组,则只用写结构体数组名。 (四)、函数题目(重点)

2012年计算机二级C语言程序填空题及答案解析精选

2012年计算机二级C语言程序填空题及答案解析精选 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ① ; b= ② ; a= ③ ; printf("a=%d,b=%d\n",a,b); } 【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。#include double pi(long n) { double s=0.0; long i; for(i=1;i<=n;i++) s=s+ ① ; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p if(s[p] ① ; } main() { int a[10],i,*k=&i; for(i=0;i<10;i++) scanf("%d",&a[i]); findmin(a,10,k); printf("%d,%d\n",*k,a[*k]); } 【3.4】下面程序的功能是计算1-3+5-7+ …… -99+101的值。

main() { int i,t=1,s=0; for(i=1;i<=101;i+=2) { ① ; s=s+t; ② ; } printf("%d\n",s); } 【3.5】有以下程序段: s=1.0; for(k=1;k<=n;k++) s=s+1.0/(k*(k+1)); printf("%f\n",s); 填空完成下述程序,使之与上述程序的功能完全相同。 s=0.0; ① ; k=0; do { s=s+d; ② ; d=1.0/(k*(k+1)); }while( ③ ); printf("%f\n",s); 【3.6】下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while( ① ) { if(x>amax) amax=x; if( ② ) amin=x; scanf("%f",&x); } printf("\namax=%f\namin=%f\n",amax,amin); }

计算机二级考试C语言练习题及答案

一、选择题 1). 下列叙述中正确的是( )。 A.调用printf( )函数时,必须要有输出项 B.使用putchar( )函数时,必须在之前包含头文件stdio.h C.在C语言中,整数可以以二进制、八进制或十六进制的形式输出 D.调节getchar( )函数读入字符时,可以从键盘上输入字符所对应的ASCII码 正确答案:B 答案解析:选项A,若printf函数没有输出项,且格式字符串中不含格式信息,则输出的是格式字符串本身,若格式字符串含有格式信息,运行时则出现错误提示;选项C,在C 语言中,整数可以十进制、八进制或十六进制的形式输出;选项D,getchar函数是从标准输入设备读取一个字符。 2). 以下结构体类型说明和变量定义中正确的是( ) A.typedef struct { int n; char c; } REC; REC t1,t2; B.struct REC ; { int n; char c; }; REC t1,t2; C.typedef struct REC; { int n=0; char c=′A′; } t1,t2; D.struct { int n; char c; } REC; REC t1,t2; 正确答案:A 答案解析:定义结构体类型的一般形式为:struct 结构体名 {成员列表};struct 结构体名后不能加″;″号,所以选项B、C)错误,选项D中定义无名称的结构体类型同时定义结构体变量形式应为struct t1,t2;选项A为用户自定义类型,其为正确的定义形式。 3). 若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是( ) A.一对一 B.一对多 C.多对一 D.多对多 正确答案:B 答案解析:由于B和C有一一对应的联系,而A和B只间有一对多的联系,则通过关系之间的传递,则A和C之间也是一对多的联系。 4). 关于C语言的变量,以下叙述中错误的是( ) A.所谓变量是指在程序运行过程中其值可以被改变的量 B.变量所占的存储单元地址可以随时改变 C.程序中用到的所有变量都必须先定义后才能使用 D.由三条下划线构成的符号名是合法的变量名 正确答案:B

C语言程序填空

程序填空 第1题 题目:求出二维数组中的最大元素值。 1). max_value(3,4,a) 2). array[][4] 3). max=array[i][j] 第2题 功能:数组名作为函数参数,求平均成绩。 1). a 2). av 3). &sco[i] 4). sco 第3题 题目:求数组中的最大值。 程序中有4个空,填空使程序完整。 1). &a[i] 2). a[i] 3). int x,int y 或 int y,int x 4). z 或 ( z ) 第4题 题目:找出数组中最大值和此元素的下标,数组元素的值由键盘输入。 1). a + i 或 &a[i] 2). p-a 或 -a+p 3). > 4). *s 第5题 功能:通过函数的递归调用计算阶乘。 1). power(n-1)*n 或 power( n - 1 ) * n 2). &n 3). y 第6题 题目:有5个学生,每个学生有3门课的成绩,从键盘上输入以上数据(包括学生的学号、姓名和3门课的成绩),计算出平均成绩,将原有数据和计算出来的平均成绩存放在磁盘文件“stu”中。 1). *fp 2). k/n 3). &a[i] 4). &b[i] 第7题 题目:下面程序的功能是:将一个字符串中下标为m的字符开始的全部字符复制成为另一个字符串。程序中有4个空,填空使程序完整。 1). char *p1 , *p2 ;

2). p1= str1 + m; 3). *p2++=*p1++; 或 *(p2++)=*(p1++); 4). strcopy(str1,str2,m); 第8题(10.0分)题号:422 题目:文件操作。 1). FILE 2). r 3). fclose(fp) 第9题 题目:输入学生成绩并显示。 1). i++ 或 ++i 或 i=i+1 2). &stu[i] 3). &stu[i] 4). printf 第10题 题目:输入数组,最大的与最后一个元素交换,最小的与第一个元素交换,输出数组。 1). i<9 或 9>i 2). min=p 3). l=*p 4). array[9]=k 第11题 题目:以下程序的功能是删除一个字符串中的所有数字字符。 1). s[i]!= 或 *(s+i)!= 2). || 3). s[j]=s[i] 4). delnum(item) 第12题(10.0分)题号:436 题目:输出两个整数中大的那个数,两个整数由键盘输入。 1). (int *) 2). p1 3). *p1 第13题 题目:以下程序的功能是删除字符串中的指定字符,字符串和要删除的字符均由键盘输入。 1). str 2). !='\0' 3). str[k]=str[i] 4). str[k]='\0' 第14题 题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以!结束。

全国计算机等级考试二级C语言真题

2009年3月二级C语言笔试真题((1)—(10)每小题2分,(11)—(50)每题1分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)下列叙述中正确的是 A)栈是“先进先出”的线性表 B)队列是“先进先出”的线性表 C)循环队列是非线性结构 D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构 (2)支持子程序调用的数据结构是 A)栈B)树C)队列D)二叉树 (3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是 A)10B)8C)6D)4 (4)下列排序方法中,最坏情况下比较次数最少的是 A)冒泡排序 B)简单选择排序 C)直接插入排序 D)堆排序 (5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是 A)编译软件 B)操作系统 C)教务管理系统 D)汇编程序 (6)下面叙述中错误的是 A)软件测试的目的是发现错误并改正错误 B)对被调试的程序进行“错误定位”是程序调试的必要步骤 C)程序调试通常也称为Debug D)软件测试应严格执行测试计划,排除测试的随意性 (7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 A)提高耦合性降低内聚性有利于提高模块的独立性 B)降低耦合性提高内聚性有利于提高模块的独立性

C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度 (8)数据库应用系统中的核心问题是 A)数据库设计 B)数据库系统设计 C)数据库维护 D)数据库管理员培训 (9)有两个关系R,S如下: 由关系R通过运算得到关系S,则所使用的运算为 A)选择B)投影C)插入D)连接 (10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域 (11)以下选项中合法的标识符是 A)1-1B)1—1C)-11D)1-- (12)若函数中有定义语句:intk;,则 A)系统将自动给k赋初值0 B)这时k中值无定义 C)系统将自动给k赋初值-1 D)这时k中无任何值 (13)以下选项中,能用作数据常量的是 A)o115B)0118C))115L (14)设有定义:intx=2;,以下表达式中,值不为6的是A)x*=x+1 B)x++,2*x C)x*=(1+x)

计算机二级考试考试题库操作题附答案

请在【答题】菜单下选择【进入考生文件夹】命令,并按照题目要求完成下面的操作。 注意:以下的文件必须保存在考生文件夹下 文慧是新东方学校的人力资源培训讲师,负责对新入职的教师进行入职培训,其PowerPoint演示文稿的制作水平广受好评。最近,她应北京节水展馆的邀请,为展馆制作一份宣传水知识及节水工作重要性的演示文稿。 节水展馆提供的文字资料及素材参见"水资源利用与节水(素材).docx",制作要求如下: 1. 标题页包含演示主题、制作单位(北京节水展馆)和日期(XXXX年X月X日) 2. 演示文稿须指定一个主题,幻灯片不少于5页,且版式不少于3种。 3. 演示文稿中除文字外要有2张以上的图片,并有2个以上的超链接进行幻灯片之间的跳转。 4. 动画效果要丰富,幻灯片切换效果要多样。 5. 演示文稿播放的全程需要有背景音乐。 6. 将制作完成的演示文稿以"水资源利用与节水.pptx"为文件名进行保存。 1.【解题步骤】 步骤1:首先打开Microsoft PowerPoint 2010,新建一个空白文档。 步骤2:新建第一页幻灯片。单击【开始】选项卡下【幻灯片】组中的"新建幻灯片"下拉按钮,在弹出的下拉列表中选择"标题幻灯片"命令。新建的第一张幻灯片便插入到文档中。 步骤3:根据题意选中第一张"标题"幻灯片,在"单击此处添加标题"占位符中输入标题名"北京节水展馆",并为其设置恰当的字体字号以及颜色。选中标题,在【开始】选项卡下【字体】组中的"字体"下拉列表中选择"华文琥珀"命令,在"字号"下拉列表中选择"60"命令,在"字体颜色下拉列表中选择"深蓝"命令。 步骤4:在"单击此处添加副标题"占位符中输入副标题名"XXXX年X月X日"。按照同样的方式为副标题设置字体为"黑体",字号为"40"。 2.【解题步骤】 步骤1:按照题意新建不少于5页幻灯片,并选择恰当的有一定变化的版式,至少要有3种版式。按照与新建第一张幻灯片同样的方式新建第二张幻灯片。此处我们选择"标题和内容"命令。 步骤2:按照同样的方式新建其他三张幻灯片,并且在这三张中要有不同于"标题幻灯片"以及"标题和内容"版式的幻灯片。此处,我们设置第三张幻灯片为"标题和内容",第四张为"内容与标题",第五张为"标题和内容"。 步骤3:为所有幻灯片设置一种演示主题。在【设计】选项卡下的【主题】组中,单击"其他"下三角按钮,在弹出的下拉列表中选择恰当的主题样式。此处我们选择"展销会"命令。 3.【解题步骤】 步骤1:依次对第二张至第五张的幻灯片填充素材中相应的内容。此处填充内容的方式不限一种,考生可根据实际需求变动。 步骤2: 根据题意,演示文稿中除文字外要有2张以上的图片。因此,我们来对演示文稿中相应的幻灯片插入图片。此处,我们选中第三张幻灯片,单击文本区域的"插入来自文件的图片"按钮,弹出"插入图片"对话框,选择图片"节水标志"后单击"插入"按钮即可将图片应用于幻灯片中。实际效果如图所示。 步骤3:选中第5张幻灯片,按照同样的方式插入图片"节约用水"。实际效果如图所示。 步骤4:根据题意,要有2个以上的超链接进行幻灯片之间的跳转。此处我们来对第二张幻灯片中的标题"水的知识"设置超链接,由此链接到第三张幻灯片中去。选中第二张幻灯片中"水的知识",在【插入】选项卡下的【链接】组中单击"超链接"按钮,弹出"插入超链接"对话框。单击"链接到"组中的"本文档中的位置"按钮,在对应的界面中选择"下一张幻灯片"命令。 步骤5:单击"确定"按钮后即可在图中看到实际效果。 步骤6:再按照同样的方式对第四张幻灯片中的标题"节水工作"设置超链接,由此链接到第五张幻灯片中去。 4.【解题步骤】 步骤1:按照题意,为幻灯片添加适当的动画效果。此处我们选择为第二张幻灯片中的文本区域设置动画效

c语言程序填空题

#include void main() { int i,j,a[3][4],min; for(i=0;i<3;i++) for(j=0;j<4;j++) scanf("%d",a[i][j]); max=a[0][0]; for(i=0;i<3;i++) for(j=0;j<4;j++) if(min void main() { int i,j,arr1[2][3]={{2,4,6},{1,3,5}},arr2[3][2]; printf("Array arr1:\n"); for(i=0;i<2;i++) { for(j=0;j<3;j++) { printf("%5d ", arr1[i][j]); Arr2[j][i]= arr1[i][j]; } printf("\n"); } printf("Array arr2:\n"); for(i=0;i<3;i++) { for(j=0;j<2;j++) printf("%5d ",arr2[i][j]); printf("\n"); } } #include void main() { int f[20]={1,1},i; for(i=2;i<20;i++) f[i]=f[i-1]+f[i-2]; for(i=0;i<20;i++) { if(i%5==0) printf("\n"); printf("%5d ", f[i]);

} } #include void main() { int j,m; for(j=3;j<=1000;j++) { for(m=2;m<=j-1;m++) if( ) break; if(m>j-1) ; } } #include #define IA(x) =’a’&&x<=’z’> void main() { char str[80],*s,ch; int count=0; gets(str); s=str; while(*s) { ch=*s++; if(IA(ch)) count++; } printf("the sum is %d\n", count); } #include void main() { int i,s,sum; sum=0; for(i=0;i<50;i++) { scanf("%d",&a); if(a<0) ;

二级C语言程序填空

【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ① ; b= ② ; a= ③ ; printf("a=%d,b=%d\n",a,b); } 【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。#include double pi(long n) { double s=0.0; long i; for(i=1;i<=n;i++) s=s+ ① ; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p if(s[p] ① ; } main() { int a[10],i,*k=&i; for(i=0;i<10;i++) scanf("%d",&a[i]); findmin(a,10,k); printf("%d,%d\n",*k,a[*k]); } 【3.4】下面程序的功能是计算1-3+5-7+ …… -99+101的值。 main() { int i,t=1,s=0; for(i=1;i<=101;i+=2)

{ ① ; s=s+t; ② ; } printf("%d\n",s); } 【3.5】有以下程序段: s=1.0; for(k=1;k<=n;k++) s=s+1.0/(k*(k+1)); printf("%f\n",s); 填空完成下述程序,使之与上述程序的功能完全相同。 s=0.0; ① ; k=0; do { s=s+d; ② ; d=1.0/(k*(k+1)); }while( ③ ); printf("%f\n",s); 【3.6】下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while( ① ) { if(x>amax) amax=x; if( ② ) amin=x; scanf("%f",&x); } printf("\namax=%f\namin=%f\n",amax,amin); } 【3.7】下面程序的功能是将形参x的值转换为二进制数,所得的二进制数放在一个一维数组中返回,二进制数的最低位放在下标为0的元素中。 fun(int x,int b[])

全国计算机二级考试C语言(最全复习资料)

二级公共基础知识作为必考内容出现,出题形式为选择题前10道,占考试总分的10%。 考试其它比重: 1、C语言程序的结构占总分1% 2、数据类型及其运算占总分4% 3、选择结构程序设计占比分的3% 4、循环结构占比分的5% 5、数组的定义和引用占比分的5% 6、函数占比分的5% 7、编译预处理占比分1% 8、指针占比分的5% 9、结构体占比分的3% 10、位运算占比分的2% 11、文件操作占比分的2% 考试方式 上机考试,时长120分钟 单选题40分(含公共基础10分),操作题60分(包括程序填空题、程序修改题、程序设计题) 第一部分 C语言知识复习资料 第一章C语言基本知识(90分) 【考点1】C程序 用C语言编写的程序称为C语言源程序,源程序文件的后缀名为“.c”。源程序经编译后生成后缀名为“.obj”的目标文件,再把目标文件与各种库函数连接起来,生成“.exe”可执行文件。C语言有三种基本结构:顺序结构、选择结构、循环结构。

【考点2】main函数 又称主函数,是C程序的入口。main后面跟一对小括号和一对花括号,花括号括起来的部分称为main 函数的函数体。一个C程序从main函数开始执行,到main函数体执行完结束,而不论main函数在整个程序中的位置如何。每一个程序有且仅有一个main函数,其他函数都是为main函数服务的。 【考点3】存储形式 计算机在电脑中保存数据是采用二进制形式,由0或1构成的二进制称为位(bit),八个位构成一个字节(Byte),1个Byte=8个bit。二进制、八进制、十六进制转化为十进制采用乘法,十进制转化为二进制、八进制、十六进制采用除法。数据的存放位置就是它的地址。 【考点4】注释 是对程序的说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。 【考点5】书写格式 每条语句的后面必须有一个分号,分号是语句的一部分。一行内可写多条语句,一个语句可写在多行上。 【考点6】标识符 是标识名字的有效字符序列,可以理解为C程序中的单词。 标识符的命名规则是: (1)标识符只能由字母、数字和下划线组成,字母区分大小写。 (2)标识符的第一个字符必须是字母或下划线,不能为数字。 C语言标识符分如下3类 (1)关键字。它们在程序中有固定的含义,不能另作他用。如int、for、switch等。 (2)预定义标识符。预先定义并具有特定含义的标识符。如define、include等。 (3)用户标识符。用户根据需要定义的标识符,符合命名规则且不与关键字相同。 【考点7】常量与变量 常量是指在程序运行过程中,其值不能改变的量。常量分为整型常量、实型常量、字符常量、字符串常量、符号常量5种。在程序运行过程中其值可以改变的量称为变量。C语言中没有字符串变量。存放字符串使用字符数组。 【考点8】整型数据 整型常量有十进制、八进制、十六进制三种表示形式,没有二进制形式。八进制整型常量加前导数字0,十六进制常量加前导0X,八进制常量中不会出现8。 整型变量可分为基本整型(int)、短整型(short)、长整型(long)、和无符号整型(unsigned)。一个基本整型占4个字节。其它类型的整型占用字节数和取值范围详见教材第9页。 【考点9】实型数据 实型数据有两种表示形式:小数形式和指数形式。掌握判定指数形式合法性。 口诀:E前E后必有数,E后必须为整数。 实型变量分为单精度型(float)和双精度型(double),单精度型占四个字节。 【考点10】算术运算 算术运算符一共有+、—、*、/、%这五个。求余运算要求运算对象只能为整型,除法运算符两边运算对象都为整型时,运算结果也为整型即舍掉小数部分。 【考点11】强制类型转换 将一个运算对象转换成指定类型,格式为(类型名)表达式,注意小括号位置。 【考点12】赋值 赋值运算符为“=”,不同于关系等于“= =”。赋值表达式格式为:变量名=表达式,赋值运算符左边必须为变量,赋值运算是把赋值运算符右边表达式的值赋给左边变量。

计算机二级考试题目

Word 2010 高级应用综合操作题打开素材库中的“典型试题”文件,按下面的操作要求进行操作,并把操作结果存盘。 1.操作要求 (1)对正文进行排版。 ①使用多级符号对章名、小节名进行自动编号,代替原始的编号。要求: * 章号的自动编号格式为:第X 章(例:第1 章),其中:X 为自动排序,阿拉伯数字序号。对应级别1。居中显示。 *小节名自动编号格式为:,X为章数字序号,Y为节数字序号(例:),X、Y均为阿拉伯数字序号。对应级别2。左对齐显示。 ②新建样式,样式名为:“样式”+考生准考证号后5 位。其中: *字体:中文字体为“楷体” ,西文字体为“ Time New Roman ”,字号为“小四” 。 *段落:首行缩进2 字符,段前行,段后行,行距倍;两端对齐。其余格式,默认设置。 ③对正文中的图添加题注“图” ,位于图下方,居中。要求: *编号为“章序号” -“图在章中的序号” 。例如,第1 章中第2 幅图,题注编号为1-2。 *图的说明使用图下一行的文字,格式同编号。 *图居中。 ④对正文中出现“如下图所示”的“下图”两字,使用交叉引用。 *改为“图X-Y”,其中“ X-Y'为图题注的编号。 ⑤对正文中的表添加题注“表” ,位于表上方,居中。 *编号为“章序号” -“表在章中的序号” 。例如,第1 章中第1 张表,题注编号为1-1。 *表的说明使用表上一行的文字,格式同编号。 *表居中,表内文字不要求居中。 ⑥对正文中出现“如下表所示”中的“下表”两字,使用交叉引用。 *改为“表X-Y,其中“ X-Y'为表题注的编号。 ⑦对正文中首次出现“ Access'的地方插入脚注。 *添加文字“ Access是由微软发布的关联式数据库管理系统。”。 ⑧将②中的新建样式应用到正文中无编号的文字。不包括章名、小节名、表文字、表和图的题注、脚注。 (2)在正文前按序插入三节,使用Word 提供的功能,自动生成如下内容: ①第1 节:目录。其中:“目录”使用样式“标题1”,并居中;“目录”下为目录项。 ②第2 节:图索引。其中:“图索引”使用样式“标题1”,并居中;“图索引”下为图索引项。 ③第3 节:表索引。其中:“表索引”使用样式“标题1”,并居中;“表索引”下为表索引项。 (3)使用适合的分节符,对正文进行分节。添加页脚,使用域插入页码,居中显示。要求: ①正文前的节,页码采用“i ,ii』[,???”格式,页码连续。 ②正文中的节,页码采用“ 1,2,3,…”格式,页码连续。 ③正文中每章为单独一节,页码总是从奇数开始。 ④更新目录、图索引和表索引。

c语言程序填空题(1)

三、程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ① ; b= ② ; a= ③ ; printf("a=%d,b=%d\n",a,b); } 【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include double pi(long n) { double s=0.0; long i;

for(i=1;i<=n;i++) s=s+ ① ; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

计算机二级C语言题库之程序填空

计算机二级C语言题库之程序填空 找Armstrong(水仙花)数:371=3*3*3+7*7*7+1*1*1 #include <stdio.h> #include<math.h> void main() { int i,a,b,c; for(i=100;i<=999;i++) { a=i/100; _______1_______ // b=i%100/10; c=i%10; if (________2________) // a*a*a+b*b*b+c*c*c = = i printf("%d is a Armstrong number!\n",i); } } 输入1个整数后,输出该数的位数。(例:输入3214则输出4,输入-23156则输出5)。#include <stdio.h> void main() { int n,k=0; scanf("%d",&n); while( _____1_____ ){ // n!=0 k++; _____2_____; // n=n/10 } printf("%d\n",k); } 求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。 #include <stdio.h> #include <math.h> void main() { int n,s=0; scanf("%d",&n); ______ 1 ______ // if (n<0) n=-n; while(n!=0) { ______ 2 ______ // s+=n%10; n=n/10; } printf("%d\n",s);

最新计算机二级C 考试复习资料(全)

计算机二级C++考试复习资料(全) 一、C++概述 (一) 发展历史 1980年,Bjarne Stroustrup博士开始着手创建一种模拟语言,能够具有面向对象的程序设计特色。在当时,面向对象编程还是一个比较新的理念,Stroustrup博士并不是从头开始设计新语言,而是在C语言的基础上进行创建。这就是C++语言。 1985年,C++开始在外面慢慢流行。经过多年的发展,C++已经有了多个版本。为次,ANSI和ISO的联合委员会于1989年着手为C++制定标准。1994年2月,该委员会出版了第一份非正式草案,1998年正式推出了C++的国际标准。 (二) C和C++ C++是C的超集,也可以说C是C++的子集,因为C先出现。按常理说,C++编译器能够编译任何C程序,但是C和C++还是有一些小差别。 例如C++增加了C不具有的关键字。这些关键字能作为函数和变量的标识符在C 程序中使用,尽管C++包含了所有的C,但显然没有任何C++编译器能编译这样的C程序。 C程序员可以省略函数原型,而C++不可以,一个不带参数的C函数原型必须把void写出来。而C++可以使用空参数列表。 C++中new和delete是对内存分配的运算符,取代了C中的malloc和free。 标准C++中的字符串类取代了C标准C函数库头文件中的字符数组处理函数。 C++中用来做控制态输入输出的iostream类库替代了标准C中的stdio函数库。 C++中的try/catch/throw异常处理机制取代了标准C中的setjmp()和longjmp()函数。 二、关键字和变量 C++相对与C增加了一些关键字,如下: typename bool dynamic_cast mutable namespace static_cast using catch explicit new virtual operator false private template volatile const protected this wchar_t const_cast public throw friend true reinterpret_cast try bitor xor_e and_eq compl or_eq not_eq bitand 在C++中还增加了bool型变量和wchar_t型变量: 布尔型变量是有两种逻辑状态的变量,它包含两个值:真和假。如果在表达式中使用了布尔型变量,那么将根据变量值的真假而赋予整型值1或0。要把一个整型变量转换成布尔型变量,如果整型值为0,则其布尔型值为假;反之如果整型值为非0,则其布尔型值为真。布儿型变量在运行时通常用做标志,比如进行逻辑测试以改变程序流程。 #include iostream.h int main() { bool flag; flag=true; if(flag) cout< return 0; }

全国计算机等级考试二级MS-Office-高级操作题考点及步骤整理

全国计算机等级考试二级MS-Office-高级操作题考点及步骤整理

全国计算机等级考试二级MS-Office-高级操作题考点及步骤整理

WORD 根据示例图片对文档进行字体调整及内容排版(邀请函、海报、新闻、政府工作报告) ?字体、段落、行距、分页、页边距、装订线、主题图片、自动生成目录、超链接、注脚、繁简转换、另存pdf ?正文首行缩进标题不变(全选-右击样式里的“正文”样式-修改-格式-段落-正文文本首行缩进)?复制另一个Word样式到此文档(打开另一个文档-文件-选项-加载项-管理:模板-管理器-单击右侧“关闭文件”-“打开文件”选择需要编辑文档-选择需要复制的样式复制-关闭 ?软回车改成硬回车(替换^l成^p,即特殊符号里“手动换行符”到“段落标记”) ?对文字设域(插入-文档部件-域) ?提要栏(插入-文本框-XX型提要栏) ?表格:更改样式、边框、作图(插入图表再在弹出的excel里更改数据) ?封面(日期协同变化可以删除日期框改成文本框)?页眉页脚正文开始且奇偶页不同(先设置奇偶页不同-分页)、标题自动显示在页眉区(添加页眉-插入-文档部件-域-类别:链接和引用-StyleRef-标

题样式-从底部向顶部检索-确定) ?邮件合并功能制作内容相同、收件人不同的多份请柬,根据性别在后面添加先生或女士(先有excel 里的电子表格信息,再在word里邮件-开始邮件合并-信函-选择收件人-使用现有列表-选择excel里的工作表-确定-word里选择要替换的位置,点击“插入合并域”姓名-点击“规则域”-点击如果那么否则添加条件-“完成并合并”-编辑单个文档-全部-确定) ?只插入二级、三级标题(引用-目录-插入目录-选项-去掉目录级别里不需要的数字-确定) ?将文档中的表格内容保存至“表格”部件库(选中表格-插入-文档部件-将所选内容保存到文档部件库-更改名称,库为表格) EXCEL ?定义名称 ?数据透视表、分类汇总(需要先排序)、迷你折线图(定位在单元格-插入-迷你折线图-选择单行数据-确定)、分列(数据-固定列宽) ?将单元格日期“2013年1月20日”显示成“2013

全国计算机等级考试二级笔试样卷C语言程序设计(含答案)

全国计算机等级考试二级笔试样卷C语言程序设计 【打印】【字体:大中小】【关闭】 一、选择题((1)~(10)、(21)~(40)每题2分,(11)~(20)每题2分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)下列选项中不符合良好程序设计风格的是 A)源程序要文档化B)数据说明的次序要规范化 C)避免滥用goto语句D)模块设计要保证高耦合、高内聚 (2)从工程管理角度,软件设计一般分为两步完成,它们是 A)概要设计与详细设计B)数据设计与接口设计

C)软件结构设计与数据设计 D)过程设计与数据设计 (3)下列选项中不属于软件生命周期开发阶段任务的是 A)软件测试B)概要设计 C)软件维护 D)详细设计 (4)在数据库系统中,用户所见的数据模式为 A)概念模式B)外模式C)内模式D)物理模式 (5)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和A)编码设计B)测试阶段C)运行阶段 D)物理设计 (6)设有如下三个关系表 R S T

下列操作中正确的是 A)T=R∩S B)T=R∪S C)T=R×S D)T=R/S (7)下列叙述中正确的是 A)一个算法的空间复杂度大,则其时间复杂度也必定大 B)一个算法的空间复杂度大,则其时间复杂度必定小 C)一个算法的时间复杂度大,则其空间复杂度必定小 D)上述三种说法都不对 (8)在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为A)63 B)64 C)6 D)7 (9)数据库技术的根本目标是要解决数据的

c语言程序填空(含答案)

【程序填空】 功能:写一个函数,求一个字符串的长度,在main函数中输入字 符串,并输出其长度。 len=length(str...); I.nt length ........(p) N.++..; P.++..; 【程序改错】 功能:将一个字符串中的大写字母转换成小写字母。 bool (char) ......fun(char *c) fun= c;(return *c) .......... puts(*p);(putchar(*p)) ............. 【程序设计】 功能:编写函数实现两个数据的交换,在主函数中输入任 意三个数据,调用函数对这三个数据从大到小排序。 ------------------------------------------------*/ #include void wwjt(); void swap(int *a,int *b) { /**********Program**********/ /********** End **********/ } main() { int x,y,z; scanf("%d%d%d",&x,&y,&z); if(xn2 .....) swap(pointer1,pointer2);

全国计算机等级考试二级教程C语言程序设计课后习题答案

全国计算机等级考试二级教程C语言程序设计课后习题答案

《全国计算机等级考试二级教程--C语言程序设计》课后习题答案 第一章 1.1 EXE 1.2 C OBJ EXE 1.3 顺序选择循环 第二章 一. 选择题 2.1 B 2.2 D 2.3 B 2.4 A 2.5 C 2.6 A 2.7 B 2.8 B 2.9 D 2.10 C 2.11 B 2.12 B 2.13 A 二. 填空题 2.14 11 12 2.15 4.2 4.2 2.16 { } 定义执行语句 2.17 关键字用户标识符 2.18 int float double 2.19 float a1=1; float a2=1; 2.20 存储单元 2.21 3.5 2.22 (a*b)/c a*b/c a/c*b 2.23 把常量10赋给变量s 2.24 位1或0 2.25 8 127 0111111 -128 10000000 2.26 32767 -32768 0000 2.27 10 8 16 三. 上机改错题 2.28 #include "stdio.h"; 删除行尾的";" main(); / * main function * / 删除")"后的";",注释中的*要紧靠“/”,即应为“/*”和“*/” 函数开始处遗失了一个“{” float r,s ; /*/*r is radius*/,/* s is area of circuilar*/*/ 注释符号不可嵌套使用 r = 5.0 ; s = 3.14159 * r * r ; printf("%f\n",s) 行尾遗失了“;” 函数结束处遗失了一个“}” 2.29 #include "stdio.h" main /* main function */ main后遗失了“()” { float a,b,c,v; /*a,b,c are sides, v is volume of cube */ a=2.0; b=3.0; c=4.0 行尾遗失了“;”

相关文档
最新文档