C理论复习 含答案

发布 2021-05-01 20:18:28 阅读 3111

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 ...