简单的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 ...
随机推荐
- jquery checkbox勾选/取消勾选只能操作一次的诡异问题
第一次执行,没问题,但第二次执行就有问题了,选择不了 解决办法:把attr()换成prop() $("#CheckedAll").click(function () { if ($ ...
- Python(文件操作实例)
给定一个文件:以及给定的字符,比如“a”; 统计字符个数:(可选) # 文件的打开操作f = open("wyl.txt","r")# 文件的读取操作conte ...
- Django-model聚合查询与分组查询
Django-model聚合查询与分组查询 聚合函数包含:SUM AVG MIN MAX COUNT 聚合函数可以单独使用,不一定要和分组配合使用:不过聚合函数一般和group by 搭配使用 agg ...
- python---hash查找
以前只会用,没了解过原理. # coding = utf-8 class HashTable: def __init__(self): # 哈希表的初始大小已经被选择为 11.尽管这是任意的,但是重要 ...
- Caused by: java.net.ConnectException: Connection refused/Caused by: java.lang.RuntimeException: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
1.使用sqoop技术将mysql的数据导入到Hive出现的错误如下所示: 第一次使用命令如下所示: [hadoop@slaver1 sqoop--cdh5.3.6]$ bin/sqoop impor ...
- 作为完美主义者(强迫症)如何将linux的eth1网卡修改为eth0网卡
1:由于你是克隆的虚拟机或者直接就是使用别人的Centos操作系统直接打开到自己本地的虚拟机,网卡可能就是eth1而不是eth0,下面简单写一下如何将eth1修改为eth0,步骤如下所示: 2:如果你 ...
- C#使用Emit构造拦截器动态代理类
在AOP编程概念介绍中,常见的示例为拦截对象,并在对象的某方法执行前和执行后分别记录日志. 而最常用的拦截方式是使用动态代理类,用其封装一个日志拦截器,当方法被执行时进行日志记录. 日志拦截器类 1 ...
- [转]centos安装autossh
centos安装autossh $ sudo yum install wget gcc make$ wget http://www.harding.motd.ca/autossh/autossh-1. ...
- C# 之 索引器
索引器允许类或者结构的实例按照与数组相同的方式进行索引取值,索引器与属性类似,不同的是索引器的访问是带参的. 索引器和数组比较: (1)索引器的索引值(Index)类型不受限制 (2)索引器允许重载 ...
- 解决 Ionic 浏览器跨域问题
<system.webServer> <httpProtocol> <customHeaders> <add name="Access-Contro ...