c语言小数形式没有八进制,(计算机基础知识)C语言笔记

C语言程序的结构:

一个程序有一个或多个源程序文件组成

预处理指令

全局声明

函数定义

函数是C程序的主要组成部分

一个函数包括两个部分

函数首部

函数体

程序总是从main函数开始执行的

程序中要求计算机完成的操作是由函数中的C语句完成的

在每个数据声明和语句的最后必须有一个分号

C语言本身不提供输入输出语句

程序应当包含注释

运行C 程序的步骤与方法:

上机输入和编辑源程序

对源程序进行编译

进行连接和处理

运行可执行程序,得到运行结果

程序设计的任务:

问题分析

设计算法

编写程序

对源程序进行编辑、编译和连接

运行程序,分析结果

编写程序文档

算法的特性:

有穷性

确定性

有零个或多个输入

有一个或多个输出

有效性

C语言最重要的知识点

总体上必须清楚的:

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

2)读程序要从main()入口,然后从最上面顺序往下读(碰到循环做循

环,碰到选择做选择),有且只有一个main函数。

3)计算机的数据在电脑中保存是以二进制的形式.数据存放的位

置就是他的地址,

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

概念常考到的:

1、编译预处理不是C语言的一部分,不占运行时间,不要加号,C语言

编主泽的程序称为源程序,它以ASCI数值存放在文本文件中.

2、# define PI3.1415926 ;这个写法是错误的,一定不能出现分号.

3每个C语言程序中main函数是有且只有一个。

4、在函数中不可以再定义函数。

5算法:可以没有输入,但是一定要有输出。

6、 break可用于循环结构和switch语句。

7、逗号运算符的级别最低,赋值的级别倒数第二.

第-章C语言的基础知识

第一节对C语言的基础认识

1、C语言编写的程序为源程序,又称为编译单位

2.C语言书写格式是自由的,每行可以写多个语句,可以写多行。

3、一个C语言程序有且只有一个main函数,是程序运行的起点.

第二节熟悉VC++

1、VC是软件,用来运行写的C语言程序

2、每个C语言程序写完后,都是先编译,后链接,最后运行(.—>.xe

这个过程中注意.C和.obj文件是无法运行的,只有.exe文件才可以运行。

第三节标识符

小标识符(必考内容):

合法的要求是由字母数字下划线组成。有其它元素就错了.

并且第一个必须为字母或者是下划线。第一个为数字就错了,

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

关键字:不可以作为用户标识符号。main define scanf printf 都不是关键

字迷惑你的地方是f是可以作为用户标识用符,因为If中的第一个字母大写

了,所以不是关键字.

预定义标识符:背诵define scanf printf include .记住预定义标识

符可以作为用户标识符。

用户标识符:基本上每年都考,详情请见书上习题.

第四节:进制的转换

十进制转换成二进制、八进制、十六进制。

二进制、八进制、十六进制转换成十进制.

第五节:整数与实数

) C语言只有八、十、十六进制,没有二进制。但是运行时候,所有的进制都要转换成二进制来进行处理.

2)a. C语言中的八进制规定要以0开头. 018的数值是非法的,八进制是

没有8的,逄8进1.

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

2)小数的合法写法: C语言小数点两边有一个是零的话,可以不用写。

1.0在C语言中可写成1.

0.|在C语言中可写成.1.

3)实型数据的合法形式:

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

2)小数的合法写法: C语言小数点两边有一个是零的话,可以不用写。

1.0在C语言中可写成1.

0.|在C语言中可写成.1.

3)实型数据的合法形式:

a、2333-1就是合法的,且数据是2333x10*.

&、考试口诀:e前e后必有数,e后必为整数。

4)整型一般是4个字节,字符型是个字节,双精度一般是八个字节:

long int x ;表示X是长整型.

unsigned int x;表早示X是无符号整型.

第六七节:算术表达式和赋值表达式

核心:表达式一定有数值!

1算术表达式:+,-, *,1,%

考试定要注意:“1”两边都是整型的话,结果就是一个整型.312的结果是1.

“1“有一边是小数,那么结果就是小数 .312的结果是0.5

“%"符号请定要注意是余数,考试最容易算成了除号

%符号两边要求是整数。不是整数就错了.

2、赋值表达式:表达式数值是最左边的数值。a= b=5;该表达式为5常量不可

以赋值.

int x=y= 10:错啦,定义时,不可以连续赋值

2.intx,y;

x=y=10;对滴,定义完成后,可以连续赋值

3.赋值的左边只能是一个变量

4.int x=7.7;对滴,X就是7(因为x为整形变量)

4.三种取整丢小数的情况:

1、int a=1.6 ;

2、(int)a ;

3.1/2 ; 3、2 ;

第八节字符

1)字符数据的合法形式:

‘1’是字符占一个字节,“1”是字符串占两个字节(含有一个结束符号)

10的ASCII数值表示为48 ,‘a’的ASCII数值是97. ‘A’的ASCI数值是65.

