c语言
Athus_c
如果每天都能笑醒
展开
-
近期发现的一些-20190519
一、关于符号优先级问题算数运算符>关系>逻辑>赋值; //引用BJ内容例如a[i]+=a[i-1]+a[i-2];表示a[i-1]先和a[i-2]相加,其结果和a[i]完成相加等于的操作。二、对于for循环中的终止值例如for(k=1;k<=6;k++){ printf("will 520\n");}printf("%d",k);//此处k已...原创 2019-05-19 22:59:15 · 227 阅读 · 0 评论 -
什么是原码、反码和补码?
什么是原码、反码、补码?计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。原码:在数值前直接加一符号位的表示法。例如-7的原码是10000111反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。例如-7的反码是11111000补码:正数和+0...原创 2019-05-11 20:37:20 · 1378 阅读 · 0 评论 -
关于将一个数输出为原码、反码和补码的解惑
有这么一道题目:编写函数,实现输入一个数,输出该数的原码、反码和补码一开始我并没有用位运算的思路,于是写下了下面长长的一段代码:(假设我输入-1754)#include <stdio.h>#include <math.h>int positive(int num) //用于计算正数{ int i,a[1000],b=1,c; for (i...原创 2019-05-12 09:39:41 · 3713 阅读 · 0 评论 -
关于位运算的错误问题
位运算有这样一个例题:编写一个函数,输出16位数据的第4位和第10位。初期我尝试了使用以下的代码,但是发现并不能够正常运行:#include <stdio.h>#include <stdlib.h>int main(){ unsigned int num1,num2; printf("please input a number:\n");...原创 2019-05-11 18:01:30 · 1103 阅读 · 0 评论 -
关于指针的几个问题
printf中的*指针问题char pa;int i;char a[2][4]={“ab”,“cd”};printf(“input a number”);scanf(“%d” ,&i)pa=a[i];printf(“%s”,pa); //这个不用,其原因是?//字符串数组是一个特例,字符串(%s)会根据指针去找里面的值别的类型,此时不*如果是指针,那么输出的就是指针,如...原创 2019-04-22 10:26:35 · 262 阅读 · 0 评论 -
关于学生信息录入(文件操作)的心得体会
批评一下c prime plus在文件这一章的描述,明显没有谭浩强版本叙述得清楚。首先分清楚fprintf、fscanf、fgetc、fputc、fgets、fputs这些的清晰含义(部分摘自谭浩强c语言书本)当我们需要对字符进行输入输出的时候,选择fgetc和fputc,但是需要注意的是两者的对象均是文件而并非过去我们使用gets这类时的屏幕。其中fgetc是从文件指针位置向后读取一个字...原创 2019-05-06 18:00:54 · 1558 阅读 · 1 评论 -
关于__VA_ARGS__的说明
__VA_ARGS__宏是C99 引入的对参数个数可变的函数式宏的正式支持#define name(args, ...) tokens#define name(...) tokens"…“代表可变参数列表, 如果它不是仅有的参数, 那么它只能出现在参数列表的最后. 调用这样的函数宏时, 传递给它的参数个数要不少于参数列表中参数的个数(多余的参数被丢弃).通过__VA_ARGS__来替换函...原创 2019-09-29 18:19:43 · 524 阅读 · 0 评论 -
构造函数初始化结构体
构造函数初始化结构体虽然初始化列表易于使用,但它有两个缺点:如果有某个成员未被初始化,那么在这种情况下,跟随在该成员后面的成员都不能初始化。如果结构体包括任何诸如字符串之类的对象,那么在许多编译器上它都将无法运行。在这些情况下,可以使用构造函数来初始化结构体成员变量,这和初始化类成员变量是相同的。与类构造函数一样,结构体的构造函数必须是与结构体名称相同的公共成员函数,并且没有返回类型。因为...原创 2019-09-29 21:33:21 · 1365 阅读 · 0 评论