全国计算机等级考试二级教程C语言程序设计课后习题答案

全国计算机等级考试二级教程C语言程序设计课后习题答案
全国计算机等级考试二级教程C语言程序设计课后习题答案

全国计算机等级考试二级教程C语言程序设计课后习题答案

《全国计算机等级考试二级教程--C语言程序设计》课后习题答案

第一章

1.1 EXE

1.2 C OBJ EXE

1.3 顺序选择循环

第二章

一. 选择题

2.1 B 2.2 D 2.3 B 2.4 A 2.5 C 2.6 A 2.7 B

2.8 B 2.9 D 2.10 C 2.11 B 2.12 B 2.13 A

二. 填空题

2.14 11 12

2.15 4.2 4.2

2.16 { } 定义执行语句

2.17 关键字用户标识符

2.18 int float double

2.19 float a1=1; float a2=1;

2.20 存储单元

2.21

3.5

2.22 (a*b)/c a*b/c a/c*b

2.23 把常量10赋给变量s

2.24 位1或0

2.25 8 127 0111111 -128 10000000

2.26 32767 -32768 0000

2.27 10 8 16

三. 上机改错题

2.28

#include "stdio.h"; 删除行尾的";"

main(); / * main function * / 删除")"后的";",注释中的*要紧靠“/”,即应为“/*”和“*/”

函数开始处遗失了一个“{”

float r,s ; /*/*r is radius*/,/* s is area of circuilar*/*/ 注释符号不可嵌套使用

r = 5.0 ;

s = 3.14159 * r * r ;

printf("%f\n",s) 行尾遗失了“;”

函数结束处遗失了一个“}”

2.29

#include "stdio.h"

main /* main function */ main后遗失了“()”

{

float a,b,c,v; /*a,b,c are sides, v is volume of cube */

a=2.0; b=3.0; c=4.0 行尾遗失了“;”

printf("%f\n", v) 行尾遗失了“;”

}

第三章

一. 选择题

3.1 C 3.2 C 3.3 D 3.4 C 3.5 D 3.6 B 3.7 C 3.8 D 3.9 A 3.10 B

3.11 C 3.12 D 3.13 D 3.14 A 3.15 C 3.16 C 3.17 C 3.18 无答案3.19 C 3.20 B

二. 填空题

3.21 (1)- 500(2)i=-200,j=2500

(3)i=-200

j=2500

3.22 12 0 0

3.23 一条语句;

3.24 ;

3.25 100,25.81,1.89234 100 25.81 1.89234 100 25.81 1.89234

3.26 x=127,x= 127,x= 177,x= 7f,x= 127

3.27 x=127,x=127 ,x=$127 ,x=$000127,x=%06d

3.28 a=513.789215,a= 513.79,a= 513.78921500,a= 513.78921500

三. 编程题和改错题

3.29 修改后的程序如下:

main()

{

double a,b,c,s,v;

printf("input a,b,c:");

scanf("%lf%lf%lf",&a,&b,&c);

s =a*b;

v=a*b*c;

printf("a=%f,b=%f,c=%f\n", a,b,c);

printf("s=%f,v=%f\n",s,v);

}

3.30

#include

main()

{

int a=560,b=60;

printf("560 minute is %d hour and %d minute.\n",a/b,a%b);

}

3.31

#include

main()

{

a=1500;b=350;

printf("a div b is : %d\n",a/b);

printf("a mod b is : %d\n",a%b);

}

3.32

#include

main()

{

double a,b,c,ave;

printf ("input 3 double number : \n");

scanf ("%lf%lf%lf",&a,&b,&c);

printf ("%.1f\n",(a+b+c)/3);

}

3.33

#include

void main()

{

int a,b,c,t;

printf("请依次输入整数a,b,c:");

scanf("%d%d%d",&a,&b,&c);

printf("\n你输入的值是: a=%d,b=%d,c=%d\n",a,b,c);

t=b;b=a;a=c;c=t;

printf("交换之后的值是:a=%d,b=%d,c=%d\n",a,b,c);

}

第四章

一. 选择题

4.1 A 4.2 A 4.3 A 4.4 D 4.5 C 4.6 A 4.7 B 4.8 C 4.9 D 4.10 C

二. 填空题

4.11 非0 0

4.12 < > >= <=同级== !=同级

4.13 ! && ||

4.15 !

4.16 a == b || a < c x > 4 || x < -4

4.17 1

4.18 x <= 0 1 > 0

4.19 3 2 2

4.20 *#

三. 编程题

4.21 略

4.22

/* 检查日期的合法性*/

int checkdate(int year, int month, int day)

{

if(year < 1900 || year > )

{

printf("输入的年份无效!\n");

return 0;

}

else if(month < 0 && month > 12)

{

printf("输入的月份无效!\n");

return 0;

}

else if(day <= 0 && day > 31)

{

printf("输入的日期无效!\n");

return 0;

}

else

{

switch(month)

{

case 4:

case 6:

case 9:

case 11:

if(day > 30)

{

printf("输入的日期无效!\n");

return 0;

}

break;

case 2:

if((year%4 == 0 && year%100 != 0) || year%400 == 0) {

if(day > 29)

{

printf("输入的日期无效!\n");

return 0;

}

}

else

if(day > 28)

{

printf("输入的出生日期无效!\n");

return 0;

}

}

break;

}/* end of switch(m0)*/

}

