程序设计基础(C)作业1

程序设计基础(C)作业1
程序设计基础(C)作业1

《程序设计基础(C)》作业

第1章C语言的基本构成

程序调试题

1.编辑、调试以下程序

步骤1:在Visual C++环境下新建文件可用[开始]→[程序]→[Microsoft Visual C++6.0] →[Microsoft Visual C++6.0] →[文件] →[新建]→[文件] →[C++ Sourse File],输入文件名ex1-1.c,程序代码如下:

请思考文件ex1-1.c由几个函数构成?调用了那几个系统函数?此程序中用到了哪几个保留字?哪几个用户自定义标识符?

步骤3:

编译并运行程序,程序运行时输入两个整数,20 40 ,观察程序运行的结果。

2.编辑、调试以下程序

步骤1:在Visual C++环境下新建文件可用[开始]→[程序]→[Microsoft Visual C++6.0] →[Microsoft Visual C++6.0] →[文件] →[新建]→[文件] →[C++ Sourse File],输入文件名ex1-2.c

步骤3:[文件] →[新建]→[文件] →[C++ Sourse File],输入文件名ex1-2-2.c,源程序代码为:

步骤5:点击编译图标,编译程序1-2.c

步骤4:点击执行图标,执行程序1-2.c ,当程序运行时,键盘输入20 40,按回车。

20 40

20 && 40=1

20 || 40=1

您可以输入其它的整数,观察程序的执行结果。

第2章输入输出程序设计

1.用printf输出一个中空的五角星。

2.仿照例子2.2,定义一个字符数组,从键盘输入一字符串,然后输出的程序。#include

int main()

{

char string[80];

printf("您是一个学生吗:\n");

scanf("%s",string);

printf("%s\n",string);

retu

3.从键盘输入十六进制整数,转化为八进制数输出。

4.只定义两个整型数据并赋值,实现两个整型数的互换。

#include

void change(int *a,int *b)

{

*a^=*b;

*b^=*a;

*a^=*b;

}

int main()

{

int a=3,b=4;

change(&a,&b);

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

return 0;

}

5.从键盘上输入一个整数,分别输出8、16进制数的程序。

#include

void main()

{

char s[20];

int i;

int flag;

printf("please input a number\n");

while (1)

{

flag = 0;

scanf("%s", s);

if (s[0] != '-' && (s[0] < '0' || s[0] > '9'))

{

printf("input error!\nplease input again\n");

continue;

}

for (i = 1; i != strlen(s); ++i)

{

if ((s[i] <= '0' || s[i] >= '9'))

{

printf("input error!\nplease input again\n");

flag = 1;

break;

}

}

if (flag == 0)

{

break;

}

}

printf("八进制:%o\n十六进制:%x\n", atoi(s), atoi(s));

}

6.从键盘上输入一个整数,分别输出它的个位数,十位数,百位数。

main()

{int a,b;

scanf("d%",&a);

b=a%10;

printf("个位数是:d%\n",b);

b=a%100/10;

printf("十位数是:%d\n",b);

b=a%1000/100;

printf("百位数是:d%\n",d)

}

7.以下程序输出结果是(8 9 )。

#include

void main()

{

int i=010,j=10;

printf("%d,%d\n",++i,j-- );

}

8.运行程序,屏幕提示“您是一个学生吗”,您输入?y?或?n?进行回答,屏幕输出您的选项。9.从键盘输入一个角度x,求10*sin(x)的值。

第3章循环程序设计

4.以下for语句的循环次数是多少?

int i,j=3;

for(;i=j;i--,j--) printf("%d",i);

5.下面的语句显示输出6行6列的整数数组h的主对角线上的所有元素,请补充完整:

for(int i=0;i< 6 ; i++ )

printf("%d", h[i][i] )

6.写出以下程序运行的结果,此程序实现了什么功能?

#include

void main()

{ int a[10]={2,4,0,-5,10,6,-8,9,6,7};

int i, count=0;

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

if(a[i]==0) count++;

else continue;

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

}

7.写出以下程序的功能。

#include

void main()

{

int a[10]={2,4,0,-5,10,6,-8,9,6,7},tmp,k;

for (k=0;k<10/2;k++)

{

tmp=a[k];

a[k]=a[10-k-1];

a[10-k-1]=tmp;

}

}

8.写出以下程序运行后的输出结果。

#include

void main()

{

int i,j;

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

{

for(j=0;j

printf(" ");

for(j=0;j<2*(5-i)-1;j++)

printf("*");

printf("\n");

}

}

9.请改正下列程序的错误,改正后的程序写在右边的空白处,并上机调试检验。

(1)

#include

void main( )

{

int i,s;

i=1; s=0;

while(i<=100);

s=s+i;

i++;

printf(“1+2+3+….+99+100=%d\n”,s);

}

#include

void main( )

{

int i,s;

i=1; s=0;

while(i<=100);

{

s=s+i;

i++;

}

printf(“1+2+3+….+99+100=%d\n”,s);

}

(2)

#include

void main( )

{

int i,s;

i=1;

s=0;

while(i<=100)

s=s+i;

i++;

printf(“1+2+3+….+99+100=%d\n”,s);

}

#include

void main( )

{

int i,s;

i=1;

s=0;

while(i<=100)

{

s=s+i; i++;

}

printf(“1+2+3+….+99+100=%d\n”,s);

}

(3)

#include

void main( )

{

int i=1,s;

while(i<=100) ;

{

s=s+i;

i++;

}

printf(“1+2+3+….+99+100=%d\n”,s);

}

#include

void main( )

{

int i=1,s=0;

while(i<=100) ;

{

s=s+i;

i++;

}

printf(“1+2+3+….+99+100=%d\n”,s);

}

10.输入一个基数,例如输入9,输出为:求1*3*……*9的值。输出为:1*3*5*7*9=945 #include

int main()

{

int i,n,sum;

sum=1;

printf("input n=");

scanf("%d",&n);

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

sum*=i;

printf("结果:%d\n",sum); return 0;

}

11.输入一个5~10之间的整数n,求1!+2!+3!+…+n!。例如输入5,输出为:1!+2!+3!+…+5!=153

#include "stdio.h"

main()

{

int i;

ng term=1,sum=0;

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

{

term*=i; sum+=term;

}

printf("1!+2!+^+10!=%ld\ d\n",sum);

}

12.在屏幕上输出以下内容

1

12

123

1234

12345

123456

1234567

12345678

123456789

#include

main()

{

printf(" 1 \n");

printf(" 12 \n");

printf(" 123 \n");

printf(" 1234 \n");

printf(" 12345 \n");

printf(" 123456 \n");

printf(" 1234567 \n");

printf(" 12345678 \n");

printf(" 123456789 \n");

}

12.求2+4+6+……+98+100的和,用多种for表达式来完成。

#include "stdio.h"

main()

{

int i,sum=0;

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

) sum+=i;

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

}

14.输入一行字符,统计它有多少个字母?

#include

int main()

{

int n=0;

char ch;

printf("请输入一串字符:\n");

for(;(ch=getchar())!='\n' ;)

{

if('a'<=ch&&ch<='z'||'A'<=ch&&ch<='Z')

n++;

}

printf("字母个数%d\n",n); return 0;

}

第4章分支程序设计

1.输入若干整数给x,使用if语句输出x的绝对值,当输入0时结束。#include

#include

int main()

{

int x =0;

while(1)

{

printf("请输入x值:");

scanf("%d", &x);

if (x==0)

{

break;

}

printf("x绝对值为:%d",fabs(x));

}

}

3.输入一批数,输出比相邻数大的数,当输入0时结束。

#include

int main()

{

int x =0,last=0;

while(1)

{

printf("请输入x值:");

scanf("%d", &x);

if (x==0)

{

break;

}

if ( x>last)

{

printf("x比相邻数大:%d",fabs(x));

}

last =x;

}

}

4.将输入字符的大写字符转换成小写字符输出,小写字符原样输出。

#include

int main()

{

char* str;

int len 0;

int i =0;

printf("请输入字符:");

scanf("%s", str);

len = strlen(str);

for ( i=0; i

{

if ( 'A'<=str[i] && str[i] <= 'Z')

{

str[i] += 32;

}

}

printf("转换后字符:%s",str);

}

5.输入一批字符,按回车时结束,统计小写字符、大写字符、数字字符、或其它字符的个数。

#include

int main()

{

char* str;

int len 0;

int i =0;

int upchar =0, lowchar=0, number=0, other=0;

printf("请输入字符:");

scanf("%s", str);

len = strlen(str);

for ( i=0; i

{

if ( 'A'<=str[i] && str[i] <= 'Z') {

upchar++; }

else if ('a'<=str[i] && str[i] <= 'z')

{ lowchar++; } else if ( '0'<=str[i] && str[i] <= '9') {

number++; } else {

other++; } }

printf("大写字符:%d 小写字符:%d 数字字符:%d 其他字符:%d", upchar, lowchar, number, other );

}

5.编写程序,计算分段函数:

10101110

325><<≤?

??????-+=x x x x x x y

6

#include int main() {

int score= 0;

int level=0;/*5分制表示的成绩12345*/

int i =0; printf("输入分数(输入-1表示结束)"); while(1) }

printf("请输入分数:"); scanf("%d", &score);

if (score==-1)

{

break;

}

else if ( 90<=score &&score <=100)

{

level = 5;

}

else if ( 80<=score &&score <=89)

{

level = 5;

}

else if ( 70<=score &&score <=79)

{

level = 5;

}

else if ( 60<=score &&score <=69)

{

level = 5;

}

else if ( 0<=score &&score <=59)

{

level = 5;

}

printf("\n5分制成绩为:%d", lever);

}

}

