A. c语言 文件处理的问题:读入一篇英文短文文件,然后统计
#include<stdio.h>
#include<string.h>
int num(char *str);
int juzs(char *str,int*p);
int main()
{
int word,jzs,max;
char a[10000];
printf("请输入英文文章:\n");
gets(a);
word=num(a);
jzs=juzs(a,&max);
printf("这篇文章中有%d个单词,有%d个句子,最长的句子中有弊老厅%d个单含稿词",word,jzs,max);
return 0;
}
int num(char *str)
{
int flag=0,i=0,j=0;
while(str[i]!='\0')
{
if(str[i]>='A'&&str[i]<='Z'租隐||str[i]>='a'&&str[i]<='z')
flag++;
else flag=0;
if(flag==1)j++;
i++;
}
return j;
}
int juzs(char *str,int*max)
{
int i=0,flag=0,j=0,m=0;
*max=0;
while(str[i]!='\0')
{
while(str[i]!='.')
{
if(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')
m++;
else m=0;
if(m==1)(*max)++;
i++;
}
if(j<(*max))j=*max;
i++;
*max=0;
flag++;
}
*max=j;
return flag;
}
B. 关于一道C语言的题目
你的for循环的终止条件不对,应该是i<=1000;而不是 toal<=1000;
把for(i=1,toal=0;toal<=1000;i++)改成for(i=1,toal=0;i<=1000;i++)就行了.
C. 关于C语言的
三、程序阅读题
1.阅读以下程序,若输入60,写出程序运行结果。
#include<stdio.h>虚裤
void main()
{ int x;
scanf("%d ",&x);
if (x>=60)
printf("pass");
else
printf("fail");
}
结果:pass
2.阅读以下程序,若输入5,写出程序运并誉数行结果。
#include <stdio.h>
int main( )
{ int i, n;
double fact;
scanf("%d", &n);
fact=1;
for(i=1;i<绝首=n;i++)
fact*=i;
printf("%.0f\n", fact);
结果:120
D. 简述题:c语言的特点
1)
语言简洁,使用方便灵活
C语言是现有程序设计语言中规模最小的语言之一。C语言的关键字很少,ANSI
C标准一共只有32个关键字,9种控制语句。C语言的书写形式比较自由,表达方法简洁,使用一些简单的方法就可以构造出相当复杂的数据类型和程序结构。
2)
可移植性好
C语言是通过编译来得到可执行代码的,C语言的编译程序便于移植,从而使在一种单片机上使用的C语言程序,可以不加修改或稍加修改即可方便地移植到另一种结构类型的单片机上去。
3)
表达能力强
C语言具有丰富的数据结构类型,可以根据需要采用整型、实型、字符型、数组类型、指针类型、结构类型、联合类型、枚举类型等多种数据类型来实现各种复杂数据结构的运算。C语言还具有多种运算符,灵活使用各种运算符可以实现其他高级语言难以实现的运算。
4)
表达方式灵活
C语言的语法规则不太严格,程序设计的自由度比较大,程序的书写格式自由灵活
5)
可进行结构化程序设计
6)
可以直接操作计算机硬件
C语言具有直接访问单片机物理地址的能力,可以直接访问片内或片外存储器,还可以进行各种位操作。
7)
生成的目标代码质量高
E. c每个句子由多个单词组成,句子中的每个单词
给出一个句子,把每一个字母倒置,但不改变单词的顺序。
输入:这个题有多个CASE。第一行给出一个正整数N(N<500),然后紧接着一个空行,再紧接着N个数据块,每一个数据块,包括一个正整数T与T行英语句子。句子总长不超过300。每两个数据块之间有一个空行。每个句子只包含大写字母与小写字母。
输出:对于每个数据块 一行一句输出。每两个数据块之间用一个空行分隔。
C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简衡缓易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此没衫,C语言可以编写系统软件。
当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显着。
C语言拥有经过了漫长发展历史的枯拦腔完整的理论体系,在编程语言中具有举足轻重的地位。
F. C语言的基本知识。
C语言的基本知识;if-else 结构的应用:
编写计算器程序,要求从键盘任意输入两个数值,然后输入一个四则运算符,自动完成后输出结果 2 switch 结构的应用:
从键盘输入一个百分制成绩,要求输出成绩等级'A''B'C''D''E'。90分以上为'A',80-89为'B',70-79为'C',60-69为'D',60分以下为'E'.
#include<stdio.h>
void main()
{float score; <br>char grade; <br>printf("请输入学生成绩:\n"); <br>scanf("%f",&score); <br>switch((int)(score/10)) <br>{case 10: <br>case 9: grade='A';break; <br>case 8: grade='B';break; <br>case 7: grade='C';break; `<br>case 6: grade='D';break; <br>case 5: case 4: case 3: case 2: case 1: <br>case 0: grade='E'; <br>}
printf("成绩是%5.1f,相应等级是%c。\n",score,grade);
}
3 do-while循环的应用:
利用下述公式求PI的近似值,要求满足计算精度为0.0001
PI/4≈1-1/3+1/5-1/7+1/9-...
#include<stdio.h>
#include<math.h>
void main()
{int s; <br>float n,t,pi; <br>t=1;pi=0;n=1.0;s=1; <br>do <br>{ <br>pi=pi+t; <br>n+=2; <br>s=-s; <br>t=s/n; <br>}
while(fabs(1/n)>1e-4);
printf("pi=%10.6f",4*pi);
}
4 for循环的应用:
(1)求素数的累加和.从键盘任意输入20个整数,将所有素数累加后输出.
#include<stdio.h>
#include<math.h>
prime(int x[],int n)
{int i,j,k,s=0; <br>for(i=0;i<n;i++) <br>{k=sqrt(x[i]); <br>for(j=2;j<=k;j++) <br>if(x[i]%j==0) break; <br>if(j>k) s+=x[i]; <br>}
return s;
}
main()
{int a[20],*p,s=0,i; <br>p=a; <br>for(i=0;i<20;i++) <br>scanf("%d",p++); <br>p=a; <br>s=prime(p,20); <br>printf("%d",s); <br>}
(2)无重复数字的3位数问题.用1.2.3.4 组成无重复数字的3位数,将这些3位数据全部输出.
#include<stdio.h>
void main()
{
int i,j,k;
for(i=1;i<=2;i++)
{
for(j=i+1;j<=3;j++)
{
for(k=j+1;k<=4;k++)
{
printf("%d\n",100*i+10*j+k);
printf("%d\n",100*i+10*k+j);
printf("%d\n",100*j+10*i+k);
printf("%d\n",100*j+10*k+i);
printf("%d\n",100*k+10*i+j);
printf("%d\n",100*k+10*j+i);
}
}
}
}
5 字符型数组应用:
设计程序.输入一篇不超过80个字符的短文(包括空格),保存到一维字符数组中,求字母a出现的次数并输出.
#include<stdio.h>
#include<string.h>
void main()
{char s[80]; <br>int i,n,times=0; <br>gets(s); <br>n=strlen(s); <br>for(i=0;i<n;i++) <br>if(s[i]=='a') <br>times+=1; <br>printf("\n The result is:%d\n",times); <br>}
6 数值型数组应用:
设计程序 将Fibonacci数列前20项中的奇数找出来存放到一维数组中.
#include<stdio.h>
void main()
{int i,s=0,j=0; <br>int f[20]={1,1},a[20];
for(i=2;i<20;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<20;i++)
{if(i%5==0) <br>printf("\n"); <br>printf("%12d",f[i]); <br>}
printf("\n");
for(i=0;i<20;i++)
if(f[i]%2!=0)
{a[j]=f[i];j+=1;}
for(i=0;i<j;i++)
printf("%d ",a[i]);
}
7 函数调用(形参为变量的情况):
用函数调用的方式求 x!+y!+z!之值.
#include<stdio.h>
sum(int a)
{int n,t=1; <br>for(n=1;n<=a;n++) <br>t*=n; <br>return t; <br>}
main()
{int x,y,z,s=0; <br>scanf("%d %d %d",&x,&y,&z); <br>s=sum(x)+sum(y)+sum(z); <br>printf("%d!+%d!+%d!=%d\n",x,y,z,s); </p><p> <br>2008-6-19 20:22 回复 <br> <br>muniezuo <br>1位粉丝 <br> 2楼</p><p>}
8 函数调用(形参为数组名的情况):
选择法排序函数的定义及使用.编写一个用选择法对一维数组升序排列的函数,并在主函数中调用该排序函数,实现对任意20个整数的排序.
#include<stdio.h>
sort(int x[],int n)
{int i,j,k,t; <br>for(i=0;i<n-1;i++) <br>{k=i; <br>for(j=i+1;j<n;j++) <br>if(x[j]<x[k]) k=j; <br>if(k!=i) <br>{t=x[i];x[i]=x[k];x[k]=t;}
}
}
main()
{int *p,i,a[20]; <br>p=a; <br>for(i=0;i<20;i++) <br>scanf("%d",p++); <br>p=a; <br>sort(p,20); <br>for(p=a,i=0;i<20;i++) <br>{printf("%d ",*p);p++;}
}
9 指针
(1)程序填空
下面程序中,函数fun的功能是:将s所指字符串中下标为偶数的字符删除,s中剩余的字符形成的新串放在t所指的数组中.例如,当s所指字符串中的内容为"ABCDEFGHIJK",在t 所指数组中的内容应是"BDFHJ"
#include<conio.h>
#include<stdio.h>
#include<string.h>
void fun(char *s,char t[])
{int i,j,n; <br>n=strlen(s); <br>for(i=0,j=0;i<n;i++) <br>if(i!=2*j) <br>{t[j]=s[i];j++;}
t[j]='\0';
}
void main()
{char s[80],t[80]; <br>printf("\n Please enter string s: "); <br>scanf("%s",s); <br>fun(s,t); <br>printf("\n The result is:%s\n",t); <br>}
(2)程序改错
下面程序中的sub函数的功能是:将s所指字符串的反序和正序进行连接形成一个新串放在t所指的数组中.
#include"stdio.h"
#include"conio.h"
#include"string.h"
void sub(char *s,char *t)
{int i,d; <br>d=strlen(s); <br>for(i=0;i<d;i++) <br>t[i]=s[d-1-i]; <br>for(i=0;i<d;i++) <br>t[d+i]=s[i]; <br>t[2*d]='\0'; <br>}
main()
{char s[100],t[100]; <br>printf("\n Please enter string s:"); <br>scanf("%s",s); <br>sub(s,t); <br>printf("\n The result is : %s \n",t); <br>}
10 结构体:有10个学生,4门课成绩,设计程序,计算每个学生的总分和平均分,
并打印学生的成绩排名表.
要求:定义结构体类型,成员有学号,姓名,4科成绩
#include<stdio.h>
#define N 10 struct student
{
long num;
int score[4];
int add;
double aver;
}stu[N]; void main()
{
int i,j,sum;
char c[4][10]={"math","English","computer","physics"};
void paixu(struct student stu[]);
printf("请输入学生的成绩:\n");
for(i=0;i<N;i++)
{sum=0; <br>printf("输入第%d个学生的学号:",i+1); <br>scanf("%ld",&stu[i].num); <br>for(j=0;j<4;j++) <br>{printf("输入%s成绩:",c[j]); <br>scanf("%d",&stu[i].score[j]); <br>sum+=stu[i].score[j];}
stu[i].add=sum;
stu[i].aver=stu[i].add/4.0;
}
for(i=0;i<N;i++)
a[i]=stu[i].add;
paixu(stu);
for(i=0;i<N;i++)
printf("%d\t%ld\t%d\t%d\t%d\t%d\t%d\t%6.2f\n",i+1,stu[i].num,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].add,stu[i].aver);
}
void paixu(struct student stu[])
{
int i,j;
struct student t;
for(i=0;i<N-1;i++)
for(j=i+1;j<N;j++)
if(stu[j].add>stu[i].add)
{t=stu[j];stu[j]=stu[i];stu[i]=t;}
}
11 文件:建立一个数据文件,将10题中的成绩排名表写入数据文件中,完成后,关闭该数据文件;打开数据文件并将内容显示在屏幕上,以便验证
#include<stdio.h>
#define N 10 struct student
{
long num;
int score[4];
int add;
double aver;
}stu[N]; void save()
{FILE *fp; <br>int i; <br>if((fp=fopen("stu_list","wb"))==NULL) <br>{printf("cannot open file\n"); <br>return; <br>}
for(i=0;i<N;i++)
if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)
printf("file write error\n");
fclose(fp);
} void main()
{FILE *fp; <br>int i,j,sum; <br>char c[4][10]={"math","English","computer","physics"};
void paixu(struct student stu[]);
printf("请输入学生的成绩:\n");
for(i=0;i<N;i++)
{sum=0; <br>printf("输入第%d个学生的学号:",i+1); <br>scanf("%ld",&stu[i].num); <br>for(j=0;j<4;j++) <br>{printf("输入%s成绩:",c[j]); <br>scanf("%d",&stu[i].score[j]); <br>sum+=stu[i].score[j];}
stu[i].add=sum;
stu[i].aver=stu[i].add/4.0;
}
paixu(stu);
save();
fp=fopen("stu_list","rb");
for(i=0;i<N;i++)
{fread(&stu[i],sizeof(struct student),1,fp); <br>printf("%d\t%ld\t%d\t%d\t%d\t%d\t%d\t%6.2f\n",i+1,stu[i].num,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].add,stu[i].aver); <br>}
fclose(fp);
} void paixu(struct student stu[])
{
int i,j;
struct student t;
for(i=0;i<N-1;i++)
for(j=i+1;j<N;j++)
if(stu[j].add>stu[i].add)
{t=stu[j];stu[j]=stu[i];stu[i]=t;}
}
G. C语言的重要内容是什么
清华谭浩强编《c语言程序设计》一书中语言最重要的知识点是:运算符、数据类型、常量与变量、字符串、函数、指针等。
在这本书中,保留了《C程序设计》一书的特点:体系合理、逻辑清楚、例题丰富、通俗易懂。同时又根据C语言新标准的规定,对该书进行了改写,使之符合当前的需要。
(7)关于c语言的短文扩展阅读:
C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
H. 关于C语言必须背会的知识点
C语言重要知识点,记得背会
一、总体上必须清楚的:
1.程序结构是三种:顺序结构 、选结构(分支结构)、循环结构。
2.读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。
3.计算机的数据在电脑中保存是以二进制的形式,数据存放的位置就是他的地址。
4.bit是位 是指为0或者1。 byte是指字节,一个字节 =八个位。
二、概念常考到的:
1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、define P 3.1415926;这个写法是错误的,一定不能出现分号。
3、每个C语言程序中main函数是有且只有一个。
4、在函数中不可以再定义函数。
5、算法:可以没有输入,但是一定要有输出。
6、break可用于循环结构和switch语句。
7、逗号运算符的级别最低,赋值的级别倒数第二。
第一节、对C语言的基础认识
1、C语言编写的程序称为源程序,又称为编译单位。
2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。
3、一个C语言程序有且只有一个main函数,是程序运行的起点。
第二节、熟悉vc++
1、VC是软件,用来运行写的C语言程序。
2、每个C语言程序写完后,都是先编译,后链接,最后运行。(.c---a.obj---a.exe)这个过程中注意,c和.obj文件时无法运行的,只有.exe文件才可以运行。(常考!)
第三节、标识符
1、标识符(必考内容):合法的要求是由字母,数字,下划线组成。有其它元素就错了。并且第一个必乱局须为字母或则是下划线搭颤。第一个为数字就错知陪败了。
2、标识符分为关键字、预定义标识符、用户标识符。关键字: 不可以作为用户标识符号。main definescanf printf 都不是关键字。迷惑你的地方If是可以做为用户标识符。因为if中的第一个字母大写了,所以不是关键字。
3.预定义标识符:背诵define scanf printf include。记住预定义标识符可以做为用户标识符。
4.用户标识符:基本上每年都考,详细请见书上习题。
第四节: 进制的转换
十进制转换成二进制、八进制、十六进制。二进制、八进制、十六进制转换成十进制。
第五节: 整数与实数
1.C语言只有八、十、十六进制,没有二进制。但是运行时候,所有的进制都要转换成二进制来进行处理。(考过两次)
a、C语言中的八进制规定要以0开头。018的数值是非法的,八进制是没有8的,逢8进1。
b、C语言中的十六进制规定要以0x开头。
2.小数的合法写法: C语言小数点两边有一个是零的话,可以不用写。1.0在C语言中可写成1,0.1在C语言中可以写成.1。
3.实型数据的合法形式
a、2.333e-1 就是合法的,且数据是2.333x10-1。
b、考试口诀:e前e后必有数,e后必为整数。请结合书上的例子。
4.整型一般是4个字节,字符型是1个字节,双精度一般是8个字节。long int x;表示x是长整型。unsigned int x;表示x是无符号整型。
I. 关于一段C语言代码。。求解!
Puts输出的两句英语的意思是
该仿庆辩程序的作用是将备缺整差贺型以二进制码输出
J. 写一个简短的C语言代码
最简单的C语言代就是输出“helloWord”,通常是作为初学编程语言时的第一个程序代码。具体代码如下:
#include <stdio.h>
int main(){
printf("Hello, World! ");
return 0;
}
(10)关于c语言的短文扩展阅读:
1、程序的第一行#include <stdio.h>是预处理器指令,告诉 C 编译器在实际编译之前要包含 stdio.h 文件。
2、下一行intmain()是主函数,程序从这里开始执行。
3、下一行printf(...)是C中另一个可用的函数,会在屏幕上显示消息"Hello,World!"。
4、下一行return0;终止main()函数,并返回值0。