c语言题型总结

时间:2019-05-12 05:01:35下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《c语言题型总结》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《c语言题型总结》。

第一篇:c语言题型总结

C语言题型总结

1.字母的输入与输出:

#include main(){ char ch1,ch2,ch3;printf(“请输入三个字母:”);scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);printf(“输出三个字母:%c %c %c”,ch1-32,ch2-32,ch3-32);}

#include main(){ char ch1,ch2,ch3;printf(“请输入三个字母:”);ch1=getchar();ch2=getchar();ch3=getchar();printf(“输出三个字母:%3c%3c%3c”,ch1-32,ch2-32,ch3-32);}

#include main(){ char ch1,ch2,ch3;printf(“请输入三个字母:”);ch1=getchar();ch2=getchar();ch3=getchar();putchar(ch1-32);putchar(ch2-32);putchar(ch3-32);} 2.分类显示:

#include main(){ int m;printf(“请输入m:k”);scanf(“%d”,&m);

} if(m>0)printf(“%d is greater than 0”);else printf(“%d is less than or equal to 0”);3.分段函数:

#include main(){ float x,y;scanf(“%f”,&x);if(x<2)

y=1+x;else if(x<4)

y=1+(x-2)*(x-2);else

y=(x-1)*(x-1)+(x-2)*(x-2);printf(“x=%f,y=%f”,x,y);} 4.成绩分等级: #include main(){ int s,num;char grade;

printf(“请输入成绩s:”);scanf(“%d”,&s);

num=s/10;

switch(num){

case 10:grade='A';break;

case 9:grade='A';break;

case 8:grade='B';break;

case 7:grade='C';break;

case 6:grade='D';break;

case 5:

case 4:

case 3:

case 2:

case 1:

case 0:grade='E';break;

deflaut:break;

} } printf(“The score is %d,the grade is %cn”,s,grade);5.求最大公约数、最小公倍数:

#include main(){ int m,n,i,b;printf(“请输入两个数:”);

scanf(“%d,%d”,&m,&n);for(i=m;i>0;i--)

if(m%i==0&&n%i==0)

break;b=(m*n)/i;printf(“最大公约数:%d,最小公倍数:%d”,i,b);} 6.1000以内素数:

#include main(){ int i,j;for(i=1000;i>0;i--)

{

for(j=2;j

if(i%j==0)

break;

if(j==i)

printf(“%d,”,i);} } 7.1000以内最大的10个质数求和:

#include main(){ int i,j,sum=0,n=0,a[10];for(i=999;i>2;i=i-2)

{

for(j=2;j

if(i%j==0)

break;

if(j==i)

{

a[n]=i;

n++;

if(n>10)

break;

} } for(n=0;n<10;n++)

sum+=a[n];

printf(“%d+%d+%d+%d+%d+%d+%d+%d+%d+%d=%dn”,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],sum);}

#include main(){ int i,j,sum=0,n=0,a[10];for(i=999;i>2;i=i-2)

{

for(j=2;j

if(i%j==0)

break;

if(j==i)

{

a[n]=i;

sum+=a[n];

n++;

if(n>9)

break;

} } for(n=0;n<10;n++)

printf(“%d,”,a[n]);

printf(“%d”,sum);}

8.各位的和:

#include main(){ int n,c;c=0;scanf(“%d”,&n);

while(n!=0)

{

c+=n%10;

n=n/10;}

printf(“%d”,c);} 9.判断几位数:

#include main(){ int n,c;c=0;scanf(“%d”,&n);

while(n!=0)

{

c++;

n=n/10;}

printf(“%d”,c);} 10.奇数项相加,偶数项相减:

#include main(){ int i;double sum;i=1,sum=0;while(i<=20){

if(i%2==0)

sum=sum-1.0/i;

else

sum=sum+1.0/i;

i++;} printf(“%lfn”,sum);} 11.100-200以内找质数:

#include main(){ int i,j,sign;for(i=100;i<=200;i++)

{

sign=1;

for(j=2;j

if(i%j==0)

{

sign=0;break;

}

if(sign==1)

printf(“%d is/n”,i);

else

printf(“%d is not/n”,i);} } 12.10个成绩的最高、最低、平均值

#include main(){ int a[10],max,min,i;float aver,sum;max=min=sum=0;printf(“请输入10个成绩:”);for(i=0;i<10;i++)

scanf(“%d”,&a[i]);for(i=0;i<10;i++){ sum+=a[i];aver=(float)sum/10;

if(a[i]>max)

max=a[i];

if(a[i]

min=a[i];} printf(“max=%d,min=%d,aver=%f”,max,min,aver);} 13.数组删除一个元素

#include main(){ int a[10],num,i;printf(“请输入数组:”);for(i=0;i<10;i++)

scanf(“%d”,&a[i]);printf(“删除其中一个数num=”);scanf(“%d”,&num);for(i=num;i<10;i++)

a[i-1]=a[i];

a[9]=0;

printf(“后来的数组为:”);for(i=0;i<10;i++)

printf(“%d”,a[i]);} 14.数组添加一个元素

#include main(){ int a[10],b[11],num,i,t;printf(“请输入数组:”);for(i=0;i<10;i++)

scanf(“%d,”,&a[i]);printf(“添加其中一个数num=”);scanf(“%d,”,&num);printf(“添加的数为:”);scanf(“%d”,&t);

for(i=0;i

b[i]=a[i];

b[num-1]=t;for(i=num;i<=10;i++)

b[i]=a[i-1];

printf(“后来的数组为:”);for(i=0;i<11;i++)

printf(“%d,”,b[i]);} 15.数组形式计算成绩

#include main(){ int a[5][3],i,j;float aver1[5],aver2[3],s,s1,s2;printf(“请输入数组:n”);for(i=0;i<5;i++){

s1=0;

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

{

scanf(“%d”,&a[i][j]);

s1+=a[i][j];

}

aver1[i]=(float)s1/3;} for(j=0;j<3;j++){

s2=0;(不能随便动位置)

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

s2+=a[i][j];

aver2[j]=(float)s2/5;

s+=aver2[j];} for(i=0;i<5;i++)

printf(“student%d:%3.1f,”,i,aver1[i]);for(j=0;j<3;j++)

printf(“course%d:%3.1f,”,j,aver2[j]);

printf(“Average:&3.1f”,s/3);} 输入成绩时,一行三个,之后回车

16.函数的多级调用

float myfabs(float x){ return x>0?x:-x;} float myfunc(float r){ return 2*myfabs(r)+1;} main(){ float f=0.5;printf(“%f”,myfunc(f));} 17.三个数比较大小

#include int getMax(int a,int b,int c){ int t;if(a>b)

t=a;else

t=b;if(c>t)

t=c;

return t;} int getMin(int a,int b,int c){ int k;if(a>b)

k=b;else

k=a;if(c

k=c;return k;} int getMax(int a,int b,int c);int getMin(int a,int b,int c);main(){ int a,b,c;printf(“请输入三个整数:n”);scanf(“%d,%d,%d”,&a,&b,&c);printf(“最大值是:%d,最小值是:%d”,getMax(a,b,c),getMin(a,b,c));} 18.求最大公约数、最小公倍数(调用函数)

#include int gcd(int a,int b){ int i;for(i=a;i>0;i--)

if(a%i==0&&b%i==0)

break;return i;} int mul(int a,int b){ int j;j=a*b/gcd(a,b);return j;} int gcd(int a,int b); int mul(int a,int b); main(){ int a,b;printf(“请输入两个整数:n”);scanf(“%d,%d”,&a,&b);printf(“最大公约数是:%d,最小公倍数值是:%d”,gcd(a,b),mul(a,b));} 19.二维数组找最大行、最小行,之后换行

#include main(){

int n,i,j,nMax=0,nMin=0,temp;int a[10][10];printf(“请输入正整数:n”);

