1. 什么是计算机程序?什么是编程语言?为什么需要编程语言?编程语言是用来干嘛的?举例一些编程语言,以及他们各自的特点?
① 计算机程序是指一组指示计算机执行动作或者做出判断的执行,通常用某种程序设计语言编写,运行于某种目标体系结构上。
② 编程语言是用来定义计算机程序的形式语言,他是一种被标准化的交流技巧,用来向计算机发出指令。
③ 因为编程语言可以使程序的编写更加方便快捷,可以使编写程序更加的高效率,减少编程人员的负担。
④ 编程语言是用来编写程序的,编程语言可以让程序员准确的定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。
⑤ C语言:应用范围广泛,具备很强的数据处理能力。
C++:C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序谁等多种程序设计风格。
JAVA:java是一种可以攒写跨平台应用软件的面向对象的程序设计语言。JAVA技术具有卓越的通用性、高效性、平台移植性和安全性。
2. 编辑好的程序到成为可以运行的可执行文件,要经历哪几个过程?
① 编译
② 链接
3. 现阶段为什么要学习C语言,而不是其他的编程语言?C语言有什么特点?
C语言是面向过程的编程语言,所有的功能都是靠函数来实现。现阶段学习C语言是为了让大家了解面向过程的编程思想和一些基本的编程算,为以后学习面向对象的编程打下扎实的基础。
4. 什么是常量,什么是变量?都有哪些分类?
常量:在事物的特定运动中保持不变的量
变量:在事物的特定运动中会发生变化的量。
变量分为自变量和因变量。
5. 标识符的命名规范是什么?
① 第一个字符必须是字母、下划线,其他字符可以使用字母、数字、下划线。
② 标识符不能和关键字同名。
③ 大部分编程语言都区分大小写。
6. 什么是数据类型?数据类型分为哪些种类?每种数据类型占多少个字节大小?每种数据类型的取值范围怎么计算?思考:对于数据类型为什么要分类?
① C语言的数据类型指简单的单个数据的类型。
② 数据类型分为整型(int),字符型(char),短整形(short),长整型(long),单精度浮点型(float),双精度浮点型(double)。
③ 整型:4个字节
字符型:1个字节
短整形:2个字节
长整型:4个字节
单精度浮点型:4个字节
双精度浮点型:8个字节
④ 计算取值范围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. 字节大小是什么意思?怎么计算数据类型或者变量的字节大小?
① 字节大小是指存储该数据所需要的容量
② #include<stdio.h>
int main()
{
printf("Size of int is:%d\n",sizeof(int));
printf("Size of short int is:%d\n",sizeof(short));
printf("Size of long int is:%d\n",sizeof(long));
printf("Size of unsigned int is:%d\n",sizeof(unsigned int));
printf("Size of float is:%d\n",sizeof(float));
printf("Size of double is:%d\n",sizeof(double));
printf("Size of long double is:%d\n",sizeof(long double));
printf("Size of char is:%d\n",sizeof(char));
return 0;
}
8. 什么是原码?什么是补码?什么是反码?正数的原码补码反码怎么表示,负数的原码补码反码怎么表示?
① 原码:原码是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。
反码:反码是数值存储的一种,多应用于系统环境设置,如linux平台的目录和文件的默认权限的设置umask,就是使用反码原理。
补码:计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。
② 正数的原码、补码、反码就是其本身。
对于负数,原码是符号位为1,数值部分取X绝对值的二进制。
反码是符号位为1,其它位是原码取反。
补码是符号位为1,其它位是原码取反,未位加1。
也就是说,负数的补码是其反码未位加1。
9. 运算符有哪几种?每种运算符进行什么运算?
1.算术运算符:* - + / %
2.关系运算符: > < ==!= >= <=
3.逻辑运算符:! && ||
4.位运算符:<<>> ~ | ^ &
5.赋值运算符:=及扩展赋值运算符
6.条件运算符:?:
7.逗号运算符:,
8.指针运算符:*和&
9.求字节数运算符:sizeof
10.强制类型转换运算符:(类型)
11.分量运算符:. ->
12.下标运算符:[ ]
13.其他:如函数调用运算符:()
10. C语言中有哪些控制语句,每种控制语句有什么功能?
1. 条件判断语句
2 .循环执行语句
do while语句、while语句、for语句;
3. 转向语句
break语句、goto语句(此语句尽量少用,因为这不利结构化程序设计,滥用它会使程序流程无规律、可读性差)、continue语句、return语句。
11. 搞清楚if...else,for循环,while循环,switch...case怎么执行的?
if...else,for循环:总体这样for(i=0;i<a;i++){if (条件一满足) 语句一 else 语句二 ;break; } 条件不满足时,先执行语句二,然后break跳出循环。
while循环:当while循环开始后,先判断条件是否满足,如果满足就执行循环体内的语句,执行完毕后再回来判断条件是否满足,如此无限重复;直到条件不满足时,执行while循环后边的语句。
switch...case:c语言中switch语句中,只要不出现break,所有满足条件的,都会将结果输出。
计算机
12. break和continue有什么区别?
break是结束整个循环,而continue是结束本次循环(跳过下一步)