return 1;

}

void main()

{

int y0, m0, d0; /* 生日*/

int y1, m1, d1; /* 当前日期*/

int years, months, days; /* 实足年龄*/

printf("请输入学生的生日:");

scanf("%d%d%d", &y0,&m0,&d0);

if(checkdate(y0, m0, d0))

{

printf("请输入当前日期:");

scanf("%d%d%d", &y1,&m1,&d1); /*当前日期合法性检查*/

if(!checkdate(y1, m1, d1))

{

return;

}

else if(y0 > y1)

{

printf("出生年份比当前年份晚!\n"); return;

}

else if(y0 == y1)

{

if(m0 > m1)

{

printf("出生年月比当前年月晚!\n"); return;

}

else if(m0 == m1)

if(d0 > d1)

{

printf("出生年月日比当前年月日晚!\n");

return;

}

}

}

}

/* 计算实足年龄*/

years = y1 - y0;

months = m1 - m0;

days = d1 - d0;

/* 修正实足年龄天数*/

if(days < 0)

{

months--;

switch(m1)

{

case 1:

case 5:

case 7:

case 10:

case 12:

days += 30;

break;

case 2:

case 4:

case 6:

case 8:

case 9:

case 11:

days += 31;

break;

case 3:

if((y1%4 == 0 && y1%100 != 0) || y1%400 == 0) {

days += 29;

}

else

{

days += 28;

break;

}/* end of switch(m1) */

}/* end of if(days < 0) */

/* 修正实足年龄月数*/

if(months < 0)

{

months += 12;

years--;

}/* end of if(months < 0) */

printf("出生日期: %d年%d月%d日\n", y0, m0, d0);

printf("当前日期: %d年%d月%d日\n", y1, m1, d1);

printf("实足年龄: %d年%d月%d日\n", years, months, days);

return;

}

4.23

#include

void main()

{

int a;

printf ("请输入一个整数:");

scanf ("%d",&a);

if (a%2==0)

{

printf ("%d 是偶数\n", a);

}

else

{

printf ("%d 是奇数\n", a);

}

}

4.24

#include

void main()

{

int a,b,c,temp,max;

printf ("请输入三个整数:");

scanf ("%d %d %d",&a,&b,&c);

temp=(a>b)? a:b;

max=(temp>c)? temp:c;

printf ("\n");

printf ("你输入的数中最大的是%d.\n",max); }

4.25

(1)不嵌套的if语句

#include

void main()

{

int x,y;

printf("input x :");

scanf("%d",&x);

if ( x>-5 && x<0 )

{

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

}

if ( x==0 )

{

printf("y is %d\n",y=x-1);

}

if ( x>0 && x<10 )

{

printf("y is %d\n",y=x+1);

}

if ( x>=10 || x<=-5)

{

printf("error\n");

}

}

(2)嵌套的if语句

#include

void main()

{

int x,y;

printf("input x :");

scanf("%d",&x);

printf("\n");

if(x < 0)

{

if(x > -5)

{

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

}

else

{

printf("error!\n");

}

}

if(0 == x)

{

printf("y is %d.\n",y=x-1); }

if(x > 0)

{

if(x < 10)

{

printf("y is %d.\n",y=x+1); }

else

{

printf("error!\n");

}

}

}

(3)if_else语句

#include

void main()

{

int x,y;

printf("input x :");

scanf("%d",&x);

if( x>-5 && x<0 )

{

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

}

else if( x==0 )

{

printf("y is %d.\n",y=x-1); }

else if( x>0 && x<10 )

{

printf("y is %d.\n",y=x+1); }

else

{

printf("error!\n");

}

}

(4)switch语句

#include

void main()

{

int x,y;

printf("input x : ");

scanf("%d",&x);

switch (x)

{

case -4:

case -3:

case -2:

case -1:

printf("y is %d.\n",y=x); break;

case 0:

printf("y is %d.\n",y=x-1); break;

case 1:

case 2:

case 3:

case 4:

case 5:

case 6:

case 7:

case 8:

case 9:

printf("y is %d.\n",y=x+1); break;

default:

printf("error!\n");

}

}

第五章

一. 选择题

5.1 D 5.2 C 5.3 B 5.4 C 5.5 C 5.6 B 5.7 D 5.8 A 5.9 D 5.10 D

二. 填空题

5.11 5 4 6

5.12 死循环

5.13 -1

5.14 11

5.15 d=1.0 k++ k<=n

5.16 x>=0 x

三. 编程题

5.17

#include

void main()

{

int i;

int sig = 1;

int sum = 0;

for(i=1; i<=101; i++,i++)

{

sum += sig*i;

sig *= -1;

}

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

}

5.18

(1)

#include

void main()

{

int i;

double m=1.0;

double e = 1.0;

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

{

m *= i;

e += 1/m;

}

printf("e=%f\n",e);

}

(2)

#include

void main()