7、用switch完成:读入一个实数x,再输入一整数,若输入是1,则计算sin(x),若输入2,则计算cos(x),若输入3,则计算tan(x),若输入其他值,则显示错误信息。

#include

#include

int main()

{

float x=0;

int y=0;

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

scanf("%f", &x);

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

scanf("%d", &y); switch(y)

{

case 1:

printf("%f", sin(x));

break;

case 2:

printf("%f", cos(x));

break;

case 3:

printf("%f", tan(x));

break;

default:

printf("你输入了错误的整数!");

}

8、用switch完成:输入星期1 到星期5,输出它们对应的颜色

星期1:blue

星期2:red

星期3:white

星期4:yellow

星期5:green

#include

int main()

{

int y=0;

printf("请输入一个星期(12345):");

scanf("%d", &y);

switch(y)

{

case 1:

printf("星期1:blue");

break;

case 2:

printf("星期2:red");

break;

case 3:

printf("星期3:white");

break;

case 4:

printf("星期4:yellow");

break;

case 5:

printf("星期5:green");

break;

default:

printf("你输入了错误的星期数(不属于1~5)!");

break;

}

}

9、用switch

#include

int main()

{

char y=0; printf("请输入等级(ABCD):");

scanf("%c", &y);

switch(y)

{

case 'A':

printf("优秀");

break;

case 'B':

printf("良好");

break;

case 'C':

printf("中等");

break;

case 'D':

printf("及格");

break; case 'E':

printf("不及格");

break;

default:

printf("你输入了错误的等级");

break;

}

}

第5章数组及其应用

1.从键盘输入12个数,分别为:900,2,3,58,34,76,87,72,90,20,78,30,找出最大和最小数。#include

int main()

{

int max=-9999,min=9999,a[12];

int i;

for(i=0;i<12;i++)scanf("%d",&a[i]);

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

{

if(a[i]>max)max=a[i];

if(a[i]

}

printf("Max number is:%d\n",max);

printf("Min number is:%d\n",min);

return 0;

}

2.采用遍历查找,在数组a[SIZE]={2, 3,20,58, 72, 76,78,87,90,900}中,找出偶数。

#include

int main()

{

int a[]={2,3,20,58,72,76,78,87,90,900};

int i;

for(i=0;i<=9;i++)if(a[i]%2==0)printf("%d\n",a[i]);

return 0;

}

3.采用折半查找,在数组a[SIZE]={2, 3,20,58, 72, 76,78,87,90,900}中,找到87,然后进行删除。

#include

int a[]={2,3,20,58,72,76,78,87,90,900};

void find(int i,int j)

{

if(j-i<=1)return;

int mid=(i+j)/2;

if(a[mid]==87)a[mid]=EOF;

else

{

find(i,mid);

find(mid+1,j);

}

return;

}

int main()

{

find(0,9);

return 0;

}

第6章函数及其应用

练习与实践

一、阅读程序,写出程序运行的结果。

1.写出以下程序的执行结果。

#include

float aver(int a[])

{

int k,sum=0;

float ave;

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

sum+=*(a+k);

ave=(float)sum/10;

return (ave);

}

int main( )

{

float ave;

static b[]={78,89,98,76,78,45,88,81,92,85};

ave=aver(b);

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

}

结果:ave=81.0

提示:数组b的首地址传递给形参a,*(a+k)就是数组元素b[k].

2.阅读程序,写出程序的执行结果。

#include

void abc( char str[] )

{int a, b ;

for(a = b = 0 ; str[a]!='\0'; a++ )

if(str[a]!= 'c’)

str[b++] = str[a];

str[b]='\0';

}

int main( )

{

char str[] ="abcdef" ;

abc(str);

printf("str[ ]=%s " , str );

return 0;

}

结果:str[ ]=aabbcddeeff

提示:数组str的首地址传递给形参str,str[a]就是实参中的数组元素str[a],当数组元素不为’c’时进行复制。

3.写出以下程序的执行结果。

#include

int sort(int b[],int n,int x)

{

int k;

for(k=n-1;k>=0;k--)

if(b[k]

b[k+1]=b[k];

else

break;

b[k+1]=x;

return 0;

}

int main( )

{

int i,j;

static int a[5]={8,5,4,1,6};

int b[8];

b[0]=a[0];

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

{

sort(b,i,a[i]);

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

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

printf("\n");

}

return 0;

}

提示:循环体中

if(b[k]

b[k+1]=b[k];

else

break;

如果b[k]

结果:86541

4.写出以下程序的执行结果。

#include

int fun(int x)

{ int p;

if(x==0||x==1)

return 3;

else

p=x-fun(x-2);

return p;

}

int main( )

{

printf("\n%d",fun(9));

return 0;

}

提示:fun(9)=9-fun(7),...,fun(1)=3

结果:7

5.写出以下程序的执行结果,并说明其作用是什么?

#include

int f(int n)

{

if(n>=10)

f(n/10);

printf("%d",n%8);

return 0;

}

int main( )

{

f(1234);

printf("\n");

return 0;

}

提示:在函数f中,程序运行借助了堆栈,依次入栈的数据分别为1234、123、12,最后n=1,n对8取余输出,然后数据依次出栈对8取余输出。

结果:2322

二、程序设计

1.编写一个函数,计算x的n次的平方。

提示:for(y=1,i=0;i

y=y*x;

int Ncifang(int x)

{

for(y=1,i=0;i

{ y=y*x;}

return y;

}

2.编写一个函数,计算对角线上元素之和。

提示:for(s=0,i=0;i

for(j=0;j

if(i==j)

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

int sum(int *a,int n)

{

int i ,j,sum1=sum2=0;

for (i=0;i

for(j=n;j>=0;j--) sum2+=a[j][j];

return sum1+sum2;

}

3.编写一个函数int invert(char str[ ]),将一个字符串的内容颠倒过来。

提示:先求字符串str的长度n,for(i=0;i

int invert(char str[])

{

int n=0, i;

char *p=str, temp;

while(*p++!='\0')

n++;

for(i=0;i

{

temp=a[i];

a[i]=a[n-1-i];

a[n-1-i]=temp;

}

retunr n;

}

4.编写函数,删除字符串中,从指定位置m开始的n个字符。删除成功,函数返回被删除字符串;否则返回空的值。

提示:for(k=m , i=0 ; str[i] ; i++)

str[m+i]=str[m+n+i];

str[m+i]=?\0?;

char *deleteStr(char str[], int m, int n)

{

int i;

static char delstr[n];

for(i=0;str[m+n-1+i];i++)

{

delstr[i]=str[m+i];

str[m+i]=str[m+n-1+i];

}

delstr[i]=str[m+i]='\0';

return delstr;

}

5.编写一个程序,从键盘输入的字符串,删去非数字字符,转换成整型数输出。

提示:for(s=0 , i=0 , j=0 ; str[i];i++)

if(str[i]>=?0?&&str[i]<=?9?)

s=s*10+str[i]-…0?;

#include

#define N 100

main()

{

char str[N];

int i=1, s=0;

printf("Input string:\n");

str[0]=getchar();

while(str[i-1]!='\n')

{

str[i]=getchar(); i++;

}

i=0;

while(str[i])

{

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

s=s*10+(str[i]-'0');

}

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

retunr 0;

}

6.用递归的方法编写一个函数sum(int n),求1至n的累加和。提示:f(n)=n+f(n-1)

int asum(int n)

{

if(n<=0)

{

printf("Input Error!\n");

return 0;

}

else if(n==1)

return 1;

else

return n+asum(n-1);

}

第7章变量存储类型与多文件系统

1.写出以下程序的执行结果。

#include

int x;

void fun( )

{

printf("%d ",x++);

}

void main( )

{

int x=1;

{

extern int x;

printf("%d,",++x);

}

fun( );

}

提示:在函数fun中及语句块

{

extern int x;

国家开放大学C语言程序设计A第一次形考任务及答案

一、选择题(共40分,每小题2分) 题目1 在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。 A. main B. MAIN C. name D. function 题目2 C语言源程序文件的缺省扩展名为()。 A. cpp B. exe C. obj D. c 题目3 由C语言目标文件连接而成的可执行文件的缺省扩展名为()。 A. cpp B. exe C. obj D. c 题目4 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为()。 A. 空格或逗号 B. 逗号或回车 C. 逗号或分号

D. 空格或回车 题目5 每个C语言程序文件的编译错误被分为()。 A. 1类 B. 2类 C. 3类 D. 4类 题目6 不符合C语言规定的复合语句是()。 A. {} B. {;} C. {x=0;} D. {y=10} 题目7 C语言程序中的基本功能模块为()。 A. 表达式 B. 标识符 C. 语句 D. 函数 题目8 在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()。 A. 表达式 B. 语句 C. 参数表

D. 函数体 题目9 在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用的起止定界符为一对()。 A. 尖括号 B. 双引号 C. 单引号 D. 花括号 题目10 在C语言程序中,多行注释语句使用的开始标记符为()。 A. // B. /* C. */ D. ** 题目11 在printf()函数调用的格式字符串中,若使用格式符为“%c”,则对应输出的数据类型为()。 A. char B. int C. float D. double 题目12 在printf()函数调用的格式字符串中,若使用格式符为“%5d”,则规定对应输出的数据占用的字符位置个数为()。

C++程序设计 第一次作业 三角形计算

第一次作业 一、选择题 1.下面说法中,____不是构造函数的特征 A.构造函数的函数名与类名相同B.构造函数可以重载 C.构造函数可以设置默认参数D.构造函数必须指定类型说明 2.下面对于派生类的描述中,不正确的是____ A. 一个派生类可以作为另一个派生类的基类 B. 派生类至少有一个基类 C. 派生类的成员除了它自己的成员外,还包含了它的基类成员 D. 派生类中继承的基类成员的访问权限到派生类保持不变 二、填空题 1.面向对象程序设计以对象为构造程序的基本单位,具有____、____、____等特点2.按照访问方式,C++类中的成员可以分为____成员、____成员和____成员 三、编程题 1、类和对象 定义一个三角形类Triangle,要求: 定义求三角形面积方法 定义求三角形周长方法 定义打印三角形信息方法,打印周长、面积和三条边长 定义一个函数,比较两个三角形面积,并返回面积较大的三角形的对象引用 补充信息: (1)已知三角形三边a,b,c,则 p=(a+b+c)/2 S=√[p(p-a)(p-b)(p-c)] (2)求平方根的函数原型: math.h头文件,函数原型为double sqrt(double); #include #include #include #include #define random(x) (rand()%x) using namespace std; main() { int i,j; for(j=0;j<=10;j++) { //srand(i++); cout<

C语言程序设计大作业报告模板

《C语言程序设计》大作业报告 1.目的 掌握所学C语言程序设计的方法,熟悉所学语言的开发环境及调试过程,熟悉所学C语言中的数据类型,数据结构、语句结构、运算方法,巩固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。通过综合设计要求达到下列基本技能: 1.培养查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。 2.通过对所选题目方案分析比较,确立方案,编制与调试程序,初步掌握程序设计的方法,能熟练调试程序。 2.作业内容

熟练掌握所学语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用等。 3.要求: 1.要求每个同学都要认真对待,积极参与。 2.独立完成,不能抄袭。 3.课程设计结束时每位同学必须完成《大作业报告册》,其中包含设计源 代码和设计思路。 4.不符合要求的程序、设计报告、抄袭的设计报告或源程序代码、在设 计中完全未参与的将作不及格处理。 5.统一格式,A4打印,按时提交。 4.题目:设计要求:编写一个程序,求3x4数组的转置矩阵。要求在main函数里面读数,在change函数里面把矩阵转置。 5.程序设计 设计思路:1是先定义两个数组,一个是a[3][4],另一个是b[4][3]。2是将随便输入的12个数输入到a[3][4]。3是在change函数中将a[3][4]中值通过for循环的镶嵌将数组a[3][4]的值赋值给数组b[4][3]。4在主函数中将数组b[4][3]通过for循环的嵌套输出。 代码

C语言程序设计基础试题及答案

第一部分C语言基础 一、选择题 1、以下正确得C语言标识符就是() A。%X B。a+b?C.a123 D.test! 2、已定义int a,b;则以下不正确得C语句就是() A.a*=5;??B。b/=2;? C.a+=1、75;?D.b&&=a; 3、若x、i、j与k都就是整型变量,则执行下面表达式后x得值为( ) x=(i=4,j=16,k=32) A.4?B.16 ?C.32 D.52 4、C语言中得标识符只能由字母、数字与下划线三种字符组成,且第一个字符( ) A.必须就是字母???B.必须为下划线? C.必须为字母或下划线D.可以就是字母、数字、下划线中得任一字符 5、下面正确得字符常量就是( ) A.“c”? B。’\\”? C.‘w’??D.” 6、设int a=2,b=0,c;则执行语句c+=b&&a--后, c得结果为( )。 A.0,1B.1,0 ?C.2,0 D.不确定 7、以下不正确得C语言标识符就是()?A) int B)a_1_2?C)ab1exe D)_x 8、以下就是正确得C语言标识符就是( )。?A)#define?B)_123 C) %d D) \n 9、下列四组字符串中都可以用作C语言程序标识符得一组就是() 。?A) prin tB)i\am C)Pxq D)str_l ???oodbs tart$it line# _3d one_half My-〉bookCpp ? pow 10、下面各选项组中,均就是C语言关键字得组就是()。?A)auto,enu

m,include B)switch,typedef,continue?C)signed,union,scanf?D)if,s truct,type 11、下列不属于C语言关键字得就是( ) 。 A)default?B)register C)enum ?D)external 12、C语言程序从main()函数开始执行,所以这个函数要写在( )。?A) 程序文件得开始?B)程序文件得最后?C)它所调用得函数得前面 D) 程序文件得任何位置 13、下列关于C语言得叙述错误得就是( ) A)大写字母与小写字母得意义相同?B) 不同类型得变量可以在一个表达式中 C)在赋值表达式中等号(=)左边得变量与右边得值可以就是不同类型?D) 同一个运算符号在不同得场合可以有不同得含义 14、在C语言中,错误得int类型得常数就是( ) 。?A)32768?B)0 C)037?D) 0xAF 15、将字符g赋给字符变量c,正确得表达式就是( )。 A) c=\147 ?B)c="\147" ?C)c='\147' 16、下列转义字符中错误得一个就是( )。 A) ’\000’ B)'\0014' ?C) ’\x111’ D) ’\2’ 17、将空格符赋给字符变量c,正确得赋值语句就是( )。 A) c=’\0’ B) c=NULL C)c=0 D)c=32 18、已知:char a=’\70’;则变量a中()。 A)包含1个字符?B)包含2个字符?C) 包含3个字符?D) 说明非法 19、字符串"\”EOF\n=-\61\””得长度就是( )。 A)8 ?B) 9?C)14?D)非法字符串

