当前位置:首页 » 编程语言 » c语言如何查找关键字
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言如何查找关键字

发布时间: 2022-05-06 20:49:27

⑴ 帮忙用c语言写一个关于查找关键字的程序~~~~~

#include<stdio.h>
#include<string.h>
ha(FILE *fp,char *y)
{char c,k[20];
int i=0;
if(feof(fp))
return 0;
while(!feof(fp))
{c=fgetc(fp);
if(c!='\n')
{k[i]=c;
i++;}
else {k[i]='\0';
strcpy(y,k);
return 0;}
}
}
sho(FILE *fp,char *a)
{FILE *fp1;
int i=0,k=0;
char c;
while(!feof(fp))
{c=fgetc(fp);
if(c==*(a+i))
i++;
else i=0;
if(i==strlen(a))
{k++;
i=0;}
}
return k;
}
main()
{FILE *fp2,*fp1,*fp3;
char a[20];
int i=0;
fp1=fopen("key.txt","r");
fp3=fopen("Out.txt","w");
while(!feof(fp1))
{fp2=fopen("old.txt","r");
if(ha(fp1,a))
return 1;
i=sho(fp2,a);
printf("%d",i);
getch();
if(i!=0)
{fprintf(fp3,"%s:%d\n",a,i);
printf("%s:%d\n",a,i);
i=0;}
fclose(fp2);
}
}
文件KEY.TXT的关键字格式为:
int
char
FILE
if

关键字的格式要加回车

⑵ c语言怎么从文件查询关键字,然后输出关键字所在的那一行

一般关键字在你定义的类型变量 就是最明显的关键字 如int float char等 要是输出的话 相对应的输出该变量对应的值如:int a=5;printf(“%d“,a);这样输出就是该整形变量的值 记住所有的符号要在英文格式下输入代码 否何会编译错误 纯手打 望采纳

⑶ C语言中如何在文件内查找关键字并替换

获取关键字,得到它的长度,然后从操作文件中读取这么长的字符串,进行比较,把
文件指针
指向下一个字符(注意,要一个字符一个字符的向下进行),这样就可以把需要的关键字找出来,如果想替换的话,把读取出的数组改成想要得再写入,最后别忘记fclose();

⑷ c语言的关键字有哪些

C语言的关键字共有32个,根据关键字的作用,可分其为四类:
数据类型关键字(12个);

char:声明字符型变量或函数
int: 声明整型变量或函数
short:声明短整型变量或函数
long:声明长整型变量或函数
float:声明浮点型变量或函数
double:声明双精度变量或函数
unsigned:声明无符号类型变量或函数
signed:声明有符号类型变量或函数
enum:声明枚举类型
struct:声明结构体变量或函数
union:声明共用体(联合)数据类型
void :声明函数无返回值或无参数,声明无类型指针
控制语句关键字(12个);

循环语句
for:一种循环语句
do:循环语句的循环体
while:循环语句的循环条件
continue:结束当前循环,开始下一轮循环
break:跳出当前循环
条件语句
if: 条件语句
else :条件语句否定分支(与 if 连用)
goto:无条件跳转语句
开关语句
switch:用于开关语句
case:开关语句分支
default:开关语句的“其他”分支
返回语句
return:子程序返回语句(可以带参数,也看不带参数)
存储类型关键字(4个);
extern:声明变量在其他文件中声明
static :声明静态变量
register:声明寄存器变量
auto :声明自动变量,一般不使用
其它关键字(4个);
const :声明只读变量
sizeof:计算数据类型长度
typedef:给数据类型取别名
volatile:说明变量在程序执行中可被隐含地改变。

⑸ c语言中如何从一个字符串中查询是否有给定的关键词!

  1. strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。找到所搜索的字符串,则该函数返回第一次匹配的字符串的地址;如果未找到所搜索的字符串,则返回NULL。
    包含文件:string.h
    函数名: strstr
    函数原型:
    extern char *strstr(char *str1, const char *str2);
    语法:
    strstr(str1,str2)
    str1: 被查找目标string expression to search.
    str2: 要查找对象The string expression to find.
    返回值:若str2是str1的子串,则先确定str2在str1的第一次出现的位置,并返回此str1在str2首位置的地址。;如果str2不是str1的子串,则返回NULL。

  2. 例程:

    #include<stdio.h>
    #include<string.h>
    intmain(){
    constchar*a="abcdefgh";
    constchar*b="abc";
    if(strstr(a,b)!=NULL)printf("found! ");
    elseprintf("notfound! ");
    return0;
    }

⑹ 输入任意多个关键字,按各种查找方法查找某个关键字。(用C语言描述)