一般考试表示单个字符错误的形式:‘65’“1”

字符是可以进行算术运算的,记住:’ 0’-0=48

大写字母和小写字母转换的方法: ‘A’+32 ='a’相互之间-般是相差32.

2)转义字符:

转义字符分为一般转义字符,八进制转义字符,十六进制转义字符.

-般转义字符:背诵\0.\n.、 '.、 “.N.

八进制转义字符:‘\141是合法的, 前导的0是不能写的

十六进制转义字符: “\x6d’才是合法的前导的0不能写而且X是小写。

3 )字符型和整数是近亲:两个具有很大的相似之处

chara:65

printf(”%c”, a) ;得到的输出结果:a

printf("%d", a) ;得到的输出结果: 65

第九章、位运算

1)位运算的考查:会有一到二题考试题目

总的处理方法:几乎所有的位运算的题目都要按这个流程来处理(先

把十进制变成二进制再变成十进制)

例-:char a=6,b;

b=a<<2 ;这种题目的计算是先要把a的十进制6化成二进制,再

做位运算。

例二:一定要记住,异或的位运算符号“八”。0异或|得到1.

0异或0得到0两个女的生不出来

考试记忆方法:一男(1)-女(0)才可以生个小孩(1) .

例三:在没有舍去数据的时候,《左移-位表示乘以2;》>右移一-

位表示除以2。

第二章

第-节:数据输出(-)(=)

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

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

printf("第一部分”,第二部分);把第二部分的变量、表达式常量以

第一部分的形式展现出来.

printf(" a=%d, b=%d",12, 34)考试重点!

一定要记住将12和34以第-部分的形式现在在终立常也就是黑色

的屏幕上。考核核心为:一模一样。在黑色屏幕上显示为a=12, b=34

printf (a=%d,\n=%d" 12,34 )那么输出的结果就是:(a=12

b=34)

int x=017定要弄 清楚为什么是这个结果 !过程很重要

printf("%d",X); 15

printf("%0",x) ;17

printf("%#0",x); 017

printf("%x”,X);11

printf ("%#*’ ,X); 0x11

6、intx=12 y=34;注意这种题性

charz=‘a’;

printf("%d" ,X,y );一个格式说明,两个输出变量,后面的y不输出

printf("%C",Z)结果为12a ,

格式说明表示内容格式说明表示内容%d整型int%c字符char

%ld长整型long int%s字符串

%f浮点型float%o带前导的八进制

%lfdoule%#o八进制

%%输出一个百分号%x十六进制

%5d%#x带前导十六进制

举例说明:

printf ("%2d”,123);第二部分有三位,大于指定的两位.原样输出123

printf ("%5d”,123);第二部分有三位,小于指定的五位,边补两个空格123

printf (4%叶”,1.25);小数要求礼足6位的,没有六位的补D.结果为1.250000

printf (%5", 125);小数三位,整个五位,结果为1.250(小数点算-位)

printf (3%31",1.25);小数一位,整个三位,结果为1.3(要进行四舍五入)

第三节数据输入

1 sanf(“a=%d.b=%d”,&a &b )考试超级重点!

一定要记住是以 第-部分的格式在终端输入数据考试核心为:一模一样。

在黑色屏幕上面输入的为a=12, b=34打可以把12和34正确给a和b。有一点不同也不行。

2.scanf("%d,%d",x,y);这种写法绝对错误scanf的第二部分一定要

是地址!

scanf ("%d, %d",&x ,&y );注意写成这样才可以!

3.特别注意指针在scanf的考察(%d",x);错误scanf ("%d",P);正确

sanf ("%d",&p);错误scanf ("%d",*P);错误

4.指定输入的长度(考试重点)

终端输入:1234567

scanf ( “%2d %4d”,&x ,&y ,&z);X为12 ,y为3456 ,z为7.

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

soanf( “%2d%4d”,&X ,&y,&z);x为1,为2345,Z为67

5.字符和整型是近亲:

int x=97;

printf ("%d",x);结果为97;

printf ("%c",x);结果为a;

6、输入时候字符和整数的区别(考试超级重点)

scanf (“%d", &X);这个时候输入1,特别注意表示的是整数|

scanf ("%c ",&X);这个时候输入1 ,特别注意表示的是字符个ASI为整数48

补充说明:

scanf函数的格式考察:

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

sanf("%d%d%%d",&a ,&b,&c):跳过输入的第三个数据

2) utar, gethar函数的考查:

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

puthar’y’)把字符y输出到屏幕中。

3)如可实现两个变量X,中数值的变换(要求背下来)

不可以把X=y, y=x ;要用中间变量t=x;x=y; y=t.

4)如何实现保留三位小说数,第四位四舍五入的程序(要求背下来)

y=(int)(x100+0.5)/100.0这个保留两位,对第三位四金五入

y=(int)(x1000+0.5)/1000.0.这个保留三位,对第四位四舍五入y=(int)(x*10000+0.5)/10000.0这个保留四位,对第五位四金五入

这个有推广的意义,请注意X= (int)X这样是把小数部分去掉。

特别要注意:C语言中是用非0表示逻车辑真的,用回表示逻辑假的

C语言有构造类型,没有逻车辑类型

关系运算符号:注意< =的写法,和=的区别!(考试重点)

if只管后面一句个语句,要管多个,请用大括号!

1)关系表达式:

a.表达式的数值只能为1(表示为真),或0(表示为假)

如9>8这个关系表达式是真的,所以9>8这个表达式的数值就是1

如7<6这个关系表达式是假的,所以7<6这个表达式的数值就是0

b.考试最容易错的:就是int x=1 ,y=0,z=2 ; x

带入为为1<0<2,从娄文学角度出发肯定是错的,但是如果是C语言那么就是正确的!因为要1<0为假得到0,表达式就变成了0<2那么运算结果就是1,成为真的了!

C.等号和赋值的区别!一定记住“=“就是赋值,“”才是等于多人可以背诵,但我依然要大家一定好好记住否则,做错了,我一定会强烈的鄙视你!

2)逻辑表达式:

核心:表达式的数值只能为1(表示为真),或0(表示为假)

a)共有&& II ! 三种逻辑运算符号。

b)!>&& >||优先的级别。

C)注意短路现象.