{

int i=1;

double m=1.0;

double e = 1.0;

while(1/m >= 0.0004)

{

m *= i;

e += 1/m;

i++;

}

printf("e=%f\n",e);

}

5.19

#include

void main()

{

int year;

int col = 0;

for(year=1600; year<= ; year++)

{

if((year%4 == 0 && year%100 != 0) || year%400 == 0) {

printf("%d\t", year);

col++;

if(col%5 == 0)

{

printf("\n");

}

}

}

printf("\n");

}

5.20

#include

#define N 7

void main()

{

int i;

int j;

int m;

int k = N/2;

for(i=0; i {

m = i-k;

if(m < 0)

{

m *= -1;

}

for(j=0; j {

printf(" ");

}

for(j=0; j<2*(k-m)+1; j++)

{

printf("*");

}

printf("\n");

}

}

第六章

一. 选择题

6.1 B 6.2 D 6.3 A 6.4 A 6.5 B 6.6 D 6.7 D 6.8 B 6.9 A 6.10 A 6.11 C

二. 填空题

6.12 -1

6.13 1

6.14 ctype.h

6.15 1

6.16 10A 20B 30C 40D

6.17

7.29 101.298AB

6.18 A

7.29B101.298

6.19 A B C (每个字符后有三个空格)

三. 编程题

6.20

#include

#define N 80

void main()

{

char str[N];

int iLoop = 0;

gets(str);

while(str[iLoop])

{

printf("%c-%d\t", str[iLoop],str[iLoop]); iLoop++;

if(iLoop%3 == 0)

{

printf("\n");

}

}

printf("\n");

}

6.21

#include

#define N 80

void main()

{

char str[N];

int num = 0;

int iLoop = 0;

gets(str);

while(str[iLoop])

{

if(str[iLoop] >= '0' && str[iLoop] <= '9') {

num = 10*num + (str[iLoop] - '0');

}

iLoop++;

}

printf("%d\n",num);

}

6.22

#include

#include

#define N 80

void main()

{

char str[N];

int num = -1;

do

{

gets(str);

num++;

}while(strcmp(str, "EOF"));

printf("您输入了%d行字符!\n",num);

}

6.23

#include

#define N 80

void main()

{

char str[N];

int iLoop = 0;

int num = 0;

gets(str);

while(str[iLoop] && iLoop < N)

{

if(str[iLoop] >= 'a' && str[iLoop] <= 'z')

{

num++;

}

iLoop++;

}

printf("您输入了字符中有%d个小写字母!\n",num); }

6.24

#include

void main()

{

int line;

int iLoop1;

int iLoop2;

printf("请输入图案的行数(不大于26):");

scanf("%d", &line);

for(iLoop1 = 0; iLoop1 < line; iLoop1++)

{

for(iLoop2 = 0; iLoop2 < line - iLoop1; iLoop2++)

{

printf(" ");

}

for(iLoop2 = 0; iLoop2 < 2*iLoop1+1; iLoop2++) {

printf("%c",iLoop1 + 'A');

}

printf("\n");

}

}

第七章

一. 选择题

7.1 C 7.2 C 7.3 B 7.4 C 7.5 A 7.6 D 7.7 A

二. 填空题

7.8 12

7.9 9.000000

7.10 4

7.11 n=1 s

7.12 <=y z*x

7.13 1 s*i 0 f(k)

三. 程序调试和编程题

7.14

fun(int n)

{ int k,yes;

for(k=2; k<=n/2; k++)

{

if(n%k == 0) { yes = 0; break;}

else yes = 1;

}

return yes;

}

7.15

int mymod(int a, int b)

{

return a%b;

}

7.16

double fun(int n)

{

double sum = 0;

int iLoop;

int sig = -1;

for(iLoop=1; iLoop<=n; iLoop++)

{

sig *= -1;

sum += sig*1.0/iLoop;

}

return sum;

}

7.17

double fun(int n)

{

double t = 1.0;

int iLoop;

long tmp;

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

{

tmp = iLoop*iLoop;

t -= 1.0/tmp;

}

return t;

}

7.18

#include

#include

double fun(double x)

{

return x*x + 5*x + 4;

}

void main()

{

int x = 2;

printf("y1=%f\n", fun(x));

printf("y2=%f\n", fun(x+15));

printf("y3=%f\n", fun(sin(x)));

}

第八章

一. 选择题

8.1 A 8.2 B 8.3 B 8.4 C 8.5 B 8.6 B 8.7 C 8.8 D 8.9 B 8.10 C 8.11 C 8.12 C

8.13 110

8.14 7 1

8.15 (1)char *p=&ch; (2) p=&ch; (3)scanf("%c",p); (4)*p='A'; (5)printf("%c",*p);

8.16 (1)s=p+3; (2)s=s-2 (3)50 (4)*(s+1) (5)2 (6)10 20 30 40 50

三. 编程题

8.17

void fun(double x, double y, double *sum, double *div)

{

*sum = x + y;

*div = x - y;

return;

}

8.18

void fun(double x, double y, double z, double *max, double *min)

{

*max = x;

*min = x;

if(*max < y)

{

*max = y;

}

if(*max < z)

{

*max = z;

}

if(*min > y)

{

*min = y;

}

if(*min > z)

{

*min = z;

}

return;

}

第九章

一. 选择题

9.1 D 9.2 A 9.3 A 9.4 C 9.5 C 9.6 A 9.7 B 9.8 D 9.9 C 9.10 C

9.11 C 9.12 D 9.13 D 9.14 A 9.15 A 9.16 A 9.17 C 9.18 C

二. 填空题

9.20 6

9.21 12

9.22 3

9.23 2721

9.24 -850,2,0

9.25 k=p k

9.26 (c=getchar()) c-'A'

三. 编程题

9.27

#include

#define N 81

int main()

{

int counter[10] = {0};

int iLoop = 0;

char str[N];

gets(str);

while(str[iLoop])

{

if(str[iLoop] >= '0' && str[iLoop] <= '9') {

counter[str[iLoop] - '0']++;

}

iLoop++;

}

for(iLoop=0; iLoop < 10; iLoop++)

{

printf("%d - %d\n", iLoop, counter[iLoop]); }

return 0;

}

9.28

void fun(int array[], int arraysize, int start) {

int iLoop;

if(start < arraysize-1)

{

if(start <=0)

{

start = 1;

}

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);

高级语言程序设计课程设计报告

高级语言程序设计课程 设计报告 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

2013-2014学年第二学期 《高级语言程序设计》 课程设计报告 题目:班级档案管理系统 专业:网络工程 班级:二 姓名:朱和芳 指导教 师:孙妍姑 成绩: 计算机与信息工程系 2014年5月11日 班级档案管理系统 设计总说明 一、设计目的 运用计算机语言设计班级档案管理,通过此次课程设计,加深对此课程基本知识的理解,提高综合运用知识的能力;掌握本课程的主要内容、课程设计或撰

写小论文的步骤和方法;以提高独立分析问题、解决问题的能力,逐步增强实际工程训练。 二、设计内容 对一个有N个学生的班级,通过该系统实现对该班级学生基本信息进行录入、显示、修改、删除、保存等操作的管理。 三、设计方法 结合C语言的有关知识,查阅资料,对班级档案管理系统的内容进行构思和设计,在MicrosoftVisualC++平台上完成设计,并进行调试。

目录 第一章绪论 (5) 第二章需求分析 问题描述 (6) 功能要求 (6) 算法提示 (6) 项目开发的目的 (7) 第三章概要设计 程序模块的组成 (8) 班级档案管理系统 (8) 各个程序的功能介绍 (9) 系统结构图 (9) 第四章模块设计分析 程序的模块组成 (10) 各个函数的主要功能 (10) 系统的功能模块的划分 (10) 总流程图 (12) 功能流程图 (13) 第五章测试 存在的问题 (14) 测试方案 (14) 第六章使用说明书 (15)

第七章总结 (17) 附录 A参考文献 (18) B源程代码 (20)

全国计算机等级考试二级C语言真题

2009年3月二级C语言笔试真题((1)—(10)每小题2分,(11)—(50)每题1分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)下列叙述中正确的是 A)栈是“先进先出”的线性表 B)队列是“先进先出”的线性表 C)循环队列是非线性结构 D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构 (2)支持子程序调用的数据结构是 A)栈B)树C)队列D)二叉树 (3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是 A)10B)8C)6D)4 (4)下列排序方法中,最坏情况下比较次数最少的是 A)冒泡排序 B)简单选择排序 C)直接插入排序 D)堆排序 (5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是 A)编译软件 B)操作系统 C)教务管理系统 D)汇编程序 (6)下面叙述中错误的是 A)软件测试的目的是发现错误并改正错误 B)对被调试的程序进行“错误定位”是程序调试的必要步骤 C)程序调试通常也称为Debug D)软件测试应严格执行测试计划,排除测试的随意性 (7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 A)提高耦合性降低内聚性有利于提高模块的独立性 B)降低耦合性提高内聚性有利于提高模块的独立性

