记录一下自己的学习之旅(新手)多多指教,是个数学专业跨考计算机女生,每天学一点点,希望以后可以成功!以下是c语言联系
学习1 简单的用函数求半值
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void change(int *p)//相当于p=&i,*&i等价于i
{
*p = *p / 2;
}
int main()
{
int i;
scanf("%d", &i);
change(&i);
printf("%d\n",i );
system("pause");
return 0;
}
``
学习2 输入一个整数,申请对应的大小空间,然后读取一个字符串,字符串的输入长度小于最初输入的整型树的大小,然后输出字符串
```c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
char*p;
int n;//申请多少个字节的空间大小
char c;
scanf("%d", &n);
p = malloc(n);
scanf("%c", &c);//注意在scanf和gets中间使用scanf("%c",&c)
gets(p);//如果不通过scanf去消除/n,gets就不会卡住
puts(p);
system("pause");
return 0;
}
学习3
递归 题目为 假如n个台阶,一次只能上一个或者两个,请问走到第n个阶层有几种走法;
递归的判断条件一定是写在递归公式之前的
1 1种
**2 2种
3 3种
4 1111;121;211;121;22; 5种**
总结规律:5=3+2 step(n)=step(n-1)+step(n-2)
```c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int step(int n)//递归一般用int
{
if (n == 1 || n == 2)//递归的结束条件
{
return n;
}
else
return step(n - 1) + step(n -2);//递归的公式
}
int main()
{
int n;//存储台阶
scanf("%d", &n);
printf("%d\n", step(n));
system("pause");
}
学习3
typedrf使用(c语言)起别名
C++的引用
逻辑结构和存储结构
时间复杂福与空间复杂度
提问 最好附上代码加上问题说明 是不是写一个例子来帮助理解
为什么对int起别名,为了代码即注释
例子如下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//给结构体类型起别名,叫stu,起了结构体指针类型的别名,加pstu
typedef struct student{
int num;
char number[20];
char sex;
}stu, *pstu;
typedef int INTEGER;
int main()
{
stu s = { 1001, "wangle", 'M' };
pstu p;//*pstu p1,那么p1也是结构体指针
INTEGER i = 10;
p = &s;
printf("i=%d,p->num=%d\n", i, p->num);
system("pause");
return 0;
}
注意c++中要有头文件#include<stdlib.h>再加system(“pause”);才可以不会闪退。
以下是c++运行
#include <stdio.h>
#include<stdlib.h>
//把&写到形参是c++的语法,称为引用
void modifynum(int&b)
{
++b;
}
int main()
{
int a = 10;
modifynum(a);
printf("a=%d\n", a);
system("pause");
return 0;
}
今天就到这里了,要去复习复试专业课知识了,加油哦