scanf(“%d”,&n);printf(“请输入二维数组a[%d][%d]n”,n,n);for(i=0;i

for(j=0;j

scanf(“%d,”,&a[i][j]);} for(i=0;i

for(j=0;j

{

if(a[i][j]>a[nMax][j])

{

nMax=i;

}

else if(a[i][j]

{

nMin=i;

}

}

if(nMax==nMin)

{

printf(“变换后的二维数组为:n”);

for(i=0;i

{

for(j=0;j

printf(“%d,”,a[i][j]);

printf(“n”);

}

}

else

{

for(j=0;j

{

temp=a[nMax][j];

a[nMax][j]=a[nMin][j];

a[nMin][j]=temp;

}

printf(“变换后的二维数组为:n”);

for(i=0;i

{

for(j=0;j

printf(“%d,”,a[i][j]);

printf(“n”);

}

} }

20.判断某年某月某日是星期几

#include int daysInMonth(int year,int month);main(){

int y,m,d,i,days;int isLeapYear(int year);scanf(“%d,%d,%d”,&y,&m,&d);for(i=2012;i

days+=366;else days+=365;days+=daysInMonth(y,i);for(i=1;i

case 0:

printf(“星期日”);break;case 1:

printf(“星期一”);break;case 2:

printf(“星期二”);break;case 3:

printf(“星期三”);break;case 4:

printf(“星期四”);break;case 5:

printf(“星期五”);break;case 6:

printf(“星期六”);break;} } int isLeapYear(int year){

} {

if(year%400==0||(year%4==0&&year%100!=0))return 1;return 0;int daysInMonth(int year,int month)switch(month){ case 1: case 3: case 5: case 7: case 8:

case 10: case 12:return 31;case 4: case 6:

case 9:

case 11:return 30;case 2:if(isLeapYear(year)==1)

} return 29;

} else return 28;21.字符串的连接

#include main(){ char s1[20],s2[20],*p1,*p2;p1=s1;p2=s2;

printf(“请输入字符串1:”);gets(s1);

printf(“请输入字符串2:”);

gets(s2);while(*p1)

p1++;(先输出p1所指的第一个字母,然后使p1指向下一个字符,再输出,p再自增)

while(*p1++=*p2++);(把*p2的内容赋给*p1,p1,、p2自增,*p2就是表达式的值!指的是字符串的内容,而非对地址赋值)p是指针变量,他不能用来存放字符串,只能存放char变量的地址。

printf(“连接后结果:%sn”,s1);}

#include main(){

} char s1[20],s2[20];int i,j;printf(“请输入字符串s1:”);gets(s1);printf(“请输入字符串s2:”);gets(s2);for(i=0;s1[i]!='';i++);for(j=0;s2[j]!='';j++)

{

} s1[i] ='';s1[i]=s2[j];i++;puts(s1);#include void catStr(char *str1,char *str2);main(){

char str1[20]=“hello”,str2[20]=“world”;printf(“the origin :”);

gets(str1);

gets(str2);

catStr(str1,str2);

printf(“now :”);

puts(str1);

puts(str2);} void catStr(char*str1,char*str2){ while(*str1!='')

str1++;

while(*str2!=''){

*str1++=*str2;

str2++;}

*str1='';}

22.两个数交换

#include void swap(int *p1,int *p2){

} int temp;temp=*p1;*p1=*p2;*p2=temp;main(){ int a=5,b=9,*pa=&a,*pb=&b;

printf(“交换前a=%d,b=%dn”,a,b);

} swap(pa,pb);printf(“交换后a=%d,b=%dn”,a,b);23.求三角形的周长和面积 #include void Process(float f1,float f2,float f3,float *p1,float *p2);main(){ float a,b,c,fArea,fPerimeter;

printf(“nPlease input 3 sides of the triangle:”);

} void Process(float f1,float f2,float f3,float *p1,float *p2){

} float s;s=(f1+f2+f3)/2;*p1=sqrt(s*(s-f1)*(s-f2)*(s-f3));*p2=f1+f2+f3;scanf(“%f%f%f”,&a,&b,&c);Process(a,b,c,&fArea,&fPerimeter);printf(“Area=%f,Perimeter=%f”,fArea,fPerimeter);24.回文数

#include main(){

}

#include main(){

int n,c=0;printf(“Pleasse input the number:”);scanf(“%d”,&n);printf(“The original number is:%ldn”,n);printf(“And now the number is:”);long n;printf(“Pleasse input the number:”);scanf(“%d”,&n);printf(“The original number is:%ldn”,n);printf(“And now the number is:”);while(n){ printf(“%d”,n%10);} n/=10;printf(“n”);getchar();while(n){

c=c*10+n%10;

n/=10;}

} printf(“%d”,c);printf(“n”);getchar();25.字符串的复制

#include void upCopy(char *new,char *old);main(){

char s1[20],s2[20];

gets(s1);

upCopy(s2,s1);

puts(s1);

puts(s2);} void upCopy(char *new,char *old){

while(*old!=''){

if(*old>='A'&&*old<='Z')

*new++=*old;

old++;}

*new='';} 26.初始化一个3X5的二维矩阵,计算前4列的和,保存在每行的最后一个元素中。例如:第一行的和为A[0][0]+ A[0][1] +A[0][2]+ A[0][3],放入A[0][4]中,要求输出原始矩阵和新矩阵。

#include main(){

int A[3][5]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15}},i,j;for(i=0;i<3;i++){ for(j=0;j<5;j++)printf(“%dt”,A[i][j]);

}

printf(“n”);} for(i=0;i<3;i++){ A[i][4]=0;

for(j=0;j<4;j++)A[i][4]+=A[i][j];} for(i=0;i<3;i++){

} for(j=0;j<5;j++)printf(“%dt”,A[i][j]);printf(“n”);27.编制函数mystrcat(char *s1,char *s2),将字符串s2种的数字字符连接到字符串s1的后面。例如s1=”1010”,s2=”Hi1T2”,则连接后的s1为 “101012”。

#include void mytrcat(char *s1,char *s2){

while(*s1!='')

s1++;while(*s2!=''){

if(*s2>='0'&&*s2<='9'){ *s1=*s2;s1++;} s2++;} *s1=*s2;或(*s1='';)

} void mystrcat(char *s1,char *s2);main(){

char *s1[20],*s2[20];printf(“请输入字符串1:”);gets(s1);printf(“请输入字符串2:”);gets(s2);

mytrcat(s1,s2);} puts(s1);28.写一个函数mystrcmp(char *s1,char *s2),其功能和库函数strcmp相同。在主函数中定义字符数组s1和s2并初始化,调用mystrcmp后由main函数输出比较的结果。本题不许使用字符串处理函数。#include char mystrcmp(char *s1,char *s2){

int result;while(*s1!=''){

if(*s1>*s2)return 1;if(*s1<*s2)return-1;

s1++;

s2++;}

return 0; } char mystrcmp(char *s1,char *s2);main(){ char s1[20],s2[20];

int result;printf(“请输入字符串1:”);gets(s1);printf(“请输入字符串2:”);gets(s2);

result=mystrcmp(s1,s2);printf(“%d”,result);} 还有问题,再试试?为啥不行 折半查找 #include #define N 6 main(){

int a[N],i,j,t,mid,x,flag,low,high;printf(“the origin shu zu is:”);for(i=0;i

min=i;

for(j=i+1;j

{

if(a[min]>a[j])

min=j;

}

} {

} } t=a[i];a[i]=a[j];a[j]=t;printf(“now shu zu is: ”);for(i=0;i

printf(“%d,”,a[i]);printf(“please input the number:”);

scanf(“%d”,x);

low=0;high=N-1;while(low<=high){

mid=(high+low)/2;if(x==a[mid]){ flag=1;break;}

if(x>a[mid])

low=mid+1;else high=mid-1;} if(flag==1)

printf(“found:%d”,mid+1);else } printf(“not found”);#include int main(){ int a[20]={1,2,3,4,6,7,8,10,11,13,14,15,16,18,19,21,23,24,26,28};int n,low,high,flag,mid;printf(“输入一个数:”);scanf(“%d”,&n);low=0;high=19;

while(low<=high){ mid=(low+high)/2;if(n==a[mid]){ flag=1;

break;}

if(n>a[mid])

low=mid+1;else

high=mid-1;

} if(flag==1)

printf(“found,%dn”,mid+1);else

printf(“not foundn”);}

第二篇:C语言第一类题型

C语言编程第一周

1.编写一程序P122.C实现以下功能