C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度 (8)数据库应用系统中的核心问题是 A)数据库设计 B)数据库系统设计 C)数据库维护 D)数据库管理员培训 (9)有两个关系R,S如下: 由关系R通过运算得到关系S,则所使用的运算为 A)选择B)投影C)插入D)连接 (10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域 (11)以下选项中合法的标识符是 A)1-1B)1—1C)-11D)1-- (12)若函数中有定义语句:intk;,则 A)系统将自动给k赋初值0 B)这时k中值无定义 C)系统将自动给k赋初值-1 D)这时k中无任何值 (13)以下选项中,能用作数据常量的是 A)o115B)0118C))115L (14)设有定义:intx=2;,以下表达式中,值不为6的是A)x*=x+1 B)x++,2*x C)x*=(1+x)

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.

00342高级语言程序设计(一)考试说明

00342高级语言程序设计(一) 一、本课程使用教材、大纲 高级语言程序设计(一)课程使用的教材为《高级语言程序设计》 迟成文编著、经济科学出版社、2007年第一版。 二、本课程的试卷题型结构及试题难易度 1、试卷题型结构表 四个认知层次在试卷中所占比例大致分别为:识记占20%、领会 占30%、简单应用占30%、综合应用占20%。 3、试卷难易度大致可分为“容易、中等偏易、中等偏难、难”。根据 课程的特点,每份试卷中,不同难易度试题所占的分数比例大致 依次为易占30分、中等偏易占30分、中等偏难占20分、难占 20分。 三、各章内容分数的大致分布

