c语言复习。
一、 题型。
1、单项选择题(每小题2分,共40分)
2、判断题(每小题1.5分,共15分)
3、填空题(每空1分,共15分)
4、阅读程序写结果题(每小题5分,共30分)
二、基本概念。
1.算法(p17广义定义)
2.c语言程序的构成(p10函数)
3.c语言的三种基本结构(p26.顺序、选择、循环)
4.c程序运行步骤。
过程(p12-13编辑、编译、连接、执行)
文件扩展名(源程序为 .c ,编译后生成文件为 .obj ,连接后生成文件为 .exe)
5.c语言程序的书写规范:
c语言区分大小写。
一条语句可以写成多行。
每条语句以“;”结束。
6.关于main函数(p11)
main函数是程序的执行入口。
main函数可以写在任何位置,与程序编写的位置无关。
7.变量。 变量名(标识符)的命名规则(p42,注意,以字母或下划线开头)
先定义,后使用。
初始化。(如果不给变量赋值,是随机值)
8.常量。 字符常量,字符串常量(p39,定界符的区别)
字符常量的转义符表3.1(p40)
9.注释语句。两种格式:
10.c语言中的简单数据类型(p43)
三种基本类型:整型、实型、字符型。
字符型以ascii存储,可以作为整型来处理。例如:’a’+2合法。
11. 字符串的特性(p154-160), 计算内存字节数。
结束标志。
赋初值方式。
不能“=”赋值,。
例:s中存放一字符串,赋初值方式有:
char *s;s=" china ";
char s[20];s=" china
char s[20]=;
12.结构体:定义(p294),结构体变量所占字节计算(p295),结构体成员的引用(p298,304)。
例:p是结构体指针变量,访问该结构体成员name的用法有:(*p).name,p->name。
13.链表(p309):定义。注意,链表不是结构体数组类型!
三、基础应用。
1.常用函数:
输入输出函数scanf(),printf()中的格式符使用。(p69-77)
字符输入、输出函数putchar(),getchar()。p78-80)
字符串函数strlen(),strcpy(),p161-164)
2.类型转换。
强制转换(p56):例 (int)(11.3)/2= 。5)
自动转换:例 int a; a=11.3/2 (5)
3.数组: 数组的定义。
数组的大小与下标。
数组的初始化。
例:1)int a[10]的最小下标和最大下标。(0,9)
2)如果int a[10]=,p=a;那么数值为6的表达式是 (a[5]或* (p+5))
3)char a=word";
char *p;
p=a;(p+1)的值是o’)
(++p)的值是o’)
4)数组声明:int a[3]=,第一维大小是几?(3)
5)数组的引用:int a[2][3];则对数组元素引用不正确的有?(a[2][3] a[1,2] a(1)(1))
4.数据类型。
常用数据类型的字节数:int,char,float,double
计算数据类型的字节数:sizeof(…)
例:1)sizeof(int)+sizeof(char)*8+sizeof(double)*2= 。28)
2)struct teacher
int num;
char name[10];
char sex;
float score;
t;则变量t所占用的内存字节数是 。(19)
3)struct student
int num;
float score[3];
wang,zhang;
则变量wang所占用的内存字节数是 。(16)
5.表达式运算。
x/y, x%y
x++,x--,x, -x
x+=a, x-=a, x*=a
a=b=c=6; 其值是6。
关系、逻辑式:a=10,x<-1;或x不等于a;或x等于a
例:1)a=(2/5)+3%2;a的值为 (1)
2)a=(3 * 3)+ 2 % 3; a的值为 。(1)
3) 已知a=5,求a=b=c=(a*=6)的值为 。(30)
4) 45/2+(int)(5.4/2)= 24)
5) int a=0,y=10;
if(a==0) y--;
else if(a>0) y++;
else y+=y;
y的值是9)
6) a为整型变量,10<a<15的c语言表达式的写法有:
a>10 &&a<15
a==11||a==12||a==13||a==14
(a<=10)&&a>=15))
6.基本语句。
嵌套if语句,else语句的配对。
循环语句的执行次数。
break语句。
continue语句。
函数返回值的类型与return语句中的表达式类型。例:
a=b=c=0; x=35;
if(!a) x--;
else if(b);
if(c) x=3;
else x=4;
x的值是4)
2)int i,sum=2;
for(i=1;i<=2;i+=2) sum+=i; }
后变量sum的值是3 )
四、程序填空练习题。
1. 以下程序要实现:输入5个数,求和并输出,要求编写求和的函数。请填空完成程序。
#include<>
int main()
int b(int x,int n);
int sum=0;
int a[5]=;
sum=b(a,5
printf("sum=%d",sum);
return 0;
int b(int x,int n)
int i,sum=0;
for(i=0;i<5;i++)
sum=sum+x[i];
return sum;
2.输入3个学生4门课的成绩,计算每个学生的总分和平均成绩并输出,结果保留两位小数。填空完成程序。
#include<>
void main()
int a[3][4]=,
int i,j;
float **erage,sum=0.0;
printf("三个学生的总分和平均成绩依次为:");
for(i=0;i<3;i++)
3. 请根据主程序中函数调用情况,写一个成绩函数chargrade(floatx),对于给定的一个百分制成绩x,要求返回其相应等级‘a’、‘b’、‘c’、‘d’、‘e’。90分以上为‘a’,80~90分为‘b’,70`~79为‘c’,60~69为‘d’,60以下为‘d’。
填空完成程序。
#include<>
intmain()
chargrade(floatx);
floatx;charch;
scanf(“%f”,&x);
ch=grade(x);
printf(“%c”,ch);
return 0;
chargrade(floatx)
charc;
switch((int)x/10)
returnc;
4. 以下程序的功能是求某整数的各个位数并输出。填空完成程序。
#include<>
int main()
int m,num;
scanf("%d",&m);
while(m)
return 0;
五、 读程序写结果练习题。
1. 下列程序执行后的输出结果是60*5=300
#include <>
int main( )
int a=5,b=60,c;
if (a
elsec=b/a;printf("%d/%d=%d",b,a,c);}
return 0;
2. 运行下面程序时,若从键盘输入"3,5",则程序的输出结果是x#include <>
int main( )
int x,y;
scanf("%d,%d",&x,&y);
if (x==y)
printf("x==y");
else if (x>y)
printf("x>y");
elseprintf("xreturn 0;
3. 运行下面程序时,从键盘输入字母h,则输出结果是。
hello!
good morning!
bye_bye!
#include <>
int main( )
char ch;
ch=getchar( )
switch(ch)
C高级复习下 含答案
1 在c 中,关于抽象类的说法错误的是 选择一项 a.使用abstract关键字定义抽象类。b.抽象类中可以包含抽象方法。c.抽象方法可以有实现。d.包含抽象方法就一定是抽象类。2 在c 中,使用 访问修饰的方法被称为抽象方法。选择一项 a.this b.abstract c.new d.virtu...
C高级复习上 含答案
1 net框架提供了创建 部署和运行。net应用的环境,它包括的核心组件是 选择二项 a.net framework框架类库。b.jit编译器。c.microsoft中间语言。d.公共语言运行时。2 net框架是。net战略的基础,是一种新的便捷的开发平台,它具有两个主要组件,分别是 和框架类库。选...
C 练习 含答案
第一题 罗马数字的表示主要依赖以下几个基本符号 i 1v 5 x 10l 50 c 100d 500 m 1000 这里,我们只介绍一下1000以内的数字的表示法。单个符号重复多少次,就表示多少倍。最多重复3次。比如 ccc表示300 xx表示20,但150并不用lll表示,这个规则仅适用于i x ...