《c语言期末复习》PPT课件
合集下载
C语言期末复习课件
main() {
int a,n,count=1; long int sn=0,tn=0; printf("please input a and n\n"); scanf("%d,%d",&a,&n); printf("a=%d,n=%d\n",a,n); while(count<=n) {
tn=tn+a; sn=sn+tn; a=a*10; ++count; } printf("a+aa+...=%ld\n",sn); }
1 2 34 5 6 00 7 8 00
三、数组与指针
• 字符数组、字符串、字符串结束标志
char s1[ ]= {‘a’, ‘b’, ‘c’}; /* s1元素个数为3 */
char s2[ ]= “abc”;
/* s2元素个数为4 */
• 字符串处理函数
strlen(): 求字符串长度 strcpy(): 字符串复制
int a, b; a = 10; b = 20; swap(&a, &b); printf("a=%d, b=%d",a, b); }
a
b
10
20
void swap(int *x, int *y) {
int temp; temp = *x; *x = *y; *y = temp; }
temp
&a
&b
函数调用时只能将实参的值传递给形参,而形参值 的改变不会影响实参的值。
五、结构与联合
• 结构: struct student {
int num; char name[10]; float score; }; struct student s;
int a,n,count=1; long int sn=0,tn=0; printf("please input a and n\n"); scanf("%d,%d",&a,&n); printf("a=%d,n=%d\n",a,n); while(count<=n) {
tn=tn+a; sn=sn+tn; a=a*10; ++count; } printf("a+aa+...=%ld\n",sn); }
1 2 34 5 6 00 7 8 00
三、数组与指针
• 字符数组、字符串、字符串结束标志
char s1[ ]= {‘a’, ‘b’, ‘c’}; /* s1元素个数为3 */
char s2[ ]= “abc”;
/* s2元素个数为4 */
• 字符串处理函数
strlen(): 求字符串长度 strcpy(): 字符串复制
int a, b; a = 10; b = 20; swap(&a, &b); printf("a=%d, b=%d",a, b); }
a
b
10
20
void swap(int *x, int *y) {
int temp; temp = *x; *x = *y; *y = temp; }
temp
&a
&b
函数调用时只能将实参的值传递给形参,而形参值 的改变不会影响实参的值。
五、结构与联合
• 结构: struct student {
int num; char name[10]; float score; }; struct student s;
《c语言期末复习》PPT课件
D. k+=k-=(k=1.2)*(k=3)
• 89. 若有定义:float x=2,y=4,h=3; 下列表达式中与 (x+y)*h/2.0计算结果不相符的是( c )。
A. (x+y)*h/2
B. (x+y)*h*1/2
C. (1/2)*(x+y)*h 精选PPT
D. h/2*(x+y) 16
第三章
输入的一个字符给变量a。 putchar(‘y’)把字符y输出到屏幕中。
4)如何实现两个变量x ,y中数值的互换(要求背下来) 不可以把 x=y ,y=x; 要用中间变量 t=x;x=y;y=t。
5) while((c=getchar())!=’\n’)
注意点: 括号精P在P选T 这1里1 的重要性。
2.333e-1 就是合法的,且数据是2.333×10-1。 考试口诀:e前e后必有数,e后必为整数。
2.3 小数点前后可省略其中一个。 3)字符数据的合法形式::
'1' 是字符占一个字节,"1"是字符串占两个字节(含有 一个结束符号‘\0’)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97, 'A'的ASCII数值是65。
•{
• int i,j,a[10],*p,sum,x=1;
变量定义
• sum=0;
赋值
• scanf(“%d”,&a[0]);
输入语句,参数是地址
• if(i==0) for(;;),while语句的考察,注意表达式的判断, 循环体语句的判断。
• 输出语句
•}
精选PPT
C语言期末复习专题讲义ppt课件
C语言期末复习专题讲义
1.1 程序设计概述
• Hello, World!
#include <stdio.h> #include <iostream> using namespace std; int main() { printf("Hello"); cout << ' ' << "World" << "!" << endl; }
2018/11/15
数据结构及其算法 第1章 预备知识
5
• 指针和数组的关系
#include <stdlib.h> #include <iostream> using namespace std;
5 5 678710410 5
int max_element(int a[10]) { int m = a[0]; for (int i = 1; i < 10; ++i) if (a[i] > m) m = a[i]; return m; } int max_element(int *a, int len) { int m = a[0]; for (int i = 1; i < len; ++i) if (a[i] > m) m = a[i]; return m; } int main() { int a[10] = {1, 2, 3, 4, 5, 0, 0, 0, 0, 0}; int N = 5; int *pa = (int*)malloc(N 数据结构及其算法 * sizeof(int)); 2018/11/15 第1章 预备知识 for (int i = 0; i < N; ++i) par *cp Variables = &c; int *ip &i; double *dp(&d); : a 8=3.14159 printf("Variables : 3.14159 %c %d %g\n", c, i, d); Pointed variables: a 8 printf("Pointed %c %d %g\n ", *cp, *ip, *dp); Pointers variables: : 5634279 5634264 5634248 printf("Pointers : %d %d %d\n", cp, ip, dp); Added pointers : 5634280 5634268 5634256 printf("Added pointers : %d %d %d\n", cp + 1, ip + 1, dp + 1);
1.1 程序设计概述
• Hello, World!
#include <stdio.h> #include <iostream> using namespace std; int main() { printf("Hello"); cout << ' ' << "World" << "!" << endl; }
2018/11/15
数据结构及其算法 第1章 预备知识
5
• 指针和数组的关系
#include <stdlib.h> #include <iostream> using namespace std;
5 5 678710410 5
int max_element(int a[10]) { int m = a[0]; for (int i = 1; i < 10; ++i) if (a[i] > m) m = a[i]; return m; } int max_element(int *a, int len) { int m = a[0]; for (int i = 1; i < len; ++i) if (a[i] > m) m = a[i]; return m; } int main() { int a[10] = {1, 2, 3, 4, 5, 0, 0, 0, 0, 0}; int N = 5; int *pa = (int*)malloc(N 数据结构及其算法 * sizeof(int)); 2018/11/15 第1章 预备知识 for (int i = 0; i < N; ++i) par *cp Variables = &c; int *ip &i; double *dp(&d); : a 8=3.14159 printf("Variables : 3.14159 %c %d %g\n", c, i, d); Pointed variables: a 8 printf("Pointed %c %d %g\n ", *cp, *ip, *dp); Pointers variables: : 5634279 5634264 5634248 printf("Pointers : %d %d %d\n", cp, ip, dp); Added pointers : 5634280 5634268 5634256 printf("Added pointers : %d %d %d\n", cp + 1, ip + 1, dp + 1);
C语言期末复习概要PPT课件
• %d: 十进制整数。 • %f: 十进制实数。 • %c: 单个字符。 • %s: 一个字符串。
第46页/共96页
修饰符
• -: 输出的数字或字符在域内向左靠拢。 • m:数据最小宽度 • n: 输出的小数位数;
第47页/共96页
六、数组
第48页/共96页
数组的概念
• 数组是具有同一类型的有序数据的集合。 • C语言规定只能逐个引用数组元素而不能一次引用整个数组。 • 必须先定义数组,然后引用数组元素。 • 数组中各元素类型相同,与数组类型一致。 • 每个元素由统一的数组名和惟一的下标确定。 • 下标从‘0’开始,必须为整型常量或表达式。
<stdio.h>。
第38页/共96页
printf()
• 输出若干个任意类型的数据。 • 函数形式:
printf(格式控制, 输出表列) • 格式控制是用双撇号限定的字符串,包括:
• 格式说明。由“%”和格式字符组成。 • 普通字符。普通字符即需要原样输出的字符。 • 输出表列是需要按指定格式输出的若干数据。可以是变量,也可以是表达式。 由逗号隔开。
(二元,从左至右)
7. && 至右)
(二元,从左
8. ||
(二元,从左至右)
9. ? :
(三元,从右至坐)
10. =,+=,-=,*=,/=,%=
(二元,从右至左)
11. ,
( 第17页/共96页
,从左至右)
三、选择结构
第18页/共96页
单分支
• if(表达式) 语句1
第19页/共96页
双分支
第41页/共96页
getchar()
• 输入一个字符。 • 函数形式:
第46页/共96页
修饰符
• -: 输出的数字或字符在域内向左靠拢。 • m:数据最小宽度 • n: 输出的小数位数;
第47页/共96页
六、数组
第48页/共96页
数组的概念
• 数组是具有同一类型的有序数据的集合。 • C语言规定只能逐个引用数组元素而不能一次引用整个数组。 • 必须先定义数组,然后引用数组元素。 • 数组中各元素类型相同,与数组类型一致。 • 每个元素由统一的数组名和惟一的下标确定。 • 下标从‘0’开始,必须为整型常量或表达式。
<stdio.h>。
第38页/共96页
printf()
• 输出若干个任意类型的数据。 • 函数形式:
printf(格式控制, 输出表列) • 格式控制是用双撇号限定的字符串,包括:
• 格式说明。由“%”和格式字符组成。 • 普通字符。普通字符即需要原样输出的字符。 • 输出表列是需要按指定格式输出的若干数据。可以是变量,也可以是表达式。 由逗号隔开。
(二元,从左至右)
7. && 至右)
(二元,从左
8. ||
(二元,从左至右)
9. ? :
(三元,从右至坐)
10. =,+=,-=,*=,/=,%=
(二元,从右至左)
11. ,
( 第17页/共96页
,从左至右)
三、选择结构
第18页/共96页
单分支
• if(表达式) 语句1
第19页/共96页
双分支
第41页/共96页
getchar()
• 输入一个字符。 • 函数形式:
《C语言复习》课件
循环语句
01
02
03
04
循环语句用于重复执行一段 代码,直到满足特定条件为 止。在C语言中,主要有三种 类型的循环语句:for循环、 while循环和do-while循环。
for循环用于在指定次数内重 复执行代码块。for循环的语
法格式为:for (initialization; condition; update) { code block }。
while循环用于当条件为真时 重复执行代码块。while循环
的语法格式为:while (condition) { code block }
。
do-while循环与while循环类 似,不同之处在于do-while循 环至少会执行一次代码块,然 后再判断条件。do-while循环
的语法格式为:do { code block } while (condition)。
C语言的基本语法结构
C语言的基本语法结构包括数据类型、运算符、控制结构、函数等部分。
数据类型包括整型、浮点型、字符型等,运算符包括算术运算符、关系运算符、逻辑运算符等,控制结 构包括条件语句、循环语句等。
函数是C语言的基本组成单位,用于实现特定的功能或计算,通过函数可以重复使用代码,提高代码复 用性。
数,对参数的修改会影响原始变量的值。
数组的定义和使用
总结词
掌握数组的定义和使用方法
VS
详细描述
数组是一种存储相同类型数据元素的数据 结构。在C语言中,可以通过指定数组大 小来定义数组,并使用下标来访问数组元 素。数组可以用于存储大量相同类型的数 据,并提供高效的随机访问。
数组的遍历和排序
总结词
掌握数组的遍历和排序方法
02
C语言复习ppt课件
14
表达式
练习: 1.写一个表达式,表示变量a的值大于5 且小于10 a > 5 && a < 10 2.写一个表达式,表示变量a的值大于5 或小于1 a > 5 || a < 1
* 15
表达式的值
C语言中关系表达式的值是1或者0
表示其结果要么是真,要么是假。真用1表示,假 用0表示。
例:int a=5,b=2;则:
printf("*******\n"); count++; /*表达式3被移到这里*/ } * return 0;}
29
2.while语句
while (表达式) { 语句; }
只要表达式的值为非0, 就重复执行语句,直到表 达式值为0时止
*
表假达式 假
真
语句
30
3.do-while语句
do
int numbers[3]; numbers[0] = 34; numbers[1] = 23; numbers[2] = 84;
也可以在申明的同时赋初值:
int numbers[3] = {34, 23, 84};
注意:这里{ }中的值不能超过数组的元素个数。
* 39
数组的定义与使用
在申明的同时赋初值还可以写成:
┇┇
┇
值1…值n 不能相同
case 值n :语句n;break;
Байду номын сангаас
default : 语句n+1;
*}
23
switch语句的作用是根据表达式的值 ,使流程跳转到不同的语句
switch语句的一般形式:
switch(<表达式>)
表达式
练习: 1.写一个表达式,表示变量a的值大于5 且小于10 a > 5 && a < 10 2.写一个表达式,表示变量a的值大于5 或小于1 a > 5 || a < 1
* 15
表达式的值
C语言中关系表达式的值是1或者0
表示其结果要么是真,要么是假。真用1表示,假 用0表示。
例:int a=5,b=2;则:
printf("*******\n"); count++; /*表达式3被移到这里*/ } * return 0;}
29
2.while语句
while (表达式) { 语句; }
只要表达式的值为非0, 就重复执行语句,直到表 达式值为0时止
*
表假达式 假
真
语句
30
3.do-while语句
do
int numbers[3]; numbers[0] = 34; numbers[1] = 23; numbers[2] = 84;
也可以在申明的同时赋初值:
int numbers[3] = {34, 23, 84};
注意:这里{ }中的值不能超过数组的元素个数。
* 39
数组的定义与使用
在申明的同时赋初值还可以写成:
┇┇
┇
值1…值n 不能相同
case 值n :语句n;break;
Байду номын сангаас
default : 语句n+1;
*}
23
switch语句的作用是根据表达式的值 ,使流程跳转到不同的语句
switch语句的一般形式:
switch(<表达式>)
c语言复习ppt课件
}
main( )
{ int i;
x 2 x3 x 4 x5 x1 0 0 x - ...... 2! 3! 4! 5! 100!
float x, sum=0, a=1, b=1, c= -1; scanf (“%f”, &x); for (i=1; i<=100; i++ ) { a=a*x;
} printf ( “%d”, sum ); }
sum=sum+i
i=i+1 打印 sum
(2) 直到型循环 --- do -- while 例1 求 1 + 2 + 3 + 4 + 5 + …… + 100
开始
0 => sum 1 => i
sum+i => sum
i+1 => i N i >100 Y
float x, sum=0, a=1;
main( )
scanf (“%f”, &x);
for (i=1; i<=100; i++ ) { a=a*x; sum= sum+ a/i; }
{ int i;
float sum=0; for (i=1; i<=100; i++ ) sum=sum+1.0/i; printf ( “%f”, sum );
结束
main( )
{ int i, sum;
sum=0; i=1; do { sum=sum+i; sum = 0 i=1 sum=sum+i i=i+1 直到 i > 100 打印 sum
C语言期末考试总结 ppt课件
int multi(int x,y);
函数原型声明?
2.函数调用时实参与形参保持个数、类型和顺序一致。 3.可以通过return语句将一个函数值带回主调函数中
去。
求数组的n个元素中的最大值
float max(float a[],int n)
{ int i; float m=a[0];
for(i=1;i<n;i++) if(m<a[i]) m=a[i]; return m;
则表达式!(a-b)+(int)c/2+a++的值是( )
• 已有定义:int a=1,b=2,c=3,d=4,m=1,n=1; 则计算表
达式(m=a>b)&&(n=c>d)后,m、n的值是(
)
• 表示数学关系a≤b≤c的C语言表达式是(
)
运算符:
/ 除、整除 % 整数求余 ++ 自增1 -- 自减1 += 先运算再赋值 (类型名) 强制类型转换 ! 逻辑非 && 逻辑与 (短路运算符) || 逻辑或 (短路运算符) ? :条件运算符 , 逗号运算符(顺序求值)
§1-2 C的数据类型
介绍 C语言提供的以下一些数据类型:
整型 int short long (unsigned)
基本类型
实型 float double long double 字符型 char
空类型 void
数据类型
构造类型
数组 结构体类型 struct
指针类型
C语言数据类型中的基本类型? C语言数据类型中的构造类型?
数组的引用
§3-2 函数定义和调用
1. 在主调函数中对被调用函数作函数原型声明。 函数原型声明要和函数保持函数类型 、函数名、以 及形参的类型、个数和顺序相同,不检查形参名。 int multi(int x,int y) { return(x*y); }
函数原型声明?
2.函数调用时实参与形参保持个数、类型和顺序一致。 3.可以通过return语句将一个函数值带回主调函数中
去。
求数组的n个元素中的最大值
float max(float a[],int n)
{ int i; float m=a[0];
for(i=1;i<n;i++) if(m<a[i]) m=a[i]; return m;
则表达式!(a-b)+(int)c/2+a++的值是( )
• 已有定义:int a=1,b=2,c=3,d=4,m=1,n=1; 则计算表
达式(m=a>b)&&(n=c>d)后,m、n的值是(
)
• 表示数学关系a≤b≤c的C语言表达式是(
)
运算符:
/ 除、整除 % 整数求余 ++ 自增1 -- 自减1 += 先运算再赋值 (类型名) 强制类型转换 ! 逻辑非 && 逻辑与 (短路运算符) || 逻辑或 (短路运算符) ? :条件运算符 , 逗号运算符(顺序求值)
§1-2 C的数据类型
介绍 C语言提供的以下一些数据类型:
整型 int short long (unsigned)
基本类型
实型 float double long double 字符型 char
空类型 void
数据类型
构造类型
数组 结构体类型 struct
指针类型
C语言数据类型中的基本类型? C语言数据类型中的构造类型?
数组的引用
§3-2 函数定义和调用
1. 在主调函数中对被调用函数作函数原型声明。 函数原型声明要和函数保持函数类型 、函数名、以 及形参的类型、个数和顺序相同,不检查形参名。 int multi(int x,int y) { return(x*y); }
C题库期末复习PPT课件
第21页/共49页
• 树和森林 • 树和森林与二叉树之间的转换方法和对应关系 • 树的各种存储结构的表示方法及其特点 • 树的先序和后序遍历方法 • 森林的先序和中序遍历方法
第22页/共49页
• 哈夫曼树及其应用 • 最优二叉树的概念及特点 • 求哈夫曼树的方法 • 设计哈夫曼编码的方法
第23页/共49页
第2页/共49页
第二章 线性表
•
线性表的逻辑结构
• 线性表的逻辑结构特征
• 线性表上定义的基本运算,并能利用基本运算构造出较复杂的运算
第3页/共49页
• 线性表的顺序存储结构 • 顺序表的存储方式及它如何映射线性表中元素之间的逻辑关系 • 顺序表的存储结构定义 • 线性表基本运算在顺序表上的实现方法及其时间性能分析 • 利用顺序表设计算法解决应用问题
第13页/共49页
• 在一个循环链队中只有尾指针(记为rear,结点结构为
数据域data,指针域next),请给出这种队列的入队
和出队操作的实现过程(算法)。
void EnQueue (LinkedList rear, ElemType
x)
{ s= (LinkedList) malloc (sizeof(LNode));
第12页/共49页
• 队列的逻辑结构,存储结构及其相关算法 • 队列的逻辑结构特点,队列与线性表的关系 • 顺序队列和链队列的存储结构定义( PASCAL语言的类型描述) • 顺序队列(主要是循环队列)和链队列上入队、出队等基本运算的实现方法 • 队列的“上溢”和“下溢”的概念及其判别条件 • 循环队列取代普通的顺序队列的原因 • 利用队列设计算法解决简单的应用问题
• 写出单链表(带头结点)就地逆置算法。
• 树和森林 • 树和森林与二叉树之间的转换方法和对应关系 • 树的各种存储结构的表示方法及其特点 • 树的先序和后序遍历方法 • 森林的先序和中序遍历方法
第22页/共49页
• 哈夫曼树及其应用 • 最优二叉树的概念及特点 • 求哈夫曼树的方法 • 设计哈夫曼编码的方法
第23页/共49页
第2页/共49页
第二章 线性表
•
线性表的逻辑结构
• 线性表的逻辑结构特征
• 线性表上定义的基本运算,并能利用基本运算构造出较复杂的运算
第3页/共49页
• 线性表的顺序存储结构 • 顺序表的存储方式及它如何映射线性表中元素之间的逻辑关系 • 顺序表的存储结构定义 • 线性表基本运算在顺序表上的实现方法及其时间性能分析 • 利用顺序表设计算法解决应用问题
第13页/共49页
• 在一个循环链队中只有尾指针(记为rear,结点结构为
数据域data,指针域next),请给出这种队列的入队
和出队操作的实现过程(算法)。
void EnQueue (LinkedList rear, ElemType
x)
{ s= (LinkedList) malloc (sizeof(LNode));
第12页/共49页
• 队列的逻辑结构,存储结构及其相关算法 • 队列的逻辑结构特点,队列与线性表的关系 • 顺序队列和链队列的存储结构定义( PASCAL语言的类型描述) • 顺序队列(主要是循环队列)和链队列上入队、出队等基本运算的实现方法 • 队列的“上溢”和“下溢”的概念及其判别条件 • 循环队列取代普通的顺序队列的原因 • 利用队列设计算法解决简单的应用问题
• 写出单链表(带头结点)就地逆置算法。
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题型:
选择题 20*2=40
改错题 2*10=20
填空题 2*1Hale Waihona Puke =20编程题 2*10=20
改错、填空多考点:
• #include<math.h>
预处理
• #define N 10
宏定义
• float ff(float a,float b,float c);
函数声明
• main()
主函数
•{
• int i,j,a[10],*p,sum,x=1;
总体上必须清楚的:
2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做 选择)。
3)计算机的数据在电脑中保存是以二进制的形式。数据存放的位置就是他的地址。
4)二进制 如何划成 十进制。
概念常考到的:
1、编译预处理不是C语言的一部分,不占运行时间。C语言编译的程序称为源程序, 它以ASCII数值存放在文本文件中。
3)putchar ,getchar 函数的考查:
赋值)。
char a;a = getchar()输是入没语有句参不数能的出,现从%6键.2盘f,得只到能是%6f。
你输入的一个字符给变量a。
putchar(‘y’)把字符y输出到屏幕中。
4)如何实现两个变量x ,y中数值的互换(要求背下来)
不可以把 x=y ,y=x; 要用中间变量 t=x;x=y;y=t。
变量定义
• sum=0;
赋值
• scanf(“%d”,&a[0]);
输入语句,参数是地址
• if(i==0) for(;;),while语句的考察,注意表达式的判断,循环体语句的判断。
• 输出语句
•}
•}
函数调用
• int ss(int a,int b[],int *q) •{
•} • main() •{ • int x,s[10],y; • ss(x,s,&y);
• 35.若有定义:int m=4,n=5;float k;,则以下符合C语言语法的表达式是( )。
A.(m+n)*=k B. m=(n==5)
C. k=float(n)/m
D. n%2.5
D
B
• 44. 若有定义 int i=1,j=9; i--) 的B值为( )。 A. 0 B. 10 8
则表达式 (++j)*(
C. 9
D.
第二章
1)printf函数的格式考查:
%d对应int整型;%c对应char字符;%f对应float单精度; %ld
对应 long int;%lf 对应double。宽度的,左对齐等修饰
。 %.3f
2)scanf函数的格式考察:
注意该函数的第二个部分是&a 这样的地址,不是a;
scanf(“%d%d%*d%d”,&a,&b,&c); 跳过输入的第三个数据(b没
注意(int)(3.6+3.6)=7和(int) 3.6+3.6=6.6的区 别。
7)表达式的考查: 是表达式就一定有数值。 赋值表达式:表达式左边一定是一个变量。
自加、自减表达式:假设a=5,++a(是为6), a++(为5 );考试口诀:++在前先加后赋,++在后先赋后加。
逗号表达式:优先级别最低 ;表达式的数值逗号最右边 的那个表达式的数值。(2,3,4)的表达式的数值就是4。
所以不是关键字。 2)实型数据的合法形式: 2.333e-1 就是合法的,且数据是2.333×10-1。 考试口诀:e前e后必有数,e后必为整数。
2.3 小数点前后可省略其中一个。 3)字符数据的合法形式::
'1' 是字符占一个字节,"1"是字符串占两个字节(含 有一个结束符号‘\0’)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,' A'的ASCII数值是65。
实参和形参个数相同,类型相同。
•}
• int a[5][6]
• for(i=0;i<5;i++)
•
for(j=5;j>=0;j--)
•
if(i%2==0)
•
a[i][j]=i+j+1;
双层循环
i,j的范围 奇数位对应偶数下标 规律
1)程序结构是三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和 switc h)。
A.++
B. +=
C. ||
D. !=
C
• 下列叙述正确的是() • A 为提高程序运行速度可在源程序中加入一些宏定义 • B 一个C语言源程序只能有一条预处理命令 • C 宏定义不占用程序运行时间,但与程序中的语句一样需要编程 • D 宏定义中的宏名必须用大写字母表示
第一章
1)合法的用户标识符由字母,数字,下划线组成。并且第 一个必须为字母或则是下划线。关键字不可以作为用户标 识符号。main define scanf printf 都是关键字。If 是可以做为用户标识符。因为If中的第一个字母大写了,
4) char是1字节,int是2字节,long是4字节, float是4 个字节,double是8字节
5)在转义字符中,’\x6d’ 十六进制数。 ‘\141’八进制数。
‘\108’ 是非法的,因为不可以出现8。 6)强制类型转换:
一定是 (int)a 不是 int(a),类型上一定有括号的 。
2、每个C语言程序中main 函数是有且只有一个。 3、在函数中不可以再定义函数。定义不可嵌套,但调用可以。
4、break可用于循环结构和switch语句。 5、优先级:单目(++,- -,!)>算术表达式>关系表达式>逻辑表达式>三目>赋值。
• 14.C语言的下列运算符中,优先级最高的运算符
是( )A 。
C. k_5
D. k.jeep
• 19.( )为正确的字符常量。
A.''\\''
B. "\24m"
C. "c"
• 22.以下选D项中,合法的实型常数是( )。
D. 'M'
A.E-3
B. .2E1 C. 1E.5 D. 1.5E
• 29A..语5,句5,6k=(m=5,n=B+.+m5),;6,运5 行之后,C变. 量6,k6、,5m、D.n的6,值6,依6 次B为( )。
8)位运算的考查:会有一到二题考试题目。 <<左移一位表示乘以2,2位乘4,3位乘8;>>右移一位表示
除以2,2位除4,3位除6。 9)% (求余)符号两边要求是整数。 10)取整丢小数的情况: 1、(int)1.6=1;2、1/2=0;
• 18.( )为正确的变量名。
A.-k15 c
B. int
选择题 20*2=40
改错题 2*10=20
填空题 2*1Hale Waihona Puke =20编程题 2*10=20
改错、填空多考点:
• #include<math.h>
预处理
• #define N 10
宏定义
• float ff(float a,float b,float c);
函数声明
• main()
主函数
•{
• int i,j,a[10],*p,sum,x=1;
总体上必须清楚的:
2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做 选择)。
3)计算机的数据在电脑中保存是以二进制的形式。数据存放的位置就是他的地址。
4)二进制 如何划成 十进制。
概念常考到的:
1、编译预处理不是C语言的一部分,不占运行时间。C语言编译的程序称为源程序, 它以ASCII数值存放在文本文件中。
3)putchar ,getchar 函数的考查:
赋值)。
char a;a = getchar()输是入没语有句参不数能的出,现从%6键.2盘f,得只到能是%6f。
你输入的一个字符给变量a。
putchar(‘y’)把字符y输出到屏幕中。
4)如何实现两个变量x ,y中数值的互换(要求背下来)
不可以把 x=y ,y=x; 要用中间变量 t=x;x=y;y=t。
变量定义
• sum=0;
赋值
• scanf(“%d”,&a[0]);
输入语句,参数是地址
• if(i==0) for(;;),while语句的考察,注意表达式的判断,循环体语句的判断。
• 输出语句
•}
•}
函数调用
• int ss(int a,int b[],int *q) •{
•} • main() •{ • int x,s[10],y; • ss(x,s,&y);
• 35.若有定义:int m=4,n=5;float k;,则以下符合C语言语法的表达式是( )。
A.(m+n)*=k B. m=(n==5)
C. k=float(n)/m
D. n%2.5
D
B
• 44. 若有定义 int i=1,j=9; i--) 的B值为( )。 A. 0 B. 10 8
则表达式 (++j)*(
C. 9
D.
第二章
1)printf函数的格式考查:
%d对应int整型;%c对应char字符;%f对应float单精度; %ld
对应 long int;%lf 对应double。宽度的,左对齐等修饰
。 %.3f
2)scanf函数的格式考察:
注意该函数的第二个部分是&a 这样的地址,不是a;
scanf(“%d%d%*d%d”,&a,&b,&c); 跳过输入的第三个数据(b没
注意(int)(3.6+3.6)=7和(int) 3.6+3.6=6.6的区 别。
7)表达式的考查: 是表达式就一定有数值。 赋值表达式:表达式左边一定是一个变量。
自加、自减表达式:假设a=5,++a(是为6), a++(为5 );考试口诀:++在前先加后赋,++在后先赋后加。
逗号表达式:优先级别最低 ;表达式的数值逗号最右边 的那个表达式的数值。(2,3,4)的表达式的数值就是4。
所以不是关键字。 2)实型数据的合法形式: 2.333e-1 就是合法的,且数据是2.333×10-1。 考试口诀:e前e后必有数,e后必为整数。
2.3 小数点前后可省略其中一个。 3)字符数据的合法形式::
'1' 是字符占一个字节,"1"是字符串占两个字节(含 有一个结束符号‘\0’)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,' A'的ASCII数值是65。
实参和形参个数相同,类型相同。
•}
• int a[5][6]
• for(i=0;i<5;i++)
•
for(j=5;j>=0;j--)
•
if(i%2==0)
•
a[i][j]=i+j+1;
双层循环
i,j的范围 奇数位对应偶数下标 规律
1)程序结构是三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和 switc h)。
A.++
B. +=
C. ||
D. !=
C
• 下列叙述正确的是() • A 为提高程序运行速度可在源程序中加入一些宏定义 • B 一个C语言源程序只能有一条预处理命令 • C 宏定义不占用程序运行时间,但与程序中的语句一样需要编程 • D 宏定义中的宏名必须用大写字母表示
第一章
1)合法的用户标识符由字母,数字,下划线组成。并且第 一个必须为字母或则是下划线。关键字不可以作为用户标 识符号。main define scanf printf 都是关键字。If 是可以做为用户标识符。因为If中的第一个字母大写了,
4) char是1字节,int是2字节,long是4字节, float是4 个字节,double是8字节
5)在转义字符中,’\x6d’ 十六进制数。 ‘\141’八进制数。
‘\108’ 是非法的,因为不可以出现8。 6)强制类型转换:
一定是 (int)a 不是 int(a),类型上一定有括号的 。
2、每个C语言程序中main 函数是有且只有一个。 3、在函数中不可以再定义函数。定义不可嵌套,但调用可以。
4、break可用于循环结构和switch语句。 5、优先级:单目(++,- -,!)>算术表达式>关系表达式>逻辑表达式>三目>赋值。
• 14.C语言的下列运算符中,优先级最高的运算符
是( )A 。
C. k_5
D. k.jeep
• 19.( )为正确的字符常量。
A.''\\''
B. "\24m"
C. "c"
• 22.以下选D项中,合法的实型常数是( )。
D. 'M'
A.E-3
B. .2E1 C. 1E.5 D. 1.5E
• 29A..语5,句5,6k=(m=5,n=B+.+m5),;6,运5 行之后,C变. 量6,k6、,5m、D.n的6,值6,依6 次B为( )。
8)位运算的考查:会有一到二题考试题目。 <<左移一位表示乘以2,2位乘4,3位乘8;>>右移一位表示
除以2,2位除4,3位除6。 9)% (求余)符号两边要求是整数。 10)取整丢小数的情况: 1、(int)1.6=1;2、1/2=0;
• 18.( )为正确的变量名。
A.-k15 c
B. int