初入C语言——关于C语言的简单认知

1.    什么是计算机程序?什么是编程语言?为什么需要编程语言?编程语言是用来干嘛的?举例一些编程语言,以及他们各自的特点?

(1)计算机程序是指一组指示计算机执行动作或做出判断的指令,通常用某种程序设计语言编写,运用于某种目标体系结构上。

(2)编程语言是用来定义计算机程序的形成语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。

(3)让编程概念简单化,为了让人们可以简介可靠的读写机器指令。

(4)提高和计算机交流的效率,更方便人们使用

(5)c语言:是面向过程的语言特点有简洁紧凑、灵活方便;运算符丰富;数据结构丰富;是结构式语言;语法不太严格,自由度大;执行效率适用于系统软件

     C++:即保留了c的有效性、灵活性等特点,又添加了面向对象编程的支持

     Java:面向对象、可移植、安全性、支持可视化视图界面

     Python:简单易学开源、可移植、解释性、面向对象

 

2.    编辑好的程序到成为可以运行的可执行文件,要经历哪几个过程?

(1)预处理(2)编译(3)汇编(4)链接

 

3.    现阶段为什么要学习C语言,而不是其他的编程语言?C语言有什么特点?

C语言和其他语言相比是最基础,其适用范围大,可移植性好且适用于多种操作系统,生成目标代码质量高,程序执行效率高;同时c语言还为许多目前已知的语言构建模块。

 

4.    什么是常量,什么是变量?都有哪些分类?

在程序执行过程中,其值不发生改变的量称为常量,其值可变的量称为变量。

分类:整型(int)字符型(char)浮点型(float/double)短整型(short)

 

5.    标识符的命名规范是什么?

(1)标识符由字母、数字和下划线组成
(2)标识符的第一位必须是字母或者下划线,不能是数字
(3)大部分的编程语言都区分大小写,但VB不是

 

6.    什么是数据类型?数据类型分为哪些种类?每种数据类型占多少个字节大小?每种数据类型的取值范围怎么计算?思考:对于数据类型为什么要分类?

数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。

数据类型分类:整型(短整型2字节、基本整型4字节、长整型字节);实型(单精度4字节、双精度8字节、长双精度8字节);字符型1字节;bool型1字节;

计算取值范围short占用两个字节的单元:
如果以最高位为符号位,二进制原码最大为0111111111111111=2的15次方减1=32767
最小为1111111111111111=-2的15次方减1=-32767
此时0有两种表示方法,即正0和负0:0000000000000000=1000000000000000=0
所以,二进制原码表示时,范围是-32767~-0和0~32767,因为有两个零的存在,所以不同的数值个数一共只有2的16次方减1个,比16位二进制能够提供的2的16次方个编码少1个。
但是计算机中采用二进制补码存储数据,即正数编码不变,从0000000000000000到0111111111111111依旧表示0到32767,而负数需要把除符号位以后的部分取反加1,即-32767的补码为1000000000000001。
到此,再来看原码的正0和负0:0000000000000000和1000000000000000,补码表示中,前者的补码还是0000000000000000,后者经过非符号位取反加1后,同样变成了0000000000000000,也就是正0和负0在补码系统中的编码是一样的。但是,我们知道,16位二进制数可以表示2的16次方个编码,而在补码中零的编码只有一个,也就是补码中会比原码多一个编码出来,这个编码就是1000000000000000,因为任何一个原码都不可能在转成补码时变成1000000000000000。所以,人为规定1000000000000000这个补码编码为-32768。
所以,在计算机系统中,short范围是-32768~32767。

数据类型用来区分不同的数据,由于数据在存储时需要的容量不同,不同的数据就需要分配不同的内存空间来存储所以就要对数据类型分类

 

7.    字节大小是什么意思?怎么计算数据类型或者变量的字节大小?

数据占用内存空间的大小

Sizeof(数据类型/变量名)

 

8.    什么是原码?什么是补码?什么是反码?正数的原码补码反码怎么表示,负数的原码补码反码怎么表示?

原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值

补码的表示方法是:正数的补码就是其本身负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

反码的表示方法是:正数的反码是其本身负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.

 

9.    运算符有哪几种?每种运算符进行什么运算?

 

运算符

解释

结合方式

() [] -> .

括号(函数等),数组,两种结构成员访问

由左向右

! ~ ++ -- + -

* & (类型) sizeof

否定,按位否定,增量,减量,正负号,

 

间接,取地址,类型转换,求大小

由右向左

* / %

乘,除,取模

由左向右

+ -

加,减

由左向右

<< >>

左移,右移

由左向右

< <= >= >

小于,小于等于,大于等于,大于

由左向右

== !=

等于,不等于

由左向右

&

按位与

由左向右

^

按位异或

由左向右

|

按位或

由左向右

&&

逻辑与

由左向右

||

逻辑或

由左向右

? :

条件

由右向左

= += -= *= /=

&= ^= |= <<= >>=

各种赋值

由右向左

,

逗号(顺序)

由左向右

 

10. C语言中有哪些控制语句,每种控制语句有什么功能?

①条件语句:if—else语句 
②开关语句:switch语句 
⑧当循环语句:while语句 
④直到循环语句:do—while语句 
⑤计数循环语句:for·语句 
⑥中止本次循环语句:continue语句 
⑦中止整个循环语句:break语句 
⑧函数返回语句:return语句 
⑨无条件转移语句:goto语句

 

11. 搞清楚if...else,for循环,while循环,switch...case怎么执行的?

If(表达式1){分支1}

else{分支1}

当表达式1为真(不为0)执行分支1;表达式1为0执行分支2.

For(表达式1;表达式2;表达式3)

{循环体}

当表达式2为真执行循环体然后执行表达式3一次循环结束;判断表达式2是否为真是则继续循环不是跳出循环。

Switch(a)

case 1:   break;

case 2:   break;

…………………

…………………

default     break;

判断a的值是否与case语句中的数值相等是则执行对应的case语句完成后break跳出;若所有case中都没有与a的值相等的则执行default后的语句。

 

12. break和continue有什么区别?

break跳出循环体执行循环后面的程序

continue跳出本次循环,进行下一次循环。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值