
c语言现代方法的学习
主要是学习和专研c语言现代方法这本书,以及为了学习这本书另外查找的帖子和网络学习资源
发狂的蜗牛
教育行业
展开
-
wchar.h学习资料汇总
c语言wchar.h学习资料整理原创 2023-08-04 10:51:02 · 223 阅读 · 0 评论 -
c语言现代发方法19章学习经历记录
chapter 19's study notes of the book of c modern approach原创 2023-02-02 17:08:25 · 145 阅读 · 0 评论 -
c中有时候一个名字具有块作用域但是有外部链接的一个例子
c中有的名字具有外部链接但是又具有块作用域原创 2023-02-01 19:37:05 · 129 阅读 · 0 评论 -
c语言现代方法之结构
c语言结构原创 2022-10-24 18:36:13 · 871 阅读 · 0 评论 -
c现代方法16章基础
c现代方法16章自己的一些学习process原创 2022-07-31 19:26:05 · 171 阅读 · 0 评论 -
c语言现代方法16章 基础、课后习题、基础等
16.1结构类型和内置类型定义和初始化类似的:基本顺序都是 类型 + 初始值,例如:int a = 10;char b = 'z';#include <stdio.h>#define NAME_LEN 100//自习体会结构的初始化方法是否和内置变量相同呢?都是 类型 + 初始值.struct part{int number;char name[NAME_LEN + 1];int on_hand;}part1 = {528,"Disk drive",10.原创 2022-02-04 09:58:00 · 448 阅读 · 0 评论 -
关于scanf
# include <stdio.h>int main(void){ char str[30]; char *p = str; char ch; printf("请输入字符串:"); //fgets(str, 29, stdin); scanf("%s",p); printf("%s", str); //后面不要加'\n' scanf("%c", &ch); printf("ch = %c", c..原创 2022-01-14 11:18:27 · 1380 阅读 · 1 评论 -
c语言现代方法15章答案(自己做的,更新中)
15.1节1.15.1(a)优点:把相关的函数和变量分组放在一个文件中可以使程序的结构清晰。可以分别对每个源文件进行编译,如果程序规模很大而且需要频繁改变。把函数分组放在不同的源文件中更有利于复用。在示例中,吧stack.c和token.c从main函数中分离出来使得今后更容易复用栈函数和记号函数。(b)缺点:某文件中的函数如何调用定义在其它文件中的函数呢?函数如何访问其他文件中的外部变量呢?两个文件如何共享同一个宏定义或类型定义呢?答案取决于#include指令,此指令使得在任何数量的源文件中原创 2022-01-10 21:01:06 · 488 阅读 · 0 评论 -
c语言预处理器指令的简单例子
预处理器指令一般是如下三种:(1)宏定义(2)条件编译 :比如#if,#else,#ifdef,#ifndef,#elif,#endif(3) 文件包含#include <stdio.h>#define PI 3.14# define N 1234# define SQUARE 2 * \ 123 * \ 1 #define FREEZING_POINT 32.0 //freezing poin原创 2021-08-21 22:15:51 · 314 阅读 · 0 评论 -
c modern approach‘s forteenth chapter‘s study
预处理器主要是应用是宏定义和条件编译,还有文件包含以及其它指令。原创 2021-07-23 21:08:15 · 105 阅读 · 0 评论 -
puts函数,C语言puts函数用法详解
前面在输出字符串时都使用printf,通过“%s”输出字符串。其实还有更简单的方法,就是使用 puts() 函数。该函数的原型为:# include <stdio.h>int puts(const char *s);这个函数也很简单,只有一个参数。s可以是字符指针变量名、字符数组名,或者直接是一个字符串常量。功能是将字符串输出到屏幕。输出时只有遇到 '\0' 也就是字符串结束标志符才会停止。下面写一个程序:# include <stdio.h>int main(转载 2021-07-17 19:00:36 · 26257 阅读 · 0 评论 -
c语言预处理指令之 ##
我们知道, #是预处理指令的第一个字符。但是##可以在预处理中作为粘合剂,可以将两个标识符沾合在一起,如果其中一个是宏操作数,“沾合”会在形式参数被相应的实际操作参数替换后发生。考虑下面的宏:#define MK_ID(n) i##n当MK_ID(比如MK_ID(1))被调用时,预处理器首先使用实际参数替换形式参数n。接着,预处理器把 i和1合并为1个记号(标识符)i1下面的声明使用MK_ID创建了3个标识符:int MK_ID(1),MK_ID(2),MK_ID(3)预处理器把这一声.原创 2021-07-17 18:44:15 · 1148 阅读 · 0 评论 -
硬编码 and 软编码
硬编码:什么是“硬编码”?“硬”,顾名思义,就是死板,一次性的意思。其定义也就是“将可变变量用一个固定数值表示”,这种方式在编码的过程中会导致变量很难修改。因此通常采用的方式都是软编码的方式,软编码:通过一个标记取代变量名称,而这个标记的值是可以不断变化的。但标记名称却是不变的,从而实现了“以不变应万变“。硬编码和软编码的区别是:软编码可以在运行时确定,修改;而硬编码是不能够改变的。例子:使用别名。django中使用别名 进行反向代理例子:硬编码:if(a==2) return false原创 2021-07-16 21:35:26 · 2173 阅读 · 0 评论 -
c 语言现代方法 13章习题15,逆波兰表达式的值
//这个程序只能求操作符和数字分离的情况,操作符都在后面,数字都是在数组的前几个。//例如:12345+-/*=,其它情况不能计算的。#include <string.h>#include <stdio.h>#include <ctype.h>#include <stdlib.h>#define STACK_SIZE 100char contents[STACK_SIZE];double cal(double,double,char);i.原创 2021-06-25 10:34:30 · 193 阅读 · 0 评论 -
C语言入门教程,C语言学习教程(非常详细)
C语言中文网推出辅导班啦,包括「C语言辅导班、C++辅导班、算法/数据结构辅导班」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践 + 永久学习。QQ在线,随时响应!C语言是一门面向过程的编译型语言,它的运行速度极快,仅次于汇编语言。C语言是计算机产业的核心语言,操作系统、硬件驱动、关键组件、数据库等都离不开C语言;不学习C语言,就不能了解计算机底层。这套「C语言入门教程」由站长亲自执笔,将多年的编程经验灌输其中,典型的实践派。这部教程已经发布了 5 年,经历了 5 次大原创 2021-05-29 22:26:07 · 7870 阅读 · 1 评论 -
问题:c现代方法,第七章程序设计5题目,程序错在哪里了?
#include <stdio.h>#include <ctype.h>int compute_scrabble_value(const char *);#define LEN 100int main(){char num_str[LEN + 1],value;scanf("%s",num_str);value = compute_scrabble_value(num_str);printf("%d",value);return 0;}int compu.原创 2021-02-18 16:17:33 · 162 阅读 · 0 评论 -
c现代方法8.2节 deal.c程序自己编写
#include <stdio.h>#include <time.h>#include <stdlib.h>#include <stdbool.h>int read(int count);const char num_suit[4] = {'h','s','c','s'};const char num_rank[13] = {'2','3','4','5','6','7','8','9','t','j','q','k','a'};bool i.原创 2021-02-15 21:21:41 · 334 阅读 · 2 评论 -
(问题)c语言现代方法2th,自己编写的reminder.c程序 找错/修改/拓展延伸
这是问题下面的程序1.c是自己编写的,运行结果如下:输入:24 susan's birthday5 6:00 - Dinner with Marge and RUSS 25 Movie - "Chinatown"7 10:30 - Dental appointment5 Saturday0输出: 24 Saturday问题:程序1.c错在哪里了?//程序1.c#include <stdio.h>#include <string.h..原创 2021-02-14 15:54:01 · 497 阅读 · 0 评论 -
sprintf()函数的用法
sprintf函数的格式:int sprintf( char *buffer, const char *format [, argument,...] );除了前两个参数固定外,可选参数可以是任意个。buffer是字符数组名;format是格式化字符串常用方式sprintf函数的功能与printf函数的功能基本一样,只是它把结果输出到指定的字符串中了,看个例子就明白了:例:将”test 1 2”写入数组s中#include<stdio.h>int main(int argc, char转载 2021-02-14 15:08:09 · 679 阅读 · 0 评论 -
c现代方法 13章程序设计题 自己编写答案
啊水电费原创 2021-02-12 19:57:33 · 529 阅读 · 6 评论 -
问题:c语言简单的循环和字符串,错在哪里了?结果怎么是0(已解决)
#include <stdio.h>#include <string.h>int count_spaces(char *p,int n){int i = 0;int count = 0;while((*p != '\0') && ((*p == ' ')?(++ count):(count))) { if(*p == ' ')printf("yes"); printf("%d 's value is:%c",i,*p); ++ p;.原创 2021-02-10 20:02:30 · 349 阅读 · 0 评论 -
c 语言现代方法13章习题6
把一个字符串中出现的foo替换为xxx#include <stdio.h>#define LEN 100void censor(char* ,int );int main(){char arr[LEN + 1] = "ASDFfooasdfoo123234fooasfoo";censor(arr,LEN + 1);printf("%s",arr); return 0;}void censor(char *s,int n){ for(;*s != '\0';s .原创 2021-02-08 20:17:19 · 143 阅读 · 0 评论 -
c语言字符串的一个简单例子,把一个字符串中的小写字母改成大写字母
把一个字符串中小写字母改成大写字母,利用toupper()函数,这个函数定义在 ctype.h 头文件中#include <stdio.h>#include <ctype.h>#define LEN 100void capitalize(char *,int );int main(){char arr[LEN + 1] = "asdAabdasf*,.PasdfasdfAS1231";capitalize(arr,LEN + 1);printf("%s",ar原创 2021-02-08 19:57:56 · 1809 阅读 · 0 评论 -
c语言字符串初值问题!
read_line错在哪里了?为何不能读入字符串?#include <stdio.h>#define LEN 100void read_line(char *p,int n);void print_(char *,int n);int main(){ char arr[LEN]; read_line(arr,LEN); print_(arr,LEN); int i = 0; for(i = 0;i != LEN; ++i) printf("%c",a.原创 2021-02-07 09:20:43 · 221 阅读 · 0 评论 -
c 语言程序设计现代方法:13章习题自己编答案(持续更新)
啊水电费原创 2021-02-05 22:36:32 · 1036 阅读 · 0 评论 -
c语言命令行参数
#include <stdio.h>int main(int argc,char *argv[]){char **p;for(p = argv;*p != NULL; ++p){printf("%s\n",*p);}int i;for(i =0 ;i != argc;++i)printf("%s\n",argv[i]); return 0;}运行:linux操作系统,所以用 ./可执行文件名来执行可执行文件:./1231234./12312.原创 2021-02-04 19:12:19 · 196 阅读 · 0 评论 -
问题:c关于自负串数组的一个问题
#include <stdio.h>void print(char *array[],size_t);int find_ele(char *array[],int n);int main(){char *planets[] = {"Mercury","Venus","Earth", "Mars","Jupiter","Santurn", "Urannus","Neptune","Pluto"};print(planets,sizeof(planets) / sizeof(pla.原创 2021-02-04 18:44:10 · 162 阅读 · 0 评论 -
c现代方法 p210页的一个程序-关于字符串的一个例子
#include <stdio.h>#include <string.h>//define the max length of every message #define MSG_LEN 80//define max number of message#define MAX_MSG 60int read(char message[],int n);void print(char message[][MSG_LEN + 3],int n);int main(){.原创 2021-01-23 19:05:37 · 259 阅读 · 0 评论 -
c语言字符串详细
1.字符串字面量。"Candy \nIs dandy \nBut liquor \nIs quicker."在c++中叫字符串字面值.可以在字符串内embed转移序列,例如'\n'2.延续字符串字面值。(1)方法1:采用 \例如 "i am a student \ and you are a teacher. "特点:第一行以\(不包含)处结束,第二行以行首开始。(2)方法2:当两条或者多条字符串相邻时候,c语言会自动合并字符串。利用这个规律可以这样书写"i ...原创 2021-01-17 21:51:54 · 1916 阅读 · 0 评论 -
c语言指针输出两个数的最大值和最小值,并求和,有些不清楚这样写为什么不行。
网上看到一个帖子,居然自己找不出原因。c语言指针输出两个数的最大值和最小值,并求和,有些不清楚这样写为什么不行。#include<stdio.h>int main(){ int *p,*q,*s,a,b; s=NULL;p=&a;q=&b; scanf("%d%d",p,q); if(*p<*q) { *s=*q; *q=*p; *p=*s; } printf...原创 2021-01-17 11:53:50 · 870 阅读 · 0 评论 -
c语言程序设计现代方法(2th)第12章答案(自己胡乱编写的答案,持续更新)
第一部分:练习题答案1.答案见运行结果#include <stdio.h>int main(){int a[] = {5,15,34,54,14,2,52,72};int *p =&a[1],*q=&a[5];//(a)printf("%d\n",*(p+3));//(b)printf("%d\n",*(q-3));//(c)printf("%ld\n",q-p);//(d)printf("%d\n",p < q);//(e)print原创 2021-01-09 11:27:51 · 914 阅读 · 0 评论 -
c语言二维数组指针的应用的一个例子
c语言指针的应用#include <stdio.h>//首先要明白数组的一些特性//1.函数传递数组形参,只传输数组的指针,也就是指向数组元素的指针//2.第二个参数类型就是一个二维数组,元素类型也就是int [7],所以指针也就是int (*)[7]//3.传递的时候给一个二维数组的名字即可,数组的名字可以被当成是指向第一个元素的指针void search(int *,int *,int array[24][7],int key);//函数print_row_i的第一个参数.原创 2021-01-01 18:42:20 · 593 阅读 · 0 评论 -
c语言中的数组大小,该如何表示 : sizeof(array)/sizeof(array[0])
#include <stdio.h>int * find_largest(int *,int );int main(){int array[] = {1,2,3,4,5,6,7,1004,5,1};int *ptr = find_largest(array,sizeof(array,sizeof(array[0])));printf("%d",*ptr);return 0;}int * find_largest(int *a,int n){int *larg...原创 2021-01-01 15:54:43 · 2463 阅读 · 1 评论 -
gcc/g++ 编译器出现 undefined reference to ‘这里是函数名‘,往往意味这这个函数没有定义
例如出现:undefined reference to `read_card' 意思是 对"read_card"未定义的引用r@r:~/coml_/c/10.5$ gcc function.c main.c -o 1231/tmp/ccHuRgRq.o: In function `main':main.c:(.text+0x5): undefined reference to `read_card'main.c:(.text+0xa): undefined referenc...原创 2020-12-09 18:04:20 · 1521 阅读 · 0 评论 -
德州扑克里的专业术语你知道几个?
干货!干货!不知道德州扑克这几个词的意思还敢说你会玩德州?德州扑克里的专业术语你知道几个?德州扑克全称德克萨斯扑克,是一种玩家对玩家的公共牌类游戏,考验玩家的运气、技术与耐心。德州扑克的规则虽然简单,但是德州扑克里的专有名词可不少,下面,就来看看你知道几个德州扑克里的名词吧!一、牌型术语1.皇家同花顺(royal flush):由AKQJ10五张组成,并且这5张牌花色相同2.同花顺(straight flush):由五张连张同花色的牌组成3.4条(four of a kind)...原创 2020-12-09 16:12:44 · 20663 阅读 · 0 评论 -
为了在 Windows 上安装 GCC
写在源文件中的源代码是人类可读的源。它需要"编译",转为机器语言,这样 CPU 可以按给定指令执行程序。C 语言编译器用于把源代码编译成最终的可执行程序。这里假设您已经对编程语言编译器有基本的了解了。(一).安装1.为了在 Windows 上安装 GCC,需要到MinGW 的主页 www.mingw.org,进入 MinGW 下载页面,下载最新版本的 MinGW 安装程序。或者到:http...原创 2020-01-18 18:12:40 · 570 阅读 · 0 评论 -
C++内联函数
内联函数在C++中我们通常定义以下函数来求两个整数的最大值:int max(int a, int b){ return a > b ? a : b;} 1 2 3 4为这么一个小的操作定义一个函数的好处有:1. 阅读和理解函数 max 的调用,要比读一条等价的条件表达式并解释它的含义要容易得多2. 如果需要做任何修改,修改函数要比...原创 2019-10-28 22:17:23 · 321 阅读 · 0 评论 -
static的作用
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容chara='A';//globalvaria...原创 2019-09-29 19:47:22 · 225 阅读 · 0 评论 -
c语言程序设计现代方法第二版 第10章程序设计题3题,自己编写的一个程序
main.c文件#include <stdio.h>//#include "lib.h" if there is a statement like this ,then there will be a wrong compile statement//about :multiple defination of .....because of separate compile...#include "lib.h"int main(){ for(;;) { r原创 2020-12-12 22:05:30 · 281 阅读 · 0 评论 -
SCII控制字确切含义
SCII控制字十进制 代码 含义00 NUL 空01 SOH 标题开始02 STX 正文开始03 ETX 正文结束04 EOT 传输结否05 ENQ 询问06 ACK 确认07 BEL 响铃08 BS 退格09 HT 横向列表10 LF 换行11 VT 纵向列表12 FF 换页13 CR 回车14 SO 换档(Shift-Out)15 SI 换档(Shift-In)16 DLE 数据链扩展17 DC1 设备控制118 DC2 设备控制219 DC3 设备控制320原创 2020-08-06 09:07:50 · 377 阅读 · 0 评论