883重要知识点

(1)程序结构分三种:顺序结构,选择结构,循环结构。

(2)该程序都要从main()开始,然后从最上面往下。

(3)计算机的数据在电脑中保存以二进制的形式,数据存放的位置就是他的地址。

(4)bit是指0或者1,byte是指字节,一个字节八个位。

1.编译预处理不是C语言的一部分,不占运行。

2.C语言以ASCII数值存放在文本文件中。

3.define π 3.1415926

4.在函数中不能再定义函数。

5.算法:可以没有输入,但不能没有输出。

6.break可用于循环结构和Switch语句。

7.逗号运算符级别最低。

1.C语言编写的程序叫源程序。

2.标识符分为关键字,预定义标识符,用户标识符。

3.C语言没有二进制。但是运算的时候所有的进制都要转换为二进制来处理。

4.C语言中的十六进制要以0x开头,八进制以0开头

5.int x=y=1 是错的,不能连续赋值

6.a=5,++a是6,a++是5,++在前先加后用,++在后先用后加

7.0的ASCII值是48,a是97,A是65

8.C语言中所有的关键字必须小写

9.C语言中允许的基本数据类型包括整型,实型,字符型

1.使用printf和scanf函数时,要在最前面加上#include

2.嵌套的if语句:if(a

  • printf("%2d",123):第二部分有三位,指定的是两位,所以输出123
  • printf("%5d",123):第二部分有三位,指定的是五位,所以输出 123(左边补两个空格)
  • printf(“%10f”,1.25):小数要求补足六位,没有六位的补0,结果是 1.250000
  • printf(“5.3f”,125):小数三位,整个五位,结果为1.250(小数点算一位)
  • printf(“%3.1f”,1.25):小数一位,整个三位,结果为1.3(四舍五入要记得)

数据输入:

1.scanf(“a=%d,b=%d”,&a,&b)(考试重点)

终端输入:1 234567 由于1和2之间有空格,所以1位给x

scanf(“%2d%4d%d”,&x,&y,&z):x=1,y=2345,z=67

scanf函数的格式考察:

注意该函数的第二个部分是&a这样的地址,不是a

  • 函数:具有一定功能的一个程序块,C语言的基本组成单位
  • 函数不可以嵌套定义,但是可以嵌套使用
  • 函数名缺返回值类型,默认为int
  • C语言有且仅有一个main函数

1.使用printf和scanf函数时,要在最前面加上#include“stdio.h”

2.printf可以只有一个参数,也可以有两个参数

3.printf(“第一部分”,第二部分)

  • Switch可以和break一起用,不可以和continue用
  • break:打破的意思,看到break就退出一层循环
  • continue:结束本次循环,剩下的语句不执行,跳出进行新一轮循环。
  • 传数值的话,形参的变化不会改变实参的变化。
  • 传地址的话,形参的变化会有可能改变实参的变化。

库函数是已经写好的函数,pow(a,b)是重点,23是由pow(2,3)表示的。

a=3!=2和(a=3)!=2的区别

第一个a的值是1,因为3!=2得出1,第二个a的值是3,因为括号内先计算

如何判断a是否是质数:(重要!)

void shizhishu (int a){for(i=2;i<a/2;i++){if(a%i==0)printf("不是质数");printf("是质数") ;   }
}

如何求阶层,n!(重要)

int fun(int n){int p=1;for(i=0;i<=n;i++){p=p*i;    }return p;
}

char a=getchar()是没有参数的,从键盘得到输入的一个字符给变量a.

putchar('y')把字符输出到屏幕中。

x,y两个变量数值互换

要t=x,x=y,y=t;

int *p中,*p是数值,p是地址。

*p可以当做变量来使用,*的作用是取后面地址p里面的数值。

p是当做地址来使用,可以用在scanf函数中:scanf("%d",p)

*p++是地址会变化。(*p)++是数值会要变化

例题:int *p,a[]={1,3,5,7,9};

p=a;

请问*p++和(*p)++的数值分别为多少?

答:(*p)++本身的数值是1,有个++数值会增加,指针不会动,但数值1由于增加了所以变成2;*p++这个本身的数值是1,由于是地址会增加1,所以指针指向数值3.

二级指针:

*p:一级指针:存放变量的地址。

**q:二级指针:存放一级指针的地址。

例:int x=7,int *p=&x,**q=p。问:*p是多少?*q是多少?**q是多少?

答:*p=7,*q=p,**q=7.

数组名:表示第一个元素的地址。数组名不可以自加,他是地址常量名。

函数名:表示该函数的入口地址。

字符串常量名:表示第一个字符的地址。

char ch[]="iamhandsome"

char *p=ch;

*(p+2)=m;*p+2=k;

char a[]={'a','b','c'};数组长度为3;

char a[5]={'a','b','c'};数组长度为5;

scanf("%s",a)不可以接收空格;

gets(a)可以接收空格;

例:a[3][3]={1,2,3,4,5,6,7,8,9};

a[0]+1就是第一行的第一个元素往后面跳一列,那么这里就是a[0][1],所以是1;

a[1]+2就是第二行的第一个元素往后面跳两列,就是a[1][2],所以是6;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/247608.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IDEA构建springBoot新项目时JDK只有17和21,无法选择JDK8解决方案

今天创建springboot新项目时&#xff0c;发现IDEA里JDK选项只有17和21&#xff0c;无法选择本机的JDK8&#xff0c;网上查资料后发现是springboot2.7于11.24号后停止维护&#xff0c;基于2.7和java8的spring Initializ官方不再维护&#xff0c;解决方案是在server URL栏&#x…

Elasticsearch:为现代搜索工作流程和生成式人工智能应用程序铺平道路

作者&#xff1a;Matt Riley Elastic 的创新投资支持开放的生态系统和更简单的开发者体验。 在本博客中&#xff0c;我们希望分享 Elastic 为简化你构建 AI 应用程序的体验而进行的投资。 我们知道&#xff0c;开发人员必须在当今快速发展的人工智能环境中保持灵活性。 然而&a…

【c】序列中整数去重

数组中的元素不好直接删除&#xff0c;我们可以把重复的数做标记&#xff0c;将他赋值为0&#xff0c;然后正常打印数组&#xff0c;为0的跳过 #include<stdio.h> int main() {int n;scanf("%d",&n);int arr[n1];for(int i1;i<n;i){scanf("%d&quo…

【DBeaver】驱动添加-Hive和星环

驱动 Hive驱动 hive驱动可以直接去官网下载官网地址&#xff0c;填一下个人信息。 如果想直接下载可以去我上次的资源下地址&#xff0c;需要用zip解压。 星环驱动 星环驱动是我第一次接触&#xff0c;是国产的基于开源Hive驱动自研的产品&#xff0c;我看到官网上有很多类…

事务管理 springboot

事务是一组操作的集合 它是一个不可分割的工作单位 这些操作 要么同时成功要么同时失败 Spring事务管理 #Spring事务管理日志 logging: level: org.springframework.jdbc.support.JdbcTransactionManager: debug

Vue中使用 v-for 循环遍历对象

Vue中使用 v-for 循环遍历对象 start 经常使用 v-for 去遍历我们的数组&#xff0c;然后渲染页面。其实也可以遍历对象&#xff0c;下面介绍一下遍历对象的写法。 代码示例 <template><div id"app"><div v-for"(value, key) in obj" :k…

【GO】protobuf在golang中的测试用例

上篇文章介绍了如何安装protobuf环境&#xff0c;文章链接如下 【Go】protobuf介绍及安装-CSDN博客 本节介绍protobuf在gRPC中具体如何使用&#xff0c;并编写测试用例 一、Protobuf是如何工作的 .proto文件是protobuf一个重要的文件&#xff0c;它定义了需要序列化数据的结…

Fiddler的配置、原理和使用

一、Fiddler的工作原理 本地应用与服务器之间所有的请求&#xff08;request&#xff09;和响应&#xff08;response&#xff09;&#xff0c;由fiddler进行转发&#xff0c;此时fiddler以代理服务器的方式存在。 由于所有的网络数据都要经过fiddler&#xff0c;因此&#xf…

梯度上升和随机梯度上升

目录 梯度上升算法&#xff1a; 代码&#xff1a; 随机梯度上升算法&#xff1a; 代码&#xff1a; 实验&#xff1a; 做图代码&#xff1a; 疑问&#xff1a; 1.梯度上升算法不适应大的数据集&#xff0c;改用随机梯度上升更合适。 2.改进过的随机梯度算法&#xff0…

matlab实践(九):分段线性插值与三次样条插值

题目 用matlab对572所在区间分别进行分段线性插值、三次样条插值&#xff0c;计算出151&#xff0c;159&#xff0c;984&#xff0c;995的对数值&#xff0c;画出图形并在图形上用红色圆圈标记151&#xff0c;159&#xff0c;984&#xff0c;995所在的点,同时在图形中显示这些…

RocketMQ - SpringBoot整合RocketMQ

SpringBoot整合RocketMQ 1、快速实战 ​ 按照SpringBoot三板斧&#xff0c;快速创建RocketMQ的客户端。创建Maven工程&#xff0c;引入关键依赖&#xff1a; <dependencies><dependency><groupId>org.apache.rocketmq</groupId><artifactId>r…

Spring AOP 概念及其使用

目录 AOP概述 什么是AOP&#xff1f; 什么是Spring AOP ? Spring AOP 快速入门 1.引⼊ AOP 依赖 2.编写AOP程序 Spring AOP 核心概念 1.切点 2.连接点 3.通知 4.切面 通知类型 注意事项: PointCut&#xff08;定义切点&#xff09; 切面优先级 Order 切点表达…