简单的C程序
1.最简单的C程序
#include<stdio.h> //预编译处理指令
int main() // 定义主函数
{
printf("hello world");
}
首先明白一点:函数的使用都要进行定义和声明的!
.h是头文件,头文件是包含函数声明和定义的文件;你平时写C语言时,用到的printf() 和scanf()都是系统定义好的,而这些函数的定义就包含在stdio.h这个文件中!
#include是编译预处理指令,就是在编译前将stdio.h这个文件里的函数都添加到你写的cpp文件中,然后参与编译,生成.obj文件。
如果没有这个指令,你用到的printf()和scanf()编辑器就会报错:
error C2065: 'printf' : undeclared identifier
也可以自定义预编译文件
#include是一个包含程序的命令
先跟你说.h文件
.h文件就是头文件,其实它是为了方便用的,我们常用的stdio.h是包含关于C程序的输入输出的各种信息,当编译时就将头文件包含进去,比如:
我做一个头文件
#include <stdio.h>
#define PR printf /*程序中的PR将在编译时自动转化为printf*/
#define SC scanf /*程序中的SC将在编译时自动转化为scanf*/
然后我把它另存为
c:\ps.h
那么以后我写程序的时候只要在开始包含
#include "c:\ps.h"
就可以免掉#include <stdio.h>
因为我已经在另一个文件中包含它了
而且在程序中我要输出 ABC
就可以用PR代表printf
如:
PR("abc");
用样,SC也代表scanf.
包含的文件如果是用<>那么它在用户文件夹中寻找这个头文件.
如果要直接给出路径就用""
stdio.h是C编译系统提供的一个文件名,stdio是“standard input & output”的缩写,即有关标准输入输出的信息。在程序中用到系统提供的标准函数库中的输入输出函数时,应在程序的开头写上#include<stdio.h>.若用不到系统提供的标准函数库中的输入输出函数,声部声明也无所谓
2.求两个整数之和
#include<stdio.h> //预编译处理指令
int main() // 定义主函数
{
int a,b,sum;
a = ;
b = ;
sum = a + b; printf("sum is %d\n十六进制是%x",sum,sum); //单行注释
/*
多行注释
多行注释
多行注释
多行注释
*/
}
格式化输出是指通过printf(),sprintf(),snprintf(),fprintf()等函数向指定的地方(比如屏幕)输出指定格式的内容
例如
%d 输出十进制数 %s 输出字符串 %c 输出字符
%x 输出十六进制数
3..求两个整数的较大值
#include<stdio.h> //预编译处理指令
int main() // 定义主函数
{
int max(int x,int y); //对调用的max函数进行声明
int a,b,c;
scanf("%d,%d",&a,&b); //输入
c = max(a,b);
printf("max is %d",c);
return ; /*
多行注释
多行注释
多行注释
多行注释
*/
}
int max(int x,int y) //自定义一个max函数 {
int z;
if(x>y)z=x;
else z=y;
return(z);
}
在C语言中,&有三种作用,分别如下:
1. 取地址。单目运算符。用来取一个变量的地址。
比如
|
1
2
|
int i, *p;p = &i;//这里的&作用是取变量i的地址。 |
2. 位操作中的与操作运算符。
也就是常说的and操作,双目运算符。
计算的时候按位计算,&两边操作数对应位上全为1时,结果的该位值为1。否则该位值为0
比如
0x12&0x23 转为二进制为:
B00010010&B00100011,
按位计算结果为B00000010,
即结果为0x02。
3. 当两个&&一起用的时候,表示为逻辑运算中的与运算。
逻辑运算结果只有0和1两种结果。
一般在&&两边是两个逻辑表达式。
当两个表达式值均为1时,&&运算结果为1,否则为0。
比如
2>1 && 0<1 这个的值为1&&1 = 1。
1>2 && 2>0 这个值为0&&1 = 0。
1>2 && 2>3 这个值为0&&0=0。
简单的C程序的更多相关文章
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
- java基础学习02(简单的java程序)
简单的java程序 一.完成的目标 1. 理解java程序的基本组成 2. 如何对程序代码进行注释 3. java标识符的命名规则 4. 了解java中的关键字 5. 使用java定义变量或声明变量 ...
- Socket编程实践(3) 多连接服务器实现与简单P2P聊天程序例程
SO_REUSEADDR选项 在上一篇文章的最后我们贴出了一个简单的C/S通信的例程.在该例程序中,使用"Ctrl+c"结束通信后,服务器是无法立即重启的,如果尝试重启服务器,将被 ...
- Linux环境下部署完JDK后运行一个简单的Java程序
前言 前一篇文章详细讲解了如何在Windows环境下安装虚拟机+Linux系统,并且成功部署了JDK. 不过部署完JDK之后,我们判断部署是否成功的依据是看"java -version&qu ...
- 编写一个简单的C++程序
编写一个简单的C++程序 每个C++程序都包含一个或多个函数(function),其中一个必须命名为main.操作系统通过调用main来运行C++程序.下面是一个非常简单的main函数,它什么也不干, ...
- C#编写简单的聊天程序
这是一篇基于Socket进行网络编程的入门文章,我对于网络编程的学习并不够深入,这篇文章是对于自己知识的一个巩固,同时希望能为初学的朋友提供一点参考.文章大体分为四个部分:程序的分析与设计.C#网络编 ...
- 完成一段简单的Python程序,使用函数实现用来判断输入数是偶数还是奇数
#!/bin/usr/env python#coding=utf-8'''完成一段简单的Python程序,使用函数实现用来判断偶数和奇数'''def number_deal(a): if a%2==0 ...
- 完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能
#!/bin/usr/env python#coding=utf-8'''完成一段简单的Python程序,用于实现一个简单的加减乘除计算器功能'''try: a=int(raw_input(" ...
- 编写简单的Mapreduce程序并部署在Hadoop2.2.0上运行
今天主要来说说怎么在Hadoop2.2.0分布式上面运行写好的 Mapreduce 程序. 可以在eclipse写好程序,export或用fatjar打包成jar文件. 先给出这个程序所依赖的Mave ...
- 简单的聊天程序,主要用到的是Socket
服务端: import java.io.*; import java.net.*; import java.util.*; public class ChatServer { boolean stat ...
随机推荐
- js instanceof 检测某个对象是否是另一个对象的实例
例如File对象 $("#file").change(function(){ console.log($(this)[0].files[0]) console.log($(this ...
- docker批量删除none镜像
1.直接用docker images | grep none | awk ‘{print $3}’ |xgars docker rmi 通过关键字搜索,得到docker id,进行删除
- Scrapy库的安装(windows版)
这个是需要安装的所有文件 1. wheel pip install wheel 2. lxml http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 3. P ...
- Sublime Text 3 快捷键总结(拿走)
以下是个人总结不完全的快捷键总汇,祝愿各位顺利解放自己的鼠标. 选择类 Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本. Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同 ...
- 'mysql' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
1.C:\Users\Aiyufei>mysql -h 127.0.0.1 -u root'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件.解决方法: 配置环境变量即可,我的问 ...
- Vue2.0 探索之路——生命周期和钩子函数的一些理解
前言 在使用vue一个多礼拜后,感觉现在还停留在初级阶段,虽然知道怎么和后端做数据交互,但是对于mounted这个挂载还不是很清楚的.放大之,对vue的生命周期不甚了解.只知道简单的使用,而不知道为什 ...
- Java基础知识➣环境搭建与类型整理(一)
概述 公司业务需要,产品既要有.NET又需要Java,没得选择,只能业余时间学习Java,整体觉得Java也.NET还是很相似的,只是语法有差别,差别也不是很大,这就将学习Java的基础知识整理下,以 ...
- python辅助sql手工注入猜解数据库案例分析
发现存在sql注入漏洞 简单一点可以直接用sqlmap工具暴库 但是如果想深入理解sql注入的原理,可以尝试手工注入,配合python脚本实现手工猜解数据库 首先hachbar开启 获取cms登录后的 ...
- Codeforces 542D Superhero's Job 数论 哈希表 搜索
原文链接https://www.cnblogs.com/zhouzhendong/p/CF542D.html 题目传送门 - CF542D 题目传送门 - 51Nod1477 题意 定义公式 $J(x ...
- day33 网络编程之线程,并发以及selectors模块io多路复用
io多路复用 selectors模块 概要: 并发编程需要掌握的知识点: 开启进程/线程 生产者消费者模型!!! GIL全局解释器锁(进程与线程的区别和应用场景) 进程池线程池 IO模型(理论) 1 ...