当前位置:三九宝宝网 → 宝宝教育 → 教学论文 → 正文

C语言程序每一行代码的解释急用

更新:03-11 整理:39baobao.com
字体:

[c语言程序代码注释]int driver=EGA,mode=1;\\将来要设置显示模式是EGA模式1,现在只是把模式定下来 int data[]={7,3,12,6,9,5,8,11};\\数组 int i,j,xstep=70,ystep=20;\\i j是循环计数器 剩下2个...+阅读

#include "stdio.h"

//计算a+b

int add(int a,int b)

{

return a+b;

}

//计算a-b

int subtract(int a,int b)

{

return a-b;

}

//计算a*b

int multiply(int a,int b)

{

return a*b;

}

void main()

{

int a,b;//申明整数变量a、b

int (*fun)(int,int);//申明函数指针变量fun

printf("Input a,b:");//输出字符串

scanf("%d,%d",&a,&b);//读入整数a、b

fun = add;//fun指向加法函数

printf("a+b=%d\n",(*fun)(a,b));//输出a+b结果

fun = subtract;//fun指向减法函数

printf("a-b=%d\n",(*fun)(a,b));//输出a-b结果

fun = multiply;//fun指向乘法函数

printf("a*b=%d\n",(*fun)(a,b));//输出a*b结果

}

C语言中的正码反码和补码作何解释名词解释

数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,"正如亚里士多德早就指出的那样,今天十进制的广泛采用,只不过我们绝大多数人生来具有10个手指头这个解剖学事实的结果.尽管在历史上手指计数(5,10进制)的实践要比二或三进制计数出现的晚."(摘自>有空大家可以看看哦~,很有意思的).为了能方便的与二进制转换,就使用了十六进制(2 4)和八进制(23).下面进入正题.

数值有正负之分,计算机就用一个数的最高位存放符号(0为正,1为负).这就是机器数的原码了.假设机器能处理的位数为8.即字长为1byte,原码能表示数值的范围为

(-127~-0 +0~127)共256个.

有了数值的表示方法就可以对数进行算术运算.但是很快就发现用带符号位的原码进行乘除运算时结果正确,而在加减运算的时候就出现了问题,如下: 假设字长为8bits

( 1 ) 10- ( 1 )10 = ( 1 )10 + ( -1 )10 = ( 0 )10

(00000001)原 + (10000001)原 = (10000010)原 = ( -2 ) 显然不正确.

因为在两个整数的加法运算中是没有问题的,于是就发现问题出现在带符号位的负数身上,对除符号位外的其余各位逐位取反就产生了反码.反码的取值空间和原码相同且一一对应. 下面是反码的减法运算:

( 1 )10 - ( 1 ) 10= ( 1 ) 10+ ( -1 ) 10= ( 0 )10

(00000001) 反+ (11111110)反 = (11111111)反 = ( -0 ) 有问题.

( 1 )10 - ( 2)10 = ( 1 )10 + ( -2 )10 = ( -1 )10

(00000001) 反+ (11111101)反 = (11111110)反 = ( -1 ) 正确

问题出现在(+0)和(-0)上,在人们的计算概念中零是没有正负之分的.(印度人首先将零作为标记并放入运算之中,包含有零号的印度数学和十进制计数对人类文明的贡献极大).

于是就引入了补码概念. 负数的补码就是对反码加一,而正数不变,正数的原码反码补码是一样的.在补码中用(-128)代替了(-0),所以补码的表示范围为:

(-128~0~127)共256个.

注意:(-128)没有相对应的原码和反码, (-128) = (10000000) 补码的加减运算如下:

( 1 ) 10- ( 1 ) 10= ( 1 )10 + ( -1 )10 = ( 0 )10

(00000001)补 + (11111111)补 = (00000000)补 = ( 0 ) 正确

( 1 ) 10- ( 2) 10= ( 1 )10 + ( -2 )10 = ( -1 )10

