C语言代码复习笔记:第二章
输出星星
#include <stdio.h>
void printStart( int num ) {
while(num-->) {
printf("*");
};
}
int main() {
int n = , i;
for(i=; i<n; i++) {
printStart(i);
printf("\n");
}
printStart();
return ;
}
默认情况下, C++函数按照值传递参数, 这就意味着函数中定义的形参是新的变量, C函数通过通过使用拷贝, 保护了原始数据的完整性;
虽然C语言数组名就是一个地址指针, 但是它们仍然还是按照值传递的;
如果参数是数组的话, 默认传递的是数组的复制品:
#include <stdio.h>
void change(int array[]) {
array[] = ;
}
int main() {
int arr[] = {,};
printf("arr的第一个值是:%d\n", arr[]);
change(arr);
printf("arr的第一个值是:%d\n", arr[]);
return ;
}
输出为:
arr的第一个值是:
arr的第一个值是:
如果参数为数组,接收的参数设置为指针, 修改指针即会修改原来的数组:
#include <stdio.h>
void change(int *p) {
p[] = ;
}
int main() {
int arr[] = {,};
printf("arr的第一个值是:%d\n", arr[]);
change(arr);
printf("arr的第一个值是:%d\n", arr[]);
return ;
}
从一堆数组中找出指定的的数字:
#include <stdio.h>
#define NUMBER 5
int search(int *p, int n) {
int index = ;
printf("string\n");
while(true) {
if(*(p+index) == n) {
return index+;
}
printf("%d\n", *p);
index++;
}
return -;
} int main() {
int arr[NUMBER] = {};
int num;
int i = ;
for(i=; i<NUMBER; i++) {
printf("输入索引为%d的值\n", i);
scanf("%d",&arr[i]);
}
printf("输入需要查找的数字\n");
scanf("%d", &num);
int index = search(arr, num);
printf("找到的索引为%d", index);
return ;
}
静态变量, 静态变量
#include <stdio.h>
int foo = ;
void func() {
static int sx = ;
foo++;
sx++;
printf("%d--%d\n", foo, sx);
}
int main() {
func();
func();
func();
func();
return ;
}
输出:
--
--
--
--
如果声明了静态变量, 那么这个变量就会和函数挂钩, 相对于函数的属性, 静态变量只会初始化一次
数字后面不同的后缀,说明了不同的类型;
1u:unsigned int
1l:long
1ll: long long
1UL:unsigned long
0.5f:float
查看二进制数字包含1的进制位:
#include <stdio.h>
int count_bit(unsigned x) {
int count = ;
while(x) {
if(x & 1U) count++;
x >>= ;
}
return count;
}
int main() {
unsigned bits = ;
int length = count_bit(bits);
printf("length is %d\n", length);
return ;
}
如果数据太大, 超出了能够存储的大小, 计算结果会出现问题, 尴尬
C语言代码复习笔记:第二章的更多相关文章
- 《时间序列分析及应用:R语言》读书笔记--第二章 基本概念
本章介绍时间序列中的基本概念.特别地,介绍随机过程.均值.方差.协方差函数.平稳过程和自相关函数等概念. 2.1时间序列与随机过程 关于随机过程的定义,本科上过相关课程,用的是<应用随机过程&g ...
- 《DOM Scripting》学习笔记-——第二章 js语法
<Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...
- The Road to learn React书籍学习笔记(第二章)
The Road to learn React书籍学习笔记(第二章) 组件的内部状态 组件的内部状态也称为局部状态,允许保存.修改和删除在组件内部的属性,使用ES6类组件可以在构造函数中初始化组件的状 ...
- [HeadFrist-HTMLCSS学习笔记]第二章深入了解超文本:认识HTML中的“HT”
[HeadFrist-HTMLCSS学习笔记]第二章深入了解超文本:认识HTML中的"HT" 敲黑板!!! 创建HTML超链接 <a>链接文本(此处会有下划线,可以单击 ...
- Android群英传笔记——第二章:Android开发工具新接触
Android群英传笔记--第二章:Android开发工具新接触 其实这一章并没什么可讲的,前面的安装Android studio的我们可以直接跳过,如果有兴趣的,可以去看看Google主推-Andr ...
- 20172327 2018-2019-1 《第一行代码Android》第二章学习总结
学号 2017-2018-2 <第一行代码Android>第二章学习总结 教材学习内容总结 - 活动是什么: 活动(Activity)是最容易吸引用户的地方,它是一种可以包含用户界面的组件 ...
- 深入理解 C 指针阅读笔记 -- 第二章
Chapter2.h #ifndef __CHAPTER_2_ #define __CHAPTER_2_ /*<深入理解C指针>学习笔记 -- 第二章*/ /* 内存泄露的两种形式 1.忘 ...
- STL源码分析读书笔记--第二章--空间配置器(allocator)
声明:侯捷先生的STL源码剖析第二章个人感觉讲得蛮乱的,而且跟第三章有关,建议看完第三章再看第二章,网上有人上传了一篇读书笔记,觉得这个读书笔记的内容和编排还不错,我的这篇总结基本就延续了该读书笔记的 ...
- Java编程思想笔记(第二章)
第二章 一切都是对象 尽管Java是基于C++的,但相比之下,Java是一种更纯粹的面向对象程序设计语言. c++和Java都是杂合型语言(hybird language) 用引用(referenc ...
随机推荐
- Git 的 WindowsXP安装
文章1: http://blog.sina.com.cn/s/blog_5063e4c80100sqzq.html 一.安装必要客户端 1. TortoiseGit http://tortoisegi ...
- AngularJS路由系列(4)-- UI-Router的$state服务、路由事件、获取路由参数
本系列探寻AngularJS的路由机制,在WebStorm下开发.主要包括: ● UI-Router的$state服务● UI-Router的路由事件● UI-Router获取路由参数 Angular ...
- JavaScript进阶系列05,事件的执行时机, 使用addEventListener为元素同时注册多个事件,事件参数
本篇体验JavaScript事件的基本面,包括: ■ 事件必须在页面元素加载之后起效■ 点击事件的一个简单例子■ 为元素注册多个点击事件■ 获取事件参数 ■ 跨浏览器事件处理 □ 事件必须在页面元素加 ...
- SpringBoot中Mybatis打印sql
原文:https://www.cnblogs.com/expiator/p/8664977.html 如果使用的是application.properties文件,加入如下配置: logging.le ...
- android多设备界面适配的利器:属性weight的妙用
1.按比例显示控件元素 <EditText android:id="@+id/edit_message" android:layout_weight="2" ...
- C#编程(七十)----------dynamic类型
原文链接 : http://blog.csdn.net/shanyongxu/article/details/47296033 dynamic类型 C#新增了dynamic关键字,正是因为这一个小小的 ...
- .NET:默认是按值传递的
小测试 代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using S ...
- 关于面试总结10-selenium中隐藏元素如何定位?(hidden、display: none)
前言 面试题:selenium中隐藏元素如何定位?这个是很多面试官喜欢问的一个题,如果单纯的定位的话,隐藏元素和普通不隐藏元素定位没啥区别,用正常定位方法就行了 但是吧~~~很多面试官自己都搞不清楚啥 ...
- Thinking in Java---异常处理机制
java的异常处理机制能够使程序有极好的容错性,让程序更加的健壮.所谓的异常,就是指的阻止当前方法或作用域继续运行的问题,,当程序运行时出现异常时,系统就会自己主动生成一个Exception对象来通知 ...
- 绝望的主妇第八季/Desperate Housewives迅雷下载
绝望的主妇 第七季 Desperate Housewives Season 8(2011) 本季看点:曾经在<主妇>中有过重要演出的达娜·德拉尼(Dana Delany), 凯尔·麦克拉克 ...