c语言与c语言的关系,c语言与编程语言的区别

首页 > 技术 > 作者:YD1662022-11-22 17:02:59

数组作为函数参数时注意以下事项:

数组的应用-冒泡排序

以升序排序为例冒泡排序的思想:相邻元素两两比较,将较大的数字放在后面,直到将所有数字全部排序。就像小学排队时按大小个排一样,将一个同学拉出来和后面的比比,如果高就放后面,一直把队伍排好。

#include <stdio.h> int main() { double arr[]={1.78, 1.77, 1.82, 1.79, 1.85, 1.75, 1.86, 1.77, 1.81, 1.80}; int i,j; printf("\n************排队前*************\n"); for(i=0;i<10;i ) { if(i != 9) printf("%1.2f, ", arr[i]); //%1.2f表示小数点前一位,小数点后精确到两位 else printf("%1.2f", arr[i]); //%1.2f表示小数点前一位,小数点后精确到两位 } for(i=8; i>=0; i--) { for(j=0;j<=i;j ) { if( arr[j]>arr[j 1]) //当前面的数比后面的数大时 { double temp; //定义临时变量temp temp=arr[j];//将前面的数赋值给temp arr[j]=arr[j 1]; //前后之数颠倒位置 arr[j 1]=temp;//将较大的数放在后面 } } } printf("\n************排队后*************\n"); for(i=0;i<10;i ) { if(i != 9) printf("%1.2f, ", arr[i]); //%1.2f表示小数点前一位,小数点后精确到两位 else printf("%1.2f", arr[i]); //%1.2f表示小数点前一位,小数点后精确到两位 } return 0; }

数组的应用-数组查找功能

当我们购物之后,拎着购物袋回到家,会一一检查购物袋中的物品看是否缺少或者都是想购之物。那么应用到程序中,可以使用数组查找功能,看看是否存在该数据,如果存在并返回该元素的下标。

#include <stdio.h> int getIndex(int arr[5],int value) { int i; int index; for(i=0;i<5;i ) { /* 请完善数组查询功能 */ if(arr[i]==value) { index=i; break; } index=-1; } return index; } int main() { int arr[5]={3,12,9,8,6}; int value = 8; int index = getIndex(arr,value); //这里应该传什么参数呢? if(index!=-1) { printf("%d在数组中存在,下标为:%d\n",value,index); } else { printf("%d在数组中不存在。\n",value); } return 0; }

字符串与数组

C语言中,是没有办法直接定义字符串数据类型的,但是我们可以使用数组来定义我们所要的字符串。一般有以下两种格式:

char 字符串名称[长度] = “字符串值”; //[]中的长度是可以省略不写的 char 字符串名称[长度] = {‘字符1’,‘字符2’,…,‘字符n’,’\0’}; //最后一个元素必须是’\0’,’\0’表示字符串的结束标志

注意:在输出字符串的时候可使用如下语句。

printf(“%s”,字符数组名字); puts(字符数组名字);

字符串函数

常用的字符串函数如下(strlen,strcmp,strcpy,strcat,atoi):

c语言与c语言的关系,c语言与编程语言的区别(37)

使用字符串函数注意以下事项:

strlen()获取字符串的长度,在字符串长度中是不包括‘\0’而且汉字和字母的长度是不一样的。比如:

c语言与c语言的关系,c语言与编程语言的区别(38)

strcmp()在比较的时候会把字符串先转换成ASCII码再进行比较,返回的结果为0表示s1和s2的ASCII码相等,返回结果为1表示s1比s2的ASCII码大,返回结果为-1表示s1比s2的ASCII码小,例如:

c语言与c语言的关系,c语言与编程语言的区别(39)

strcpy()拷贝之后会覆盖原来字符串且不能对字符串常量进行拷贝,比如:

c语言与c语言的关系,c语言与编程语言的区别(40)

上一页678910下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.