C语言程序设计知识点要求答案

C语言程序设计知识点要求答案
C语言程序设计知识点要求答案

第1章C 语言与程序的算法

1、掌握 C 程序的特点

2、掌握 C 程序的上机操作的每个步骤,及对应的生成文件

3、理解算法的特性,会画流程图

第2章数据类型、运算符与表达式

1、掌握 C 语言中定义标识符的要求

2、掌握 C 语言的数据类型:int,char,float,double

3、整型常量只需掌握十进制

4、掌握符号常量的定义与使用

5、掌握字符型常量与字符串常量的使用

6、掌握变量的定义、初始化和使用

7、掌握各类数值型数据之间的自动转换规则(图2-5)和强制转换规则的概念

和使用

8、掌握如下运算符:算术运算符(其中,++,--只需要掌握i++和i —即可)、关

系运算符、逻辑运算符、条件运算符、逗号运算符。

9、不需要背记运算符的优先级,建议用括号解决。

10、掌握如何对变量进行赋值?

第3章数据的输入输出与顺序程序设计

1、掌握头文件的使用:stdio.h,math.h,string.h

2、掌握printf 函数的使用

掌握表3-1中d,f,e,c,s;掌握表3-2中的m,.n。掌握整型数据的输出: d 格式符掌握浮点型数据的输出:f格式符掌握字符型数据的输出:c格式符和s格式符

3、掌握sacnf函数的使用

掌握表3-3中d,f,e,c,s;掌握表3-4中的m。

掌握scanf函数时应注意的问题

4、掌握Putchar函数与getchar函数的使用

第4章选择结构程序设计

1 、全部内容都需要熟练掌握

第5章循环控制

1 、全部内容都需要熟练掌握

第6章数组

1、全部内容都需要熟练掌握

第7章函数

1、熟练掌握函数的定义与调用

2、熟练掌握函数的嵌套调用

3、掌握数组作为函数参数

第8章指针、结构型与联合型

1、掌握指针的概念、指针变量的定义、赋值和运算

熟练掌握前面提到知识点对应的教材例题、课后习题和上机题目!!

程序阅读题补充(阅读程序,写结果,注意显示格式)

1、

#include

void main()

{ int x , y ;

printf("Enter an integer: \n");

scanf("%d",&x);

y=x;

if(y<0)

y= -y;

printf("integer:%d absolute value is: %d",x,y);

}

2、

#include

void main()

{ int i;

for(i=1;i<=5;i++)

{ if (i==3) continue;

printf("i=%d\n",i);

}

printf("over!\n");

}

3、

#include

void main()

{ int i,j,x;

for(i=0;i<=9;i++)

{

x=3;

for(j=0;j<2;j++)

x=x+6;

}

printf("x=%d\n",x);

}

5、

#include void main() { int a[6]={1,2,3,4,5,6};

printf("%d\n",a[4]);

}

6、

#include void main() { int a[10];

int i;

for(i=0;i<10;i+

+) a[i]=10-i+1;

for(i=9;i>=0;i=i-2) printf("%d ",a[i]);

printf("\n");

}

7、

#include

#define SIZE 10

void main()