(00000001) 补+ (11111110) 补= (11111111)补 = ( -1 ) 正确

所以补码的设计目的是:

⑴使符号位能与有效值部分一起参加运算,从而简化运算规则.

⑵使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计

所有这些转换都是在计算机的最底层进行的,而在我们使用的汇编、C等其他高级语言中使用的都是原码。

C语言中的所有代码及意思例如if如果 else否则

c语言中的关键字的详解:

auto :声明自动变量e68a84e8a2ad62616964757a686964616f31333337626232 ,可以省略

short :声明短整型变量或函数

int: 声明整型变量或函数

long :声明长整型变量或函数

float:声明浮点型变量或函数

double :声明双精度变量或函数

char :声明字符型变量或函数

struct:声明结构体变量或函数

union:声明共用数据类型

enum :声明枚举类型

typedef:用以给数据类型取别名

const :声明只读变量

unsigned:声明无符号类型变量或函数

signed:声明有符号类型变量或函数

extern:声明变量是在其他文件正声明

register:声明寄存器变量

static :声明静态变量

volatile:说明变量在程序执行中可被隐含地改变

void :声明函数无返回值或无参数,声明无类型指针

if:条件语句

else :条件语句否定分支(与 if 连用)

switch :用于开关语句 case:开关语句分支

for:循环语句

do :循环语句的循环体

while :循环语句的循环条件

goto:无条件跳转语句

continue:结束当前循环,开始下一轮循环

break:跳出当前循环

default:开关语句中的“其他”分支

sizeof:计算数据类型长度

return :子程序返回语句(可以带参数,也可不带参数)循环条件

本文地址:https://www.39baobao.com/show/29_48128.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

解释C语言二维数组代码问题楼主你好 其实你的代码很简单,只是有太多的循环嵌套,所以看起来复杂 #include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int a[5][5]; int i,j,m,n,t; pri...

c语言程序解释这是一个51单片机程序. #include<reg51.h> #include<intrins.h> #define uchar unsigned char #define unit unsigned int uchar Count; sbit Dot=P0^7; uchar code DSY_COD...

c语言求最大公因数最小公倍数每一行代码是什么意思1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #include#includeint main(void) { int m, n, r; int s; while (1) { printf("输入两数:"); scanf("%d%d", &m, &n);...

C语言怎样读取文本的每一行可以使用fgets函数来实现。 1 函数名: fgets 2 声明形式: char *fgets(char *buf, int bufsize, FILE *stream); 3 头文件: stdio.h 4 功能及参数说明: 从stream中读取一行数据...

C语言怎么读取文件的每一行的内容#include <stdio.h> int main() { int i,n; char a[1024]; FILE *fp; gets(a); if((fp=fopen(a,"r"))==NULL) { printf("File Name Error.\n"); return 0; } scanf("%d",&n); i=0;...

简单的c语言代码解释float aver(float *pa);//声明求平均数函数 main() { float sco[5],av,*sp;//定义浮点数组sco,浮点变量av和指针变量sp int i;//定义整数i sp=sco;//sp指向数组sco printf("\nint...

如何用c语言给输入的二维数组每一行排序可以用stdlib.h中的qsort函数 如果是int a[10][10]的话 排序第i行 qsort(a[i],10,sizeof(int),comp); 就可以了,comp是一个比较函数 int comp(const void *m1, const void *m...

c语言删除文件指定的某一行c语言删除文件指定的某一行,c语言如何在特定的某一行进行删除插入等:这个程序适用于文件不是很大的情况,最好不要大于2G先说思路,把文本文件按行读入内存,在内存中的结构是一个双...

求贪吃蛇的C语言代码和C代码求贪吃蛇的C语言代码和C代码,贪吃蛇游戏的源代码:#define N 200 #include #include #include #define LEFT 0x4b00 #define RIGHT 0x4d00 #define DOWN 0x5000 #define UP 0x4...