c语言如将素数赋值给数组,C语言

分支结构

if(a>b){

printf("你真美\n");

}else{

printf("你真帅\n");

}

========================================================

循环

for(int i= 0;i< 100;i++)i++{

int temp = i + 1;

printf("%d",temp);

}

例:  1--100之间7的倍数

for(int i = 0;i <100;i++){

if(i  % 7 ==0){

printf("%d",i);

}

}

======================================================

多层循环的嵌套

for(int i = 1; i < 4; I++){

for (int j = 1;j < 4;j++){

printf("\n";)

}

}

例: /*         1 2 3

1 2

1        */

for(int i = 1; i < 4;i++){  // 外层循环控制趟数

for(int j = i; j <= 4 - 1; j++){ //内层循环表示每行有几个数 j = 1 代表第一个数是1

printf("%d",j);//外层循环一次内层循环一遍,外层循环在进行下一次,

}

printf("\n");

}

======================================================

while循环----理解为分解版的for循环(未知次数但有循环条件)

1,设置循环变量

int i = 0;

2,开始while

while(i < 100) {

printf("%d",i+1);

3,设置循环增量

i++

}

例: 10亿每天花一半,花多少天

long money = 100000000;

int   day = 0;

while(money != 0){

day++;

money = money / 2;

}

printf("%d",day);

======================================================

break 关键字

在循环中一旦执行到break,就会结束离他最近一层循环

for(int i = 0; i < 30; i++){

if (i == 10){

printf("一往而生");

break;

}

printf("情不知所起");

}

======================================================

continue 一旦碰到此关键字,会跳过本次循环,继续下一次循环

for (int i = 1; i < 10;i++) {

if(i = =3){

printf("把这个扔了继续下一个");

continue;

}

printf("吃地%d个包子");

}

======================================================

开关语句

int tel = 608;

switch (tel) {

case  605:

printf("欢迎致电市场部");

break;

case  606:

printf("欢迎致电调研部");

break;

case  607:

printf("欢迎致电教学部");

break;

default:

printf("亲,你走错了");

break;

}

======================================================

格式化输入函数

int  s;

printf("请输入一个数字:");

scant("%d".&s);

======================================================

数组:快速创建多个变量,缺点数组中只能存储相同类型的数据,

数据类型: 数组名[元素个数] = {值1,值2,值3.....}

注意: 数组的元素个数只能为整形常量 不要写变量

int array[5] = {2,4,5,6,7};

char a[3] = {'t','i','v'};

可以不设置数组个数,系统会按照数组赋值自行分配

short  b[] = {2,4,6,7};

函数sizeof()可以帮助计算变量在内存中占得字节数

lu (unsigned long)无符号长整型

printf("%lu\n",sizeof(array));

指定数组元素个数,所给数组赋的值得个数必须小于等于元素个数

int c[5] = {22,3,4,5,43,34};

//数组的下标

//从0开始,最大下标是元素个数减一,

//意义:帮助准确找到某个元素

//使用原则:数组名[元素下标]

printf("%d",array[2]); // 第三个元素

array[0] = 222; //改值直接重新赋值

//数组的输出依赖循环

//通过循环遍历数组的每一个下标,来取出数组中的每一个元素

//注意  初始化变量的值要从0开始

for (int i = 0; i < sizeof(array) / 4;i++){

printf("%d",array[i]);

}

//随机数----arc4random()

//    int num1 = arc4random() % 101;

//    printf("取出的随机数的数值为:%d\n",num1);

//闭合区间 [10 -- 20]

int num2 = arc4random() % (20 - 10 + 1) + 10;

printf("取出的随机数的数值为:%d\n",num2);

练习 :定义整形数组,包含10个元素,元素的范围是[30 ,70]数组初始值为0,给数组随机赋值,并且求出元素的和以及平均值

int numArray[10] = {};

int sum = 0;

for (int i = 0; i < 10;i++){

numArray[i] = arc4random() % (70 - 30 +1) +30;

sum += numArray[i];

}

printf("数组的和为:%d,平均值为:%.2f\n",sum,sum / 10);

练习3:定义元素个数为10�的整形数组,元素赋值随机范围[30,70],求数组中的最小值和最大值.

int arr3[10] = {0};

int max = 0; // 0---29都可以用来存储最大值

int min = 71; //71以上的数都可以,用来存储最小值

for (int i = 0; i< 10; i++) {

arr3[i] = arc4random() % (70 - 30 + 1) + 30;

//将随机的每一个值相比较

//取最大

if(max < arr3[i]){

max = arr3[i];

}

//取最小

min = min > arr3[i] ? min :arr3[i];

}

printf("最大值为:%d, 最小值为%d",max,min);

练习4: 定义俩个整形数组,元素个数为10,数组取值范围随机[20,60],将这俩个数组的元素放入一个新的数组中

int arr4[10] = {0},arr5[10] = {0},arr6[20] = {0};

for (int i = 0; i < 10; i++) {

arr4[i] = arc4random() % (60 - 20 + 1) + 20;

arr5[i] = arc4random() % (60 - 20 + 1) + 20;

//俩个元素同时赋值给第三个数组

arr6[i] = arr4[i];

arr6[i + 10] = arr5[i];

printf("%d,%d\n",arr4[i],arr5[i]);

}

for (int i = 0; i < 20; i++) {

printf("新数组为:%d\n",arr6[i]);

}

======================================================

//冒牌排序

//需要双层循环,外层控制循环趟数,内层控制循环次数

//提高效率而言外层趟数为元素个数-1,内层循环处于递减状态,为元素个数-1-i,

