C语言--一维数组,字符数组
版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/zuoyou1314/article/details/30799519
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenVveW91MTMxNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenVveW91MTMxNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
#pragma mark----------数组
//数组是容器,同样数据类型
//构造类型
// int a[3]={5,2,0};
//类型
// int[3];
//变量名
// a;
//初值
// {5,2,0};
// int a[4] = {9,8,7,6};
// float b[6] = {2.5,3.14};
// char c[3] = "abc";
// char d[3] = {'a','b','c'};
// BOOL e[4] = {YES,NO};
//a[0]+a[1]操作数组下标取值赋值
//前有类型修饰符,代表数组,没有类型修饰符,代表下标
//1.生成一个包括20个元素数组,数组的值取值在30到70之间,并求出数组元素的和
// int sum = 0, a[20]={0};
// for (int i = 0; i<20; i++) {
// a[i]=arc4random()%41+30;
// printf("%d ",a[i]);
// sum = sum + a[i];
// }
// printf("\nsum=%d",sum);
//2.复制
// int a[20]={0},b[20]={0};
// for (int i = 0; i<20; i++) {
// a[i]=arc4random()%41+30;
// printf("%d ",a[i]);
// b[i]=a[i];
// }
// printf("\n");
// for (int j = 0; j<20; j++) {
// printf("%d ",b[j]);
// }
//3.生成两个数组,然后两个数组相应下标元素相加,放到第三个数组中
// int a[10]={0},b[10]={0},c[10]={0};
// for (int i = 0; i<10; i++) {
// a[i]=arc4random()%(40-20+1)+20;
// b[i]=arc4random()%(40-20+1)+20;
// c[i]=a[i]+b[i];
// printf("%d + %d = %d\n",a[i],b[i],c[i]);
// }
// printf("\n");
// for (int j = 0; j<10; j++) {
// printf("%d ",b[j]);
// }
// printf("\n");
// for (int j = 0; j<10; j++) {
// printf("%d ",c[j]);
// }
#pragma mark--------------1
//注意,
//1,系统不会检測数组元素的下标是否越界,编程时,必须保证数组下标不能越界
//2,数组是一个总体,不能直接參加运算,仅仅能对单个元素进行处理,一般会用到数组的地方,就会用到循环(循环就是为了数组而生)
// scanf("%d",&a);
// getchar() 打印123def 结果是1
// printf(""),打印123def 结果是123
/**
* 从键盘缓冲区读取数据
*/
// int a[10]={0};
// for (int i = 0; i<10; i++) {
// a[i]=arc4random()%31;
// printf("%2d ",a[i]);
// }
// for (int i = 0; i<10-1; i++) {
// for (int j = 0; j<10-1-i; j++) {
// if (a[j]>a[j+1]) {
// int temp = a[j];
// a[j]=a[j+1];
// a[j+1]=temp;
// }
// }
// }
// printf("\n");
// for (int i =0; i<10; i++) {
// printf("%-2d ",a[i]);
// }
// int a[10]={0};
// for (int i = 0; i<10; i++) {
// a[i]=arc4random()%(40-20+1)+20;
// printf("%d ",a[i]);
// }
// for (int i = 0; i<10-1; i++) {
// for (int j = 0; j<10-1-i; j++) {
// if (a[j]>a[j+1]) {//max<a[i],min>a[i]
// int temp = a[j];
// a[j]=a[j+1];
// a[j+1]=temp;
// }
// }
// }
// printf("\n");
// for (int i =0; i<10; i++) {
// printf("%d ",a[i]);
// }
// strlen("hello");
#pragma mark--------------2
//字符串长度 比方hello,字符串长度5
// printf("%lu",strlen("hello"));
//字符串所占空间 比方char[10]="hello" 字符串所占空间10;
// char c[] = "hello";
// printf("%lu",sizeof(c));
// for (int i = 0; i<sizeof(c); i++) {
// printf(" %c ",c[i]);
// }
// printf("\n%s ",c);
//等同于以下
//%s,从首地址開始打印,直到打到/0结束
// char d = 0;
// int i = 0;
// while ((d = c[i]) != '\0') {
// printf("%c",d);
// i++;
// }
//strlen,測量字符串长度
//strcpy
//strcmp,比較
//strcat//拼接
// char name[20]="zuoyoudong";
// printf("%s length = %lu",name,strlen(name));
// int i = 0;
// while (name[i] !='\0') {
// printf("%c",name[i]);
// i++;
// }
// printf("%d",i);
// char z[]="zuo";
// char y[5]="yi";
// strcpy(y, z);
// printf("%s",strcpy(y, z));
//1,"hello",2,"abcdefghi",3,拷贝,hello\0ghi
#pragma mark--------------3
// char str1[50] = "hangsan";
// char str2[10] = "lisi";
// strcpy(str2, str1);//前面目的串,后面来源串,const仅仅可读,不可赋值
// printf("%s",str2);
//字符串拼接strcat 注意:是否有足够的空间,放长度
// strcat(str1, str2);//带const修饰是不变的
// strcat(str1, str2);
// printf("%s",str1);
//字符串比較strcmp(按ASC码值求大小)
// int result = strcmp(str1, str2);
// printf("%d",strcmp(str1, str2));
// printf("%d",result);
// if (result>1) {
// printf("\n%s 大于 %s",str1,str2);
// }else if (result==0){
// printf("%s 等于 %s",str1,str2);
// }else{
// printf("\n%s 小于 %s",str1,str2);
// }
//strlen
//strcmp
//strcat
//strcpy
//查找字符串中的空格数
// char str[50] = "I love iOS,i want an iPhone5s";
// int i = 0,count = 0;
// while (str[i]!='\0') {
// char c = str[i];
// if (c ==' ') {
// count++;
// }
// i++;
// }
// printf("%d",count);
#pragma mark--------------4
//把字符倒转过来
//解题思路!
//凡是交换要定义第三方temp
char str1[]="hello";
char str2[5]=" ";
long length = strlen(str1);
// printf("%lu",length);
printf("%lu",sizeof(str1));
// long length =strlen(str1);
// printf("%lu",length);
// int i = 0;
// while (str1[i] !='\0') {
// char temp = str1[i];
// str1[i]=str2[i];
// str2[i]=temp;
//
// }
// printf("%s",str2);
// for (int i = 0; i<sizeof(str1); <#increment#>) {
// <#statements#>
// }
//#pragma mark--------------5绝对值
//#pragma mark--------------6for循环
//#pragma mark--------------7作业
C语言--一维数组,字符数组的更多相关文章
- C语言字符串与字符数组
字符串儿与字符数组 字符数组的定义: Char buffer[]; 字符数组初始化: Char buffer1[]="hello world"; 利用scanf输入一个字符串儿 代 ...
- c语言中的字符数组与字符串
1.字符数组的定义与初始化 字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素. char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y ...
- [日常] C语言中的字符数组和字符串
c语言字符数组和字符串:1.存放字符的数组称为字符数组 char str[]2.'\0'也被称为字符串结束标志3.由" "包围的字符串会自动在末尾添加'\0'4.逐个字符地给数组赋 ...
- C语言中二维字符数组的定义和初始化
本篇日志关于二维字符数组的定义和初始化.我相信这篇文章属于菜鸟级的,高手请直接无视. 一般来说,我们可能会希望定义一个二维字符数组并且在定义的时候就用一些字符串来初始化它.比如说: ][MAX_LEN ...
- C语言可以给字符数组赋值的方法
分类: C 2012-04-06 10:23 4081人阅读 评论(0) 收藏 举报 语言c 学了这么多年的C语言,突然发现连字符串赋值都出错,真的很伤心. char a[10]; 怎么给这个数组赋值 ...
- (C/C++学习)15.C语言字符串和字符数组
说明:在C语言中字符串和字符数组有很多相似之处,却又有着一些不同.本文将针对其区别与联系,进行分析总结. 一.字符串 1.在C语言中,字符串是由双引号括起来的任意字符序列,如:"china& ...
- 粗暴,干就完了----徐晓冬似的C语言自学笔记---字符数组相关技术
字符串拼接函数 strcat() 字符串----作为很多编程语言的鼻祖C语言,没有字符串类型,取而代之的字符数组,很多数组在声明的时候会给定数组长度,然而我们却可以这样写 char mywords[] ...
- 黑马程序员——C语言基础 char字符 数组
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)char类型 1)存储细节 ASCII单字节表(双字节GBK\GB2 ...
- C语言 · 递归倒置字符数组
算法提高 递归倒置字符数组 时间限制:1.0s 内存限制:512.0MB 问题描述 完成一个递归程序,倒置字符数组.并打印实现过程 递归逻辑为: 当字符长度等于1时,直接返回 否则, ...
- C语言中的字符数组和字符串
在C语言中,没有字符串类型,但是可以通过字符数组来模拟字符串. 字符串可以在栈上,堆上,静态区和常量区进行分配. char buf[50] = "abc"; char buf[] ...
随机推荐
- net core 接受post值
public static string GetPostParams(HttpContext context) { string param = string.Empty; if (context.R ...
- 洛谷 P1282 多米诺骨牌 ( 线性DP )
题意 : 题目链接 分析 : 一开始这个想法也有想到,但是貌似要开很大数组,就感觉应该不行 遂放弃想其他方法,万万没想到注意到可以滚动优化(其实不优化也可以过) 定义 dp[i][j] 表示 到第 ...
- C++STL中的unique函数
头文件:#include<iostream> 函数原型:iterator unique(iterator it_1,iterator it_2); 作用:元素去重,即”删除”序列中所有相邻 ...
- Linux安装配置redis 、启动redis、redis设置密码
由于间隔时间较长.机器的环境不同等等原因,所以每次安装redis的时候总是不那么顺利,所以这次我要做个笔记 文章大部分内容源于https://blog.csdn.net/gisredevelopmen ...
- jq完成省市区街道四级联动
之前看的省市区街道四级联动的插件,感觉和公司要求的有些不符合,就自己写了一个 因为要读取本地json文件,所以要跑下服务器 下载browser-sync 然后在项目目录下运行browser-sync ...
- kali文件执行的权限不够解决办法
root@kali:~# ./sql.py bash: ./sql.py: 权限不够 root@kali:~# ./.py Fuzzing PASS with bytes ^CTraceback (m ...
- 深入浅说服务如何以Jar包的方式发布
序言 笔者前段时间在使用自研框架NF( 传送门 )开发一个自动模板生成工具之后,想将他发布到Linux下,之前一直使用IDE直接run as运行,在遇到发布的时候考虑过发布为war或者jar,在一番抉 ...
- Java文件中代码
public class MyTextView extends TextView { //在用代码创建的时候调用 public MyTextView(Context context) { this(c ...
- 深入浅出mysql笔记---0、序
深入浅出mysql笔记---0.序 一.总结 一句话总结: 心得:买书之前建议先找找电子书,纸质书太难带了 1.开源作用? 开源对mysql的发展至关重要 2.mysql在2002年就全面支持了事务, ...
- 五、SpringBoot—HelloWorld案例
弱弱的补充一下啊,,,上一讲如果个别同学创建完项目之后发现项目pom.xml文件或者项目其他地方报错,你可以安装下图操作: HelloWorld案例: 编写好之后启动项目(贼姬霸简单) 启动成功: 浏 ...