C语言程序设计入门经典例题

1、加法练习程序:由用户通过键盘输入加数和被加数,程序显示加法式子,用户通过键盘作答后,程序给出正确与错误提示信息。要求:利用C的选择语句if条件语句或switch 开关语句,键盘输入数据前,程序会出被输入数据的信息提示。 #include void main(){ int a,b,c; printf("please put an addend:\n");scanf("%d",&a); printf("please put an augend:\n");scanf("%d",&b); printf("please answer the question:a+b=?");scanf("%d",&c); if(a+b==c) printf("very good!"); else printf("wrong! "); } 个人感觉这个程序最不好的地方是,不管回答正确还是回答错误,程都会立即结束,所以我用了do…while实现一个回答错误之后获得再次回答机会的循环,则程序修改如下: #include void main(){ int a,b,c; printf("请输入一个加数:\n");scanf("%d",&a); printf("请输入一个被加数:\n");scanf("%d",&b); do { printf("请回答:a+b=");scanf("%d",&c); if(a+b!=c) printf("请再想一想\n"); } while(a+b==c) printf("回答正确!"); } 2、判闰年程序:判断某一年是否闰年? 要求:程序首先提示用户从键盘输入4位数年份,程序能显示“XXXX年是闰年”或“XXXX年不闰年”的输出信息。 算法:year 是闰年,即year能被4整除但不能被100整除,或 year 能被 400 整除。其对应的C逻辑表达式为:(year % 4 = = 0 && year % 100 != 0) || (year % 400 = = 0) 或: (!(year % 4) && year % 100) || !(year % 400 ) 程序中可设置1个变量leap来代表是否闰年的信息,闰年:leap=1; 不闰年:leap=0。 #include void main() int year; printf("请输入4位数年份:");scanf("%d",&year); if(year%4==0&&year%100!=0||year%400==0)//闰年就是能被4整除但不能被100整除及能被400整除的

