20170425

输出人员信息系统中所有人的id:
  1 /*位置指针练习*/
  2 #include <stdio.h>
  3 int main() {
  4     int id = 0;
  5     FILE *p_file = fopen("a.bin", "rb");
  6     if(p_file) {
  7         while(fread(&id, sizeof(int), 1, p_file)) {
  8             printf("id是%d\n", id);
  9             fseek(p_file, 24, SEEK_CUR);
 10         }
 11         fclose(p_file);
 12         p_file = NULL;
 13     }
 14
 15     return 0;
 16 }

预处理指令
#define 这个预处理指令用来定义宏
宏可以用来给数字起名字
  1 /*
  2     宏演示
  3  */
  4 #include <stdio.h>
  5 int main() {
  6     int radius = 0;
  7     printf("请输入半径:");
  8     scanf("%d", &radius);
  9     printf("圆的周长是%g\n", 2 * 3.14f * radius);
 10     return 0;
 11 }
 添加宏
  1 /*
  2     宏演示
  3  */
  4 #include <stdio.h>
  5 #define PI 3.14f
  6 int main() {
  7     int radius = 0;
  8     printf("请输入半径:");
  9     scanf("%d", &radius);
 10     printf("圆的周长是%g\n", 2 * PI * radius);
 11     return 0;
 12 }
编写宏时要把名字写在前面,被代表的内容写在后面
不要在宏定义语句中使用赋值操作符
在gcc命令中可以使用-D选项定义宏,例如给宏指定对应数字
例子:gcc -DSIZE 10 指定了宏SIZE为10
宏也可以用来给一个计算公式起名字
宏可以使用参数表示计算公式中未知的内容,参数的个数没有限制
宏的参数可以代表任何东西,所以宏的参数没有类型
  1 /*
  2     宏演示
  3  */
  4 #include <stdio.h>
  5 #define PI 3.14f
  6 #define CIRCLE(r) 2 * PI * r
  7 int main() {
  8     int radius = 0;
  9     printf("请输入半径:");
 10     scanf("%d", &radius);
 11     printf("圆的周长是%g\n", CIRCLE(radius));
 12     return 0;
 13 }
用来给计算公式起名的宏中,不能定义自己的变量
  1 #include <stdio.h>
  2 #define SUB(x, y)   x - y
  3 int main() {
  4     printf("%d\n", SUB(8, 3));  //8 - 3 = 5
  5     printf("%d\n", 20 - SUB(8, 3)); // 20 - 8 - 3 = 9
  6     return 0;
  7 }
宏没有返回值变量,所以不能保证先完成宏内部的计算。
所有用来代表计算公式的宏都应该在计算公式外面加一对小括号,这样可以保证先完成
宏内部的计算
  1 #include <stdio.h>
  2 #define SUB(x, y)   (x - y)
  3 int main() {
  4     printf("%d\n", SUB(8, 3));  // 8 - 3 = 5
  5     printf("%d\n", 20 - SUB(8, 3));  // 20 - (8 - 3) = 15
  6     printf("%d\n", SUB(10, 5 - 2));  // 10 - 5 - 2 = 3
  7     return 0;
  8 }
宏也没有形式参数,所以不能保证先计算参数的数值
所有代表数字的宏参数都应该用小括号包括起来。
  1 #include <stdio.h>
  2 #define SUB(x, y)   ((x) - (y))
  3 int main() {
  4     printf("%d\n", SUB(8, 3));  // 5
  5     printf("%d\n", 20 - SUB(8, 3)); // 15
  6     printf("%d\n", SUB(10, 5 - 2)); // 7
  7     return 0;
  8 }

时间: 2024-11-07 19:14:18

20170425的相关文章

CSDN日报20170425 ——《私活,是对技术达人最好的点赞》

[程序人生]私活,是对技术达人最好的点赞 作者:littletigerat 简而言之,接私活,是市场经济对技术达人最好的奖赏和点赞. 点击阅读全文 [深度学习]基于卷积神经网络(CNN)的中文垃圾邮件检测 作者:clayanddev 随着深度学习的发展以及RNN.CNN的陆续出现,特征向量的构建将会由网络自动完成,因此我们只要将文本的向量表示输入到网络中就能够完成自动完成特征的构建与分类过程. 点击阅读全文 [Java]Java 爬虫工具Jsoup解析 作者:Smile_Miracle Jsou

20170425开始我的爬虫之路

潜伏了两天,认真学习了爬虫,现在开始模仿别人写我的小爬虫代码了,第一个爬虫开始扒一下新浪国内新闻:http://news.sina.com.cn/china/ 开始: import requests#插入请求模块from bs4 import BeautifulSoup#从BS4导入BeautifulSoupimport os#插入os模块用于文件处理

【2017-04-25】winform公共控件、菜单和工具栏、Tab和无边框窗体制作

一.公共控件 1. Button   按钮 + 布局 - AutoSize   按钮尺寸自动适应里面内容的长度 - Location    位置 - Margin       控件与控件外边距 - Size     当前尺寸 +行为 - Enabled     是否可用 - TabIndex     该控件对应的Tab键索引值 - TabStop      该控件对应的Tab键禁用时的索引值 - Visible     显示和隐藏 +外观 - BackColor    背景色 - Backgro

数据访问(创建链接、读取数据、例题)--2017-04-25

1.造连接对象$db = new MySQLi("localhost_3306","root","12345678","hw_0408"); 2.写SQL语句$sql = "select * from teacher"; 3.执行SQL语句,返回结果集对象$result = $db->query($sql); if($result){ } $arr = $result->fetch_row();

2017-04-25数据库编程截图

                                                                   using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;

每日编程-20170425

题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序. 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 解答: 本来以为是二维数组的二分查找,哪知写完了才发现思路不正确 如果是二分查找,需要保证每一行的末尾元素要小于下一行的开头元素才行 这道题只是简单的在前多少行中(这些行的第一个元素要小于等于target)对每行进行二分查找而已 1 class Solution { 2 public: 3 4 template <cla

老男孩教育每日一题-2017-04-25:怎样产生一个子shell?

1.在父shell中执行一个shell脚本,可以产生一个子shell 测试环境: 定义一个变量并输出 [[email protected] ~]$ STR=123 [[email protected] ~]$ echo $STR 123 编写测试脚本并执行 [ [email protected] ~]$ cat test.sh #!/bin/bash echo $STR [[email protected] ~]$ ./test.sh   [[email protected] ~]$ expor

linux用户及权限详解(20170425)

计算机资源 权限 用户 用户,容器,关联权限:用户组,方便的指派权限 用户:标示符 用户组:标示符 r .w.x:1.2.4 对于文件 r:可读,可以使用类似cat等命令查看文件内容 w:可写,可以编辑或者删除此文件 x:可以执行,可以命令提示符下当做命令提交给内核运行 对于目录: r:可以对此目录执行ls,列出内部所有文件 w:可以再此目录内创建文件 x:可以使用cd切换进此目录,也可以使用ls 查看内部文件的详细信息 用户:UID, /etc/passwd 组:GID, /etc/group

【2017-04-25】winform公共控件、菜单和工具栏

一.公共控件 公共控件很多的属性很多都相似,这些是大部分都相同的: +布局 - AutoSize:自动适应控件上文字内容- Location:位置- Margin:控件间的间距- Size:控件大小 +行为 - Enabled:是否可用- TabIndex:按Tab键时,焦点顺序的索引,从0开始- TabStop:焦点是否停留- Visible:显示和隐藏 +外观 - BackColor:背景色- BackgroundImage:背景图片- BackgroundImageLayout:背景图显示