五、各题型范例及解题要求 1.单项选择题 要求:在下列每小题的四个备选答案中选出一个正确的答案,并将其字母标号填入题干的括号内。 例:组成C语言程序的是(B ) A.过程B.函数C.子程序D.主程序和子程序 2.填空题 函数中的形参和调用时的实参都是变量时,传递方式为________。答案:值传递方式 3.程序填空题 例:输入10个整数存入一维数组,再按逆序重新存放后再输出。 main( ) { int i, j, a[10], t, *p; for(i=0; i<10; i++) scanf("%d", __________ ); for(i=0, j=9; i

《高级语言程序设计》复习题及答案

一、选择题 1.以下叙述正确的是( ): A)在C程序中,main函数必须位于程序的最前面 B) C程序的每行只能写一条语句 C) C语言使用库函数实现输入输出操作 D)注释中的拼写错误会影响编译结果 2、以下说法中正确的是() A) C语言程序总是从第一个的函数开始执行 B) C语言程序总是从main()函数开始执行 C)在C语言程序中,要调用的函数必须在main()函数中定义 D)C语言程序中的main()函数必须放在程序的开始部分 3、下列选项种说法正确的是( ) A)函数由声明部分和执行部分两部分组成 B)语言中main函数一定在程序的开始部分 C)C语言程序总是从第一个定义的函数开始执行 D)C程序的每行中只能写一条语句 4、设有说明:int a;float b; char c; double d; 则表达式1.3*a+2*b*c+d*(int) 2.6 值的类型为( )。 A)doubleB) char C) floatD) int 5、C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符 6、以下不正确的C语言标识符是( )。 A) ABC B) abc C)a_bc D) void 7、下列运算符中优先级最高的是( ) A)< B)+ C)&& D)!= 8、以下选项中属于C语言中合法关键字的是( ) A)Float B)abc C)int D)CASE 9、若x、i、j和k都是int型变量,计算下面表达式后,x的值为( ) x=(i=4,j=16,k=32) A)4 B)16 C)32 D)52 10、在C语言中,要求数据必须是整型的运算符是( ) A)/ B)+ + C)!=D) % 11、若整型变量x的值为8,则下列表达式中值为1的表达式是 A)x+=x-=x B) x%=x-1 C) x%=x%=3 D) x/=x+x 12、若w=1,x=2,y=3,z=4,则条件表达式“w > x? w : y< z ? y : z”的值是( ) A)4 B)3 C)2 D)1 13、有以下程序,程序运行后的输出结果是。 main() {inti=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k); }

计算机二级c语言历年真题及答案

计算机二级c语言历年真题及答案【篇一:国家计算机二级c语言历年真题及答案】 class=txt>c语言程序设计 (考试时间90分钟,满分100分) 一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分) (1)下列数据结构中,属于非线性结构的是 a)循环队列 b) 带链队列 c) 二叉树 d)带链栈 (2)下列数据结果中,能够按照“先进后出”原则存取数据的是 a) 循环队列 b) 栈 c)队列 d)二叉树 (3)对于循环队列,下列叙述中正确的是 a)队头指针是固定不变的 b)队头指针一定大于队尾指针 c)队头指针一定小于队尾指针 d)队头指针可以大于队尾指针,也可以小于队尾指针 (4)算法的空间复杂度是指 a)算法在执行过程中所需要的计算机存储空间 b)算法所处理的数据量 c)算法程序中的语句或指令条数 d)算法在执行过程中所需要的临时工作单元数 (5)软件设计中划分模块的一个准则是 a) 低内聚低耦合 b) 高内聚低耦合 c) 低内聚高耦合 d) 高内聚高耦合 (6)下列选项中不属于结构化程序设计原则的是 a) 可封装 d) 自顶向下

c) 模块化 d) 逐步求精 (7)软件详细设计产生的图如下: 该图是 a) n-s图 b) pad图 c) 程序流程图 d) e-r图 (8)数据库管理系统是 a)操作系统的一部分 b) 在操作系统支持下的系统软件 c) 一种编译系统 d) 一种操作系统 (9)在e-r图中,用来表示实体联系的图形是 a) 椭圆图 b) 矩形 c) 菱形 d) 三角形 (10)有三个关系r,s和t如下: 其中关系t由关系r和s通过某种操作得到,该操作为 a) 选择 b) 投影 c) 交 d) 并 (11)以下叙述中正确的是 a)程序设计的任务就是编写程序代码并上机调试 b)程序设计的任务就是确定所用数据结构 c)程序设计的任务就是确定所用算法 d)以上三种说法都不完整 (12)以下选项中,能用作用户标识符的是 a)void b)8_8 c)_0_ d)unsigned (13)阅读以下程序

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"); }

最新高级语言程序设计课程设计方案汇总