C语言大作业报告

目录 一、设计题目 二、目标和需求分析 三、开发工具 四、应用平台 五、程序模块 1、游戏盒子 2、2048 3、扫雷 4、贪吃蛇 六、开发日志 七、程序调试及运行 八、程序开发总结 总结:虽然做出来的东西真的没什么技术水平,但是我们尽量把这个东西的每个方方面面做完整。

目标和需求分析一个小的游戏盒子,可以用来启动其它游戏,当然,其它游戏也是我们大作业的编写内容,平时可以玩玩用来打发时间 用到的工具VS2005 Easyx图形库 Pthread线程库 Hge 分工 秦贤康 组织大家,编写主程序,及构思计划,技术指导 王尧 所有的文件处理,数据算法方面优化 王懿晨 合作2048模块 杨梓晗 图片资源加工,音乐裁剪,按钮制作 程维驰 合作扫雷模块 应用平台:WINDOWS X64

程序功能模块: 一、 安装包:(写入开始菜单快捷方式,桌面快捷方式,开机启动等)//pascal 脚本编写 #define MyAppName "C 大作业" #define MyAppVersion "2.0" #define MyAppPublisher "五人小组" #define MyAppExeName "1.exe" [Setup] AppId={{49DB1DB4-FAE9-4ACB-A4B9-E5C420C5F10B} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} DefaultDirName={pf}\{#MyAppName} DisableDirPage=yes DefaultGroupName={#MyAppName} DisableProgramGroupPage=yes (剩余代码未全部给出) 安装包 内嵌:C 语言报告 游戏盒子 开机启动,桌面快捷方式等 进入动画,左侧动画 启动模块 通知,和显示游戏信息 2048 扫雷 贪吃蛇 主界面信息显示 通知栏信息显示 意见箱