从键盘读入4个数num1、num2、num3、num4,输出:(num1÷num2的余数)×num3+num4,不需考虑num2为0和计算结果溢出的情况。要求输出的结果中,整数部分宽度为8(不足8时以0补足)、小数部分宽度为7。编程可用素材:printf(“请输入4个数:”)、printf(“n计算结果为:„。请输入4个数:100 30 100.1234567 2

5int main(void){

} 2.编写一程序P134.C实现以下功能

通过键盘输入一串(约定为10个字符),输出每个字符对应的ASCII码值(十进制)。编程可用素材:printf(”n请输入10个字符:“)、printf(”n加密结果为:„。请输入10个字符:Very Good!

加密结果为:86, 101, 114, 121, 32, 71, 111, 111, 100, 33 #include

int main(void){

} 3.编写一程序P721.C实现以下功能

从键盘输入x,y,z的值,编写程序输出以下表达式的值:

x+z%3*(int)(x+y)%2/4

编程可用素材:printf(“please input x,y,z: ”)、printf(“nResult = „。

程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。return 0;char a1, a2, a3, a4, a5, a6, a7, a8, a9, a10;

printf(”n请输入10个字符: “);scanf(”%c%c%c%c%c%c%c%c%c%c“, &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9, &a10);printf(”n加密结果为: %d, %d, %d, %d, %d, %d, %d, %d, %d, %dn“, a1, a2, a3, a4, a5, a6, return 0;int num1, num2, num4;double num3, xx;

printf(”请输入4个数:“);scanf(”%d%d%lf%d“, &num1, &num2, &num3, &num4);xx =(num1 % num2)* num3 + num4;printf(”n计算结果为:%016.7fn“, xx);计算结果为:00001026.2345670 #include a7, a8, a9, a10);please input x,y,z: 2.5,4.7,7 Result = 2.500000 #include

int main(void){

} 4.编写一程序P736.C实现以下功能

从键盘上输入一个四位整数,计算各个位上的数字之和。编程可用素材:printf(”Input a number with 4-digit: “)、printf(”nsum=„n“„。Input a number with 4-digit: 1234 sum=10 #include

int main(void){

}

第二周

1.编写一程序P132.C实现以下功能

在屏幕上输出I can printf n,”t &!。

程序的运行效果应类似地如图1所示。I can printf n,“t &!#include return 0;printf(”Input a number with 4-digit: “);scanf(”%d“, &a1);a2 = a1 % 10;a3 = a1 / 10 % 10;a4 = a1 / 100 % 10;a5 = a1 / 1000;sum = a2 + a3 + a4 + a5;printf(”nsum=%dn“, sum);int a1, a2, a3, a4, a5, sum;return 0;float x, y, m;int zz;

printf(”please input x,y,zz: “);scanf(”%f%f%f“, &x, &y, &zz);m = x + zz % 3 *(int)(x + y)% 2 / 4;printf(”nResult =%fn“, m);int main(void){

}

2.编写一程序P710.C实现以下功能

输入一个小写英文字母,首先输出它及其ASCII码,然后输出其对应的大写字母及其ASCII码。编程可用素材:printf(”Input a lowercase letter: “)、printf(”n„(„)„。

Input a lowercase letter: yy(121)Y(89)#include

int main(void){

} 3.编写一程序P711.C实现以下功能

用scanf输入圆半径r,圆柱高h,求圆周长C1(=2πr)、圆面积S(=πr)、圆柱体积V(=πrh)。(注意:本题中规定圆周率取值为3.14)

编程可用素材:printf(“Input: ”)、printf(“nC1 = „ S = „ V =„。Input: r=1.3, h=5C1 = 8.16 S = 5.31V = 26.53 include #include

int main(void){

printf(”Input: “);scanf(”r=%lf, h=%d“, &rr, &hh);cc = 3.14f * 2 * rr;ss = 3.14f * rr * rr;vv = 3.14f * rr * rr * hh;printf(”nC1 = %.2fn S = %.2fn V = %.2fn“, cc, ss, vv);double rr, cc, ss, vv;int hh;

22printf(”I can printf ,“ &!n”);return 0;char xiao, da;printf(“Input a lowercase letter: ”);scanf(“%c”, &xiao);da = xiaoaa)*(ppcc));printf(“narea=%.2fn”, area);return 0;printf(“Input a character: ”);scanf(“%c”, &aa);printf(“nAscii('%c')= 0x%xn”, aa, aa);char aa;} return 0;6.编写一程序P135.C实现以下功能

通过键盘输入弧度x,输出x的正弦值(可用库函数sin)。编程可用素材:printf(“请输入弧度 x: ”)、printf(“nSin(„)= „n”„。

请输入弧度 x: 1.552Sin(1.55)= 0.99982 #include #include

int main(void){

} 7.编写一程序P259.C实现以下功能

先从键盘读入7个数据(依次为3整数、2字符、2实数),然后按示例格式倒序输出这7个数据。编程可用素材:printf(“请输入7个数据(依次为3整数、2字符、2实数): ”)、printf(“n这7个数据倒序为: ”)。请输入7个数据(依次为3整数、2字符、2实数): 81 192 35 x m 6127.123763 152.351192这7个数据倒序为: 7-152.35119 6-6127.12376 5-m 4-x 3-35 2-192 1-81 #include

int main(void){

}

第三周

1.编写一程序P111.C实现以下功能

x(x只考虑整数int且必须定义为int、但F(x)完全可能超过int的表示范围)通过键盘输入(输入前return 0;printf(“请输入7个数据(依次为3整数、2字符、2实数): ”);scanf(“%d %d %d %c %c %lf %lf”, &a1, &a2, &a3, &a4, &a5, &a6, &a7);printf(“n这7个数据倒序为: 7-%.5f 6-%.5f 5-%c 4-%c 3-%d 2-%d 1-%dn”, a7, a6, a5, a4, a3, int a1, a2, a3;char a4, a5;double a6, a7;return 0;printf(“请输入弧度 x: ”);scanf(“%lf”, &xx);aa = sin(xx);printf(“nSin(%.2f)= %.5fn”, xx, aa);double xx, aa;a2, a1);给出提示Please input x:),然后计算并在屏幕上输出函数值。编程可用素材:printf(“Please input x: ”)、printf(“nF(„)= „。

┌-5x+27

(x<0)

F(x)= ├ 7909

(x=0)

└ 2x-1

(x>0)Please input x: 3F(3)= 5 #include

int main(void){

} 2.编写一程序P113.C实现以下功能

已知某银行整存整取存款不同期限的年息利率分别为:3.15%期限一年,3.63%期限二年,4.02%期限三年,4.69%期限五年,5.36%期限八年。从键盘上输入存钱的本金(以元为单位,必须定义为int且应考虑金额很大的情况)和存款期限(只考虑1,2,3,5,8),求到期时能从银行得到的利息(以元为单位,应考虑有小数,不计复利)。编程可用素材:printf(”Please input benjin,cunqi: “)、printf(”nlixi = „ yuan“„。Please input benjin,cunqi: 10000,8 lixi = 4288.00 yuan #include

int main(void)if(xx > 0){

}

return 0;

fx = 2 *(double)xx5)*(double)xx + 27;printf(”nF(%d)= %.0fn“, xx, fx);int xx;double fx;{

} int bj, cq;double money;

printf(”Please input benjin,cunqi: “);scanf(”%d,%d“, &bj, &cq);money = bj;if(cq == 1){ } {

}

return 0;else {

}

if(cq == 3){ } else {

} if(cq == 5){ } else {

} if(cq == 8){ }

printf(”nlixi = %.2f yuann“, money * 0.0536 * 8);printf(”nlixi = %.2f yuann“, money * 0.0469 * 5);

printf(”nlixi = %.2f yuann“, money * 0.0402 * 3);if(cq == 2){ } printf(”nlixi = %.2f yuann“, money * 0.0363 * 2);else

printf(”nlixi = %.2f yuann“, money * 0.0315);

3.编写一程序P114.C实现以下功能

编写一个简单计算器程序,输入格式为:data1 op data2。其中data1和data2是参加运算的两个数(data1、data2必须定义为int,但二者相加可能超出int能表示的范围),op为运算符,它的取值只能是+、-、*、/、%。编程可用素材:printf(”Please input data1 op data2: “)、printf(”nError!chu shu wei 0.n“)。Please input data1 op data2: 3000 + 2000 3000+2000=5000 #include

int main(void){

printf(”Please input data1 op data2: “);scanf(”%d %c %d“, &data1, &op, &data2);switch(op){

case '+':

aa =(double)data1 + data2;printf(”n%d+%d=%.0fn“, data1, data2, aa);break;aa =(double)data11)int year, month, day, sum;{

case 11:

sum = sum + 30;

case 10:

sum = sum + 31;

case 9:

sum = sum + 30;

case 8:

sum = sum + 31;

case 7:

sum = sum + 31;

case 6:

sum = sum + 30;

case 5:

sum = sum + 31;

case 4:

sum = sum + 30;

case 3:

sum = sum + 31;

case 2:

if(year % 400 == 0 ||(year % 100!= 0 && year % 4 == 0))

{

sum = sum + 29;

}

else

{

sum = sum + 28;

}

case 1:

sum = sum + 31;

break;

default :

;} sum += day;printf(”nIt is the %dth day.n“, sum);

return 0;} 6.编写一程序P737.C实现以下功能

从键盘输入3个整数,输出绝对值最大的数。编程可用素材:printf(”Input 3 numbers: printf(“nThe number with maximum absolute value is „

.n”

„Input 3 numbers: 1,-362, 300

The number with maximum absolute value is-362

“)、。#include #include

int main(void){

} 7.编写一程序P744.C实现以下功能

(1)从键盘输入一个一百分制成绩,如果不在0~100范围内,则要求重新输入数据,直到输入的数据在0~100范围内。

(2)将输入的数据转换成等级‘A’,‘B’,‘C’,‘D’,‘E’。90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。

(3)要求使用switch、case、default语句,结果赋值给变量grade,并将变量grade的值输出到屏幕上。

(4)变量数据类型的选择应适当,在保证满足设计要求精度的情况下,养成不浪费内存空间和计算时间的好习惯。

编程可用素材:printf(”please input the score(0-100): “)、printf(”nscore=„,grade=„。please input the score(0-100): 103 please input the score(0-100): 55.3 score=55.3,grade=E include

int main(void)return 0;printf(“Input 3 numbers: ”);scanf(“%d, %d, %d”, &a1, &a2, &a3);b1 =(int)fabs(a1);b2 =(int)fabs(a2);b3 =(int)fabs(a3);if(b1 >= b2 && b1 >= b3){ } if(b2 >= b1 && b2 >= b2){ } if(b3 >= b1 && b3 >= b2){ } printf(“nThe number with maximum absolute value is %d.n”, max);max = a3;max = a2;max = a1;int a1, a2, a3, b1, b2, b3, max;{

}

第四周

1.编写一程序P226.C实现以下功能

从键盘读入两个整数iBegin和iEnd,要求输出≥iBegin且≤iEnd的所有整数。编程可用素材:printf(“Please Input two number: ”)、printf(“nResult: ”)、printf(“ %d”„。Please Input two number: 51 62 Result: 51 52 53 54 55 56 57 58 59 60 61 62 2.编写一程序P231.C实现以下功能

从键盘读入两个整数iBegin和iCount,要求输出≤iBegin的iCount个整数(后一数为前一数减7)。编程可用素材:printf(“Please Input two number: ”)、printf(“nResult: ”)、printf(“ %d”„。return 0;printf(“please input the score(0-100): ”);scanf(“%f”, &score);while(score < 0 || score > 100){

} switch((int)(score / 10)){

} if(score < 60){ } printf(“nscore=%.1f,grade=En”, score);case 10: case 9:

printf(“nscore=%.1f,grade=An”, score);break;printf(“nscore=%.1f,grade=Bn”, score);break;printf(“nscore=%.1f,grade=Cn”, score);break;printf(“nscore=%.1f,grade=Dn”, score);break;;printf(“please input the score(0-100): ”);scanf(“%f”, &score);float score;case 8: case 7: case 6: default: Please Input two number: 903 8 Result: 903 896 889 882 875 868 861 854 3.编写一程序P125.C实现以下功能

从键盘读入两个字符cBegin和cEnd,要求输出≤cBegin且≥cEnd的所有字符。编程可用素材:printf(“Please Input two char: ”)、printf(“nResult: ”)。Please Input two char: MA Result: MLKJIHGFEDCBA 4.编写一程序P269.C实现以下功能

从键盘读入两个整数iBegin和iEnd,要求按示例输出≤iBegin且≥iEnd的所有整数及其相邻的数。编程可用素材:printf(“Please Input two number: ”)、printf(“nResult: ”)。Please Input two number: 800 795

Result: 800/801 799/800 798/799 797/798 796/797 795/796 #include

int main(void){

}

5.编写一程序P127.C实现以下功能

从键盘读入一个字符cBegin和一个数iCount,要求输出≤cBegin的iCount个字符。编程可用素材:printf(“Please Input a char and a number: ”)、printf(“nResult: ”)。Please Input a char and a number: M 9 Result: MLKJIHGFE #include

int main(void){

printf(“Please Input a char and a number: ”);scanf(“%c %d”, &cBegin, &iCount);int iCount, i, x;char cBegin;return 0;printf(“Please Input two number: ”);scanf(“%d %d”, &iBegin, &iEnd);printf(“nResult: ”);for(i = iBegin;i >= iEnd;i--){ } printf(“n”);printf(“ %d/%d”, i, i+1);int iBegin, iEnd, i;

} printf(“nResult: ”);for(i = cBegin, x = 1;x <= iCount;x++, i--){ } printf(“n”);return 0;printf(“%c”, i);6.编写一程序P140.C实现以下功能

从键盘输入5个字符,输出ASCII值最大的一个字符及其ASCII值。编程可用素材:printf(“请输入5个字符: ”)、printf(“n最大的字符是 „-„n”„。

请输入5个字符: YmAkX最大的字符是 m-109 #include

int main(void){

return 0;7.编写一程序P714.C实现以下功能

用scanf输入10个整数(采用int数据类型),计算所有正数的和、负数的和以及10个数的和。编程可用素材:printf(“Input 10 integers: ”)、printf(“nzhengshu=„,fushu=„,all=„。printf(”请输入5个字符: “);scanf(”%c%c%c%c%c“, &a1, &a2, &a3, &a4, &a5);max = a1;if(a2 > max){ } if(a3 > max){ } if(a4 > max){ } if(a5 > max){ } printf(”n最大的字符是 %c-%dn“, max, max);max = a5;max = a4;max = a3;max = a2;char a1, a2, a3, a4, a5, max;Input 10 integers: 4 6 20-45 35 56-23-4 9 70 zhengshu=200,fushu=-72,all=128 #include

int main(void){

int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, fushu, zhengshu, all;

printf(”Input 10 integers: “);scanf(”%d %d %d %d %d %d %d %d %d %d“, &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9, &a10);fushu = 0;zhengshu = 0;if(a1 > 0){ } else { } if(a2 > 0){ } else { } if(a3 > 0){ } else { } if(a4 > 0){ } else { } fushu += a4;zhengshu += a4;fushu += a3;zhengshu += a3;fushu += a2;zhengshu += a2;fushu += a1;zhengshu += a1;

if(a5 > 0){ } else { } if(a6 > 0){ } else { } if(a7 > 0){ } else { } if(a8 > 0){ } else { } if(a9 > 0){ } else { } if(a10 > 0){ } zhengshu += a10;fushu += a9;zhengshu += a9;fushu += a8;zhengshu += a8;fushu += a7;zhengshu += a7;fushu += a6;zhengshu += a6;fushu += a5;zhengshu += a5;

} else { } all = fushu + zhengshu;printf(”nzhengshu=%d,fushu=%d,all=%dn“, fushu, zhengshu, all);return 0;fushu += a10;8.编写一程序P752.C实现以下功能

键盘输入m,n(约定:m和n均≤1000且为正整数),输出介于m和n(含m和n)中能被3整除且至少有位数字是5的所有整数。编程可用素材:printf(”Input m, n: “)、printf(”nResult: “)。Input m, n: 100,200 Result: 105 135 150 153 156 159 165 195 #include

int main(void){

} printf(”Input m, n: “);scanf(”%d,%d“, &m, &n);printf(”nResult: “);if(m > n){

} else {

} for(;i <= max;i++){

} printf(”n“);

return 0;if((i % 3 == 0)&&(i % 10 == 5 ||(i / 10)% 10 == 5 ||(i / 100)% 10 == 5)){ } printf(” %d“, i);i = m;max = n;i = n;max = m;int m, n, max, i;9.编写一程序P753.C实现以下功能

计算X的Y次方,其中Y为整数(可以是负整数或0),X为实型。注意,程序中不能使用库函数pow或使用同名的变量、函数、单词。编程可用素材:printf(”Input x, y: “)、printf(”nResult: „^„=„。Input x, y: 3.7,5 Result: 3.700000^5=693.439570 #include #include

int main(void){

} 10.编写一程序P215.C实现以下功能

求S=1/1!+1/2!+1/3!+„+1/N!并输出结果(显示时小数部分占16位,计算时要求从第1项开始往后累加)。N为任意自然数(只考虑int型),从键盘读入。编程可用素材:printf(“Please input n: ”)、printf(“nS=1/1!+1/2!+...+1/„!=„。

Please input n: 18 S=1/1!+1/2!+...+1/18!=1.7***0455 #include

int main(void){

printf(”Please input n: “);double ss, j;int n, i;return 0;printf(”Input x, y: “);scanf(”%lf,%d“, &xx, &yy);aa = 1;i =(int)fabs(yy);j = 1;for(;j <= i;j++){ } if(yy < 0){ } printf(”nResult: %f^%d=%fn“, xx, yy, aa);aa = 1 / aa;aa = xx * aa;double xx, aa;int yy, i , j;

} scanf(”%d“, &n);ss = 0;j = 1;for(i = 1;i <= n;i++){

} printf(”nS=1/1!+1/2!+...+1/%d!=%.16fn“, n, ss);return 0;j = j * i;ss = 1 / j + ss;11.编写一程序P716.C实现以下功能

求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字(可取1~9之间的一个值)。例如2+22+222+2222+22222(此时共有5个数相加),其中a值和有几个数相加由键盘输入控制。注意s的值有可能超出int的范围,编程可用素材:printf(”Please input a,n: “)、printf(”na+aa+...=„。

Please input a,n: 2,3 a+aa+...=246 #include

int main(void){

}

第五周

1.编写一程序P211.C实现以下功能

根据输入的n在屏幕上显示对应的以#组成的菱形图案。编程可用素材:printf(“Please input n: ”)。Please input n: 1 # return 0;printf(“Please input a,n: ”);scanf(“%d,%d”, &aa, &nn);j = 0;ss = 0;for(i = 1;i <= nn;i++){

} printf(“na+aa+...=%.0fn”, ss);j = j * 10 + aa;ss = ss + j;double ss, j;int aa, nn, i;### # #include

int main(void){

} 2.编写一程序P724.C实现以下功能

从键盘输入1~9之间的一个数,根据输入的数,输出对应的下三角乘法口诀表。要求积的输出占3个宽度,且左对齐。编程可用素材:printf(“input a number(1~9): ”)。input a number(1~9): 3 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 #include

int main(void){

printf(“input a number(1~9): ”);scanf(“%d”, &num);for(i=1;i<=num;i++){ int i, j, num;return 0;printf(“Please input n: ”);scanf(“%d”, &n);for(i=1;i<=2*n+1;i=i++){

} for(j=1;j<=(2*n+1);j++){

} printf(“n”);if(i+j>=n+2 && i+j<=3*n+2 && i-j>=-n && i-j<=n){ } else { } printf(“");printf(”#“);int n , i, j;

}

} for(j=1;j<=i;j++){ } printf(”n“);printf(”%d*%d=%-3d“, i, j, i * j);return 0;3.编写一程序P740.C实现以下功能

公鸡每只5元,母鸡每只3元,小鸡每3只1元,用M元钱买N只鸡,问公鸡、母鸡、小鸡各几只。编程可用素材:printf(”Input the money: “)、printf(”Input the number: “)、printf(”n cock

hen chickn“)。

Input the money: 100 Input the number: 100

cock

hen chick

0

#include

int main(void){

printf(”Input the money: “);scanf(”%d“, &m);printf(”Input the number: “);scanf(”%d“, &n);printf(”n cock hen chickn“);for(cock=0;cock<=n;cock++){

for(hen=0;hen<=n-cock;hen++){

} for(chick=0;chick<=n-hen-cock;chick = chick +3){

} if(cock + hen + chick == n && cock * 5 + hen * 3 + chick / 3 == m){ } printf(”%6d%6d%6dn“, cock, hen, chick);int m, n, cock, hen, chick;

} }

return 0;4.编写一程序P112.C实现以下功能

设某企业2006年的产值为5000万,计划以后每年的增长率为x(x从键盘输入,例如输入8.75表示8.75%),计算该企业的产值在哪年实现翻番以及翻番时的产值,然后输出(输出时以万为单位,应考虑有小数)。编程可用素材:printf(”Please input x: “)、printf(”nyear = „ nian, chanzhi = „。Please input x: 50.6

year = 2008 nian, chanzhi = 11340.18 #include

int main(void){

} 5.编写一程序P224.C实现以下功能

猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第n(n从键盘输入)天早上想再吃时,就只剩下一个桃子了。求第一天共摘了多少个桃子(不考虑猴子是否真的能吃多少桃子)。编程可用素材:printf(“Please input n: ”)、printf(“ntotal=„”„。Please input n:13 total=12286 #include

int main(void){

printf(“Please input n: ”);scanf(“%d”, &n);int n, i, total;return 0;printf(“Please input x: ”);scanf(“%f”, &x);year = 2006;for(chanzhi=5000;chanzhi<=10000;chanzhi=chanzhi*(x/100+1)){ } printf(“nyear = %d nian, chanzhi = %.2fn”, year, chanzhi);year = year + 1;int year;float x;double chanzhi;

} total = 1;for(i=1;i<=n-1;i++){ } printf(“ntotal=%dn”, total);return 0;total =(total + 1)* 2;6.编写一程序P830.C实现以下功能

求1+2+3+„„+n≤m时的最大n值及和sum(=1+2+3+„„+n),其中m从键盘输入——不得使用解方程、算平方根方法。编程可用素材:printf(“please input m: ”)、printf(“nResult: n=„, sum=„。please input m: 10000 Result: n=140, sum=9870 #include

int main(void){

} 7.编写一程序P223.C实现以下功能

一个球从10000m高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求它在第n(n从键盘输入)次落地时,共经过多少米?第n次反弹多高?编程可用素材:printf(”Please input n: “)、printf(”nsn=„,hn=„。Please input n: 10 sn=29960.937500,hn=9.765625 #include

int main(void){ int h, i, n;double sn, hn;return 0;printf(“please input m: ”);scanf(“%d”, &m);sum =1;for(n=1;sum<=m;){

} printf(“nResult: n=%d, sum=%dn”, nn);n++;sum = sum + n;int m, n, sum;

} 8.编写一程序P745.C实现以下功能

输入两个正整数m和n,求其最大公约数和最小公倍数。注:最大公约数也称最大公因子,指某几个整数共有因子中最大的一个;两个整数公有的倍数称为它们的公倍数,其中最小的一个正整数称为它们两个的最小公倍数。编程可用素材:printf(“please input two integer numbers: ”)、printf(“nthe greatest common divisor is printf(”nthe least common multiple is „。please input two integer numbers: 35 15 the greatest common divisor is 5 the least common multiple is 105 #include

int main(void){

printf(“please input two integer numbers: ”);scanf(“%d %d”, &m, &n);if(m > n){

temp = m;m = n;n = temp;int m , n, zdgys, zxgbs, temp, i;

„、return 0;printf(“Please input n: ”);scanf(“%d”, &n);h = 10000;if(n==1){

} else {

} printf(“nsn=%f,hn=%fn”, sn, hn);for(i=2, sn=h, hn=h;i<=n;i++){

} hn = hn / 2;hn = hn / 2;sn = sn + 2 * hn;hn = h;sn = h;

} } for(i=m;i<=m;i--){

} zxgbs =(n * m)/ zdgys;printf(“nthe greatest common divisor is %d”, zdgys);printf(“nthe least common multiple is %dn”, zxgbs);return 0;if(m%i==0 && n%i==0){

} zdgys = i;break;9.编写一程序P793.C实现以下功能

从键盘读入一个数n(必须使用long int),先逆序输出n的各位数,再输出n的各位数之和。编程可用素材:printf(“请输入一个数:”)、printf(“n该数的各位数之逆序为:”)、printf(“n该数的各位数之和为:%dn”„。请输入一个数:1234567 该数的各位数之逆序为:7654321 该数的各位数之和为:28 #include

int main(void){

} return 0;printf(“请输入一个数:”);scanf(“%ld”, &aa);printf(“n该数的各位数之逆序为:”);for(sum=0;aa!=0;){

} printf(“n该数的各位数之和为:%dn”, sum);bb = aa % 10;aa = aa / 10;sum = sum + bb;printf(“%d”, bb);long int aa;int bb, sum;10.编写一程序P225.C实现以下功能

从键盘读入一个整数Num,按从小到大的顺序依次输出所有满足条件的3位数:该数各位数字的立方和等于Num。编程可用素材:printf(“Please Input a number: ”)、printf(“nResult: ”)、printf(“%5d”„、printf(“not Find!n”)。Please Input a number: 251 Result:

155 236 263 326 362 515 551 623 632 include

int main(void){

}

return 0;int num, aa, bb, cc, n, flag=0;

printf(“Please Input a number: ”);scanf(“%d”, &num);printf(“nResult: ”);for(n=100;n<=999;n++){

} if(!flag){ } else { } printf(“n”);printf(“not Find!n”);aa = n / 100;bb = n % 100 / 10;cc = n % 10;if(aa*aa*aa+bb*bb*bb+cc*cc*cc == num){

} flag = 1;printf(“%5d”, n);

第三篇:计算机二级C语言上机题型总结

全国计算机二级C语言考试上机题型总汇

(一)关于“******”问题

1、将字符串中的前导*号全部删除,中间和后面的*号不删除。void fun(char *a){ char *p=a;while(*p= =’*’)p++;for(;*p!=’’;p++,a++)*a=*p;*a=’’;}

2、只删中间* int i;for(i=0;a[i]= =’*’;i++)for(;h

3、只删尾* while(*a!=’’)a++;a--;while(*a= =’*’)a--;*(a+1)=’’;

4、只留前* int i , j=0;for(i=0;a=’*’;i++);j=i;for(;a;i++)if(a!=’*’)a[j++]=a[i];a[j]=’’;

5、只留中间* int i,j=0;for(i=h;i

6、只留尾* char *t=a;for(;t<=p;t++)if(*t!=’*’)*(a++)=*t;for(;t!=’’;t++)*(a++)=*t;*a=’’;

7、*个数>n个,删多余的*;*个数<=n个,不做任何处理。int i=0, k=0;char *p,*t;p=t=a;while(*t= =’*’){ k++;t++;} if(k>n){ while(*p){a[i]=*(p+k-n);i++;p++} a[i]=’’;}

(二)移动问题

1、若一维数组中有n个整数,要求把下标从p到n-1(p<=n-1)的元素平移到数组前面。int i,j,t;for(i=p;i<=n-1;i++){ t=w[n-1];for(j=n-2;j>=0;j--)w[j+1]=w[j];w[0]=t;}

2、把下标从0到p(p<=n-1)的元素平移到数组最后。int i,j,t;for(i=0;i<=p;i++){ t=w[0];for(j=1;j

3、把字符串str中的字符向前移动,原来第1个字符放串尾,结果仍保存在原串中。ch=str[0];for(i=0;str[i+1];i++)str[i]=str[i+1];str[i]=ch;

4、移动字符串中的内容,把第1到第m个字符平移到串后,把第m+1到后移到前。void fun(char *w, int m){ int i, j;char t;for(i=1,i<=m;i++){ t=w[0];for(j=1;w[j]!=’’;j++)w[j-1]=w[j];w[j-1]=t;} }

(三)排序法

1、冒泡法 for(i=1;ia[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=a[j];}

2、选择法

for(i=0;ia[j])p=j;if(p!=i)t=a[i];a[i]=a[p];a[p]=t;}

3、插入法 for(i=1;it&&j>=0;j--)a[j+1]=a[j];a[j+1]=t;}

(四)Fibonacci问题

1、求Fibonacci数列中小于t的最大的一个数,结果由函数返回。int fun(int t){ int a=1,b=1,c=0,i;do { c=a+b;a=b;b=c;}while(c

2、用递归算法计算数列中第n项的值。long fun(int g){ swich(g){ case 0:return 0;switch(g)case1:case2:return 1;} return(fun(g-1)+fun(g-2));}(五)素数问题

1、将大于整数m且紧靠m的k个非素数存入所指的数组中。void fun(int m,int k,int xx[]){ int i,j,n;for(i=m+1,n=0;n

2、小于或等于lim的所有素数放在aa数组中,该函数返回所求出的素数个数。int fun(int lim, int aa[MAX]){ int i,j,k=0;for(i=2;i<=lim;i++){ for(j=2;j=i)aa[k++]=i;} return k;}

3、将所有大于1小于整数m的非素数存入xx数组中,个数通过k传回。void fun(int m,int *k,int xx[]){ int i,j,n=0;for(i=4;i

{int i, j,t,n=0;for(i=2;i

(六)删除相同数 int fun(int a[],int n){ int i, j=1;for(i=1;i

{ int i,t,j=0;t=a[0];for(i=1;i

(七)统计字符个数,单词个数。

1、按‘0’到‘9’统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中。

void fun(char *tt, int num[]){ int i, j;int bb[10];char *p=tt;for(i=0;i<10;i++){ num[i]=0;bb[i]=0;} while(*p){ if(*p>=’0’&&*p<=’9’)bb[*p-‘0’]++;p++;} for(i=1,j=0;i<10;i=i+2,j++)num[j]==bb[i];}

2、str全部由小写字母和空格字符组成的字符串,num传入字符串长度。统计单词个数。void fun(char *s, int *num){ int I, n=0;for(i=0;i<*num;i++){ if(s[i]>=’a’&&ss[i]<=’z’&&(s[i+1]= =’’|| s[i+1]==’0’))n++;} *num=n;}

3、从’a’到’z’统计一个字符串中所有字母字符各自出现的次数,结果存在数组alf中。void fun(char *tt, int alf[]){ int i;char *p=tt;for(i=0;i<26;i++)alf[i]=0;while(*p){ if(*p>=’A’&&*p<=’Z’)*p+=32;if(*p>=’a’&&*p<=’z’)alf[*p-‘a’]++;p++;} }

4、str字符序列由字符0和1组成。查找0字符连续出现的最长长度,若有几个0字符长度相同,只记录最后1个0字符串相关信息,通过m和k返回最长0字符长度和其下标。void fun(char *str, int *m, int *k){ int i, j=0;int bb[N];char *p=str;*m=0;*k=0;for(i=0;i

5、统计在tt字符串中”a”到”z”26个字母各自出现的次数,并依次放在pp所指数组中。void fun(char *tt,int pp[]){ int i;for(i=0;i<26;i++)pp[i]=0;for(;*tt!=’’;tt++)if(;*tt>=’a’&&*tt<=’z’)pp[*tt-’a’]++;}

6、统计一个长度为n的字符串在另一个字符串中出现的次数。int fun(char *str, char *substr){ int n;char *p,*r;n=0;while(*str){ p=str;r=substr;while(*r)if(*r==*p){r++;p++;} else break;if(*r==’’)n++;str++;} return n;}

7、求出ss所指字符串中指定字符的个数,并返回此值。int fun(char *ss, char c){ int i=0;for(;*ss!=’’;ss++)if(*ss==c)i++;return i;}

8、统计一个长度为2的字符串在另一个字符串中出现的次数。int fun(char *str, char *substr){ int i,j=0;for(i=0;str[i+1]!=’’;i++)if(str[i]==substr[0]&&str[i+1]==substr[1])j++;return j;}

(八)进制转换

1、把str字符串转换成任意进制的数。int fun(char *str, int x, int y){ int sum;int i=0;char *p=str;for(i=0;i

:原进制;y:要转换成的进制。x while(sum!=0){ xx[i]=sum%y;sum=sum/y;i++;} return i;} 注:

(1)将x转换成10进制:sum=sum*x+*p-‘0’;(2)将10进制转换成y: sum%y 得到y进制数的最低位。sum/y 得到y进制数的次低位。

2、str字符串由‘0’和‘1’组成。转换成十进制数。int fun(char *str){ int n;char *p=str;n=*p-‘0’;p++;while(*p){ n=n*2+*p-‘0’;p++;} return n;}

(九)比较字符串长度

1、比较两个字符串的长度,函数返回较短的字符串。char *fun(char *s, char *t){int i,j;for(i=0;s[i]!=’’;i++);for(j=0;t[j]!=’’;j++);if(i<=j)return s;else return t;}

2、从传入的num个字符中找出最长的一个字符串,通过形参指针max传回该串地址。fun(char(*a)[81], int num,char *max){ int i=0;max=a[0];for(i=0;i

(十)最大公约数,最小公倍数

1、int fun(int a, int b){ int r,t;if(a

2、输入两整数m和n,求最大公约数,最小公倍数。while(b!=0){t=a%b;a=b;b=t;} printf(“%d”,”%d”,a, n*m/a);注:

(1)最大公约数:若b/a的非零余数能整除a。(2)最小公倍数:两数乘积除以最大公约数。

第四篇:语言运用题型及解题方法

语言运用题型及解题方法

一、口语交际

方法指点:

审题五要素

1、对象(对方的年龄、身份、职业、文化以及与对方的关系)

2、角色(你是什么身份)注意:人物的身份(年龄、职业、文化程度等)

3、场合(特定的情境)

4、话题(针对什么问题)

5、意图(你说话的目的何在)

6、常用礼貌用语收集:与人相见说“您好”求人帮忙说“劳驾”麻烦别人说“打忧” 祝人健康说“保重”看望别人说“拜访”赞人见解说“高见”请人接受说“笑纳”很久不见说“久违”初次见面说:“久仰”

答题基本格式:称呼+礼貌用语+说话原因+说话目的例题解析:

(一)单一角色型

1、例如:假如你在母亲节这一天给母亲洗一次脚,请写出给母亲洗脚前想说的话。(2分)审题:对象:妈妈角色:孩子事件:母亲节、洗脚

答案:妈妈,从小到大,您在我的身上付出了很多,今天是母亲节,让我来给您洗一次脚,孝敬孝敬您,好吗?

注意:对人用敬辞;对己用谦辞;“您”字挂嘴边;“好吗”作结束。

2、例如:小明的奶奶患了高血压,心里比较紧张,医院给奶奶配了一瓶降血压的药,标签上注有:5mg×100片。(用法与用量)口服一次5mg,一日三次,待血压明显下降后改为一日一次。请你为小明设计一段话,既告诉奶奶如何吃药,又消除奶奶的紧张心理。

答案:奶奶,不要紧张,只要您按时吃药,每次一片,每天三次,血压下降后,一天只须吃一片,您的身体一定会好起来的,您一定会健康长寿的。

实战训练:根据情境说话。(3分)

王平同学到商场买考试用的签字笔,商场售货员是一位40多岁的女同志,王平问道:“?”事后,发现买的签字笔型号不对,回到商场要求更换,他对那个售货员说:“?” 答案:示例:阿姨,你这有考试专用的签字笔吗?(注意:有称呼和问话)

阿姨,不好意思,我刚才买的的签字笔型号不对,能给换一下吗?

(注意:称呼和表歉意,商量的语气)

(二)代为转述型

方法指点:

1、审题,筛选信息

2、注意情景中在时间、地点变化上设置的转述障碍

3、表述得体,简洁流畅

实战训练:请根据下面的语境,写出张琳的转述语。要简明、连贯、得体。不要超过45字。李蓉是班上的语文课代表,因病住院,她的同桌好友张琳星期天到医院探望她。李蓉请张琳把自己写的作文转交给教语文的郝老师,并让张琳代自己向郝老师表示迟交作文的歉意,希望郝老师能批改好,好让张琳后天来时带给她。第二天,张琳把李蓉的作文交给郝老师时,对郝老师说:

答案:郝老师,李蓉生病住院,不能按时交作文,她很抱歉。您批改完后我明天带给她,好吗?易错点:

1、筛选信息不到位,转述点不完整;

2、表述不简洁

(三)采访,邀请型:

方法指点:称呼+礼貌用语+自我介绍+主题(原因+目的 +采访问题)

例题解析:今年5月下旬,我市举办了中国盐城首届茉莉花节暨经贸洽谈会。假如你是兴盐

中学的小记者郑成,在活动期间给你一次向下列对象提问的机会,你应当问什么?

(1)对象一 : 市委书记、市人大常委会主任张九汉

(2)对象二:韩国客商、现代汽车集团会长郑梦九

答案:(1)张书记,您好!我是兴盐中学小记者郑成。您认为举办这次活动,对盐城经济文化的发展有什么重要意义?

(2)郑先生,您好!我是…您觉得我们盐城的投资环境怎么样?

实战训练:编演课本剧是本次活动的项目之一。为了指导同学们编写课本剧,学生会派你去邀请一位剧作家来校作专题报告。见到剧作家时,你会对他说:

答案:老师:你好!我是某某校的学生会干部某某,我校将举行“编写课本剧的活动”,学校特排我来邀请您去为我们同学就这方面的情况作指导,不知道老师在时间上能否安排过来?

(四)复合情境

例题解析:根据下面的情境,补充小明谈话的内容。要求文明得体,清楚连贯。

中考结束后,小明乘火车到北京旅游。

(1)途中,邻座的小伙子拿出一瓶饮料请小明喝。小明想起学过的安全知识,于是礼貌地说:哥哥,谢谢你,我不渴

(2)到了北京,小明在××宾馆518房间住下。为了便于父母跟自己联系,以免他们担心,他用房间的电话拨通了爸爸的手机,说:爸,我到北京了,住在 xx 宾馆 518 房间,你们不用担心。这是我房间的电话,有事就打这个电话找我。

注意:一定挖掘材料信息及隐含信息,让答案滴水不漏

(五)竞选词

方法指点:称呼+ 问候语+自我介绍+推荐理由+意愿+结束语

实战训练:你刚迈进中学的大门,班级要组建班委会,竞选者很多,竞争激烈。假如你想竞选“班长”、“生活委员”、“体育委员”三个岗位中的一个,请根据这一岗位的特长需要,从两个方面介绍自己的优势,力争竞选成功。(竞选词要简短)

示例:大家好!我叫——,活泼开朗的我永远是大家的好朋友。这次我想竞选班长。一是我热爱这个集体,具有较强的责任心,二是我有较强的组织和协调能力。把我班建设成优秀集体是我的目标,竞选成功后我将采取组织演讲比赛、歌咏比赛等形式来丰富大家的学习生活,努力为班级、为大家作贡献。请投我一票!谢谢大家!

二、设计宣传语

方法指点:

1、内容:围绕主题

2、手法:运用比喻、拟人、对偶的修辞手法

3、效果:简洁、生动、过目不忘。

4、特别提示:不能将活动主题作为宣传标语。

5、小窍门:上联=动词+主题中的关键词,再对出相应下联

例题解析:广受关注的国家宏大文化工程——中华文化标志城,经国家发改委立项,确定在我市曲阜、邹城之间的九龙山区建设。并于今年3月1日在北京举行了新闻发布会,向全球征集创意规划。请你就其意义写一句凝练的主题语并提出一个有价值的创意。

答案:弘扬中华优秀传统文化,增强民族文化凝聚力。

实战训练:《滨海晚报》报社将组织中学文学社社员进行“母亲河溯源”活动,沿着家乡的青龙河上溯考察采访,了解家乡的自然环境、民俗文化。你很想参加这次活动,请填写报名表中的下面3项内容。

为这次活动设计一条宣传口号。(必须用两个句式大致整齐的句子,20字以内)

示例:寻根溯源了解青龙,奋发图强报效家乡。(特别提示:注意错别字)

三、地方文化及热点题型

食:担担面:面细无汤,麻辣味鲜灯影牛肉:肉薄味香,入口无渣

龙抄手:皮薄馅嫩汤鲜金丝面:色泽金黄,汤味新鲜,爽滑适口,营养丰富。钟水饺:微甜带咸,兼有辛辣,风味独特韩包子:花纹清晰,皮薄馅饱,松软细嫩 旅游:九寨沟:湖水碧蓝如镜,彩色斑斓秋叶红枫似火,霞光满山

杜甫草堂:品诗圣诗歌忧国忧民览杜甫草堂忘怀古今

武侯祠:武侯祠里有蜀汉群臣塑像诸侯殿前诵前后出师表文

都江堰:赏前朝,敬李冰父子立江岸,沐古堰**

成都整体:古蜀文化名扬四海锦官新城誉满神州

赖汤圆谭豆花味鲜钟水饺龙抄手色美

四川巴蜀:四川旅游景点风光秀巴蜀土特产品价廉物美

峨眉山青城山都江堰山山水水甲天下诸葛亮李太白苏东坡群星璀璨冠神州

漫步三国文化长廊,慨叹水利工程伟大、赞美乐山大佛雄伟惊异三星遗址神秘。实战训练:

“魅力四川”宣传片在央视播出后,引起不小反响。为此学校以“弘扬巴蜀文化”为主题开展了活动。

(1)一位外国友人到四川旅游,请你以导游的身份介绍一处体现巴蜀魅力的名胜古迹。(30字左右)

古迹:成都武侯祠

简介:武侯祠又名“汉昭烈庙”,是纪念三国时期蜀国皇帝刘备和丞相诸葛亮的君臣合庙祠堂,位于成都南门武侯祠大街,是纪念诸葛亮名胜中最负盛名的一处。

(2)请你为这次弘扬巴蜀文化的活动拟出一条宣传标语。

物化天宝,人杰地灵。中华文明的一朵奇葩——巴蜀文化

传播巴蜀文化促进文化交流

(3)如果你来策划,请设计一个活动项目以及简要的活动方案。

活动项目:巴蜀文化活动周活动方案:

一、举办“巴蜀文化”专题讲座

二、开展“巴蜀文化”参访活动

三、畅谈“巴蜀文化”活动感受

四、活动成果展示。

四、开场白

方法指点:称呼+礼貌用语+主题词(排比、比喻、对偶)+引入语(充分利用好材料信息)例题解析:在中国60华诞之际,我班准备组织以“爱国”为主题的班会。你作为主持人,你设计一段开场白:

同学们:大家好!文天祥说:“人生自古谁无死,留取丹心照汗青”;顾炎武说“天下兴亡,匹夫有责”;鲁迅说“寄意寒星荃不察,我以我血荐轩辕”;周恩来总理说“为中华之崛起而读书”……古往今来,爱国主义精神都是中华之魂,它是光照千秋的高尚情操,它是一支点燃中国人智慧和力量的熊熊火炬,爱国主义精神将永远传承下去。同学们,在即将迎来祖国60华诞之际,让我们把最深情的歌唱给祖国,把最深情的祝福献给祖国吧!

实战训练:班上将开展一次文学名著竞赛活动,假如你是主持人,请你为这次活动准备一段开场白。要求:讲明活动的意义,并至少运用一种修辞手法。

【解析】这是一次文学名著竞赛,竞赛需要热烈的气氛,主持人的开场白,除了需要讲明活动的意义,更需要用激情洋溢的语言,“点燃”现场的气氛,让大家产生跃跃欲试的冲动,激发起斗志和热情。本题还要注意“至少运用一种修辞手法”的语言要求。

【参考答案】同学们,阅读文学名著能够引导我们关注人类,关注自然,理解和尊重多样文化;能够培养高尚的道德情操和健康的审美情趣,形成正确的价值观和积极的人生态度。古人云“三日不读书,面目可憎”(引用),让读书成为我们的生活习惯。让我们在古今中外的名著海洋中遨游吧(比喻)。

五、广告赏析及拟写

方法指点:(1)赏析点:修辞、写作手法+内容+作用、效果(2)注意谐音字

实战训练:近来CCTV-10经常播放一条公益广告,即“高度决定视野,角度改变态度,尺度把握人生”。语言典雅凝练,但有很多人不明白其中的意思,请你用简单通俗的语言,解说这个广告要告诉人们的道理或启示。

“高度决定视野”--告诉人们要超越其自身所处的环境去认识世界,从而比其他人更早更广地规划未来。“角度改变态度”--对同一事物,人们的观察角度不同,得出的结论也会不同甚至相反,因此对待事物的态度也会不同。劝勉人们从多角度分析问题。“尺度把握人生”--劝勉人们把握好对待事物的分寸,对事情的处理既不能缺,也不能过,更不能不合时宜,这样才能拥有成功的人生。

五、根据语境仿写

方法指点:句式相同,修辞手法一致,语意连贯

实战训练:

1、青春是美好的。青春是多彩的朝霞,映照着广阔的天地;,;青春是智慧的火花,点缀着灿烂的星空。青春是美丽的鲜花,装扮着绚丽的人生;青春是跳跃的音符,拨动着年轻的心弦。

2.(09四川泸州)仿照划线句在下列横线上再续写两句话,要求句式相同、字数基本相当,语意连贯。(4分)

信心是什么?信心是洒在大地上的阳光,一丝一缕温暖;信心是,;信心是,;拥有了信心,我们就能挺起胸膛,战胜困难,迎接所有挑战!

信心是傲雪盛开的红梅,一朵一分希望;信心是绽放在脸庞的笑容,一点一分力量。(每句2分,1分,1分)

注意:(1)句式结构一致:名词比喻(信心是+动词+介宾方位词+名词),数量词

六、:表格训练

方法指点:注重整体阅读。对这类考题,应当先对材料或图表资料等有一个整体的了解,把握一个大主题或方向。要通过整体阅读,搜索有效信息。

2.重视数据变化。数据的变化往往说明了某项问题,而这可能正是这个材料的重要之处,这也是得到观点的源头。

3.注意图表细节。图表中一些细节不能忽视,它往往起提示作用。如图表下的“注”等。

4.把握考题要求。根据考题要求进行回答,才能有的放矢;同时考题要求往往对内容有一定的提示性。这样,比较分析有关内容,就可准确回答问题。

5.简要归纳概括。

实战训练:阅读下面的图表,完成后面的题目。

近三年我国城乡居民人均收入对照表

项目/年份200220032004

城镇居民家庭收入(元)686077028396

农村居民家庭收入(元)236624752622

请根据图表反映的情况,写出两条结论:

(1)我国城乡居民收入差距较大;(2)农村居民收入低且增长相对缓慢。

第五篇:散文题型总结__2012

散文题型总结2012-03-02 09:58:46|分类: 默认分类 |标签: |字号大中小 订阅.散文题型繁复而庞大,因此,我总结了散文的题型如下:

散文类型赏读。

文体意识:明确各种文体的相关特点。不同的文体表现出不同的特点,不同的结构、不同的表达方式,不同的语体色彩,因而也有不同的解读方法。

散文训练可以帮助学生理清如下方面的阅读思路:

①记叙性散文—记人叙事—细节描写—反映世态

②抒情性散文—咏物状景—借物抒情—言志抒情

③议论性散文—议论见长—典型言行—杂感随想

散文题型展示及总结。

从形象、构思、语言、选材、手法、主旨等方向思考。

一、有关鉴赏形象的题型:

人物形象:

⒈提问方式:请简要分析文中的主人公的形象

⒉答题要点:按总分(分总)来回答。先用一句话从整体上对该人物作出一个定性分析,然后再从几个方面作定量分析;也可以先从几个方面作定量分析,然后再用一句话作定性式的总括。指出人物的典型(社会)意义。

3、答题思路:概括(特点+身份)+具体(分条,明确特点+举例阐释)+典型意义

例如:《溜索》(2010江苏卷)13.文中写领队比较分散,请统观全文,简要分析领队形象。答案:(1)“懒懒”地说话、“稳稳”地坐在马上:表现他在怒江天险前的从容不迫,胸有成竹;

(2)敲一敲溜索,“吼”我过江:表现他认真负责,关爱部下;

(3)瞟一眼,问一声:表现他受人尊敬,与手下配合默契;

(4)一声唿哨、最后一个过溜索 :表现他的英雄气概,粗犷豪迈。

景物事物形象:

1、提问方式:概括文本中某某景物事物的特点。

2、答题格式:分条+特点+象征意义

3、注意点:概括特点要全。要分条。事物的鉴赏要注意象征义。

例如:09全国I《彩色的荒漠》14.文章第一段描写了戈壁滩的哪些特点?联系全文,谈谈作者这样写有什么用意。

答案:第一问:①戈壁滩环绕的恶劣;②戈壁滩色彩的单调;第二问:①为表现石油工人为祖国人民所做的巨大贡献埋下伏笔;②为下文要描写的彩色的建筑物形成鲜明的对比;③先抑后扬,激发读者兴趣。

二、内容要点概括类试题

1.命题类型:

⑴全文内容要点概括。

第一种:概括某些原因

答题要点:很多散文,作家都是阐发某种生活感悟,明晰某些道理,而这些感悟、道理(结

尾的“果”)从何(“因”)而来,那就是前面的叙事、描写、回忆等等。说到底,散文全文一般就是一个大因果复句,所以这类题设题要求的跨度一般较大,涉及全文。答题时思维视界要笼罩全篇,尽量把“因”的数量找全。

例如:09江苏《上善若水》⒓文中说都江堰“才真正是人类智慧的结晶”,作者这样评价的理由是什么?

答案:因为都江堰的建造①理念正确:顺应自然,符合生态,造福百姓;②方法科学:“低作堰、深淘滩”“分四

六、平涝旱”;③功效长久:至今仍在发挥灌溉、防洪的作用;④体现了“上善若水”的哲学思想。

第二种:围绕标题关键词语进行内容概括

答题要点:因文章的表述中心常常表现在散文文题上,关键词就是文章的表述中心,所以文题中的关键词常常是命题者关注的对象。答题时一定要从全文着眼,全局兼顾。最好的办法可能还是要使用段意概括和层次切分的办法。对于多侧面内涵的关键词,要注意依据“先概括后具体”的原则。

第三种:文中作者的多种情感概括

答题要点:多种情感,指的是对不同的人、事、物而表现出的不同的情感,或是对同一人、事、物的前后情感变化。答题时最重要的是在分点概括的时候千万不要把几个答案并列成同一层意思,或者同一内涵的答案分成几条。

例如:09全国II《岳桦》16.作者坚信岳桦与白桦是迥然不同的,他的主要理由是什么?请根据文意作简要概括。

答案:①它们的命运不同:白桦生长在山下,养尊处优,而岳桦生长在山上,身处绝境;②它们的形态不同:白桦挺拔明快,而岳桦身躯匍匐;③它们性格不同:白桦风流浪漫,而岳桦倔强壮烈。

三、选材题型设计及解答:

设问方式:

①文中为什么写到某事物或者人物或者某件事?②文中为什么引用某诗句、名言?

解题思路:散文中的事物往往起到衬托或者对比的作用;做铺垫、引起下文等作用;对主要事件往往起到补充、丰富等的作用。

例如:08江西《朦胧的敬慕》17.这是一篇悼念鲁迅先生的文章,作者为何用了大量笔墨回忆十多年前瞻仰孙中山先生遗体等有关情况?

答案:衬托用孙中山先生的伟大人格衬托鲁迅先生的伟大人格;用作者孩提时代对孙中山先生的敬慕衬托跛脚小孩对鲁迅先生的敬慕。

解题思路:引用诗句的作用主要有两点:一是内容上印证作者的观点或者强化、抒发作者的某种情感,或者突出文本的主旨;结构上是为了上下文的衔接,或者照应上文,或者引起下文,等等。

例如:《又见鹭鸶》6.联系全文,鉴赏文章结尾引用《蒹葭》诗句的好处。(4分)

答案:引用《诗经》名句呼应了作者寻觅鹭鸶的过程;寄托了作者人鸟同处、人与自然和谐相处的美好理想;增强了文章的文学色彩和抒情韵味。

四、结构、行文思路答题思路汇总:

注:明确不同句子在结构上因不同位置而在文中所起的作用的不同术语:

如果首段是写景句段答题格式:描写(渲染、烘托、营造)了某一自然环境的„„画面(气氛、特点、氛围),表现了人物的„„情绪(心理),为下文写„„作铺垫或者形成对比衬托等。

(一)要求分析全文的行文思路(或结构)

答题思路:这类题的答案绝不是各段落大意的简单累加,而是把文章各层次的层意概括进行组合。答题程序应该是把握段落大意,然后准确切分文章层次并概括层意,最后把层意按照先后顺序组合起来。

答题格式:第一部分(先)写了什么,第二部分(然后)写了什么,第三部分(再)写了什么,最后写了什么。

例如:

1、08湖北《雾》19.本文以雾为线索展开,请具体分析文章的行文思路。

答案:①作者开篇说“不喜欢”雾。②来加德满都后,开始“喜欢”进而“欣赏”后来“赞美”雾景。③雾引发了作者的理性思考。④作者最终“陶醉”在雾境幻象中。

2、08江西《朦胧的敬慕》17.指出文章的结构方式,并作简要分析。

答案:采用了“总—分—总”结构方式。①②段总写对死人的不同心理感受。③—⑩段分写为鲁迅守灵时的所见所感;⑥—⑩段写作者回忆幼时瞻仰孙中山先生是的所见所感及对自己的深远影响。⑾⑿段总结全文,点明主题,照应标题。

(二)局部某句话、某处叙述、描写文字在全文中有何作用

1、如果句子或者段落位于中间:

答题要点:第一结构关系一般为承上启下(或前后呼应,或自然过渡到下一部分内容)作用。二是要在内容上考虑它与主体内容的关系。

答题思路:作用术语(如:承上启下)+分析(内容概括)

2、如果句子或者段落位于开头:

答题要点:一是与文题是否照应;二是是否能够自然引出下文主体内容,为下文作铺垫;三是与结尾是否照应;四是与主体内容是否形成反衬。

答题思路:结构作用术语+分析(本段内容和下段内容概括)

例如:09山东《记住回家的路》19作者在文章开头说自己“每到一个陌生的城市”有“随便走走”的习惯,这样写有什么好处?

答案:内容上,以个人习惯类比人生,引发感悟;结构上,为下文作铺垫。

09北京《司马祠》18.第二段里的“仰望中的登攀”在文中的作用是什么?

答案:在结构上统领下文,承上启下,承接上文„„引起下文„„;内容上表现司马祠的地势由低到高的走向;暗含对司马迁的敬仰之情。

3、如果句子或者段落位于结尾:

答题思路:结构作用术语+内容(本段和上文内容)分析

五、散文语言方面题型类

1、解释语句在文中的含义。

答题要点:①还原修辞句的本义;②揭示警策句的哲理;③转化深奥含蓄句的意思;④揭示句子的双关意;

例如:《针挑土》(2011全国卷)15.解释下列两句话在文中的含义。(4分)

(1)等到回程,太阳已经有倦容了。

(2)素静的黑妮眼睛亮了。

答案(1)这句话采用拟人修辞,富于表现力,不仅交代了时间已经很晚,而且暗含人与物的比较,太阳已经有倦容了,但为苗绣的保存与继承发扬做出贡献黑妮还不见疲倦。看似不经意的一句,实际上表达了作者对黑妮的钦佩与称赞。

(2)黑妮的眼睛素净,显示了黑妮献身保存民族工艺的“针挑土”式工作的执着与坚持;而她的眼睛亮了,则表达了工作有了成绩的喜悦,以及对他人给予这种工作支持的感激之情。答题格式:手法+效果+内容(人物、事物、景物特点)+作者的情感、观点

2、赏析语句或者分析语句的表现手法、表达特色。

答题思路:

使用了何种表现手法+突出了事物的何种特点+景物营造了何种意境+表达了作者的何种思想情感、观点态度。

例如:08天津《敦煌》20.赏析本文第五自然段画线的文字。

答案:采用比喻、排比等手法,将静态画面赋予动态美,表现了对生命的张扬和自由的渴望。

3、语言风格展示。

简练准确,朴素自然(朴实、质朴),清淡平实,清新明快,豪放粗犷、气势磅礴,细腻婉约,繁复浓丽、辞藻华丽,典雅清新,舒缓自然、热烈奔放,地方特色、方言口语,委婉含蓄,幽默讽刺等。

例如:

1、《灯笼红》(2008上海卷)11.概括本文的语言风格,联系文章主要内容进行赏析。答案:11.本文语言本色、平实(1分)。文章主要叙写了“我”的童年回忆,塑造了曾祖母这位慈爱、温厚的乡村老年妇女的形象(1分),语言与人物形象特征相吻合(1分)。

2、09天津《老屋》19.第五自然段划线部分表现了怎样的生活情趣?语言表达有何特点?这段文字在全文结构上起什么作用?

答案:通过对儿时生活片段的回忆,表现了淳朴、快乐、悠然自在的乡村童趣。生动形象有画面感,朴实自然有乡土气息。引起下文。

六、表现手法考虑角度:

(一)叙述人称

⒈提问方式:使用这种人称写的好处是什么?或:为什么要改变人称?

例如: 2000年全国卷《长城》中问:这篇散文中,⑴作者主要用第二人称写长城,这样写的好处是什么?⑵第六段的结尾改用第三人称“它”,原因是什么?

答:⑴将长城拟人化:A.便于与长城对话,B.便于抒发感情。

⑵因为这句话承接“由是人们发现”而来,写的是“人们”的感受,而不是作者直接向长城抒怀。

(二)叙述方式

1.顺叙:能按某一顺序(时间或空间)较清楚地进行记叙。

2.倒叙:造成悬念,引人入胜。

3.插叙:对主要情节或中心事件做必要的铺垫照应,补充说明,使情节更加完整,结构更加严密,内容更加充实丰满。

4.补叙:对上文内容加以补充解释,对下文做某些交代。

5.平叙:俗称“花开两枝,各表一朵”,(指叙述两件或多件同时发生的事)使头绪清楚,照应得体。

(三)描写手法

1、人物描写:肖像、神态、动作、心理、语言描写,细节描写:更好展现人物的内心世界、性格特征。刻画人物性格,反映人物心理活动,促进故事情节的发展。也可描摹人物的语态,收到一种特殊的效果。

2、景物描写:再现自然风光,营造一种气氛,烘托人物的情感和思想,交代人物活动的自然及社会环境。

3、环境、场面描写:交代人物活动的背景,写明事件发生的时间和地点,渲染气氛,更好地表现人物。

4、对比、衬托:突出主要事物的特点,突出作者的主要情感,对比鲜明。

5、正侧面描写:正面直接表现人物、事物;侧面烘托突出人物、事物。

6、虚实结合:丰富形象,拓宽画面,激发人的想象力,给人留下想象的空间。

7、象征手法及托物言志:借物抒情,更加直观,形象生动。

8、想象、联想:丰富内容,拓宽境界,激发想象。

9、角度:远近高低空间角度,古今、早晚等时间角度,味觉、触觉、感觉等感官角度。多侧面展示事物的特点,表达作者的情感。

(四)修辞手法

1.比喻:化平淡为生动,化深奥为浅显,化抽象为具体。

2.比拟:给物赋予人的形态情感(指拟人),描写生动形象,表意丰富。

3.借代:以简代繁,以实代虚,以奇代凡。

4.夸张:烘托气氛,增强感染力,增强联想;创造气氛,揭示本质,给人以启示。

5.对偶:便于吟诵,易于记忆,使词句有音乐感;表意凝练,抒情酣畅。

6.排比:节奏鲜明,内容集中,增强气势;叙事透辟,条分缕析;长于抒情。

7.反复:写景抒情感染力强;承上启下,分清层次;多次强调,给人以深刻的印象。

8.对比:使所表现的事物特征或所阐述的道理观点更鲜明、更突出。

9.设问:自问自答,提出问题,引发读者的思考。

10.反问:强调语气,语气强烈,强化情感。

七、文章主旨的概括

概括方法:

①关注文题。标题能提供阅读的线索。(标题隐含了信息-----写作对象、重要事件、作者情感等,甚至可以借此把握文章的主题。)

一类如:08福建《吟风》,08天津的《敦煌》,08湖北的《雾》---直接明确了写作的对象。写作对象明确了,按照散文的行文规律,一切材料、段落的安排都是为了中心(散文的“神”),那么神是什么?一定是作者通过对写作对象的叙述、描写,来表现作者的喜、怒、哀、乐(某种情感),从而表达作者的某种生活感悟(道理启示)。

一类如: 08全国1《阳关古道苍凉美》,08四川《我爱水》----文题不仅明确了写作对象,更是明确表明了作者的思想感情。

②抓住文尾的议论、抒情语句。这些语句常常是结尾点题,明确主旨。

③在概括段意、整合层次的基础上,再高度概括层意,概括出的语言就是主旨。

答题格式:本文通过记叙(描写)„„事物,揭示了„„现象,抒发了作者„„情感态度。

例如:09天津《老屋》20.请你结合对文中“历史以一时难测的高速冲向前方”这句话的理解,分析本文主旨。为凸显文章主旨,作者主要采用了什么表现手法?

答案:句意理解:社会进步速度惊人。本文主旨:通过感叹新房迅速变“老”,反映了社会发展给农村带来的巨大变化。表现手法:对比。

八、散文探究题

命题特点及答题思路:

从命题类型看,有两种:

一类是文本内探究。一类是文本内涵(可以看作是主旨)探究。这类题按照命题指向基本属于文章主旨内涵范畴的探究。或者说,这类探究题要求必须准确把握主旨,否则就无法完成答题要求。答案基本都是文章多层内容的高度概括。这需要能够准确把握命题指向,准确切分文章相关区域的表述层次,并能够高度洗练地进行语言概括。这类题答题时要分点答题,且答案要全面,不能遗漏。

答题格式:结合文本逐条阐释。

一类是有文本内的写法技巧延伸到写作实践进行感悟总结。这类题答题要求走三步:第一步,胸中要积累一些写作技法,并要有一定的认识能力;第二步要能准确判断文中使用了何种突出的写作特色;第三步谈感受,在平时的作文实践中要有感受、启发的厚实积累。

例如:08山东《歌德之勺》22.本文在写作上有何突出特色?请结合文本,谈谈它对你的写作有何启示。---写作技法

答案:主要是以小见大的手法。启示主要有两点:①要善于观察,注意从日常生活中的具体事物,寻找最佳的切入点。如本文对歌德故居中的炊勺的发现。②要精于思考,学会从具体事物中发现和发掘深刻的意蕴,就像作者从炊勺中看到了歌德的非同一般一样。

九、关于散文标题的题型

(一)标题的作用

答题思路:内容+结构

(二)标题的妙处、可否更换标题

答题思路:语言特点+内容+结构

下载c语言题型总结word格式文档
下载c语言题型总结.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    高中物理题型总结

    第一章 质点的直线 第一节 描述运动的物理量 匀速直线运动 主题1 物体能否简化为质点的判断(*)(A 必考必刷题组) 主题2 参考系的选取和运动的描述(*)(A 必考必刷题组) 主题3 较复杂......

    申论题型总结

    申论题型总结 一、概括类题型(概括给出材料的主要内容、信息、要点) ★阅读概括套路及程序: (一步)标注关键词和关键句(查找办法): 1.首尾句出现(段落中心句) 2.关联词出现的地方一般......

    圆锥曲线题型总结(范文大全)

    圆锥曲线题型 与圆锥曲线有关的几种典型题,如圆锥曲线的弦长求法、与圆锥曲线有关的最值(极值)问题、与圆锥曲线有关的证明问题以及圆锥曲线与圆锥曲线有关的证明问题等,在圆......

    等比数列题型总结

    等比数列常见题型总结作者:fansx021(原创) 题型一1、 等比数列{an}中,已知a23,a9384,则an2、 在等比数列中,已知a3a636,a4a718,则an题型二3、等比数列{an}中,an0,且a34,a1a54、等比数......

    语言新题型答案一[5篇范文]

    【答案】 1.A 2.C 3.A 【解析】 1.本题考查正确使用词语的能力。“后发先至”指的是后出手但是先碰到对方;“后来居上”指后来的超过先前的;根据语境应是“后来居上”。“养精蓄锐......

    计算机三级(C语言)上机考试题型总结与注意事项(范文大全)

    C语言 三级上机考试题型总结与注意事项 按前面的分题型讲解,三级上机考试100道题被分为9大题型。每种题型在题库中占的比例也已经在题型名字后面的括号中注明。 题型一、结......

    小升初试卷语言实践题型和考点分析

    近三年语言实践题型和考点分析写信封练习 家住甘州区东街27号吴明给远在北京,家住在西三环北路108号的姑姑吴园芳写了一封信,告诉自己最近的学习、生活情况和如何度过假期的想......

    计算机二级C语言题型和评分标准(合集5篇)

    1、选择题:40题,每题1分。按标答给分 2、程序填空:3处空,每空6分。共18分,按标答给分,如果和标答的写法不一样,就算对的也没有分。每一空有每一空的分数。做对一空就给6分 3、程序......