2011高级语言程序设计课程设计方案

《高级语言程序设计》课程设计方案 一、设计的目的 《高级语言序设计》课程设计是计算机科学与技术专业和网络工程专业集中实践性环节之一,是学习完《高级语言程序设计》课程后进行的一次全面的综合练习。本课程设计主要目的在于加深学生对高级语言程序设计的基本理论和基本语法知识的理解,全面掌握高级语言程序设计的基本方法和技术,熟悉相关编程环境和工具,能够熟练地运用C/C++编写较为简单的应用程序,并对之进行调试分析。按照专业人才培养方案规定,本课程设计合格学生记学分2分。 二、参与人员与组织方式 按照专业人才培养方案,本课程设计要求2010级计算科学与技术专业和网络工程专业的所有学生必须按时完成。为了保证设计的质量,本课程设计以组为单位,3人一组进行组织,配备一位指导老师进行指导。课程设计时间共两周,从2011年12月1日开始到2011年12月23日结束。 三、设计内容 以Windows xp或Windows 7等为开发平台,以Visual C++或GCC/G++(IDE推荐MinGW Developer Studio)作为开发工具和开发环境,用纯C或C++编码,完成一个小型实用程序的设计、算法分析和编码、调试,程序采用控制台字符界面,数据采用文本文件存储,要求程序功能清晰、完善,能正常运行,有明确的输入输出,结果正确,用户界面友好;代码要求符合标准,排版清晰,风格良好。设计过程应该提供完善的设计文档,代码说明文档。根据学生的具体情况,每位学生从以下题目中任选一个,独立完成分析、设计和程序实现。 参考设计题目: 一、编写一个公司财务管理程序 1、内容 编写一个程序,对某个公司的财务进行管理,包含简单的财务数据录入,查询,输出等功能。 2、设计要求 1) 程序采用字符界面 2) 显示功能菜单,用户指定键即可进入相应功能 3) 财务记录保存于文本文件 4) 支持手动查询和报表输出,数据输出格式美观

《高级语言程序设计》答案

1. 输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。#include int main() { int i,j,t; int max(int,int); int min(int,int); scanf("%d%d",&i,&j); if(i int main() { int max4(int,int,int,int); //对max4的函数声明 int a,b,c,d; scanf("%d%d%d%d",&a,&b,&c,&d); //输入4个数 printf("max=%d\n",max4(a,b,c,d));//调用4个数中的最大者 return 0; } int max4(int a,int b,int c,int d) //定义max4函数 { int max2(int,int); //对max2的函数声明 return max2(max2(max2(a,b),c),d); //调用max2把作为函数值带回main函数} int max2(int a,int b) { return(a>b?a:b); //返回条件表达式的值,即a和b中的大者 } 3. 用递归调用的方法求5!。 #include int main() { int fac(int); int n; scanf("%d",&n);

新版计算机二级C语言测试题及答案解析

计算机二级C语言测试题及答案解析计算机二级C语言测试题及答案解析 C语言的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,下面给大家整理了计算机二级C语言测试题及答案,欢迎阅读! 计算机二级C语言测试题及答案解析 1.(A )是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C 开始执行。 A、程序中第一条可执行语句 B、程序中第一个函数 C、程序中的main函数 D、包含文件中的第一个函数 3、以下说法中正确的是( C )。

A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B ) 。 A、 C程序的工作过程是编辑、编译、连接、运行 B、 C语言不区分大小写。 C、 C程序的三种基本结构是顺序、选择、循环 D、C程序从main函数开始执行 5.下列正确的标识符是(C )。 A、-a1 B、a[i] C、a2_i D、int t 5~8题为相同类型题 考点:标识符的命名规则 只能由字母、数字、下划线构成

数字不能作为标识符的开头 关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int 为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B )。 A、3ax B、x C、case D、-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是( C )。 A、 %x B、a+b C、a123 D、123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)

(完整版)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、整型,实型,字符型

《高级语言程序设计》课程设计

《高级语言程序设计》课程设计 一、课程的性质与任务 1.课程性质:《高级语言程序设计》课程设计是计算机工程学院为本科生各专业开设的专业实践课。计算机工学院本科生在完成《高级语言程序设计》课程学习后,通过本课程进入专业实践训练环节,其主要目的是使学生深入理解并实践在《高级语言程序设计》课程中所学的有关知识,受到实践动手能力的基本训练,培养学生的团队精神,增强发现、提出、分析和解决实际问题的能力,为学生毕业后的实际工作奠定一定的基础。 课程设计是培养学生综合运用所学知识锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。科学技术日新月异的发展使计算机应用在生活中可以说得是无处不在,因此作为计算机工程学院学生掌握程序设计和开发技术非常重要,而C语言又是最常见,功能强大的一种高级语言,因此做好C语言课程设计非常必要,能够对后续许多专业课程的学习和实践训练起到重要的保证作用。 2.课程任务:本课程要求学生编写相对教材中实例要较复杂一些的实用程序,通过理论知识与实际需求相结合的编写实用程序的实践活动,使学生了解应用程序设计解决实际问题的具体过程,了解利用算法和数据结构思想编写程序的实际实行方法,掌握应用C语言进行程序设计的基本规范和技巧,掌握阅读与编写程序的结构化程序设计思想,重点掌握C语言的一般语法规则、常用函数、程序编写调试过程和编程解题的常用方法。 二、高级语言课程设计基本要求 1.通过这次课程设计,要求加深对C语言的语法规则、数组、函数、指针等方面基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。 2.课程设计可采取每人一题,可任选一题进行设计, 至少包含五个功能模块。或者每组完成一个课题,每组成员(5到6人)分工合作完成一个课程设计,每个人的任务不同。