C语言大作业设计-

CHANGZHOU INSTITUTE OF TECHNOLOGY C语言大作业 设计说明书 题目: 通讯录管理系统 二级学院(直属学部):计算机信息工程学院 专业: 软件工程(中英合作)班级: 12软件二: 学号: 2013年7月 目录

1 概述 (1) 1.2设计分析 (1) 1.3开发工具 (1) 1.4应用平台 (1) 2 系统设计 (2) 2.1功能模块设计 (2) 2.2数据结构设计 (4) 2.3函数功能设计 (4) 3 实现与测试 (7) 3.1关键技术实现 (7) 3.2测试运行结果 (8) 4 开发日志 (14) 5 设计总结 (14) 6 参考文献 (14)

1 概述 1.1 小组构成及分工 1.2 设计分析 本程序设计共包含六个函数模块,分别是添加记录、显示记录、删除记录、查询记录、修改记录、保存记录等信息模块,完成通讯录的功能。在主函数中可以以1、2、3、4、 5、6数字键分别可以执行某个功能模块。 1.3 开发工具 Visual C++ 6.0 和window32 1.4 应用平台 Windows XP 32位 2 系统设计 2.1功能模块设计

1.系统模块图 本系统包括6个模块,分别是添加模块、显示模块、删除模块、查询模块、修改模块、保存模块等,各模块的功能如图2.1所示。各个模块的功能描述如下: (1)添加模块:可以添加通讯录记录,依次输入、年龄、、地址、电子后,并会提示是否继续添加。 (2)显示模块:可以以表格形式输出所有通讯录里的记录。 (3)删除模块:输入欲删除的那个人的名字后,会自动删除他(她)的记录容。 (4)查询模块:可以选择用、、地址三种方式查询。 (5)修改模块:输入欲修改的那个人的名字后,再依次输入、年龄、、地址、电子完成修改。 (6)保存模块:输入文件名(带后缀名)后,即可将通讯录信息保 存到文件。 图2.1 系统模块图 2.任务执行流程图

C语言程序设计基础测试题-答案

C语言程序设计基础测试题 一、单选 [1] 下面叙述中错误的是____。 A. 复合语句中定义的函数只在该复合语句中有效 B. return( )语句中的括号中,可以是变量,常量或有确定值的表达式 C. 形式参数也是局部变量 D. 主函数中定义的变量在整个程序中都是有效的 [2] 下列说法中正确的是____。 A.带参数的宏定义中的参数是没有类型的 B.宏展开将占用程序的运行时间 C.宏定义命令是C语言中的一种特殊语句 D.使用#include命令包含的头文件必须以“.h"为后缀 [3] 若函数的形参为一维数组,则下列说法中正确的是____。 A.调用函数时的对应实参必为数组名 B.形参数组可以不指定大小 C.形参数组的元素个数必须等于实参数组的元素个数 D.形参数组的元素个数必须多于实参数组的元素个数 [4] 系统的标准输出设备是____。 A.键盘 B.硬盘 C.内存 D.显示器 [5] 下面叙述中正确的是____。 A.全局变量在定义它的文件中的任何地方都是有效的 B.全局变量在程序的全部执行过程中一直占用内存单元 C. C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式 D. 说明函数时必须明确其参数类型和返回类型 [6] C程序的基本结构单位是____。 A.文件 B.语句 C.函数 D.表达式 [7] 对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是____。 A.aa数组元素的值分别是"abcd"和"ABCD" B.aa是指针变量,它指向含有两个数组元素的字符型一维数组 C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D.aa数组的两个元素中各自存放了字符'a'和'A'的地址 [8] 任何一个C语言的可执行程序都是从____开始执行的。 A.程序中的第一个函数 B.main( )函数的入口处

国家开放大学C语言程序设计A第一次形考任务与答案(20201127230652)

一、选择题(共40分,每小题2分) 1 题目1 在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()* A.main B. MAIN C. name D. function 题目2 1 C语言源程序文件的缺省扩展名为()。 A. cpp B. exe C. obj * D.c 题目3 1 由C语言目标文件连接而成的可执行文件的缺省扩展名为()。 A. cpp B. exe C. obj D. c 题目4

程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为() A. 空格或逗号 B. 逗号或回车 C. 逗号或分号

* D.空格或回车 题目5 1 每个C语言程序文件的编译错误被分为()。 A. 1类 ” B.2 类 C. 3类 D. 4类 题目6 不符合C语言规定的复合语句是()。 A. {} B. {;} C. {x=0;} + D.{y=10} 题目7 1 C语言程序中的基本功能模块为()。 A. 表达式 B. 标识符 C. 语句 D. 函数 题目8 在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()

B. 语句 C. 参数表 D. 函数体 题目9 1 在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用 的起止定界符为一对()。 A. 尖括号 * B.双引号 C. 单引号 D. 花括号 题目10 L 在C语言程序中,多行注释语句使用的开始标记符为()。 A. // + B./* C.*/ D ** 题目11 1 在printf()函数调用的格式字符串中,若使用格式符为“%C',则对应输出的数据类型为()。

计算机程序设计基础教程第一次作业

