第一章C语言概述
第二章变量及表达式
二.教学重点,难点分析
1. C语言概述
知识点 | 所占分值 | 考核几率 | 专家点评 |
C语言概述 | 0-1分 | 20% | 简单识记 |
C语言程序的构成 | 0-1分 | 30% | 简单识记 |
标识符 | 1-2分 | 60% | 简单,属重点识记知识点 |
常量 | 1-2分 | 80% | 简单,属重点识记知识点 |
变量 | 2-3分 | 100% | 难度适中,重点理解重点掌握 |
注意:从几年的试题分析看C语言的概述和程序的构成合起来考试已经是一个惯例了。
2. 运算符与表达式
知识点 | 所占分值 | 考核几率 | 专家点评 |
C运算符简介 | 0-1分 | 10% | 简单识记 |
运算符的结合和优先级 | 0-1分 | 60% | 简单识记 |
强制类型转换运算符 | 0-1分 | 30% | 简单识记 |
逗号运算符和逗号表达式 | 0-1分 | 40% | 简单,属重点识记知识点 |
基本的算术运算符 | 1-2分 | 100% | 简单,属重点识记知识点 |
算术表达式和运算符的 | 1-2分 | 100% | 难度适中,重点理解重点掌握 |
优先级与结合、自增自减运算符 | 2-3分 | 100% | 难度适中,重点理解重点掌握 |
赋值运算符和赋值表达式 | 2-4分 | 100% | 简单,重点掌握重点理解 |
复合的赋值运算符 | 1-2分 | 80% | 偏难,不是重点 |
赋值运算中的类型转换 | 0-1分 | 75% | 偏难,不是重点 |
位运算符和位运算 | 0-1分 | 80% | 偏难,属重点识记知识点 |
三.教学讲点
1.C语言的基本构成和格式
#include “stdio.h”
main()
{
int a,b,sum;/* 定义变量*/
a=10; /*把整数10赋值给变量a*/
b=20; /*把整数20赋值给变量b*/
sum=a+b; /*把两数之和赋值给变量 sum*/
printf(“a=%d,b=%d,sum=%d\n”,a,b,sum);/*输出计算结果*/
}
(1).C程序由函数组成,一个程序必须且只能有一个主函数(main()),C程序总是从主函数开始执行,在主函数中结束。
(2).定义函数时函数名后必须有一对小括号,函数体必须放在一对花括号内,在函数体中,函数体有两个部分:定义部分和执行部分。定义语句必须出现在执行语句之前,我们先定义了a,b,sum,然后才给它们赋值。
(3).C语言中每条语句都以分号“;”结束,分号时C语句的一部分。即使是程序的最后一个语句也不例外。分号是语句结束的标志。
(4). 一行可以写多条语句,一条语句也可以分在多行上写,但是,不能将一个整体分开。
例如:i nt 是错误的,而int正确。
(5). C语言的注释必须放在“/*”和“*/”之间,“/”和“*”之间不允许有空格。“/*”和“*/”之间不允许再插入“/*”或“*/”。注释可以出现在程序中的任意位置。注释部分不被执行。
(6).C语言程序书写格式自由,语句可以从任一列开始书写,一行内可以写多个语句。但是
过于“自由”的程序书写格式往往使人们很难读懂程序,初学者应该从一开始就养成好的习惯,是程序便于阅读。
2.标识符
(1)标识符只能由字母、数字和下划线组成。
(2)标识符的第一个字符必须是字母或下划线。
(3) 标识符的大小写字母是有区别的,如abc和ABC是两个完全不同的标识符。
(3)标识符的分类:
关键字:关键字是具有特定的含义的、专门用来说明C语言特定成分的一类标识符。详细的查阅附录二。
预定义标识符:在C语言中它也有特定的含义。预定义标识符可以用位“用户表标识符”使用,只是这将使这些标识符失去了原来的意义。
用户标识符:由用户根据需要定义的标识符被成为用户标识符。用户标示符用来给变量、函数、数组或者指针等命名。
3.C语言的数据类型
3.1数据可以分为常量和变量。常量是指在程序执行中不变的量,常量分为:整型常数、实型常数、字符常量、字符串常量。
整型数据:
进制间的转换
3.11.二、八、十六进制转为十进制
规则:“按权相加”
3.12.十进制转为二、八、十六进制
规则:
整数部分:基数除取余,逆序排列
小数部分:基数乘取整,顺序排列
3.13.二进制转为八、十六进制
规则:三(四)合一,按序相拼(整数部分,从右向左取,小数部分从左向右取,位数不足补零)。
3.14.八、十六进制转为二进制
规则:一分三(四),按序相拼
3.2整型数据在内存中的存放形式
1字节=8位,1Byte=8bit
字长:指CPU能同时处理的二进制位数。由CPU的型号而定。如:16位微机的字长就是16位或2字节。
1GB=1024MB,1MB=1024KB,1KB=1024B
B:表示字节,字节是表示存储容量的最小单位。位(bit):是计算机中信息表示的最小单位。
3.21.正整数在内存中用“原码”形式存放。(直接转换为二进制即可)。
如:5
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
二字节能存放的最大数是:32767
0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
对带符号数,最高位是符号位,用0表示正,用1表示负。
3.22.负整数在内存中用“补码”形式存放。
取补码的步骤:
(1)忽略负号,求出原码。
(2)将原码按位取反(0 、1 互换)。
(3)在第二步的基础上加1。
如:取-5的补码。
(1)
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
(2)
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 |
(3)
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |
将补码转换成相应的整数的步骤:
(1)将补码按位取反加1。
(2)将步骤1得到的二进制数转换成十进制数,然后加上负号即可。
例如:
1 | 0 | 0逗号表达式的运算顺序 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
按位取反加1
0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
+1
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
转换成十进制:1×215=32768
加负号:-32768
几个特殊的带符号整数:
1000000000000000 -32768
0111111111111111 32767
1111111111111111 -1
3.23.无符号整数:只有正整数,没有负整数,最高位不表示符号位,每一位均参与转换。
二进制 | 带符号整数 | 无符号整数 |
111111*********1 | -1 | 65535 |
1000000000000000 | -32768 | 32768 |
例2-12:若有:int a=-1; unsigned b=65535;则
printf(“%d,%u,%d,%u”,a,a,b,b); 输出结果是:-1,65535,-1,65535
数据益出问题:
例2-13:若有int a=32767;则a=a+1的结果是:
-32768
例2-14:若有unsigned b=65536;则b的值是:0
分析:32767:01111111111111111
+1
100000000000000
将100000000000000按照带符号数转为十进制为-32768
65535:111111*********1
+1
11111111 | 11111111 |
+1
1 | 00000000 | 00000000 |
65536
unsigned b=655536;而b属于无符号整型,在内存中只占两字节,所以只能包括16位。
标准C没有具体要求规定各类型数据所占内存的字节数, 现以这次考试标准viusal c++6.0为例,说明各类型变量所占的位数。
类型 | 所占位数 | 所占字节数 | 类型 | 所占位数 | 所占字节数 | |
short | 16 | 2 | unsigned int | 32 | 4 | |
int | 32 | 4 | unsigned long | 32 | 4 | |
long | 32 | 4 | float | 32 | 4 | |
unsigned short | 16 | 2 | double | 64 | 8 | |
3.3实型数据(浮点数)
3.31.实型常量
(1)小数形式:由数字和小数点组成,必须有小数点,小数点的某一侧可以没有数字。如:.23 ,123.876 ,123.
(2)指数形式:用“e”或“E”后接一个整数,表示以10为底的幂数。
注意: “e”或“E”之前之后必须有数字,且之后的数字必须是整数。他们和前后的数字之间不能有空格。
例如:
例2-15:下列合法的常量是( )。
A.-32169 B.0128 C.0XDEFG D.13E0.5
例2-16:下列合法的实型常量是( )。
(A) 0Xff (B)124E (C) 1.23E5.0 (D) 3.E2 (E) 1.25E+2 (F).23e+02
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论