专题1:C语言基础及其基本数据类型(讲义)-《编程语言基础—C语言》(高等教育出版社第5版)高考备考讲练测(湖南省)

2025-10-09
| 12页
| 190人阅读
| 1人下载
精品

内容正文:

专题1:C语言基础及其基本数据类型(讲义) 《编程语言基础—C语言》专题复习讲练测 [考纲要求] 1:了解C语言的基础知识; 2:掌握宏定义和文件包含的使用; 3:掌握C语言的基本数据类型; 4:掌握C语言中常量和变量的表现形式。 [课时安排] 2课时 [知识梳理] 1、C语言中的32个关键字 2、C程序的特点 (1)一个C程序是由若干个函数构成的。任何一个C源程序必须有且只有一个main()函数,但可以包含0~若干个的其他函数。 (2)无论main()函数处于程序中的什么位置,一个C程序总是从main()函数开始执行的。 (3)函数体内({})可以包含若干变量定义和函数说明以及若干语句,每条语句均以分号结束。 (4)注释行从“//”开始到本行结束;连续若干注释行可以以“/*”开始,并以“*/”结束。所有注释部分都不被执行。 (5)C程序书写格式自由,每行可以有多条语句,一条语句也可以分写在多行上;但并不表示可以在语句的任何位置进行换行。 3、编译预处理命令 (1)不带参数的宏定义 ①命令的一般形式:#define 标识符 字符串 ②定义中的“标识符”为用户所定义的标识符,称为“宏名”,宏名一般使用大写字母,但并非规定。 ③在进行预编译时,将程序中出现的宏名均替换成“字符串”内容,这一过程称为“宏展开”。 如:#define PI 3.1415926 “2*PI*r”宏展开为“2*3.1415926*r”。 (2)带参数的宏定义 ①命令的一般形式:#define 宏名(形式参数表) 字符串 ②定义中的“字符串”应包含括号中所指定的形式参数。注意:宏名与括号之间不能加空格,否则将成为不带参数的宏定义。 ③带参数的宏展开:预编译时,遇到带实参的宏名,则按命令行中指定的字符串从左到右进行转换。 原则:凡遇形参则以实参代替,非形参字符则原样保留。 例:#define AREA(r) 3.14*(r)*(r) “AREA(3+2)”宏展开为:3.14*(3+2)*(3+2) (3)文件包含 ①作用:将一个源程序文件包含到另一个源程序文件中,它以“#include”开头。 ②格式: #include <文件名> /*C编译系统将在系统指定的路径下搜索尖括号中的文件,一般适用于包含库函数的头文件*/ #include “文件名” /*系统首先会在用户当前的目录中搜索双引号中的文件,如果找不到,再按照系统指定的路径下搜索,一般适用于包含用户文件的头文件*/ 4、C语言的基本数据类型 5、常量和变量 (1)常量和符号常量 在程序的运行过程中,其值保持不变的量成为常量。常量可以用一个标识符来表示,称为符号常量,可以在程序开头用#define命令来定义。 例如:#define PI 3.1415926 此后,只要是在文件中出现的PI均可用3.1415926来代替。 (2)整型常量 ①二、八、十六进制转十进制 方法:按权展开相加 例: (1010)2=1*2^3+0*2^2+1* 2^1 +0* 2^0=(10)10 (1A)16=1*〖16〗^1+10*〖16〗^0=(26)10 (12)8=1*8^1+2*8^0=(10)10 ②十进制转其他进制 方法:整数部分反复除,取余数,逆序排。 ③二进制转换成八、十六进制 方法:以小数点为中心,向两边按3位(或四位)分组,最后一组不足时用0补足,然后把3位(或4位)二进制转换为1位八进制数(或十六进制数)。 ④八、十六进制转换为二进制 方法:把一位八进制(或十六进制)转换为3位(或4位)二进制数,不够3位(或4位)用0补足。 ⑤二进制补码的计算 任何类型的数据在计算机中都是以二进制补码形式存储的。short型数据在内存中占16位,int型数据在内存中占32位,其中最高位为符号位(无符号型除外),1表示负数,0表示正数。 正数的补码等于其原码,而负数的补码等于其原码的反码加1。 例:0000 0000 0101 0011 表示83(除R取余法) 1111 1111 1010 1100 “83的反码” 1111 1111 1010 1101 表示-83(83的反码加1) 例:求-10的补码 取-10的绝对值得到“10” 求10的二进制形式得到原码 0000 0000 0000 1010(一个short int整数占16位) 1111 1111 1111 0101(一个整数占16位)//对“1010”取反得到反码 1111 1111 1111 0110 //再加“1”得到补码 (3)浮点型常量 ①C语言中的浮点类型主要分为单精度(float型)和双精度(double型)两种。 ②在C语言数据中,1和1.0是两种不同类型的数,1是整数,而1.0则是双精度浮点数。 ③浮点型数据的表现形式 十进制浮点数/小数形式。(由数字和小数点组成,且必须有小数点) 例如:0.123 123. 123.0 0.0 (均为十进制浮点数/小数形式) ④指数形式 例如:123e3或123E3都代表123×〖10〗^3 注意:字母E或者e之前必须有数字,且字母E或者e后面的指数必须为整数。 (4)字符型常量 ①C语言的字符常量是用单引号(即撇号)括起来的一个字符,如‘*’‘A’ ‘a’‘&’‘!’等都是字符常量。注意‘A’和‘a’是不同的字符常量。 ②字符数据存放在内存中的,并不是字符的本身,而是字符的代码,即ASCII码(美国标准信息交换码)。ASCII标准字符集定义了128个字符,每个字符都对应于一个ASCII码,编码值为0~127。 ③除了ASCII上的字符常量外,一些不可显示的控制字符(比如回车符、制表符、退格键等)在程序中无法用一个一般形式的字符表示,C语言允许使用一种特殊形式的字符常量来表示这些字符:一个以反斜杠“\”开头的字符,称为转义字符。 注意:转义字符看起来是两个字符,实际上只能算一个字符。 ‘ ’ 换行符 (将当前位置移到下一行开头) ‘\t’ 水平制表符 (跳到下一个<tab>位置) ‘\b’ 退格 ‘\r’ 回车 (将当前位置移到本行开头) ‘\f’ 走纸 ‘\\’ 反斜杠’\’ ‘\’’ 单引号’ ‘\”’ 双引号 (5)变量 ①在程序的运行过程中,其值可以改变的量称为“变量”。每个变量都有一个名字,称为变量名。每个变量都必须进行变量说明,指明变量的类型,相当于给变量进行注册。编译时,系统会根据变量的类型,在内存中分配合适大小的存储空间,这样就可以将该变量名与其对应的存储空间联系起来。 ②命名规则:由字母、数字、下划线组成,第1个字符必须为字母或下划线,不允许使用数字,且不能以32个关键字进行命名。 ③变量命名时区分大小写,建议命名时做到“见名知义”。 (5)变量 ①在程序的运行过程中,其值可以改变的量称为“变量”。每个变量都有一个名字,称为变量名。每个变量都必须进行变量说明,指明变量的类型,相当于给变量进行注册。编译时,系统会根据变量的类型,在内存中分配合适大小的存储空间,这样就可以将该变量名与其对应的存储空间联系起来。 ②命名规则:由字母、数字、下划线组成,第1个字符必须为字母或下划线,不允许使用数字,且不能以32个关键字进行命名。 ③变量命名时区分大小写,建议命名时做到“见名知义”。 [真题练讲] 1.(2008年湖南高考真题)程序分析题。 #include <stdio.h> #define test(x,y) x+y main() {float c; c=2*test(3.2,5.4)/2; printf("%6.1f",c); } 【答案】 9.1 2.(2009年湖南高考真题)运行下列程序,则下面程序的运行结果是:__________。 #include<conio.h> #include "stdio.h" #define M 5 #define f(x) x*x; #define ff(x) (x*x) main() { int n1,n2; n1=100/f(M); n2=100/ff(M); printf("n1=%d,n2=%d",n1,n2); getch(); } 【答案】n1=100,n2=4 3.(2012年湖南高考真题)单项选择题。以下正确的C语言自定义标识符是__________。 A.int B.a.3 C._7c D.5d_ 【答案】C 4.(2013年湖南高考真题)单项选择题。下列选项中正确的C语言变量定义是( ) A.char a1='A', a2=A; B.unsigned long a=1000; C.float a1=a2=10.0; D.double a=0.618,a=3.14; 【答案】B 5.(2013年高考真题) 在C语言中,可以使用函数______①______来获取字符串的长度,使用函数______②_______来对两个字符串进行比较,使用宏定义命令______③______来定义宏,使用文件包含命令______④______实现“文件包含”操作。 【答案】①strlen() ②strcmp() ③#idefine ④#include 6.(2014年高考真题)单项选择题。算法的复杂度主要包括算法的时间复杂度和空间复杂度,算法的时间复杂度是指( ) A.算法程序中的指令条数 B.算法程序的长度 C.算法程序所占的存储空间 D.算法执行过程中所需要的基本运算次数 【答案】D 7.(2014年高考真题)单项选择题。C语言程序的基本单位是( ) A.字节 B.函数 C.语句 D.字符 【答案】B 8.(2015年高考真题)单项选择题。在C语言中,下列叙述正确的是( ) A.空字符串不占用内存,其内存空间大小是0 B.可以用关系运算符比较字符串的大小 C.连续两个双引号是合法的字符串常量 D.连续两个单引号是合法的字符常量 【答案】C [限时练习] 1.(2023年湖南高考真题)单项选择题。下列关于算法的描述中,错误的是( ) A.算法可以用伪代码、流程图等多种形式描述 B.一个正确的算法必须有输入 C.一个正确的算法必须有输出 D.能用流程图描述的算法,也可用计算机高级语言描述 【答案】B 2.(2023年湖南高考真题)阅读程序,写出运行结果:_____________ #include <conio.h> #include <stdio.h> #define S(X) X*X int main( ) { int a=10,k=2,m=1; a/=S(k+m)/S(k+m); printf("%d ",a); getch(); } 【答案】1 3.(2022年湖南高考真题)单项选择题。对C语言程序,以下说法正确的是( ) A.main 函数是主函数,一定要写在最前面 B.程序总是从main函数开始执行的 C.程序中只能调用库函数,不能自己定义函数 D.函数参数只能是整型 【答案】B 4.(2021年湖南高考真题)单项选择题。C语言程序从程序中的( )开始执行。 A.第一条语句 B.第一条可执行语句 C.main函数 D.第一个函数 【答案】C 5.(2024年湖南高考真题)单项选择题。下列关于算法的描述中,错误的是( ) A.算法可以用程序语句来描述 B.算法可以用流程图来描述 C.算法可以用语言文字来描述 D.一个正确的算法可以没有输出 【答案】D 6.(2025年湖南高考真题)单项选择题。下列说法中,不正确的是( ) A.C程序标识符可全部由数字构成 B.C程序有且只能有一个main()函数 C.C程序可自定义函数实现特定功能 D.字符型是C语言的基本数据类型 【答案】A 7.(2017年湖南高考真题)单项选择题。下列C语言标识符错误的是( ) A. Abc B. abc C.A_be D. Ab.c 【答案】D 8.(2017年湖南一轮联考题)C语言程序的基本单位是( ) A.字节 B.函数 C.语句 D.字符 【答案】B 9.(2017年湖南一轮联考题)算法的复杂度主要包括算法的时间复杂度和空间复杂度,算法的时间复杂度是指( ) A.算法程序中的指令条数 B.算法程序的长度 C.算法程序所占的存储空间 D.算法执行过程中所需要的基本运算次数 【答案】D 10.(2025年湖南一轮联考题)下列关于算法的描述方法中,错误的是( ) A.算法可以用自然语言来描述 B.算法可以用伪代码来描述 C.算法必须要用高级语言来描述 D.算法可以用流程图来描述 【答案】C [内容小结] 一、了解简单程序的组成与执行 需理解C语言简单程序的结构组成以及程序的执行流程,这是入门C语言编程的基础认知。 二、编译预处理命令 • 不带参数的宏定义:通过#define定义简单宏,用于代码中常量或代码段的替换。 • 带参数的宏定义:形如#define 宏名(参数) 替换内容,可实现类似函数的宏替换。 • 文件包含:通过#include指令引入头文件,实现代码的复用与模块化。 三、C语言的基本数据类型 包括char(字符型)、short(短整型)、int/long(整型/长整型)、float(单精度浮点型)、double(双精度浮点型),这些是C语言中存储不同类型数据的基本单元。 四、常量和变量 • 常量: 整型常量:包含十进制、八进制、十六进制整型常量,还涉及补码计算方法。 浮点型常量:有十进制浮点数和科学计数法两种表示形式。 字符型常量:基于ASCII码表,包含普通字符和转义字符。 符号常量:通过宏定义或const定义的常量。 • 变量:用于存储可变化的数据,需先定义类型再使用。 学科网(北京)股份有限公司 $

资源预览图

专题1:C语言基础及其基本数据类型(讲义)-《编程语言基础—C语言》(高等教育出版社第5版)高考备考讲练测(湖南省)
1
专题1:C语言基础及其基本数据类型(讲义)-《编程语言基础—C语言》(高等教育出版社第5版)高考备考讲练测(湖南省)
2
专题1:C语言基础及其基本数据类型(讲义)-《编程语言基础—C语言》(高等教育出版社第5版)高考备考讲练测(湖南省)
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。