浙江人才专修学院 成人高等学历教育《计算机程序设计基础教程》课程 作业答题纸 (第一次作业) 学校:班级名称: 学号:____姓名:_____手机号码:_____温馨提示:1、请正确完整的填写以上个人资料,以便学校登记平时成绩;2、第一次作业请于年月日前上交到中河大厦前台、朝晖九区学生处,第二次作业请于年月日前上交到中河大厦前台、朝晖九区学生处,逾期将酌情扣分,未完成作业者平时成绩为零分。(学校期末总评成绩作业占15%) 一、选择题 1.决定控件上文字的字体、字形、大小及效果的属性是() A.Text B.Caption C.Name D.Font 2.如果将布尔常量值TRUE赋值给一个整型变量,则整型变量的值为()A. 0 B.-1 C.TRUE D. FALSE 3.运行时,当用户向文本框输入新的内容,或在程序代码中对文本框的Text 属性进行赋值从而改变了文本框的Text属性值时,将触发文本框的()事件 A.Click B.Dblclick C.Gotfocus D.Change 4.计算结果为0的表达式是() A.Int(2.4)+Int(-2.8) B. Int(2.4)+Round(-2.8) C.Fix(2.4)+Int(-2.8) D. Fix(2.4)+Fix(-2.8) 5.下列各组常量的声明正确的是() A.Const C as 3 B.Const c=1/3 C.Public I=3 D.Puclic I=1/3 6. 以下能判断是否到达文件尾的函数是()。 A) BOF B)LOC C)LOF D)EOF 7. 以下声明语句中错误的是()。 A)Const var1=123 B)Dim var2 = “ABC”C)Dim var3(20) D)Static var4 As Integer 8. 在Visual Basic中,Cls方法可以清除()中的内容。 A)Text B)Label C)Command D)Picture 9. 以下叙述中错误的是()。 A)在工程资源管理器窗口中只能包含一个工程文件及属于该工程的其他文件

C语言大作业报告范文

学院XX学院

目录 1 摘要 (3) 1.1设计题目 (3) 1.2设计容 (3) 1.3开发工具 (3) 1.4应用平台 (3) 2 详细设计 (3) 2.1程序结构 (3) 2.2主要功能 (3) 2.3函数实现 (3) 2.4开发日志 (4) 3 程序调试及运行 (4) 3.1程序运行结果 (4) 3.2程序使用说明 (4) 3.3程序开发总结 (4) 4 附件(源程序) (4)

1 摘要 1.1 设计题目 (A)求最大数;(B)高次方数的尾数 1.2 设计容 (A)求555555的约数中最大的三位数; (B)求13的13次方的最后三位数1.3 开发工具 Visual C++ 6.0和Win32。 1.4 应用平台 Windows XP 32位 2 详细设计 2.1 程序结构 (A)求最大数

定义变量a、b、c,a从100至999递增,b为555555,用b除以a,判断是否可以整除,若可以,则把a的值赋给c,a自加1;若不可,a自加1。重复以上步骤,直到a>999,输出c。循环语句采用for 循环。 (B)高次方数的尾数

定义变量i、j,i从1至13递增,j初值为1。用j乘以13,用得到的乘积除以1000并取其余数,赋给j,i自加1。重复以上步骤,直到i>13,输出j。循环语句采用for循环。

2.2 主要功能 程序功能:(A)求555555的约数中最大的三位数; (B)求13的13次方的最后三位数。 原理和方法: (A)题目的原理和方法:因为要求的是三位数,就用555555从小到大依次除以100到999的所有数,并判断能否整除,最后一个可以整除555555的数即为所求。循环语句采用for循环。 (B)题目的原理和方法:乘积的最后三位数只与乘数和被乘数的后三位数有关,因此用1乘以13,再除以1000并取余数,用余数乘以13,再除以1000并取余数,依次进行下去,累乘13个13后除以1000取得的余数即为所求。循环语句采用for循环。 2.3 函数实现 (A)求最大数 int a,b=555555,c; /*定义变量,赋初值*/ for(a=100;a<=999;a++) /*FOR循环*/ { if(b%a==0) /*利用IF语句判断b是否可以被a整除*/ c=a; /*将555555的约数赋给c*/ } printf("%d\n",c); /*输出c*/ (B)高次方数的尾数 int i,j=1; /*定义变量,赋初值*/ for(i=1;i<=13;i++) /*FOR循环*/ { j=j*13%1000; /*将j乘以13的乘积的后三位数赋给j*/ } printf("%d\n",j); /*输出j*/ 2.4 开发日志 (A)选定这个题目后,我先分析此题用何种算法完成,确定了使用FOR循环并限定除数围,然后画出程序框图,再一步步编写源代码。调试过程很顺利,只有一个地方忘加了“;”。运行程序后,结果非常满意。 (B)这个题目不难,但是也不简便,我想到只取三位数的方法,并使用FOR循环,然后画出程序框图,再一步步编写源代码。调试过程发现对其中一个变量的初值是1还是13有待解决,分析程序后发现应该用1,然后进一步调试,运行,直至结果正确。

C语言程序设计基础知识 习题一及参考答案

第一章:程序设计基础知识 一、单项选择题 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)结构化程序设计方法是面向过程程序设计的主流。 B)算法就是计算方法。 C)一个正确的程序就是指程序书写正确。 D)计算机语言就是编写程序的工具而不是表示算法的工具。 7、下面描述中,不正确的是( )。 A)递归法的关键是必须有一个递归终止的条件。

B)递归算法要求语言具有反复自我调用子程序的能力。 C)对于同一个问题,递推算法比递归算法的执行时间要长。 D)递推算法总可以转换为一个递归算法。 8、N-S图与传统流程图比较,主要优点是( )。 A)杜绝了程序的无条件转移。 B)具有顺序、选择和循环三种基本结构。 C)简单、只管。 D)有利于编写程序。 A)B)C)D) 二、填空题 1、在流程图符号中,判断框中应该填写的的是________。(判断条件) 2、结构化程序设计是__________应遵循的方法和原则。(面向过程编程) 3、结构化程序必须用__________程序设计语言来编写。(具有结构化控制语句) 4、可以被连续执行的一条条指令的集合称为计算机的________。(程序) 5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。(面向对象) 6、任何简单或复杂的算法都是由_____和_____这两个要素组成。(数据结构算法) 7、算法的_______特征是指:一个算法必须在执行有限个操作步骤后终止。(有穷性) 8、在三种基本结构中,先执行后判断的结构被称为_________。(直到型循环结构) 9、在程序设计中,把解决问题确定的方法和有限的步骤称为______。(算法) 10、程序设计风格主要影响程序的________。(可读性) 11、用模块组装起来的程序被成为________结构化程序。(模块化) 12、采用自上而下,逐步求精的设计方法便于____________。(结构化和模块化) 三、应用题