历年全国计算机二级C语言试题库完整

. . . . 参考 50道C 语言知识题 1.以下叙述中正确的是 A)用C 程序实现的算法必须要有输入和输出操作 B)用C 程序实现的算法可以没有输出但必须要有输入 C)用C 程序实现的算法可以没有输入但必须要有输出 D)用C 程序实现的算法可以既没有输入也没有输出 2.下列可用于C 语言用户标识符的一组是 A)void,define,WORDB)a3_3,_123,Car C)For,-abc,IFCaseD)2a,DO,sizeof 3.以下选项中可作为C 语言合法常量的是 A)-80B)-080C)-8e1.0D)-80.0e 4.若有语句:char*line[5];,以下叙述中正确的是 A)定义line 是一个数组,每个数组元素是一个基类型为char 为指针变量 B)定义line 是一个指针变量,该变量可以指向一个长度为5的字符型数组 C)定义line 是一个指针数组,语句中的*号称为间址运算符 D)定义line 是一个指向字符型函数的指针 5.以下定义语句中正确的是 A)inta=b=0;B)charA=65+1,b=′b′; 6.有以下程序段 charch;intk; ch=′a′; k=12; printf("%c,%d,",ch,ch,k);printf("k=%d\n",k); 已知字符a 的ASCII 码值为97,则执行上述程序段后输出结果是 A)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值 C)a,97,12k=12 D)a,97,k=12 7.有以下程序 main() {inti,s=1; for(i=1;i<50;i++) if(!(i%5)&&!(i%3))s+=i; printf("%d\n",s);} 程序的输出结果是 A)409B)277C)1D)91 8.当变量c 的值不为2、4、6时,值也为"真"的表达式是 A)(c==2)||(c==4)||(c==6) B)(c>=2&&c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1) 9.若变量已正确定义,有以下程序段

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. 函数可以带参数,也可以不带参数。

《高级语言程序设计》课程设计报告

2013-2014学年第二学期《高级语言程序设计》 课程设计报告 题目:进程调度模拟 专业:计算机科学与技术 班级:12级对口(3)班 姓名:刘以鹏 指导教师:代美丽 成绩: 计算机与信息工程系 2014年 5月 23日

目录 1 1 设计目的及要求 (3) 1.1 设计目的 (3) 1.2 课程设计的实验环境 (3) 1.3 课程设计的预备知识 (3) 1.4 课程设计要求 (3) 2 课程设计内容 (3) 2.1程序功能介绍 (3) 2.2程序整体设计说明 (4) 2.2.1设计思路 (4) 2.2.2数据结构设计及用法说明 (5) 2.2.3程序结构(流程图) (5) 2.2.4各模块的功能及程序说明 (6) 2.2.5程序运行结果 (7) 3 总结 (9) 参考资料 (11) 程序源代码 (12)

1 设计目的及要求 1.1 设计目的 本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言(C)》课程后进行的一次全面的综合练习。本课程设计的目的和任务: 1. 巩固和加深学生对C语言课程的基本知识的理解和掌握 2. 掌握C语言编程和程序调试的基本技能 3. 利用C语言进行基本的软件设计 4. 掌握书写程序设计说明文档的能力 5. 提高运用C语言解决实际问题的能力 1.2 课程设计的实验环境 硬件要求能运行Windows 2000/XP操作系统的微机系统。C语言程序设计及相应的开发环境。 1.3 课程设计的预备知识 熟悉C语言及C语言开发工具。 1.4 课程设计要求 1. 分析课程设计题目的要求 2. 写出详细设计说明 3. 编写程序代码,调试程序使其能正确运行 4. 设计完成的软件要便于操作和使用 5. 设计完成后提交课程设计报告 2课程设计内容 2.1程序功能介绍 在多道程序环境下,进程数目往往多于处理机数目,致使他们争用处理机。这就要求系统能按某种算法,动态地把处理机分配给就绪队列中的一个进程,使

全国计算机等级考试二级C语言真题2013年3月

全国计算机等级考试二级C语言真题2013年3月 (总分40, 做题时间90分钟) 一、选择题 1. 程序流程图中带有箭头的线段表示的是______。 A 图元关系 B 数据流 C 控制流 D 调用关系 答案:C [解析] 在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择C。 2. 结构化程序设计的基本原则不包括______。 A 多态性 B 自顶向下 C 模块化 D 逐步求精 答案:A [解析] 结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。 3. 软件设计中模块划分应遵循的准则是______。 A 低内聚低耦合 B 高内聚低耦合