length().substr(i。功能只要实现C++字符串类的求长度和取子字符串
读入字符串S
for(int
i=0;i++)
if(S;S;i<。
自己写个字符串类哈,因为关键字都列出来了)
把你输入的关键字读入。给一思路
你知道查找的关键字的长度L吧(很明显题目不难,L)

⑺ C语言链表关键字检索

//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
#include "string.h"

struct A{
char str[20];
struct A* next;
}
void main(void){
char x;
struct A *p=head;//head是链表头指针,必须是已知的
printf("Enter the characters to be retrieved:ch=");
x=getchar();
fflush(stdin);
for(;*p;p=p->next){
if(strchr(p->str,x))
printf("%s ",p->str);
}
printf("\n");
}

⑻ 在C语言中什么叫关键字,怎么用

C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。

1、数据类型关键字(12个):

(1) char :声明字符型变量或函数

(2) double :声明双精度变量或函数

(3) enum :声明枚举类型

(4) float:声明浮点型变量或函数

(5) int: 声明整型变量或函数

(6) long :声明长整型变量或函数

(7) short :声明短整型变量或函数

(8) signed:声明有符号类型变量或函数

(9) struct:声明结构体变量或函数

(10) union:声明联合数据类型

(11) unsigned:声明无符号类型变量或函数

(12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)

2、控制语句关键字(12个):

A循环语句 :(1) for:一种循环语句(可意会不可言传) (2) do :循环语句的循环体 (3) while :循环语句的循环条件 (4) break:跳出当前循环 (5) continue:结束当前循环,开始下一轮循环

B条件语句: (1)if: 条件语句 (2)else :条件语句否定分支(与 if 连用) (3)goto:无条件跳转语句

C开关语句: (1)switch :用于开关语句 (2)case:开关语句分支 (3)default:开关语句中的“其他”分支

D return :子程序返回语句(可以带参数,也看不带参数)

3 、存储类型关键字(4个):

(1)auto :声明自动变量 一般不使用 (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量) (3)register:声明积存器变量 (4)static :声明静态变量

4、其它关键字(4个): (1)const :声明只读变量 (2)sizeof:计算数据类型长度 (3)typedef:用以给数据类型取别名(当然还有其他作用 (4)volatile:说明变量在程序执行中可被隐含地改变。

(8)c语言如何查找关键字扩展阅读:

C语言简洁、紧凑,使用方便、灵活。ANSI C标准C语言共有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

语法限制不太严格,程序设计自由度大:虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。

允许直接访问内存地址,对硬件进行操作。由于C语言允许直接访问内存地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。

生成目标代码质量高,程序执行效率高:一般只比经过高效优化的汇编程序生成的目标代码效率低10へ20%。

适用范围大,可移植性好:C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX、windows 98.windows NT;也适用于多种机型。C语言具有强大的绘图能力,可移植性好,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画,它也是数值计算的高级语言。

参考资料来源:网络C语言关键字

⑼ C语言如何查找并输出数组中含有某一关键字的所有元素

strcmp 是整个字符串比较的,不能用 strcmp,可以用 strstr() 函数,strstr 是在一个字符串中查找一个子串,如果查到返回子串在字符串的位置,查找不到返回NULL。例如:

constchar*p=strstr("清炒薯仔丝","薯仔");

⑽ C语言用二分法查找关键字

#include<stdio.h>
#include<stdlib.h>
#define Size 15

int main()
{
int binarySearch(int [], int, int, int);
void printHeader(void);
void printRow(int [],int,int,int);

int a[Size],i,key,element;
for(i=0;i <= Size-1;i++)
a[i]=2*i;

printf("Enter a number between 0 and 28:");
scanf("%d",&key);
printHeader();

element=binarySearch(a, key, 0, Size-1);
if(element!=-1)
printf("\n%d found in array element %d !\n",key,element);
else
printf("\n%d is not found!\n",key);

system("pause");
}

void printHeader()
{
int i;
printf("\nSubscripts:\n");
for(i=0;i<=Size-1;i++)
printf("%3d",i);
printf("\n");
for(i=1;i<=4*Size;i++)
printf("-");
printf("\n");
}

int binarySearch(int array[], int searchKey, int low, int high)
{
void printRow(int array[],int low,int middle,int high);
int middle;

while(low<=high){
middle=(low+high)/2;
printRow(array,low,middle,high);
if(searchKey==array[middle])
return middle;
else if(searchKey<array[middle])
high=middle-1;
else
low=middle+1;
}

return -1;
}

void printRow(int array[],int low,int middle,int high)
{
int i;
for(i=0;i<=Size-1;i++)
if(i<low||i>high)
printf(" ");
else if(i==middle)
printf("%3d*",array[i]);
else
printf("%3d",array[i]);
printf("\n");
}

效率分析:线型查找摆脱了数组排序的约束,不足之处是不适合大型数据查找,并且查找方法比较老套,如果要找的数是数组中最后一个数n,那么搜索从0开始,一直检索到n,要经过n次遍历,时间复杂度:O(n),而二分查找法中如果查找关键字小于数组中间的元素,就查找数组的头半部分,否则查找数组的后半部分,时间复杂度:O(log2N),如果在指定子数组中还没有查找到关键字,就再把子数组折半,反复进行这种查找,直到要查找的关键字等于子数组中间的元素,或没有找到关键字为止。在最坏的情况下,用二分法查找有1024个元素的数组也只需要比较10次,即用2除1024,连续除10次得到1为止,如果有1048576(2的20次方)个元素,用二分法只要比较20次就可以找到要查找的元素,而用简单的线型查找则需要进行2的20次方查找,可见二分法比线型查找法的效率要高得多,对10亿个元素的数组来说,平均比较5亿次和30次简直是天壤之别!所以掌握二分法对在庞大的数组库处理是很有效的!