C语言程序设计实习报告

手机通讯录管理系统一、设计题目的任务和内容 任务:本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是数组的相关操作,包括结构体数组的输入、输出、查找、删除等。我设计的这个通讯录系统也初步实现了人员信息的显示、删除、查找、修改、添加等必要的功能。 具体要求: ◆建立通讯录信息,信息包含、姓名、分类(1、办公类2、个人类3、商务类)、电话、 电子邮箱等; ◆将通讯录保存在文件中; ◆查看功能:可按1、办公类2、个人类3、商务类分类查询,当选中其中一类时,显示出 此类所有数据中的姓名和电话号码。 ◆增加功能:能录入新数据。当录入重复姓名和电话号码时,则提示数据录入重复并取消 录入;当通讯录中超过15条信息时,存储空间已满,不能录入新数据;录入的新数据能按递增的顺序自动进行条目编号。 ◆修改功能:选中某个人的姓名是,可对此人的相应数据进行修改。 ◆删除功能:选中某个人的姓名是,可对此人的相应数据进行删除并自动调整后续条目编 号。 系统功能需求分析: 查询:查询通讯录记录 添加:添加通讯录记录 显示:显示通讯录记录 删除:删除通讯录记录 修改:修改通讯录记录

二、总体设计思路 本系统首先设计出了主函数,然后根据去要实现的功能分别设计拉,显示、删除、查找、修改、添加功能的子函数。在显示的函数设计过程中首先运用拉文件的读取等必要的知识通过把文件的内容读取到内存然后打印出来。删除函数的设计是首先从文件内找到要删除的人,然后通过写一个实现删除目的的FOR循环将该人从内存里删除,然后再用写的方式打开文件,将内存内的信息写入文件,实现删除。查找也是先打开文件,用一个字符串对比的方法找出用户要查找的人,然后打印出来。修改也大体和删除相同,添加函数在设计时通过申请一片空间,然后通过指针将需要添加的信息添加进去,从而实现添加功能。 系统功能模块图: 输入新信息:可输入新的数据。 添加:可以添加通讯录记录,依次输入姓名、电话号码、分类、电子邮箱后,会提示是否继续添加。 删除:输入姓名删除,输入欲删除的那个人的名字后,会自动删除他(她)的记录内容 查询:可按1、办公类2、个人类3、商务类分类查询 修改:输入欲修改的那个人的名字后,再依次输入姓名、电话号码、分类、电子邮箱即可完成修改。 下面就是总的程序流程图:

C语言课程设计大作业62994

郑州大学 课程报告 课程名称:C语言程序设计 专业班级:(15)班 学生姓名:谢* 学号: 20127611*** 任课教师:赵** 学期: 2012-2013-2 课程报告任务书

开发一个通讯录管理系统,基本信息包括:编号、姓名、性别、出生年月、固定电话、手机号、电子邮件等基本信息(也可以根据自己情况进行扩充)。使之能提供以下基本功能: (1)通讯录等信息录入功能(注:数据等要求用文件保存)--输入 (2)通讯录信息的浏览功能--输出 (3)查询功能(至少一种查询方式)、排序功能(至少一种排序方式): ①按电话号码进行查询②按姓名查询等③按照年龄排序④按姓名排序等(4)通讯录条目的删除与修改等 扩展功能:可以按照自己的程度进行扩展。比如(1)简单的权限处理(2)报表打印功能(3)模糊查询,如姓张的人员等;或者给定电子邮件的部分进行查询等(4)给定指定年龄范围之内的查询等等。 总之,可以根据自己需求进行分析功能,成绩评定按照难度进行区分。 成绩评定教师:

一. 需求分析 1,具有数据的插入、修改、删除、显示和查询功能的电话簿管理程序。 2,数据包括:人名、工作单位、电话号码和E-MAIL地址。 3,可对记录中的姓名和电话号码进行修改。 4,可增加和删除记录。 5,可显示所有的保存记录。 6,可按人名或电话号码进行查询。 分析 建议采用结构体数组和文件系统实现。结构体成员包括人名、工作单位、电话号码和E-MAIL地址。 根据题目的要求程序应该采用结构体数组和文件系统实现。应该有文件的操作功能;在程序中应该包括输入、显示、删除、查询、添加、修改、保存、加载和退出的功能。 二、概要设计 (1).程序的模块组成及各个函数的功能: 程序的模块组成: 主函数:main(); 输出数据函数:printf(); 读取数据函数:scanf(); 显示记录函数:Display(); 删除记录函数:shanchu(); 查找记录函数:chaxun(); 自定义清屏函数:system(“cls”); 自定义输入函数:input(); 字符输入函数:getchar(); 修改数据函数:xiugai(); 保存数据函数:baocun(); 排序数据函数:paixu(); 各函数的主要功能:

C语言程序设计第一次月考试题

C语言程序设计第一次月考试题(2011.9) 班级:姓名:总分: 一、选择题(每小题3分,共60分) 1.一个C语言程序是由() A)一个主程序和若干子程序组成B)函数 C)若干过程组成D)若干子程序组成 2.下面4个选项中,均是C语言关键字的选项是() A)auto enum include B)switch typedef continue C)singed union scanf D)if struct type 3. 下面4个选项中,均是不合法的用户标识符的选项是() A)A P_0 do B)float 1a0 -A C) b—a goto int D) _123 temp INT 4.下面4个选项中,均是不合法的整形常量的选项是() A)- - 0f1 - oxfff 0011 B)- oxcdf 017 12,456 C) – 018 999 5e2 D)-0x48eg -068 03f 5. 下面4个选项中,均是不合法的浮点数的选项是() A)160.0.12 e3 B)123 2e4.2 .e5 C)-.18 123e4 0.0 D)-e3 .234 1e3 6.下面4个选项中,均是不合法的转义字符的选项是() A)‘\‖‘?\\‘?\xf‘B)‘\1011‘?\‘?\a‘ C) ?\011‘?\f‘?\}‘D)‘\abc‘?\101‘?x1f‘ 7.下面不正确的字符串常量是() A)‘abc‘B)‖12‘12‖C) ‖0‖D)‖‖ 8.Int k=7, x=12; 则以下能使值为3的表达式是() A)x%=(k%=5) B)x%=(k- k%5) C) x%=k-k%5 D)(x%=k) – (k%=5) 9.若x、i、j和k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后x的值 是() A) 4 B)16 C)32 D)52 10.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( ) A) 7 B) 8 C)6 D)2 11.已知各变量的类型说明如下: Int k, a, b; unsigned long w=5; double x=1.42; 则以下不正确的表达式是() A) x%(-3) B)w+=-2 C) k=(a=2,b=3, a+b) D)a+=a-=(b=4)*(a=3) 12.已知字母A的ASCII码为65,且定义c2为字符型变量,则执行语句c2=‘A‘+‘6‘-?3‘;后;c2中的值为() A) D B) 68 C)不确定的值D) C