d)表示X小于0大于10的方法。

0

用0.,或与10比较得到的总是真(为1)。所以一定要用(0

示比0大比10小。

3)if语句

a. else是与最接近的if且没有else的语句匹配

b交换的程序写法:t=X;X=y; y=t ;

c.if(a

if(a

a单独的if语句:if(a

标准的语句: if(a

else min= b

嵌套的汙语句: if (a

if(b>C ) printf(“ok!”);

多选一的f语句if (at) printf(“a”)

else if(bt)printf(“b”)

else if(c==t )printf(“c”)

else pritnf(“d”)

经典考题: 结合上面四种于语句题型做题

int a=1,b=0 ;

if(!a) b++ ;

else if (a0)

if(a) b+=2;

else b+=3 ;请问b的值是多少?

正确的是b为3。

int a=1 ,b=0;

if(!a) b++;是假的不执行

else if (a0)是假的执行

if(a)b+=2属于else if的嵌套if语句,不执行

else b+=3 else if语句没有一个正确的,就执行else的语句!

4)条件表达式:

表达式1 ?表达式2 :表达式3

a.考试口诀:真前假后

b.注意是当表达式1的数值是非0时,才采用表达式2的数值作为整个运算结果,当表达式1的数值为0时,就用表达式3的数值作为整个的结果。

C. int a=1 ,b=2, c=3 ,d=4 .e=5;

k:a>b? c:d>e? d:e求k的数值是多少?答案为3

5) switih语句

a)执行的流程一定要弄懂!

b)注意有break和没有break的差别,书上的两个例子,没有break的时候,只要有一个case匹配了,剩下的都要执行有beak则是直接跳出了swith语句。break在C语言中就是分手,一刀两断的意思。

C) switch只可以和break 一起用,不可以和continue用.

d)switch(x) X: 是整型常量,字符型常量,枚举型数据.

{case…不可以是变量

case2:…

}

e) switch是必考题型,请大家-定要完成书上的课后的Switch的习题

1)三种循环结构:

a) for(); while() do -whil()三种。

b) for循环当中必须是两个分号,千万不要忘记。

C)写程序的时候一定要注意循环一定要有结束的条件,否则成了死循环、

d do- while()循环的最后一个while();的分号一定不能丢。(当心上机改错) do while循环至少执行一定循环。

2) break 和continue的差别

记忆方法:

break :是打破的意思, (破了整个循环)所以看见break就退出整个一层循环。

contine :是继续的意思,(继续循环运算),但是要结束本循环,就是循环内剩下的语句不再执行,跳到循环开始,然后判断循环条件,进行新一轮的循环.

3)嵌套手盾环

就是有循环里面还有循环.这种比较复杂,要一层一层一步一步耐心

的计算,一般记住两层是处理二维数组的.

while ((c= getcher() !=’\n’)和

while(c =getchar() !=\n’)的差别

先看a=3!=2和(a=3)!=2的区别:

(!=号的级别高于=号所以第一个先计算3!=2)第一个a的数值是得到的1;第二个是a的数值是3

考试注意点:括号在这里的重要性。

5)每行输出的五个的写法:

for(i=o ;i<=ICo ;i++)

{ printf("%d",i);

if(i=1)%50 printf("\n");如果i是从1开始的话,就是if(i%50)

printf("\n");}

6)如何整除一个数: i%5=0表示整除5

1%2==0表示整除2,同时表示是偶数!

7)输入123输出321逆序输出数据

int i= 123

while (i!=0)

printf ("%d", i%10);

i=i/0; }

for只管后面个语句:

int i= 3

for(i:3;i

printf ("#”)请问最终打印几个# 号?答案为1个!

q)不停的输入,直到输入#停止输入!不停地输入,直到输X

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值