C语言基础三
C——数组
一维数组的定义和引用
定义:类型说明符 数组名[常量表达式]
int a[ 10 ];他表示定义了一个整形数组,数组名为a,有10个元素。
注意:C语言不允许对数组的大小做动态定义。一维数组元素的引用:数组名[下标]
一维数组初始化
int[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
一维数组例子
冒泡法对十个数排序(升序)#include<stdio.h>
#include<math.h>
void main(){
int i, j, t, a[10];
printf("input 10 numbers: \n");
for(i = 0; i< 10; i++)
scanf("%d", &a[i]);
printf("\n");//输入10个数字
for(j = 0; j < 9; j++)//进行9次循环,实现9躺排序
for(i = 0; i < 9-j; i++)//在每一趟中进行9-j次比较
if(a[i] > a[i+1]){
t = a[i];
a[i] = a[i+1];
a[i+1] = t;
}
printf("the 10 numbers: \n");
for(i = 0; i < 9; i++){
printf("%d", a[i]);
printf("\n");
}
}
二维数组的定义和引用
定义: 类型说明符 数组名[常量表达式] [常量表达式]
float [3][4]:先横后列二维数组的引用同一维数组类似
二维数组的初始化
int a [3] [4] = {{1,2,3}, {4,5,6}, {1,3,4,5,6}};//或
int a [3] [4] = {1,2,3,4,5,6,7,8,9,0};
没有占位的默认为0。
二维数组举例:数组的行和列互换
#include<stdio.h>
#include<math.h>
void main(){
int a[2][3] = {{1,2,3},{4,5,6}};
int b[3][2], i, j;
printf("array a: \n");
for(i = 0; i<= 1;i++)
{
for(j = 0; j<= 2; j++)
{
printf("%5d", a[i][j]);
b[j][i] = a[i][j];
}
printf("\n");
}
printf("array b: \n");
for(i = 0; i<= 2;i++)
{
for(j = 0; j<= 1; j++)
printf("%5d", b[i][j]);
printf("\n");
}
}
字符数组
字符数组的定义
char c[10];初始化
char c[5] = {'w', 'i', 'b',' ', 'b'};字符数组的输入输出
逐个输入输出:%c;
整个字符串一次输出输入:%s;
例子:char c[] = {"china"};
printf("%s",c);
注意: scanf函数中的输入输出如果是字符数组名,不要再加地址符&,
- 字符串处理函数
- puts(字符数组)
其作用是将一个字符串输出在终端。 - gets函数,作用是从终端输入一个字符串到字符数组,并得到一个函数值。
- stract函数
格式:stract(字符数组1,字符数组2)
该函数是一个字符串连接函数 - strcpy和strncpy函数
strcpy函数是字符串复制函数,作用是将字符串2里的内容复制到字符串1中,strncpy(str1, str2,2)函数是将字符串2中的最前面的2个字符复制到字符串1中去。 - strcmp函数,是字符串比较的函数,
- strlen函数,是测试字符串长度的函数,函数的值为字符串中的实际长度,不包括'\0'在内。
- strlwr函数,是字符串小写函数,
例子
输入一行字符,统计共有多少个单词#include<stdio.h>
#include<math.h>
void main(){
char string[81];
int i, num = 0, word = 0;
char c;
gets(string);
for(i = 0; (c = string[i])!= '\0'; i++)
if(c == ' ') word =0;
else if(word == 0)
{
word = 1;
num ++;
}
printf("there are %d words in the line\n", num);
}
将两个字符串连接起来 不要用strcat函数
#include<stdio.h>
int main()
{
char c1[80],c2[80];
int i,j;
printf("Input string1:");
gets(c1);
printf("Input string2:");
gets(c2);
for(i=0;c1[i]!='\0';i++)
{
}
for(j=0;c2[j]!='\0';i++,j++)
{
c1[i]=c2[j];//现在的c[i]已经遍历到了str1的最后了。
}
puts(c1);
return 0;
}
输入一个平行四边形
#include<stdio.h>
void main()
{
int i,j,k;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("*");
}
printf("\n");
for(k=1;k<=i+1;k++)
printf(" ");
}
printf("\n");
}
C语言基础三的更多相关文章
- C语言基础三(敲打键盘、寻找资料,循环语句)
有人在学C语言或者其他语言的时候,大家都会说逻辑思维的硬道理,认为没有逻辑思维的人走不远,那么小编这里借助简单的if...else... 英文解释if(如果),else(否则) ----------- ...
- python自动化--语言基础三字典、函数、全局/局部变量
字典 dict1 = {,'class':'first'} print(dict1.keys()) #打印所有的key值 print(dict1.values()) #打印所有的values值 pri ...
- Go语言基础三:基本数据类型和运算符
Go语言数据类型 与其他编程语言一样,Go语言提供了各种数据类型,可分为基本的数据类型和复杂的数据类型.基本的数据类型就是基本的构造块,例如字符串.数字和布尔值.复杂的数据类型是用户自己定义的结构,由 ...
- Java语言基础(三)
Java语言基础(三) 一. 补码 (1).之所以有补码是因为要考虑成本 就是造计算机的成本 (2).下面让我们分析一下补码 以四位补码为例 <1> 高位是符号位,它决定其是正数还是 ...
- Swift语言指南(三)--语言基础之整数和浮点数
原文:Swift语言指南(三)--语言基础之整数和浮点数 整数 整数指没有小数的整数,如42,-23.整数可以是有符号的(正数,零,负数),也可以是无符号的(正数,零). Swift提供了8,16,3 ...
- 第二章(java程序设计)第三章(语言基础)
第二章 2.1 对象 对象的概念是由现实世界引入问题模型: 对象包含有:状态和行为.具体地来说是: 数据封装:对象的方法的作用就是:将内部变量封装起来,提供给外界交互的窗口.(实现对数据的隐藏) 继承 ...
- Golang 入门系列(三)Go语言基础知识汇总
前面已经了 Go 环境的配置和初学Go时,容易遇到的坑,大家可以请查看前面的文章 https://www.cnblogs.com/zhangweizhong/category/1275863.html ...
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)
索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 五.透视.逆透视及分组 5.1 透视 所谓透视( ...
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(上)
索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 一.SQL Server体系结构 1.1 数据库 ...
随机推荐
- 在ie和chrome浏览器中滚动条样式的设置
1.IE下设置滚动条样式的属性 scrollbar-arrow-color: color; /*三角箭头的颜色*/scrollbar-face-color: color; /*立体滚动条的颜色(包括箭 ...
- vue增删改查
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python read文件的r和rb的区别
r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 1.文件使用方式标识 'r':默认值,表示从文件读取数据. 'w':表示要向文件写入数据,并截断以前的内容 'a':表示要向文件 ...
- 1.2 使用电脑测试MC20模块的GPS功能测试
需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...
- 3.6中的range()
在python3中range()是这样的: >>> range(4) range(0, 4) #额,列表跑哪去了 在之前的python2中是这样的: >>> ran ...
- Linux服务器iops性能测试-fio
FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, ...
- Linux 关机命令详解 转自脚本之家
在linux下一些常用的关机/重启命令有shutdown.halt.reboot.及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的. Linux centos重启命令: 1. ...
- WebSocket 初体验
其实老早就觊觎 Socket 这碗美食了,在 WebSocket 发出后更是心潮澎湃... 奈何这需要后端同志的帮助,使得至今才得以品尝.(当然本文也只涉及前端部分) 以前想监听其他设备变化,大屏幕交 ...
- AngularJS 视图和路由
在AngularJS之后引用angular-route 路由 ngRoute模块加载声明 AngularJS提供的when和otherwise两个方法来定义应用的路由 otherwise ...
- memcached 高级机制(一)
memcached的高级机制 memcached内存机制 (1)我们知道操作系统对进程的处理方法,在多进程并发的操作系统中,程序的执行不可避免的会产生碎片.同样对于memcached,在存储value ...