//内层循环必须设置元素个数-1的操作,要防止下标越界.

int f[6]= {23,4,54,66,33,43};

for(int i = 0; i < 6 - 1;i++){

for (int j = 0; j

//升序

if (f[j] > f[j+1]) {

//前者大于后者的话  就交换位置

int temp = f[j];

f[j] = f[j+1];

f[j+1] = temp;

}

}

}

for(int i = 0; i <6;i++ ){

printf("%d",f[i]);

}

======================================================

//字符数组,存储字符的数组

char str1[7] = {'t','y','f','g','k','s'};

//打印下标为3的字符

printf("%c\n",str1[3]);

//将小写的g改成大写的

str1[4] = 'G';

printf("%s\n",str1);

//定义字符串-------

//字符串本身就是字符数组,只是字符串的结尾是以\0结尾的,如果在字符数组中也设置了\0,那么此字符数组也可以当做字符串来输出

char str2[] = "hello world";

printf("%s\n",str2);

//列举字符串情况

//1,设置的元素个数,大于实际元素个数

char str3[9] = {'u','l','o'};

printf("%s\n",str3);

//手动设置\0

char str4[] = {'h','i','\0'};

printf("%s\n",str4);

//********____字符串操作函数

//计算字符串长度,以\0结束的biaoshi

char string[] = "you are beautiful";

//注意长度属于计算类型,值是 >= 0 的

unsigned long strLenght = strlen(string); //strlen 字符串长度

printf("%lu\n",strLenght);

//字符串拼接,讲一个字符串拼接到另一个字符串

char string2[30] = "hello";

char string3[] = "world";

strcat(string2, string3); // 将字符串3拼接到字符串2后面

printf("%s\n",string2);  //strcat 拼接

//字符串拼接字符串拷贝 需要注意变量内存问题

//字符串拷贝

strcpy(string2, "hahahah");//strcpy 拷贝

printf("%s\n",string2);

//字符串比较,比较俩个字符串对应位置的字符,比较的是字符串整数值,对应位置的值相减,结果不为0就结束比较

/*

char s1[] = "abcd";

char s2[] = "abcde";

int result = strcmp(s1, s2); // strcmp 差值

printf("差值为:%d\n",result);

======================================================

//宏定义 纯大写  作用 给一个值起一个新名字,在程序中可以把相同的值宏定义,方便后期查阅和修改

//命名规则:纯大写  或者 k+驼峰

//宏定义相当于常量,前者代替后者,所以不要加分号

#define COLORTYPE "red"

#define kColorType "red"

#define NUM 89

#define A int

#define  B A

#define MAXVALUE(a,b) a > b ? a :

======================================================

//函数允许嵌套调用,但不允许嵌套定义

//函数 声明---定义---调用

//声明 分号结尾  //函数声明可写可不写

// 练习求俩个数的最大值

.h文件声明

int twoMaxValue(int a,int b);

// 形参  形式参数  起占位以及提示作用

.m文件实现

int twoMaxValue(int a,int b){

return a > b ? a : b;

}

main函数里调用

int m = twoMaxValue(89,9);

printf("%d",m);

练习1:定义函数,功能为输入字符,返回字符对应的整数值

int getCharValue (char a){

return a;

}

练习:将char s[] = "asdyfsg"反向输出

void printChar(char str[],int count){

//如果参数列表中没有count参数,我们可以使用strlen 计算字符串长度

unsigned long length = strlen(str); // 字符串的长度

for (int i = 0; i < length / 2; i++){

//交换前后字母

char s = str[i];

str[i] = str[length - 1 - i];

str[length - 1 - i] = s;

}

printf("%s\n",str);

}

练习3:定义函数,功能为输出某一个数的所有约数

void yueshu(int a){

for (int i = 1; i <= a; i++) {

if (a % i == 0) {

//能整除  是约数

printf("%d ",i);

}

}

}

练习4:定义函数,功能为找出三个整数的中间值,并返回

int mid(int a, int b,int c){

int f[3] = {a,b,c};

for (int i = 0; i < 3 - 1; i++) {

for (int j = 0; j < 3 - 1 - i ; j++) {

if (f[j] > f[j + 1]) {

int temp = f[j];

f[j] = f[j+1];

f[j+1] = temp;

}

}

}

int k = (sizeof(f) / 4 + 1) / 2;

printf("888888888%d\n", k);

return f[(sizeof(f) / 4 - 1) / 2];

}

练习5:      //数组名 以及 数组元素个数不一致

//封装冒泡排序(写一个冒泡函数)就需要把不一样的值暴露

void sortArray(int array[],int count){

for (int i = 0 ; i < count - 1; i++) {

for (int j = 0; j < count - 1 - i; j++) {

if (array[j] > array[j + 1]) {

int temp = array[j];

array[j] = array[j + 1];

array[j + 1] = temp;

}

}

}

//输出

for(int i = 0; i < count;i++){

printf("%d ",array[i]);

}

}

//**********************************************

//    int temp = getCharValue('a');

//    printf("字符对应的整数值:%d\n",temp);

//*********************************************

//    changeValue(23, 67);

//*********************************************

//    yueshu(20);

//*********************************************

//  int m = mid(25, 78, 39);

//  printf("中间值为:%d\n", m);

//*********************************************

//int arr[4] ={34,5,65,7};

//注意  调用函数

//array 是要求我们放数组的地址  数组名就是该数组的地址

//sortArray(arr, 4);

char s[] = "dhjfhlk";

printChar(s, 7);

//布尔  也是整形

BOOL d = YES; //可以赋数字也可以是yes 或者no

printf("%d\n",d);

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值