C
reading_code_man
背着书包去工作。。。
展开
-
函数指针变量与指针型函数区别
函数指针变量定义的一般形式:类型说明符 (*指针变量名)()其中,“类型说明符”表示被指函数的返回值类型。“(*指针变量名)”表示*后面的变量是定义的指针变量。最后的空括号表示指针变量所指的是一个函数。例如:int (*pf)();表示pf是一个指向函数入口的指针变量,该函数的返回值是整形。 指针型函数的一般形式:类型说明符*函数名(形参列表){………………}其中函原创 2014-03-13 18:24:37 · 531 阅读 · 0 评论 -
删除一个字符串中的指定字符
删除一个字符串中的指定字符#include void del_char(char *p,char ch){ char *q; while(*p!='\0') { if(*p==ch) { for(q=p;*q!='\0';q++) *q = *(q+1); } else p++; } }转载 2014-07-30 13:19:39 · 1049 阅读 · 0 评论 -
C语言 C语言读取十六进制文件.hex
// 读取十六进制文件(main.hex),并将其按Hex格式规定,对不同格式域进行划分 // 将划分后的格式写入main.txt文件,根据Hex格式,对响应的Flash存储单元赋值 // 将Flash存储单元写入main_formated.txt中 // 请将main.hex放在改程序的统一目录下 // 作者:nuaazdh // 时间:2012年3月16日 15:57:5转载 2014-08-29 10:50:22 · 6763 阅读 · 1 评论 -
C 测试题
一、请填写BOOL , float,指针变量 与“零值”比较的 if语句。(10分) 请写出 BOOL flag 与“零值”比较的 if语句。(3分)标准答案: if ( flag ) if ( !flag )如下写法均属不良风格,不得分。 if (flag == TRUE)转载 2014-11-04 11:04:56 · 449 阅读 · 0 评论 -
栈区、堆区、静态区
一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(静态区)(stati转载 2014-11-04 10:54:08 · 1311 阅读 · 0 评论 -
四道经典C语言指针试题
试题一: void GetMemory( char *p ){ p = (char *) malloc( 100 );} void Test( void ){ char *str = NULL; GetMemory( str ); strcpy( str, "hello world" ); printf( str );}解答:本题中传入中转载 2016-03-16 10:26:51 · 584 阅读 · 0 评论 -
字符串循环左移
5-31 字符串循环左移 (20分)输入一个字符串和一个非负整数NN,要求将字符串循环左移NN次。输入格式:输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数NN。输出格式:在一行中输出循环左移NN次后的字符串。输入样例:Hello World!2输出样例:llo World!He原创 2017-06-16 09:34:39 · 420 阅读 · 0 评论 -
有理数均值
5-35 有理数均值 (20分)本题要求编写程序,计算N个有理数的平均值。输入格式:输入第一行给出正整数N(\le≤100);第二行中按照a1/b1 a2/b2 …的格式给出N个分数形式的有理数,其中分子和分母全是整形范围内的整数;如果是负数,则负号一定出现在最前面。输出格式:在一行中按照a/b的格式输出N个有理数的平均值。注意必须是该有理数的最简分原创 2017-06-17 23:52:13 · 1420 阅读 · 1 评论 -
单词长度
5-26 单词长度 (15分)你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it's算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.不计算在内。输入格式:输入在一行中给出一行文本,以.结束提示:用scanf("%c",...);来读入一个字符,直到读到.为止。原创 2017-06-17 23:57:05 · 410 阅读 · 0 评论 -
删除字符串中的子串
5-29 删除字符串中的子串 (20分)输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。输入格式:输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。输出格式:在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。输入样例:Tomcat is a male原创 2017-06-18 23:48:06 · 423 阅读 · 0 评论 -
排序整理
1、 冒泡排序#include#define N 9int main(){ int a[N] = {2,1,3,4,5,7,8,9,6}, i,j,tmp,k,flag; //int a[N] = {9,1,5,8,3,7,4,6,2}, i,j,tmp,k,flag; flag=1; for(i=0;i<N;i++) printf("%d ", a[i]); pri原创 2017-06-19 18:46:27 · 203 阅读 · 0 评论 -
消耗内存
#include#include#define MEGABYTE 1024*1024void main(int argc, char *argv[]){void *myblock = NULL;int count = 0;while(1){myblock = (void *)malloc(MEGABYTE);if(!myblock)break;m原创 2016-08-05 23:29:38 · 420 阅读 · 0 评论 -
耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3„„,凡是报到“3”就退出圈子,最后留在圈内的人就是出卖耶稣的叛徒,请找
#include int main(){ int i,k,m,n,num[13]; int *p; scanf("%d",&n); printf("n = %d\n",n); p =num; for(i=0;i *p++=i; p=num; for(i=0;i printf("num[%d]=%d\n",i,*(p+i)); i=0;原创 2014-09-19 11:17:59 · 2060 阅读 · 0 评论 -
链表创建及反转
#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAXSIZE 128#define SIZE 10typedef struct ListNode* List;struct ListNode{ int val; struct ListNode* next;};...原创 2017-08-04 15:52:43 · 308 阅读 · 0 评论 -
关于不能改变字符串常量值的理解
char *buf = "hello World!"; //关于字符串常量值不能修改理解, 因为字符串定义在全局常量区, //下面这句就是尝试改变字符串的值, 所以该语句错误 strcpy(buf, "q345w4565467"); //这句不是改变字符串的值, 是改变指针的指向,所以运行没有问题 buf = "q345w4565467";原创 2017-09-08 11:28:50 · 1537 阅读 · 0 评论 -
判断CPU大小端
联合体union的存放顺序是所有成员都从低地址开始存放int main(){ union _test { int a; short b; }test; test.a = 0x12345678; if(test.b == 0x1234) printf(转载 2014-07-30 10:01:17 · 337 阅读 · 0 评论 -
string_to_int与int_to_string
#include int string_to_int(char s[]){ int i,sum=0; for(i = 0;s[i]!='\0';i++) sum = sum*10+s[i]-'0'; return sum;}void main(){ int i; char s[] = "1234"转载 2014-07-29 10:28:21 · 796 阅读 · 0 评论 -
二分查找
二分查找之前先要排序,本原创 2014-07-29 10:09:09 · 323 阅读 · 0 评论 -
将字符串逆序打印和按单词逆序打印
#include #includevoid ReverseWord(char *p, char *q){while(p {char t;t = *p;*p++ = *q;*q-- = t;}}char *ReverseSentence(char *s){char *p = s;char *q = s;while(*原创 2014-04-17 20:56:52 · 596 阅读 · 0 评论 -
单链表逆序
node *nodereverse(node *head){ //如果一个函数的输入参数有指针,一定要记住判断指针时候为空 //1>:在使用一个指针之前一定要判断它是否为空; //2>:使用完后要释放由指针指向的存储单元 //3>:释放完存储单元后要将指针赋值为NULL;node *p1,*p2,*p3; if(head->next==N转载 2014-05-09 13:21:58 · 353 阅读 · 0 评论 -
(int&)a和(int)a的区别
01.#include 02.#include 03.#include 04.using namespace std; 05.int main() 06.{ 07. float a = 1.0f; 08. cout 09. cout 10. cout 11. float b = 0.0f; 12. cout转载 2014-05-10 18:44:17 · 387 阅读 · 0 评论 -
冒泡排序、插入排序、快速排序、选择排序
#include /*void sort(int a[], unsigned int n){int i, j,temp;for(i = 0; i {for(j = 0; j if(a[j] > a[j+1]){temp = a[j];a[j] = a[j+1];a[j+1] = temp;}}}*//*void sor原创 2014-05-16 17:29:58 · 430 阅读 · 0 评论 -
一个函数中返回多个值
如把多个需要返回的值作相应的处理后变成一个可以用return语句返回的数据,再在主调函数中拆开返回的数据使之变成几个值。 那么当我们希望从一个函数中返回多个值时,用什么方法去实现比较合理呢?2方法1:利用全局变量 分析:全局变量作为C语言的一个知识点,虽然我们都了解它的特点,但在实际教学过程中应用得并不是很多。由于全局变量的作用域是从定义变量开始直到程序结束,而对于编写有多个返回转载 2014-05-19 22:31:50 · 5593 阅读 · 0 评论 -
值传递,指针传递,引用传递
下文会通过例子详细说明哦值传递:形参是实参的拷贝,改变形参的值并不会影响外部实参的值。从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入,不能传出。当函数内部需要修改参数,并且不希望这个改变影响调用者时,采用值传递。指针传递:形参为指向实参地址的指针,当对形参的指向操作时,就相当于对实参本身进行的操作引用传递:形参相当于是实参的“别名”,对形参的操转载 2014-05-20 08:29:36 · 434 阅读 · 0 评论 -
strcpy函数的实现
#include #include char * cpy(char *dst,const char *src,unsigned int count){ char* ret = dst;//返回指针的目的地址(起始地址) assert(dst);//assert(dst != NULL); //assert(src != NULL);检查指针的有效性 ass原创 2014-07-23 13:35:02 · 393 阅读 · 0 评论 -
从键盘输入一个字符串,判断其中某个字符的个数
从键盘输入一个字符串,判断其中某个字符的个数#include void main(){ int i,n = 0; char a[15]; printf("input a string:\n"); gets(a); for(i=0;i { if(a[i] == 'e') n++; } printf("n = %d\n",n);原创 2014-07-22 10:50:52 · 1838 阅读 · 0 评论 -
输出一组数里面第二大的值
#include void sort(int a[], int n){ int i,j; for(i=0;i { for(j=0;j { int temp; if(a[j] { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } }void原创 2014-07-22 11:54:18 · 987 阅读 · 0 评论 -
变量各类型所占的字节数
a) 一个整型数(An integer) b) 一个指向整型数的指针(A pointer to an integer) c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an integer) d) 一个有10个整型数的数组(An array of 10 integers) e) 一个有10个指针的数组,该指针原创 2014-07-24 09:39:41 · 1579 阅读 · 0 评论 -
指针的初始化
下面的函数有什么错误: int square(volatile int *ptr) { return *ptr * *ptr; }转载 2014-07-25 09:21:03 · 502 阅读 · 0 评论 -
将一个字符串逆序排列
#include int count(char * s){ int n = 0; while(*s++ != '\0') n++; return n;}void conver(char * s,int n){ int i,j; for(i = 0; i { if(i != n) {原创 2014-07-28 09:27:13 · 3178 阅读 · 0 评论 -
c/c++笔试题目
本试题仅用于考查C++/C程序员的基本编程技能。内容限于C++/C常用语法,不涉及数据结构、算法以及深奥的语法。考试成绩能反映出考生的编程质量以及对C++/C的理解程度,但不能反映考生的智力和软件开发能力。笔试时间90分钟。请考生认真答题,切勿轻视。 一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。(10分) 提示:这里“零值”可以转载 2014-08-01 13:38:09 · 441 阅读 · 0 评论 -
C语言实现堆栈
#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAXSIZE 128typedef int elementType;typedef struct{ elementType data[MAXSIZE]; int top;}Stack;int InitStack...原创 2018-04-14 23:27:39 · 3071 阅读 · 1 评论