CAD程序设计课程第一次作业

第一作业练习 一、目的要求 1、了解如何启动,熟悉编程界面。 2、在环境下编辑并运行程序。 3、环境下查找程序错误。 4、了解赋值与求值函数及主要计算函数的功能、格式及应用。 二、作业内容 1、按下列步骤试运行程序 1)启动 启动后,可采用以下任一种方法进入: : 或者 菜单→→→ 2)在文本编辑区键入以下程序

该程序的功能是定义一个画矩形的函数,此函数有四个形参:x 、y 、p1 及分别代表矩形的长、宽、基点和线宽,用户调用该函数时用实际的数值赋予该四个形参即可画出任意尺寸的矩形。注::程序中可能存在错误请自行查找 3)保存文件: 下拉菜单→→保存该文件,取名为: 4)文件装入内存 : ( “”) 程序如无语法错误,将返回函数名;如有语法错误,将返回错误提示用户需回到编辑器中,修改程序。注意:如果用函数加载,后面的文件需要标明盘符/文件夹等 5) 运行应用程序 在图形窗口中:: ( 80 60 ‘(40 40) 0.4)并回车,程序执行结果自动画出,基点在40,40点,宽80, 高60,线粗0.4的矩形。

2、用表达式计算下列各式 1).7154.2 程序段:( x ( 2.154 (/ 1.0 7))) 结果: 1.11585 2). 44.7856.3445 .1133.1877.1655.23??-? 程序段:( x (/ (- (* 23.55 16.77) (* 18.33 11.45))(* 34.56 78.44))) 结果: 0.0682636 3).3 23299.855.278.634.355.4+?+ 程序段: ( x ( (+ ( 4.55 2) (/ (* 3.34 ( 6.78 3)) (+ ( 2.55 2) ( 8.99 3)))) 0.5)) 结果:4.70346 4).521 程序段:( x ( ( 5 21))) 结果:20.9849 5)45

西北工业大学C语言大作业实验报告

学院*****************

目录 1 摘要 (3) 1.1设计题目 (3) 1.2设计内容 (3) 1.3开发工具 (3) 1.4应用平台 (4) 2 详细设计 (4) 2.1程序结构 (4) 2.2主要功能 (10) 2.3函数实现 (13) 2.4开发日志 (18) 3 程序调试及运行 (20) 3.1程序运行结果 (20) 3.2程序使用说明 (22) 3.3程序开发总结 (22) 4 附件(源程序) (22)

1 摘要 1.1 设计题目 折半法查找演示程序 1.2 设计内容 本程序是一个演示折半查找算法的演示程序。由用户输入查找的数据表列和查找的数据,系统在将数表排序后可以在屏幕上演示在排序后的表列中按折半查找法查找该数据的具体过程(通过每次查找的中间数据、下次查找表列等,具体效果见下图),支持多次演示、错误提醒,程序暂停演示功能。 1.3 开发工具 Visual C++ 6.0和Win32。

1.4 应用平台 Windows 2000/XP/Vista 32位 2 详细设计 2.1 程序结构 程序功能模块: 本程序主要由五大模块组成:程序说明模块、输入模块、排序模块、折半法查找及显示模块、进程选择模块。各模块的主要功能如下: 程序说明模块:给使用者营造一个较为友好的界面,同时提供程序开发人员的相关信息以及程序操作的相关说明信息。 此部分模块主函数源代码如下: int a[N]; /*存储要查找的数表,用户输入*/ int i,n,num,count; /*count为折半次数计数器,n为数表数据个数,num存储所查数据*/ int top,bottom,mid; char c; /*存储选择函数中的输入的字符y或n*/ int flag=1; /*折半法循环标志变量*/ int loc=-1; /*存储所查找数据位置*/ double k=0; p_s(76);puts("\n"); /*引用p_s函数,打出一行'*'*/(p_s函数位于print_star.cpp文件中,参见下文) printf("****欢****迎****使****用****折****半****查****找****法****演****示****器****\n"); puts("\n"); /*程序欢迎语*/ p_s(13); printf("制作者:***************** "); /*作者信息*/ p_s(4); printf("Email:************************ "); /*电子邮件*/

程序设计基础—C语言,科学出版社

程序设计基础——C语言 科学出版社 第六章——其他数据模型,教材习题答案。 东风冷雪 如果认为对自己不利那就离开。 你看了比没有看好,首先印象还是有的,如果自己不会你可能都不会写,结果就是什么也不做,老师讲解时效果也会降低。其次你不会可能上网查书也是为了寻找答案,这样浪费时间(可能影响深些)。 一份答案做起来不容易,合理利用不要全部抄复制,这样老师会发现。你可以修改啊!你可以排版的比我更加调理清楚。 1.0 #include struct s { int x,*y; } *p; int date[]={10,20,30}; struct s array[]={100,&date[0],200,&date[1],300,&date[2]};

void main() { p=array; printf("%d\n",++p->x); printf("%d\n",++*p->y); printf("%d\n",*++p->y); } /* p指向结构体数组array首地址即是&array[0]. (1)++p->x 中->运算符优先级大于++所以)p->x 结果是100++p->x =101。 (2)++*p->y中->运算符优先级大于++和*++和*同优先级别结合方向自右向左所以p->y=&date[0], *p->y=date[0]=10, ++*p->y=11。 (3)*++p->y中同理所以 p->y=&date[0], ++p->y=&date[1], *++p->y=date[1]=20. */ #include"stdio.h" void main() { struct stuinf { char name[15];

C语言程序设计习题及答案

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是() A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是() A、abc B、12AC C、sun D、 A2 3、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是() A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是() A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是() A、% B、/ C、%和/ D、 + 6、以下关于运算符的优先顺序的描述正确的是() A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是()sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad);

A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是() A、 INPUT x、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、 scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456< 回车 >,下面程序的输出结果是:() void main ( ) { int m,n; scanf(“%2d%3d”,&m,&n); printf(“m=%d n=%d\n”,m,n); } A、m=23 n=45 B、m=234 n=56 C、m=23 n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是() main( ) { int x,y; scanf(“%d”,&x); y=x>12x+10:x-12; printf(“%d\n”,y); } A、 0 B、 22 C、 12 D、10 11、C语言中while和do-while循环的主要区别() A、do-while的循环体至少执行一次 B、while 的循环控制条件比do-while的循环控制条件严格 C、do-while允许从外部转到循环体内

相关文档
最新文档