C语言笔记

    [推荐]你好呀,欢迎来到我的个人博客!

    作为一个在自己热爱的计算机专业学习的学生,随着学习的深入,难题愈来愈多,而我这些难题大多是通过阅读他人博客来解决的。这也让我萌发了想要将自己的一些日常所学,所感...

  • strcat()函数的用法

     我们都知道strcat(str,ptr)是将字符串ptr内容连接到字符串str后,然后得到一个组合后的字符串str,比如str字符串内容为"123456\0",ptr字符串为"abc\0",那么strcat(str,ptr)后str内容为 "123456abc\0",输出结果为123456abc这样看来函数作用是将ptr内容接到了str的终止符\0上,道理很简单,那么如果我将str字符串内容更改一下,让str[1] = '\0'...

  • 处理字符数组的函数

    1.puts函数:输出字符串的函数,一般形式为puts(字符数组),其作用是将一个字符串(以'\0'结束的字符序列)输出到终端,例如:已经定义了str是一个字符数组名,且该数组已被初始化为“China”,则在终端输出“China”只需执行puts(str)Note:用puts函数输出时将字符串结束标志'\0'转换为'\n'即输出完字符串后换行2.gets:从终端输入一个字符串到字符数组,并且得到一个函数值,该函数值是字符数组的起始地址,例如:gets(str);输入C...

    C语言笔记 2019-12-10 18 0
  • 字符数组的输入输出

    1. scanf 输入,printf 输出scanf 对字符类型有 %c 和 %s 两种格式(printf 同理,下同),其中 %c 用来输入单个字符,%s 用来输入一个字符串并存在字符数组里。%c 格式能识别 空格 跟 换行 并将其输入,而 %s 通过 空格 或 换行 来识别一个字符串的结束。 示例:#include<stdio.h> int main() {    ...

  • PAT乙级真题1002 || 写出这个数(C语言)

    #include<stdio.h> int main(){ char str[999];   /*此处定义了一个较大数组,会造成资源浪费。考虑到数字过大的情况,将输入的数据储存为字符串类型 */  char str0[10][5]={"ling","yi","er","san","si","wu"...

    C语言笔记 2019-12-08 18 0 C语言基础
  • 判断一年中的黑色星期五

    要求:输入一个年份,判断这个年份中是否存在黑色星期五,如果有,则输出总共有几个,并输出月份。思路:由于只需要判断是否有黑色星期五,所以,不必要每个月每一天的推算,黑色星期五当然只出现在13号,所以,只要判断输入的年份的每个月中的13号是否有星期五的就行了,判断星期用蔡勒公式。1752年9月3号或之前的日期用这个公式 :w = (d+2*m+3*(m+1)/5+y+y/4+5) % 7; 1752年9月3号或之后的日期用这个公式 :w = (d + 2*m+3*(m+1)/5+y+y/4-y/100+y/4...

    C语言笔记 2019-12-08 14 0 C
  • C语言中一个神奇的代码【bug】

    一本书上说,下面的代码可能会产生无限循环【死循环】,你能看出Bug在哪吗?代码看似没问题,实际问题很深奥,涉及到内存分配的问题【但是我们实际不会这样写,毕竟是错的】先看下代码看代码显示应该是到11的时候就停了,反正数组是越界了,删除数组运行发现是因为数组的问题,但是不知道为啥又循环经过多方查找资料和论坛讨论终于有了答案:数组访问是0-9定义是10分配内存的时候a[10]后面紧跟,i 访问a[10]的时候越界,因为i在a[10]后面,初始化时候数组和变量在内存中相邻,数组总共10个元素,下标从0到9,下标为...

    C语言笔记 2019-11-06 86 0 内存分配
  • 1-1000的水仙花数计算

    计算1-1000的水仙花数,什么是水仙花数呢?水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。    程序如下:#include <stdio.h> int main(){ int a,b,c,d; for(a=1;a<=1000;a++){ b=a%10; c=a/10%10; d=a/10/10%10; if(a==b...

    C语言笔记 2019-10-26 61 0 C语言基础
  • C语言实现1-100之间的素数

    题目:编写程序,实现1-100之间的素数    素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。也就是只能被1和她本身整除的数!#include <stdio.h>int main(){ int a,n,i; for(a=2;a<100;a++){ //遍历每个数 int st=0;            //用作标记 for(i=2;i<a;i++){   /...

    C语言笔记 2019-10-26 55 0 C语言基础
  • break和continue的区别

    break和continue都是用来控制循环结构的,主要是停止循环。1.break有时候我们想在某种条件出现的时候终止循环而不是等到循环条件为false才终止。这是我们可以使用break来完成。break用于完全结束一个循环,跳出循环体执行循环后面的语句。2.continuecontinue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环。可以理解为continue是跳过当次循环中剩下的语句,执行下一次循环。...

    C语言笔记 2019-10-22 95 0 C语言基础
  • 深入理解for循环(执行顺序)

    for循环的表达式一般如下:for(表达式1;表达式2;表达式3){    表达式4;}执行的顺序为:1)第一次循环,即初始化循环。首先执行表达式1(一般为初始化语句),再执行表达式2(一般为条件判断语句),判断表达式1是否符合表达式2的条件,如果符合,则执行表达式4,否则,停止执行,最后执行表达式3.2)下次的循环:首先执行表达式2,判断表达式3是否符合表达式2的条件;如果符合,继续执行表达式4,否则停止执行,最后执行表达式3.如果往复,直到表达式3不再满足表达式2的条件。总结:总的来说,执行...

    C语言笔记 2019-10-22 113 0 C语言基础
  • C 的形参与实参

    概念:从字面上理解,所谓形式参数即只只是声明了一个作为参数的变量,并未直接进行赋值使用,而实际参数则相反。如下例#include <stdio.h> int test(int,int); // 形参,只声明 int main(){     int a,b;     printf("%d",test(5,3)); // ...

    C语言笔记 2019-10-22 65 0 C语言基础
  • C语言求n的阶乘(n!)

    从键盘输入一个数,求出这个数的阶乘,即 n!。算法思想首先要清楚阶乘定义,所谓 n 的阶乘,就是从 1 开始乘以比前一个数大 1 的数,一直乘到 n,用公式表示就是:1×2×3×4×…×(n-2)×(n-1)×n=n!具体的操作:利用循环解决问题,设循环变量为 i,初值为 1,i 从 1 变化到 n;依次让 i 与 sum 相乘,并将乘积赋给 sum。① 定义变量 sum,并赋初值 1。② i 自增 1。③ 直到 i 超过 n。程序代码#include <stdio.h> int ...

    C语言笔记 2019-10-19 43 0
  • int i=4; while(i--),最后i的值是什么?

    读程序,最后i的值是什么?    执行循环语句后,i变量的值是??#incloude<stdio.h>  int main(){    int i;    i=4;    while(i--);    printf("%d",i); }这个i是特殊的,因为它在while循环的判断语句那...

    C语言笔记 2019-10-18 72 0 C语言基础
  • 在一个无符号二进制整数的右边添加两个0,新得到的数是原数的几倍?

    在无符号二进制整数右边添0,每添一个0,这个新整数就是原先的2倍,添2个0,就是2*2=4倍。这与在十进制整数右边添0,这个新整数就是原先的10倍,是一个道理。这样就可以推广到n进制整数了:在n进制整数的右边,每添一个0,这个新整数就是原先的n倍。...

    C语言笔记 2019-10-12 53 0 C语言基础
  • 计算机基础进制转换(二进制、八进制、十进制、十六进制)

    1.十进制转R进制1.1 十进制转二进制十进制整数转二进制十进制整数转换成二进制采用“除2倒取余”,十进制小数转换成二进制小数采用“乘2取整”。例题: 135D = ______ B**解析:**如下图所示,将135除以2,得余数,直到不能整除,然后再将余数从下至上倒取。得到结果:1000 0111B.十进制小数转二进制十进制小数转换成二进制小数采用 “乘2取整,顺序排列” 法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数 部分,又得到一个积,再将积的整数部分取出,如此进行,直到...

    C语言笔记 2019-10-11 105 0 计算机基础
  • printf输出输出格式以及为什么加格式控制符?

     背景:    学Java的时候一直时输出函数直接输出变量名,比如:System.out.println(sum);  现在开始学习C语言,发现C语言的输出函数需要加上“输出控制符”,# include <stdio.h> int main(void) { int i = 10; printf("%d\n", i, ); &nb...

    C语言笔记 2019-09-23 120 0 C语言基础
  • C语言之路---初探概念

    C语言也是一门通用性的语言,并没有针对某个领域进行优化,就目前而言,C语言主要用于较底层的开发,例如: Windows、Linux、Unix 等操作系统的内核90%以上都使用C语言开发; 开发硬件驱动,让硬件和操作系统连接起来,这样用户才能使用硬件、程序员才能控制硬件; 单片机和嵌入式属于软硬件的结合,有很多使用C语言的地方; 开发系统组件或服务,用于支撑上层应用 C语言仅仅是一个工具,它的标准库也很简单,只提供了最基本的功能,如果希望开发出实用的程序,往往还需要学习其他方面的知识。例如:...

    C语言笔记 2019-09-20 111 0 C语言基础
1