{ int i=0;

int age[SIZE]={0}; for(i=0;i

#include

#define SIZE 10

void main()

{ int i=0;

int age[SIZE]={0}; for(i=0;i

{

if(i>=5)

{age[i]=i;}

prin tf("age[%d]=%d\n",i,age[i]);} }

9、

#in clude

int f(int x,i nt y,i nt z)

{ int m;

if (x

else m=y;

if (z

return m;

}

void mai n()

{ int a,b,c;

a=54;

b=34;

c=100;

c=f(a,b,c);

prin tf("%d\n",c);

}

10、

#in clude

int pow(i nt x,i nt y)

{

int m=1, n;

for(n=1; n<=y;n++) m=m*x;

return m;

}

void mai n()

{ prin tf("%d\n",pow(3,4));

}

程序设计题补充

1、编程实现:输入密码,如果等于8848,则显示“loadi ng ... ” ;否则显示“ in put again!”,如果输入超过3次,则结束程序。

2、有一个函数:

(x<1)

y= 2x-1 (1<=x<10)

3x-11 (x>=10) 请编写程序,输入x值,输出y值。

3、编程实现:输入百分制成绩,要求输出其对应的成绩等级‘,A'‘ B,'‘C,

'‘D,' ‘E'90 分以上为A, 80—89 为B, 70---79 为C, 60---69 为D, 60 分以下为E。

4、编程实现:求0~100 之间的偶数之和。

5、在101~999之间的三位数中, 求各位之和等于9且能被5整除的数,并输出。

6、把 1 元人民币兑换成 1 分、2 分、 5 分的硬币,共有多少种组合?

7、对输入的字母串进行加密并输出。加密算法为把输入字母变成其后的第八个字母,如 a 变为i, u 变为c。

8、求500 之内的所有素数,并统计个数。

9、求一个整数的各位之和与各位之积。

10、输入10 个整数,将其中的最大、最小值对换,并输出对调后的数组。

11、输入10 个整数,输出累加和、平均值。

12、将全班学生的成绩输入到数组grade[30],使用函数利用遍历数组找出全部学生的平均成绩。

13、将全班学生的年龄输入到数组iage[30],使用函数输出其中的最小年龄。

14、定义4X5的二维数组,输入20个数组值,输出其中的最大、最小值、累加和。

15、输入两个字符串s1,s2,将s2插入s1的第i个字符后,输出插入后的结果。

16、编程计算两个矩阵的和,并将两矩阵的和输出到屏幕上。提示:两个矩阵相加的条件是行列数相同。两个矩阵相加就是将两个矩阵的对应元素分别相加。

17、编程求用户输入矩阵中的最大值。

18、一个数如果从左往右读和从右往左读数字是相同的,则称这个数为回文数,比如898,1221 ,15651 都是回文数。编程实现:用户从键盘输入一个数,判断此数是否为回文数,结果显示到屏幕上。

19、编写函数来判断闰年,并用它来找出2000-2500年之间的全部闰年。注:不是整百年份数的能被4整除的就是闰年,是整百年份数的要能被400整除的才是闰年。

20、设计一个程序,可以模仿计算器完成加、减、乘、除四则运算:由键盘输入两个数,按用户的决定进行一种运算,并给出结果。其中,加、减、乘、除各由一个函数实现。

21、写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用两个函数,并输出结果,两个整数由键盘输入。

22、求a!+b!+c!的值,用一个函数fac(n)求n!。a,b,c的值由主函数输入,最终得到的值在主函数中输出。

23、有1020 个苹果,第一天卖出其一半多两个,以后每天卖出余下的一半多两个,问几天卖完。

24、输入 5 行字符,去掉每行的前置空格后输出。

25、以下列形式打印7行杨辉三角:

1

1 1

1 2 1

1 3 3 1

。。。。。。。。。

26、** 打印一下图形:

A

BBB

CCCCC

FF??…FF

27、** 要求用键盘输入英语规则名词,屏幕输出该名词的复数形式。

28、**17 个人围成圈,编号为1~17,从第1号开始报数,报到3的倍数的人离开,一直数下去,直到最后只剩下 1 人。求此人的编号(提示:用一维数组实现)。

1、

#include #define password 8848 void main()

{ int i=3,ps; printf("input password:"); while(i)

{ scanf("%d",&ps);i--; if(ps==password) { printf("loading \n"); break;} else printf("input again!\n");

}

}

2、

#include void main()

{ int x,y; printf("Input a number:"); scanf("%d",&x); if(x<1) y=x; else if(x<10) y=2*x-1; else y=3*x-11; printf("y=%d\n",y);

}

3、

#include void main()

{ int x; char sc; printf("Input a score:"); scanf("%d",&x); if(x<=100) { x=x/10;

switch(x)

{ case 10: case 9: sc='A'; break; case 8: sc='B'; break; case 7: sc='C'; break; case 6: sc='D'; break; default: sc='E';

}

else printf("error score!\n"); printf("score level is %c\n",sc);

}

4、

#include

void main()

{ int i,sum=0;

for(i=2;i<=100;i=i+2) sum=sum+i;

printf("sum=%d\n",sum);

}

5、

#include

void main()

{ int i;

for(i=105;i<999;i=i+5)

if(i%10+(i%100)/10+i/100==9)

printf("%d ",i);

}

6、

#include

void main()

{ int i,j,k;

for(i=0;i<=20;i++)

for(j=0;j<=50;j++) if(i*5+j*2<=100) printf("%d %d %d\n",i,j,100-i*5-

j*2);

}

7、

#include

#define N 30

void main()

{ char s[N],c='z'; int i=0;

printf("input a string:");

gets(s);

while(s[i]!='\0')

{ if(s[i]+8<=c) printf("%c",s[i]+8);

else printf("%c",(s[i]+8)%c+'a'-1); i++;

}

}

8、

#include

void main()

{ int i,j,a[100],k=0;

for(i=2;i<=500;i++)

{ for(j=2;j

if(j==i) a[k++]=i;

} for(i=0;i

printf("\n total is:%d",k);

}

9、

#include

void main()

{ int a[10],i,n,s1=0,s2=1; printf("Input a number:") scanf("%d",&n);

for(i=0;n;n=n/10,i++) a[i]=n%10;

for(i--;i>=0;i--)

{ s1=s1+a[i];

s2=s2*a[i];}

printf("%d %d\n",s1,s2);

}

10、

#include

void main()

{ int i,a[10],max,min,t1,t2; for(i=0;i<10;i++) scanf("%d",&a[i]);

max=min=a[0];t1=t2=0; for(i=1;i<10;i++)

{ if(a[i]max) { max=a[i]; t2=i;} }

i=a[t1]; a[t1]=a[t2]; a[t2]=i;

for(i=0;i<10;i++) printf("%d ",a[i]);

}

11、

#include

void main()

{ int i,a[10],min,t1,t2;

float avg=0; for(i=0;i<10;i++) { scanf("%d",&a[i]); avg=avg+a[i];

}

printf("sum=%.0f\navg=%.2f\n ",avg,avg/10);

12、

#include

#define N 30

void main()

{ int i,grade[N],max,min,t1,t2; float avg(int []); for(i=0;i

scanf("%d",&grade[i]); printf("%f ",avg(a));

}

float avg(int a[])

{ int i;

float m=0; for(i=0;i

return m/N;

}

13、

#include

#define N 30

void main()

{ int i,iage[N];

int min(int []); for(i=0;i

printf("%d ",min(a));

}

int min(int a[])

{ int i,m;

m=a[0]; for(i=1;ia[i]) m=a[i];

return m;

}

14、

#include

void main()

{ int a[4][5],i,j,max,min,sum=0; for(i=0;i<4;i++) for(j=0;j<5;j++)

scanf("%d",&a[i][j]); max=min=a[0][0]; for(i=0;i<4;i++) for(j=0;j<5;j++) { if(a[i][j]>max) max=a[i][j]; if(a[i][j]

sum=sum+a[i][j];

} printf("max=%d,min=%d,sum=%d\n",max,min,sum); }

15、

#include

#define N 30

void main()

{ int x,i,j;

char s1[N],s2[N],s[2*N];

printf("Input two strings:\n");

gets(s1); gets(s2);

printf("Input a number:");

scanf("%d",&i); for(x=0;x

for(j=0;s2[j]!='\0';j++,x++)

s[x]=s2[j];

for(j=i;s1[j]!='\0';j++,x++)

s[x]=s1[j];

s[x]='\0';

printf("The result is:"); puts(s);

}

16、

#include

#define N 10

void main()

{ int a[N],b[N],c[N],i;

printf(" 输入数组 a 的10 个值:"); for(i=0;i

scanf("%d",&a[i]);

printf(" 输入数组 b 的10 个值:"); for(i=0;i

scanf("%d",&b[i]);

for(i=0;i

c[i]=a[i]+b[i];

printf("a 、b 数组相加后的结果为:\n");

for(i=0;i

printf("%d ",c[i]);

}

18、

#include

int ff(int x)

{ int a[10],i=0,j; while(x)

{ a[i]=x%10; i++; x=x/10;}

i--; /*数的长度,a[0]为个位、a[i]为最高位的值*/

for(j=0;j<=i/2;j++) if(a[j]!=a[i-j]) break;

if(j<=i/2) return 0; /* 不是回文数*/

else return 1; /* 是回文数*/

}

void main()

{ int n;

printf(" 输入一个整数:"); scanf("%d",&n);

if(ff(n)) printf("%d 是回文数\n",n); else printf("%d 不是回文数

\n",n);

}

20、

#include

int jia(int n,int m)

{ return m+n; }

int jian(int n,int m)

{ return n-m; }

int cheng(int n,int m)

{ return m*n; }

int chu(int n,int m)

{ return n/m; } void main()

{ int a,b,c,i;

printf("Input two numbers:"); scanf("%d%d",&a,&b);

printf("1 . +\n2 ??:....-\n3 *\n4 .. /\n");

printf("chose a operator:"); scanf("%d",&i);

switch(i)

{ case 1: printf("%d",jia(a,b)); break;

case 2: printf("%d",jian(a,b)); break;

case 3: printf("%d",cheng(a,b)); break;

case 4: if(b!=0) printf("%d",chu(a,b)); else printf("error!");break;

default: printf("Input error!");

}

21、分析:最大公约数小于等于两个数中小的数;最小公倍数大于等于两个数中大的数。

#include

int f1(int m,int n) /* 求最大公约数*/

{ int x;

x=m>n?n:m; while(1)

{ if(m%x==0&&n%x==0) break;

x--;

}

return x;

}

int f2(int m,int n) /* 求最小公倍数*/

{ int x;

x=m>n?m:n;

while(1)

{ if(x%m==0&&x%n==0) break;

x++;

}

return x;

}

void main()

{ int a,b;

printf("input two number:"); scanf("%d%d",&a,&b);

printf(" 最大公约数为:%d\n",f1(a,b));

printf(" 最小公倍数为:%d\n",f2(a,b));

}

22、#include int fac(int n) { int i,f=1;

for(i=2;i<=n;i++)

f=f*i;

return f;

}

void main()

{ int a,b,c;

printf("Input three numbers:");

scanf("%d%d%d",&a,&b,&c); printf("a!+b!+c!=%d",fac(a)+fac(b)+fac(c));

}

23、

#include

void main()

{ int i,m=1020;

for(i=1;m>0;i++)

m=m/2-2;

printf("Total days:%d",i);

}

24、方法一:#include void main() { int i,j,flag;

char s[50]; for(i=1;i<=5;i++) { gets(s); flag=0;

for(j=0;s[j]!='\0';j++) { if(s[j]!=' ') flag=1;

if(flag) putchar(s[j]);

}

putchar('\n');

}

} 方法二:#include #define N 30 void cutspace(char m[]) { int i;

for(i=0;m[i]==' ';i++); for(;m[i]!='\0';i++) putchar(m[i]);

putchar('\n');

}

void main()

{ char s[N]; int i; printf("input five words:"); for(i=1;i<=5;i++) { gets(s);

cutspace(s);

}

}

25、#include #define N 8 void main() { int i,j,k,a[N][N];

for(i=1;i

if((i==j)||(j==1)) a[i][j]=1; else a[i][j]=a[i-1][j-1]+a[i-

1][j];

for(i=1;i

{ for(k=1;k<=N-i;k++) printf(" "); for(j=1;j<=i;j++) printf("%d

",a[i][j]); putchar('\n');

}

}

26、

#include

void main()

{ int i,j;char ch; for(i=1,ch='A';i<=6;i++,ch++)

{ for(j=1;j<=6-i;j++) putchar(' '); for(j=1;j<=i;j++) putchar(ch);

putchar('\n');

}

}

28、

#include

void main()

{ int a[18]={0},i=1,n=0,k=0; while(n<16)

{ if(a[i]==0) k++;

if(k%3==0) { a[i]=1;n++;}

i++;

if(i>17) i=i%17;

}

for(i=1;i<=17;i++) if(a[i]) printf("%d",i);

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

《C语言程序设计》基本知识点

《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

C语言程序设计复习题(判断题)新

第一部分判断题 1.对于int n=3; 执行n+=n-=n*n ;后n 的值是9。() 提示正确答案为× 2.在C 语言中,定义int a=b=c=5; 是错的,而int a,b,c; a=b=c=5; 是正确的. () 提示正确答案为√ 3.若有定义int a=3,b=4,c=5; 则a+b>c&&b==c 的值为1。() 提示正确答案为× 4. int x=3,y=2; 则表达式(y++==--x)?y++:x++ 的值为3。() 提示正确答案为√ 5.在C 语言中,不同类型的数据不可以在一起进行算术运算。() 提示正确答案为× 6.由于计算机的计算精度很高,所以在 C 语言中程序计算 1.0/3*3 的 结果肯定等于1。()提示正确答案为× 7.当一个 C 语言表达式中同时含有字符型、整型、单精度和双精度类型数据参加运算时,按照" 由低到高" 的原则,所有的数据都必须先转换为双精度类型数据后方能参加运算。() 提示正确答案为× 8. C 语言与其他高级语言一样,对于所有的同级运算符均遵循左结合原则。() 提示正确答案为× 9.如果被定义函数的返回值类型是整型或字符型,使用前可以不必进行说明。() 提示正确答案为√ 10.若x 为整型变量、j 为实型变量,当执行语句:x=(int )j; 后,j 也变为整型变量。()提示正确答案为× 11.赋值运算符优先于条件运算符.( ) 提示正确答案为× 12.“! ”的优先级可以比“ / ”高。() 提示正确答案为√ 13.两个char 型数据相加, 其结果为char 型。( ) 提示正确答案为× 14.若有定义int a; float b=2.1; 则a=int(b+3) 是合法的赋值表达式。() 提示正确答案为× 15.若有int a=4,b=0; 则表达式a&&!b 的值为0。() 提示正确答案为√ 16.C语言程序中,任何英语单词均可以作标识符。() 提示正确答案为× 17.在C 语言的源程序中,注释使用越多,编译之后的可执行程序的执行效率越低。() 提示正确答案为× 18.当主程序执行完毕时,亦即程序执行完毕。() 提示正确答案为√ 19.C程序有且仅有一个main() 函数。() 提示正确答案为√ 20.C语言中不区分大小写英文字母。() 提示正确答案为× 21.用C 语言编写的程序是一种需要经过编译和连接才能运行的程序。()

c语言程序设计第五版习题答案

习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、do while语句、switch 语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么?它由哪几部分组成? 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤? 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { int a1,a2,x; a1=100; a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main() { int a1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 3.输入下面程序并运行。

#include main() { printf("******\n"); printf(" *****\n"); printf(" ****\n"); printf(" ***\n"); printf(" **\n"); printf(" *\n"); } 【解答】运行结果为:****** ***** **** *** ** * 思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。 三.编程题 1.参照本章例题,编写一个C程序,用于显示如下信息: ************************* I love C programs! ************************* 【分析与提示】 ①要有文件包含语句#include 。C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。这些函数的说明都包括在stdio.h文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include main() { printf("************************\n"); printf(" I love C programs! \n"); printf("************************\n"); }

(完整版)C语言程序设计练习及答案

《C语言程序设计》练习及答案 得分评卷人复查人 一、单选题,每小题1分,共60分(将正确答案的序号写在题目的括号中)。 1、结构化程序设计的三种基本控制结构是(D )。 A、主程序、子程序、函数 B、输入、处理、输出 C、调用,返回,转移 D、顺序、选择、循环 2、下列关于C程序变量的叙述, ( D )是错误的。 A、变量名必须由字母或下划线开头。 B、程序中的变量必须在被使用之前定义。 C、不同的基本类型的变量之间可以混合运算。 D、变量的数据类型决定变量的"作用域"。 3、能将C语言编写的源程序转换为目标程序的软件是(C )。 A、编辑程序 B、汇编程序 C、编译程序 D、解释程序 4、以下符号中,合法的用户标识符是( D )。 A、-p B、int C、3ab D、_xt_ 5、以下选项中,与m=n++完全等价的表达式是( C )。 A、m=++n B、m+=n+1 C、m=n, n=n+1 D、n=n+1,m=n 6、若有定义:int aa[8];。则以下表达式中不能代表数组元aa[1]的地址的是(C )。 A、&aa[0]+1 B、&aa[1] C、&aa[0]++ D、aa+1 7、表达式!5&(7+3)&&(4+5)的值是(A)。 A、0 B、1 C、5 D、9 8、以下选项中非法的C语言表达式是(A )。 A、x+1=x+1 B、0<=x<100 C、i=j==0 D、(char)(65+3) 9、在TURBO C中, int类型变量所占字节数是(B )。 A、1 B、2 C、4 D、8 10、C语言中基本的数据类型包括(B)。 A、整型,实型,逻辑型 B、整型,实型,字符型

C语言程序设计第二版习题参考答案

C语言程序设计第二版 习题参考答案 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

C语言程序设计习题参考答案 习题 1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII 码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是 ___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。

C语言程序设计重要知识点

C语言程序设计(第四版)重要知识点第一章、程序设 计;和C语言1、三个发展阶段 机器语言:计算机有效识别的语言,执行效率最高,不容易被记忆理解,最低级语言。 符号语言:相对于高级语言不容易被记忆和理解,语言普遍性较差,用符号来代替二进制代码。 高级语言:与人类思维比较接近,

方便学习和理解,接近与人们习惯使用的自然语言和数学语言,不能被计算机直接识别,需要编译成计算机能够识别的代码。 2、C语言的发展及其特点 ○1、语言简洁、紧凑,使用方便灵活。 ○2、运算符丰富。 ○3、数据类型丰富。 ○4、具有结构化的控制语句。 ○5、语法限制不太严格,程序设计自由度大。 ○6、C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬

件进行操作。 ○7、用C语言编写的程序可移植性好。 ○8、生成目标代码质量高,程序执行效率高。 1.4、最简单的C语言程序 # include”stdio.h” main() { printf(“This is a C program.\n”); } Stdio.h是系统提供的一个头文件名。用到#inaclude”stdio.h”是因为程序 中要用到标准函数库中的输入输 输出函数。 (1)以//开始的单行注释。此种

注释的范围从//开始,以换 行符结束。 (2)以/ *开始,以*/结束的块式注释。这种注释可以包含 多行内容。 ○注:1、/*和*/必须成对出现 2、/*不得存在空格 3、正常的注释语句只 能起到解释解释说明的作 用,不影响程序的运行。求两个整数之和 #include”stdio.h” Main() { int a,b,sum;

C语言程序设计习题答案

C 语言程序设计习题答案 习题一 C 语言程序设计概述 一、名词解释 (1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2 (5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4 (9)结构化的程序设计P9 二、简述题 1. 设计程序时应遵循哪些基本原则?P4 答:正确性、可靠性、简明性、有效性、可维护性、可移植性。 2. 算法的要素是什么?算法具有哪些特点? 答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。 3. 算法的表示形式有哪几种? 答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。 4. 有哪三种基本结构? 答:三种基本结构是:顺序结构、选择结构和循环结构。 5. 传统流程图与N-S 流程图最大的区别是什么? 答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。 三、用传统流程图、N-S 图分别表示求解以下问题的算法。 1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。 2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。 3. 求1+2+3+…+100的值。

5. 求下列分段函数的值。 6. 求100~200之间的所有素数。 7. 求一元二次方程ax 2+bx+c=0的根。分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。 四、注释下面C 程序的各个组成部分。 main() /*主函数 */ { /*程序开始 */ int a,k,m; /*定义三个用来存放整数的变量 */ a=10; /*将整数10赋值给变量a */ k=2; /*将整数2赋值给变量k */ m=1; /*将整数1赋值给变量1 */ a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */ printf("%d\n",a); /*在屏幕上打印出变量a 的值 */ } /*程序结束 */ 习题二 数据类型、运算符与表达式 一、选择题 1~10:BCDCB DDBCA 11~20: ADDAA DBADC 21~28: DABAD CDD Y= 3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1

(完整版)《C语言程序设计》复习参考答案

第一章 【随堂练习1-2】 1.下面哪些标识符属于合法的用户自定义标识符: Main、void、_num、my$、a*、N4、3m、a-2 答:合法的用户自定义标识符是:Main、_num、N4 2.结合【例1.2】指出程序代码中所用到的标识符哪些是关键字,哪些是预定义标识符,哪些是用户自定义标识符。 答:关键字:void、int 预定义标识符:include、main、printf、scanf 用户自定义标识符:a、b、c 3.分析【例1.2】中函数的结构,包括函数首部(函数返回值类型、函数名、形式参数)、函数体语句(说明语句、可执行语句)。 答:函数首部:void main( ),其中函数返回值类型为void、函数名为main、形式参数无; 函数体语句:{}内的语句为函数体,其中:说明语句为int a,b,c;,其余为可执行语句。 3.标识符是用来标识程序中的某个对象名字的字符序列。C语言把标识符分为三类,即关键字、预定义标识符、用户自定义标识符。对于用户自定义标识符的命名C语言规定: (1)所有的用户标识符必须先定义后使用; (2)用户标识符由字母(A~Z,a~z)、数字(0~9)、下划线“_”组成,并且首字符不能是数字; (3)区分大小写; (4)不能用关键字作为用户自定义标识符,通常不使用预定义标识符作为用户自定义标识符。 4.理论上讲,程序开发过程分为四个步骤,分别为: (1)编辑源程序 (2)编译源程序,生成目标程序 (3)连接目标程序及其相关模块,生成可执行文件 (4)运行可执行文件

一.单元练习 一.选择题 1.构成C语言程序的基本单位是()。 A.框架B.预处理C.函数D.语句 2.在程序开发过程中,把文本文件格式源程序转化为二进制格式的目标程序的过程称之为()。 A.编辑B.编译C.连接D.运行 3.关于主函数,下列说法不正确的是()。 A.一个完整的C语言应用程序有唯一的主函数 B.主函数的名称只能是main C.主函数可以被其他自定义函数调用 D.C语言程序的运行从主函数开始,以主函数为核心展开 4.关于标识符,下列说法不正确的是()。 A.库函数名称为预定义标识符,不建议用作用户自定义标识符 B. 关键字不能作为用户自定义标识符 C.用户自定义标识符中不区分大小写字母 D.标识符中可以出现下划线,且可以出现在标识符的任意位置 5.以下可用作用户自定义标识符的一组是()。 A.void、return、if B.printf、include、fabs C.Max、_abc、Main D.2abc、pay$、sum-10 二.填空题 1.C语言程序一般由若干个函数构成,程序中应至少包含一个_________,其名称只能为_________。 2.C语言程序中每条语句必须以_________结束。 3.C语言程序的注释是以_________开头,以________结束的,在VC++6.0编程环境中,可使用_________作为注释的起始标识,注释对程序的执行不起任何作用。 4.最初编写的C语言程序称为_________,其扩展名为_________,编译后生成的文件为_________,其扩展名是_________,连接后生成的文件是_________,其扩展名是_________。5.C语言规定,标识符只能由_________、_________和_________三种字符组成,而且,首字符只能是_________或_________。

C语言程序设计第三版谭浩强课后习题答案完整版

C语言程序设计第三版谭浩强 课后习题答案完整版 第一章 1.5请参照本章例题,编写一个C程序,输出以下信息:************************** V ery Good! ************************** 解: mian() {printf(“**************************”); printf(“\n”); printf(“V ery Good!\n”); printf(“\n”); printf(“**************************”); } 1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。解: mian() {int a,b,c,max; printf(“请输入三个数a,b,c:\n”); scanf(“%d,%d,%d”,&a,&b,&c); max=a; if(max main() { char c1=?C?,c2=?h?,c3=?i?,c4=?n?,c5=?a?; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是Glmre 3.9求下面算术表达式的值。 (1)x+a%3*(int)(x+y)%2/4 设x=2.5,a=7,y=4.7 (2)(float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5 (1)2.5 (2)3.5 3.10写出程序运行的结果。 main() {int i,j,m,n; i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d”,i,j,m,n); } 解: 9,11,9,10 3.12 写出下面表达式运算后a的值,设原来a=12。设a和n都已定义为整型变量。 (1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2),n的值等于5 (6)a+=a-=a*=a 解: (1) 24 (2) 10 (3) 60 (4) 0 (5) 0 (6) 0 第四章 4.4若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’。想得到以下输出格式和结果,请写出程序(包括定义变量类型和设计输出)。 a=_3_ _b=_4_ _c=_5 x=1.200000,y=2.400000,z=-3.600000 x+y=_3.600_ _y+z=-1.20_ _z+x=-2.40 c1=ˊaˊ_or_97(ASCII)

c语言程序设计知识点总结

C 语言程序设计》教学基本知识点 第一章C 语言基本知识源程序的框架 尽管各个C 源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main 。 语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的, 根据表现形式及功能的不同,C 语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用 (5)复合语句复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符用来表示数据各种操作的符号称为运算 符运算符实际上代表了一种类型数据的 运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C 语言的运算符分为单目运算符,双目 运算符和三目运算符(三目运算符只有条件运算符一个) 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常 量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有:算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号表达式(顺序表达式)、条件表达式、指针表达式。 6.数据的输入/输出

c语言程序设计知识点

c语言程序设计知识点 学习C语言程序设计都会用到高等数学知识和计算机基础理论知识。 使用可变参数应该有以下步骤:1)首先在函数里定义一个va_list型的变量,这里是arg_ptr,这个变量是指向参数的指针。 2)然后用va_start宏初始化变量arg_ptr,这个宏的第二个参数是第一个可变参数的前一个参数,是一个固定的参数。 3)然后用va_arg返回可变的参数,并赋值给整数j. va_arg的第二个参数是你要返回的参数的类型,这里是int型。 4)最后用va_end宏结束可变参数的获取。然后你就可以在函数里使用第二个参数了。如果函数有多个可变参数的,依次调用va_arg获取各个参数。 C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。 C语言程序设计基础知识点1、">2、C程序源程序扩展名为.c。目标程序扩展名为.obj。可执行程序的扩展名为.exe。 3、指针用来表示某个变量在内存储器中的地址。 4、十进制写法除非要写的整数本身就是0,否则开头第一个数字字符不能为0. 5、八进制整常数必须以0开头,数码取值为0-7。八进制数通常为无符号数。 6、十六进制数常数的前缀为0X或者0x。其数直码维阿0—9,A—F或者a—f。 二进制、八进制、十进制、十六进制之间的转换 7、字符串常量在内存中存储时有串尾标记‘\0 ’,所以字符常量占一个字节的内存空间,而字符串常量占的内存字节数等于字符串中字符所占的字节数加1. 8、可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。C语言中没有专门的字符串变量。字符串如果需要存放在变量中,需要使用字符型数组来存放。

c语言程序设计第五版习题答案

c语言程序设计第五版习 题答案 Prepared on 24 November 2020

习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、dowhile语句、switch语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么它由哪几部分组成 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { inta1,a2,x; a1=100; a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main()

{ inta1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 三.编程题 1.参照本章例题,编写一个C程序,用于显示如下信息: ************************* IloveCprograms! ************************* 【分析与提示】 ①要有文件包含语句#include<>。C语言中没有数据的输入、输出等功 能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf 等来实现的。这些函数的说明都包括在文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干 条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include<> main() { printf("************************\n"); printf("IloveCprograms!\n"); printf("************************\n"); } 第2章数据类型及其运算一.简答题 1.C语言中的数据类型主要有哪几类 【解答】短整型(shortint) 整型整型(int) 长整型(longint) 基本类型字符型(char)(float) 实型(浮点型) 双精度(double) 枚举类型(enum) 数组类型

《C语言程序设计II》期末复习

《C语言程序设计II》期末复习 一、复习内容: ?第1~4讲指针 ●指针的概念:内存单元的排列方式、地址的概念、不同数据类型内存单元的 个数、存储方式不同,两种变量的存取方式,指针即是地址,NULL; ●指针变量:概念和定义方法(空悬指针、空类型与空指针),指针的两个特殊 运算符(*与&),指针变量作为函数参数(通过函数调用得到n个要改变的 值); ●指针运算:指针与整数的运算、++(--)、比较、相减; ●指针与一维数组:对数组名的理解,指针与一维数组(指向数组元素的指针、 引用数组元素时的指针运算、通过指针引用数组元素的几种方法、用数组名作函数参数); ●指针与二维数组:理解二维数组中行指针、列指针的类型,加减1所移动的 字节数,如何利用它们访问二维数组元素,用作函数参数参数时在主调函数中如何给出实参。 ●通过指针引用字符串:字符串的引用方式,字符指针作函数参数,使用字符 指针变量和字符数组的比较; ●指向函数的指针:什么是函数指针,怎样定义和使用指向函数的指针变量, 用指向函数的指针作函数参数; ●返回指针值的函数:函数的返回值是一个地址,定义格式,使用; ●指针数组和多重指针:什么是指针数组,指向指针数组的指针,指针数组作 main函数的形参; ●动态内存分配:动态内存分配的概念、必要性,与动态内存分配相关的4个

函数,动态数组的建立; ●有关指针的小结:指针、指向、指针变量,void *类型与NULL的比较,指 针与数组的关系,各类指针类型的比较,指针的几类运算; ●结构体指针:什么是结构体指针,用结构体指针访问成员的简便写法,指向 结构体数组的指针,结构体变量与结构体指针作函数参数; ●用指针处理链表:什么是链表,建立静态链表,建立动态链表,输出链表。 (理解链表的概念,本次考试不包含这一部分内容)。 ?第5讲位运算和预处理指令 ●位运算与位运算符:位运算概念,6种基本的位运算符(&、|、^、~、<<、>>), &和^运算符的一些用法,位运算的复合赋值运算符; ●位段:问题的提出,位段的概念与定义,位段的使用,注意事项;(这一部 分内容不考) ●预处理:概念,主要工作,功能类型,书写要求; ●宏定义:不带参数的宏定义,带参数的宏定义; ●“文件包含”处理:格式,作用,带<>与””的差别; ●条件编译:概念,好处,几种基本格式。 (理解条件编译的概念,本次考试不包含这一部分内容)。 ?第6~8讲文件操作与综合案例 ●C文件的有关基本知识:文件的概念与组成,文件的分类,读文件与写文件, 缓冲文件系统,文件类型指针; ●文件的打开与关闭:文件打开与关闭的含义,文件打开的多种方式,打开文 件出错时处理,fopen()、fclose()的使用;

C语言程序设计重点知识

第一章 C语言概述 1、C程序的组成和形式的基本特点(P6-7) (1)C程序是由函数构成的,一个C源程序至少且仅包含一个main函数,也可以包含一个main函数和若干个其他函数。 (2)一个函数由两部分组成 ①函数的首部:即函数的第一行,包括函数名、函数类型、函数属性、函数参数名、参数 类型 例:int max (int x, int y) 一个函数名后面必须跟一对圆括号,括号内写函数的参数名及其类型。函数可以没有参数,如main()。 ②函数体:即函数首部下面的花括号内的部分。如果一个函数内有多个花括号,则最外层 的一对花括号为函数体的范围。函数体一般包括:声明部分、执行部分 2、运行C程序的步骤及每个步骤生成文件的类型及特点(P7) 3、第二章算法 1、算法的定义 一个程序应包括①数据结构即对数据的描述;②算法也就是操作步骤。 计算机算法可分为两大类:数值运算算法和非数值运算算法。 2、算法的特性(P19) 1.有穷性; 2.确定性; 3.有零个或多个输入; 4.有一个或多个输出; 5.有效性。 3、描述算法的常用方法(P20-33) 1.自然语言; 2.用流程图表示算法。 3.N—S图 4.计算机语言 5.伪代码 4、C程序算法的3种基本结构及其共同特点(P24-25) 三种基本结构: 1.顺序结构:最基本; 2.选择结构:又称选取结构或分支结构; 3.循环结构:又称重复结构; ①当(while)型循环; ②直到(until)型循环。 共同特点: 1. 只有一个入口; 2. 只有一个出口; 3. 结构内的每一部分都有机会被执行到; 4. 结构内不存在“死循环”。 5、结构化程序设计的设计原则(P34) 1.自顶向下;

《C语言程序设计教程》习题参考答案

《C语言程序设计教程》习题参考答案 祝胜林主编 华南理工大学出版社 【习题1】 (1) 【习题2】 (2) 【习题3】 (3) 【习题4】 (5) 【习题5】 (8) 【习题6】 (11) 【习题7】 (14) 【习题8】 (16) 【习题9】 (16) 【习题10】 (18)

一、简答题(在课本中寻找答案,略) 1.1C程序的基本结构包括哪些内容? 1.2如何定义标识符? 1.3输入格式、输出格式的组成包括哪些内容? 1.4C语言函数分为哪两类? 1.5计算表达式的值应该考虑哪些方面? 1.6上机调试程序的步骤如何? 二、判断并改错 1.7C程序执行的入口是main()函数,所以main函数必须放在程序的开头。 错误:main函数可以放在程序的任何位置。并不限定在程序的开头。 1.8定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。 错误:不可以交叉出现,数据说明部分在执行语句部分的前面。 1.9编辑与编译不是一回事。 错误:不是一回事。编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则生成目标程序。 1.10scanf("%d,%d",&x,&y);的正确输入格式:3,4<回车>。 正确 1.11注释内容太多会影响程序的执行效率。 错误:不会影响程序的执行效率。因为在编译时,编译系统将注释内容删除或用空格代替,所以注释内容不会编译到目标程序中。 1.12所有的数学公式可以直接出现在源程序中。 错误:数学公式需要转换成C语言能够接受的公式才能出现在源程序中。 三、编程题 1.13在屏幕上输出自己名字的拼音。 提示:中文名字叫?张三?,对应的拼音为?Zhang San?,输出用printf()函数。 1.14 输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。 提示:定义圆的半径r,圆的周长:2*3.14*r,输出结果保留2位小数可以用%.2f 1.15输入两个整数,输出其中最大者。 提示:模仿例1.3 1.16 输入三个整数,输出其中最小者。 提示: min(min(a,b),c);

相关文档
最新文档