1.什么是计算机程序?什么是编程语言?为什么需要编程语言?编程语言是用来干嘛的?举例一些编程语言以及他们各自的特点。
答:
计算机程序:是指一组指示计算机每一步动作的指令,通常用某种程序设计语言编写,运行于某种目标的体系结构上。
编程语言:专门和计算机交流的语言就叫做编程语言,俗称计算机语言
需要编程语言的原因:电脑每做的一次动作,一个步骤,都是按照已经用编程语言编好的程序来执行的。
编程语言的作用:程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的,所以人们控制计算机一定要通过编程语言向计算机发出命令。
举例:
C语言:有高级语言和汇编语言的特点,可移植性好,应用范围广,处理数据的能力强,
适用于软件开发,单片机,嵌入式系统的开发
C++: 是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。支持过程化
程序设计、数据抽象、面向对象程序设计等等
JAVA: 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,有卓越的通用性,高
效性,平台移植性和安全性,应用于个人PC,移动电话和互联网等
2.编辑好的程序到成为可以运行的可执行文件,要经历哪几个过程?
解:从源码到可执行程序,需经过以下几个过程:
预编译、编译、汇编、链接、运行。
3.现阶段为什么要学习C语言,而不是其他的编程语言?C语言有什么特点?
答:
C语言是计算机程序语言的基础,是实用的程序设计工具,其他语言大部分都是由C语言扩充或者衍生来的,可以用于开发比较底层的东西,在Unix 和Linux环境中也是不可或缺的。
C语言的特点:有强大的控制结构,快速,紧凑的代码使程序更小,可以移植到其他计算机
4.什么是常量,什么是变量?都有哪些分类?
答:
常量:是一个不能改变的量
变量:可以改变的量
常量的分类:
直接常量:直接以数字的形式显示 10
字符串常量 hello
符号常量:用一个符号来代替一个常量,用define来定义 eg:#define Max 10
变量的分类:
局部变量:在函数内部说明的变量。
形式参数:在函数名后面的小括号里定义的变量,用于接收来自调用函数的参数
全局变量:在函数之外说明的变量,可以被程序内任意一个函数使用
5.标识符的命名规范是什么?
答:
标识符由字母,数字和下划线组成
标识符的第一位必须是字母或者下划线,不能是数字
字母区分大小写
不能是C语言中的关键字或C语言自带的函数名
6.什么是数据类型?数据类型分为哪些种类?每种数据类型占多少个字节的大小?每种数据类型的取值范围怎么计算?思考:对于数据类型为什么要分类?
答:
数据类型:在数据结构中定义的是一个值得结合以及定义在这个值集上的一些操作
数据类型的种类:基本类型(整形,字符型,浮点型(单精度和双精度),枚举类型)
构造类型(数组种类 ,结构体类型,共用体类型)
指针类型
空类型
所占字节的大小:在32位系统中
有符号型:
short 在内存中占两个字节,范围为-2^15~(2^15-1)
int 在内存中占四个字节,范围为-2^31~(2^31-1)
long在内存中占四个字节,范围为-2^31~2^31-1
无符号型:最高位不表示符号位
unsigned short 在内存中占两个字节,范围为0~2^16-1
unsigned int 在内存中占四个字节,范围为0~2^32-1
unsigned long在内存中占四个字节,范围为0~2^32-1
实型变量:
分单精度 float 和双精度 double 两种形式:
float:占四个字节,提供7~8位有效数字。
double: 占八个字节,提供15~16位有效数字。
数据类型取值范围的计算方法:
用sizeof()来进行计算:printf(“%d”,sizeof(数据类型));
数据类型为什么要分类:为了表示不同的东西,不容易出错,同时也可以提高效率
7.字节大小是什么意思?怎么计算数据类型或者变量字节的大小?
答:
字节大小:是计算机信息技术用于计量存储容量的一种计量单位。
计算方法:用sizeof()来计算:sizeof(data)
8.什么是原码?什么是补码?什么是反码?正数的补码原码反码怎么表示?负数的补码原码反码怎么表示?
答:
原码(true form)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):
补码:在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
反码是数值存储的一种,多应用于系统环境设置,
表示方法:
正数的原码,补码,反码都相同,都等于它本身;
负数:
原码符号位为1,其余不变;
负数的补码是:符号位为1,其余各位求反,末位加1;
反码是:符号位为1,其余各位求反,但末位不加1;
补码:反码末位加上1。
9.运算符有哪几种?每种运算符进行什么运算?
答:
算术预算符:用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。
关系运算符:用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)、小于等于(<=)和不等于(!=)六种。
逻辑运算符:用于逻辑运算。包括与(&&)、或(||)、非(!)三种。
位操作运算符:参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。
赋值运算符:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。
条件运算符:这是一个三目运算符,用于条件求值(?:)。
逗号运算符:用于把若干表达式组合成一个表达式(,)。
指针运算符:用于取内容(*)和取地址(&)二种运算。
求字节数运算符:用于计算数据类型所占的字节数(sizeof)。
特殊运算符:有括号(),下标[],成员(→,.)等几种。
10.C语言中有哪些控制语句?每种控制语句有什么功能?
答:
①if( )~else 条件语句
②for( )~ 循环语句
③while( )~ 循环语句
④do~while( ) 循环语句
⑤continue 结束本次循环语句
⑥break 中止执行switch或循环语句
⑦switch 多分支选择语句
⑧goto 转向语句
⑨return 从函数返回语句
11.搞清楚if...else,for循环,while循环,switch...case怎么执行的?
答:
if...else:if(条件)
{
表达式1
}
else
{
表达式2
}
先判断符不符合条件,符合执行表达式1不符合执行表达式2
for:for(表达式1,表达式2,表达式3)
先求表达式1,在解表达式2,若为真(非0)值,则执行语句,然后求解表达式3,在转求解到表达式2,若为假(0)值,则结束for语句的执行
while:while(条件)
{语句;
}
当符合条件时一直执行语句,不符合则跳出循环
switch...case:switch(表达式)
{
case 常量表达式1:语句序列1
case 常量表达式2:语句序列2
case 常量表达式n:语句序列n
default:语句序列n+1
}
当表达式的值等于任意一个常量表达式i的值,则从语句序列i开始执行到语句序列n+1为止,若表达式的值不等于任何一个常量表达式的值,则只执行default后面的语句
12.break和continue有什么区别?
答:
break和continue都是用来控制循环结构的,主要是停止循环。
1.break
有时候我们想在某种条件出现的时候终止循环而不是等到循环条件为false才终止。
这是我们可以使用break来完成。break用于完全结束一个循环,跳出循环体执行循环后面的语句。
2.continue
continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环。
可以理解为continue是跳过当次循环中剩下的语句,执行下一次循环。