C 低内聚高耦合 D 高内聚高耦合 答案:B [解析] 软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。 4. 在软件开发中,需求分析阶段产生的主要文档是______。 A 可行性分析报告 B 软件需求规格说明书 C 概要设计说明书 D 集成测试计划 答案:B [解析] A错误,可行性分析阶段产生可行性分析报告。C错误,概要设计说明书是总体设计阶段产生的文档。D错误,集成测试计划是在概要设计阶段编写的文档。B正确,需求规格说明书是后续工作如设计、编码等需要的重要参考文档。 5. 算法的有穷性是指______。 A 算法程序的运行时间是有限的 B 算法程序所处理的数据量是有限的 C 算法程序的长度是有限的 D 算法只能被有限的用户使用

高级语言程序设计课程设计指导书

信电工程学院 《高级语言程序设计综合训练》 指导书 电子信息科学与技术教研室编 2015年6月

目录 一、综合训练的目的 二、综合训练题目汇总 三、综合训练具体任务 四、综合训练说明 五、综合训练报告撰写要求

一、综合训练的目的 高级语言程序设计综合训练是电子信息科学与技术专业高级语言程序设计课程的综合实践课程。主要目的是通过对具体应用问题的分析和规范的程序设计过程,对学生进行综合设计训练,提高学生的程序设计水平和实际应用能力。通过本课程,学生将理论知识和实际应用问题结合起来,通过完整的分析、设计、实现过程,掌握用高级语言进行应用软件设计的基本思路和方法,掌握软件设计的基本流程和基本设计技能;训练和培养学生编写具有良好风格的代码的习惯,提高学生的分析解决实际问题的能力。该综合实践环节将使学生进一步理解和掌握高级语言程序设计的基础知识,提高学生理论水平和应用实践能力。 二、综合训练题目汇总 1. 学生信息管理系统 2. 学生选修课程系统 3. 银行存取款管理系统 4. 数据汇总系统 5. 学生成绩排序 6. 其他自选题

三、综合训练具体内容 (一)学生信息管理系统 1. 学生信息管理系统简介: 学生信息管理系统是一个小型学生信息管理程序,该软件能够实现学生信息表的建立,学生信息的添加,学生信息的显示,指定姓名或学号查询学生信息,学生信息的删除等简单管理功能。程序要求提供简单友好易于操作的界面。 2. 基本要求: 本课题要求设计实现“学生信息管理系统”程序。该程序实现学生信息管理的基本功能,包括信息表的建立、显示等功能。要求用动态链表实现该应用程序。用函数分别实现动态链表的建立、动态链表输出等功能。函数要求使用指针作形参。 3. 系统结构及模块要求: (1)学生节点数至少10个。学生信息包括学号,姓名,性别,年龄,籍贯,电话号码及email地址。 (2)程序主界面包括程序名称及编程者学号、姓名、班级;同时要求输入功能号码,选择进入功能模块程序。主界面格式及选择项(供参考)如下图1“系统主菜单”:(中文英文均可) (3)各模块功能: A. 创建学生信息表。动态创建学生信息表,同时输入学生信息。学生信息表用链表实现。链表节点个数不少于10个。

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语言考试编程题题库

计算机c语言编程题库 1、求100之内自然数中最大的能被17整除的数。 void main() { int i; for(i=100;i>0;i--) if(i%17==0)break; printf("%d\n",i); } 2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。 void main() { int a,b,c; for(a=1;a<=9;a++) { for(b=0;b<=9;b++) { for(c=1;c<=9;c++) if(a*100+b*10+c+c*100+b*10+a==1333) printf("%d,%d,%d\n",a,b,c); } } } 3、计算并输出200-400之间不能被3整除的整数的和。 void main() { int i,sum=0; for(i=200;i<=400;i++) if(i%3!=0) sum=sum+i; printf("%d\n",sum); } 4、从键盘输入10个数,统计非负数的个数,并计算非负数的和。 void main() { int i,n=0,sum=0; int a[10]; printf(“请输入10个数:”);

for(i=0;i<10;i++) scanf(“%d”,&a[i]); for(i=0;i<10;i++) if(a[i]>=0) { sum=sum+a[i]; n++;} printf("非负个数是%d,sum=%d\n",n,sum); } 5、求100之内自然数中偶数之和。 void main() { int i,sum=0; for(i=0;i<=100;i++) if(i%2==0) sum=sum+i; printf("sum=%d\n",sum); } 6、输入5个数,求和并输出。要求编写求和的函数。 void main() { int b(int x[],int n); int sum=0; int a[5]; int i; printf("请输入5个数:"); for(i=0;i<5;i++) scanf("%d",&a[i]); sum=b(a,5); printf("sum=%d\n",sum); } int b(int x[],int n) { int i,sum=0; for(i=0;i<5;i++) sum=sum+x[i]; return sum; } 7、编程计算1*2*3+3*4*5+5*6*7+...+99*100*101的值。 void main() { int i,sum=0; for(i=1;i<=99;i=i+2) sum=sum+i*(i+1)*(i+2); printf("%d\n",sum); } 8、编写程序,将用户输入的字符串中所有的字符a用*代替,然后输出。void main()

相关文档
最新文档