883重要知识点

简介: 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;


相关文章
|
8月前
|
存储 Cloud Native Linux
QToolButton几个小知识点总结
QToolButton几个小知识点总结
|
2月前
|
数据采集 监控 数据可视化
智慧矿山知识点总结
智慧矿山知识点总结
53 0
|
2月前
|
C++
关于C++的一些小知识点
关于C++的一些小知识点
|
网络协议 Oracle Java
几个必要的知识点
几个必要的知识点
|
XML 存储 JSON
有关于Java前端的相关知识点
1. 标签上 title 与 alt 属性的区别是什么?,2. DIV+CSS 布局较 table 有什么优势?,3. 介绍一下标准的 CSS 的盒子模型?低版本 IE 的盒子模型有什么不同的?,4. CSS 选择符有哪些?,5. JS 的数据类型有哪些?,6. null,undefined 的区别?,7. 描述下 JSON 对象的两个很重要的方法,8. eval 是做什么的?,9. 简述下为何通过 ajax 发送的请求会出现乱码问题,如何解决?,10.HTML5、CSS3 里面都新增了那些新特性?,11.什么是响应式设计?,12.为什么我们要弃用 table 标签,.......15...
|
Python
知识点总结 (3)
知识点总结 (3)
|
数据采集 人工智能 大数据
知识点总结(1)
知识点总结(1)
|
存储 编译器 程序员
c++续筑 c++11小知识点
在早期C/C++中auto的含义是:使用auto修饰的变量,是具有自动存储器的局部变量,但遗憾的是一直没有人去使用它 C++11中,标准委员会赋予了auto全新的含义即:auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。
140 0
c++续筑 c++11小知识点