文档库 最新最全的文档下载
当前位置:文档库 › 最新C语言程序设计习题与上机实验-全部答案-

最新C语言程序设计习题与上机实验-全部答案-

最新C语言程序设计习题与上机实验-全部答案-
最新C语言程序设计习题与上机实验-全部答案-

C语言程序设计习题与上机实验

(参考答案)

2008年3月30日

第一部分同步习题集

第1章C语言概述

一、判断题

1、正确

2、正确

3、错误

4、错误

二、单项选择题

1、B

2、B

3、A

4、A

5、D

6、C

7、D

8、C

三、填空题

1、/* */

2、函数首部、函数体

第2章算法

一、填空题

1、算法

2、算法、数据结构

3、自然语言、N-S结构图、伪代码

4、顺序结构、选择结构、循环结构

5、程序设计风格、程序结构、清晰的结构

第3章数据类型\运算符与表达式

一、单项选择题

1、D

2、D

3、D

4、D

5、B

6、AB

7、D

8、D

9、C 10、A

11、D 12、C 13、B 14、C 15、C 16、B 17、C

二、填空题

1、2;-32768~72767;4;4

2、1.0/2*(a*x+(a+x)/(4.0*a))

第4章最简单的C程序设计

一、单项选择题

1、B

2、B

3、D

4、C

5、A

6、D

7、D

二、填空题

1、;

2、{}

3、%

4、输入输出函数

三、写结果题

1、a

2、6,5

3、-6

4、11空格10

5、ch:dec=97;oct=141,hex=61,ASCII=a

6、修改题…printf(“%d,%d,%d,%d\n”,++i, j--, i++, --j); 结果为:7,4,5,4

四、程序填空题

1、%c

2、%.2f

3、(1) &x,&y (2) printf(“%d,%d”,x,y);

第5章逻辑运算和判断选择结构

一、单项选择题

1、C

2、A

3、D

4、D

5、B

6、D

7、B

8、B

9、C 10、D

11、C 12、C

二、写运行结果题

1、100

2、6

3、2

4、a=2,b=1

三、程序填空题

1、(1) x>y (2) u>z

2、(1)m= =’c’ (2) m= =’b’

3、(1)ch>=’A’ &&ch<=’Z’ (2) ch=ch-32

4、(1)x>2 && x<=10 (2) x>-1 && x<=2

四、编程题

1、

#include

main( )

{

int a, b, t;

printf(“Please input a,b:”);

scanf(“%d,%d”, &a, &b);

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

printf(“a=%d,b=%d”, a, b);

}

2、编程实现以下功能:读入两个运算数(data1和data2)及一个运算符(op),计算表达式

data1 op data2的值,其中op可为‘+’,‘-’,‘*’,‘/’(用switch语句实现)。

#include

main( ) Array {

float data1, data2, result;

char op;

printf(“Please input express (data1 op data2) : ”

scanf(“%f%c%f”, &data1, &op, &data2);

switch (op)

{

case ‘+’: result = data1 + data2; break;

case ‘-’: result = data1 - data2; break;

case ‘*’: result = data1 * data2; break;

case ‘/’: result = data1 / data2; break;

default: printf(“Input error!”); exit(0);

}

Printf(“%g%c%g=%g”

}

3、试编程判断输入的正数是否既是5又是7的倍数。若是,则输出yes,否则输出no。

#include

main( )

{

int x ;

printf(“Please input x”);

scanf(“%d”, &x);

if(x >=0)

if(x %5= =0&& x %7= =0)

printf("yes");

else

printf("no");

else

printf(“Input data error!”);

4、

#include

main( )

{

float x, y ;

printf(“Please input x:”);

scanf(“%f”, &x);

if (x < 1)

y = x;

else if (x < 10)

y = 2 * x - 11;

else

y = 3 * x -11;

printf (“y=%g”, y);

}

5、

#include

main( )

{

char grade ;

float score;

printf(“POlease input grade:”);

scanf(“%c”, &grade);

switch (grade)

{

case ‘A’: case ‘a’: score = 95;break;

case ‘B’: case ‘b’: score = 85;break;

case ‘C’: case ‘c’: score = 75;break;

case ‘D’: case ‘d’: score = 65;break;

case ‘E’: case ‘e’: score = 50;break;

default: printf(“Input error!”); exit(0);

}

printf (“score=%f”, score);

}

第6章循环结构

一、判断题

1、错误

2、正确

3、正确

4、错误

5、正确

二、单项选择题

1、A

2、C

3、A

4、D

5、B

6、B

7、A

8、D

9、A 10、D

11、C 12、B 13、C 14、AC

三、写结果题

1、8,20

2、2581114

3、8

4、8

5、a=16 y=60

6、7 4

7、6 8、a=41 9、10、2,3 * #

1、①c!=’#’②c>=’0’ && c<=’9’

2、①t=t*i ②t=-t/i

3、①i<10 ②10*i+5

4、①i

5、①inword=0②inword=1

五、编程题

1、

#include

main( )

{

float max, min, score, average;

int i;

printf(“Please input score:”);

scanf(“%f”, &score);

max = min = average = score;

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

{

printf(“Please input score:”);

scanf(“%f”, &score);

if (score < min ) min =score;

if (score > max ) max =score;

average + = score;

}

average /= 35.0;

printf(“max=%g,min=%g,average=%g”, max,. min, average);

}

2、

#include

main( )

{

int a, b, r, temp;

printf(“Please input a,b”);

scanf(“%d,%d”, &a, &b);

while ( a<=0 || b<=0)

{

printf(“Try again: ”);

scanf(“%d,%d”, &a, &b);

}

if (a < b)

{ r = a; a = b; b = r;}

temp = a * b;

while (b != 0)

{

r = a % b; a = b ; b = r;

}

printf(“最大公约数=%d, 最小公倍数=%d”, a , temp / a);

}

第7章数组

一、单项选择题

1、C

2、D

3、C

4、C

5、C

6、C

7、D

8、D

9、C 10、B

11、C 12、B 13、C 14、D 15、A

二、写结果题 1、3 2、he 3、AHaMA 4、How does she 5、 三、程序填空题

1、①a[9]=x ②i<9

2、①k=i ② k != i

3、① x !=0 ② t+’0’

4、①strlen(t) ② t[k] = = c

5、①b[j]!=’\0’ ② a[i]=’\0’

四、编程题

1、

#include

#define N 10

main( )

{

int a[N], temp, i;

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

{ printf(“Please input NO %d:”, i+1);

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

}

for (i = 0 ; i <= N/2 -1; i++)

{ temp = a[i];a[i]=a[N-i-1];a[N-i-1]=temp; }

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

printf(“%3d ”, a[i]);

}

2、输出杨辉三角形前十行。

#include

#define N 10

main( )

{

int a[N][N];

int i, j;

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

{

a[i][i] = 1;

a[i][0] = 1;

}

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

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

a[i][j]=a[i-1][j-1]+a[i-1][j];

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

{

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

printf(“%5d ”, a[i][j]);

printf(”\n ”);

}

FGH KL

第8章 函数

一、单项选择题

1、D 中加一句z=x+y;

2、选D(题不严密)

3、D

4、A

5、B

6、D

7、B 8、A 9、B 10、D 11、A 12、A 13、B 14、CD 15、A 二、写结果题

1、8

2、4

3、

4、5 三、程序填空题

1、①float fun(float a, float b); 或float fun(float , float ); ②x+y, x-y

③z+y, z-y

2、①i <= 10 ② array[i-1] ③ return avgr

3、①j=num-1 ② array[i]< array[i+1]

4、①t*i ② s+factor(k)

5、① l>h ② s, l+1, h-1

四、编程题

1、

int prime(int x)

{

int i;

int flag=1;

for(i=2;i

if (x%i ==0)

{ flag=0;

break;

}

return(flag);

}

main()

{

int x, y;

printf(“Please input x:”);

scanf(“%d ”, &x);

y=prime(x);

if (y==1)

printf("%d is prime!", x);

else

printf("%d is not prime!", x);

}

2、

#include

long fun(char str[]);

main()

i=5

i=2

i=2

i=4

i=2

char datastring[10];

long data;

printf(“Please input data string:”);

scanf(“%s ”, datastring);

data=fun(datastring);

printf("output number\n");

printf("%ld", data);

}

long fun(char str[])

{

int i;

long data;

data=0;

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

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

return data;

}

第9章 编译预处理

一、单项选择题

1、C

2、B

3、D

4、D

5、B

6、B

7、D

8、D

二、判断题

1、错误

2、正确

3、正确

4、正确

5、错误

6、正确

三、编程题

1、求面积

#include

#include

#define S(a,b,c) (( (a)+(b)+(c) ) /2.0 )

#define AREA(a,b,c) sqrt(S(a,b,c)*( S(a,b,c)-a) *( S(a,b,c)-b) *( S(a,b,c)-c))

main( )

{

double a, b, c, area;

printf(“Please input a,b,c:”);

scanf (“%lf, %lf, %lf”, &a, &b, &c);

area=AREA(a,b,c);

printf(“area=%lg”,are a);

}

第10章 指针

一、单项选择题

1、B

2、B

3、D (??)

4、D

5、B

6、C

7、D

8、B 9、CD 10、D 11、B 12、C 13、D 14、D 15、C 16、B

17、A 18、D 二、写结果题 1、19 2、60 3、 4、49 5、GOOGLE 6、-2 7、Excute right! 8、xyzabc

9、4321

3 5 5 3

1、①*max=i ②a,7, &max, &min

2、①*p!=’\0’②*p-‘0’③j-->0

3、①s+n-1或p1+n-1 ②p2--

4、①s1++②*s2③s1=p或puts(p)或return

5、①*q ②str[k]或*(str+k)

四、编程题

1、

#include

void swap(int *p1,int *p2)

{

int t;

t= *p1;*p1=*p2;*p2=t;

}

main()

{

int a, b;

printf(“Please input a,b:”);

scanf(“%d,%d”, &a, &b);

swap(&a,&b);

printf(“a=%d,b=%d”,a,b);

}

2、

#include

int strlength(char *p)

{

char *s=p;

while(*p) p++;

return p-s;

}

main()

{

char str[81];

printf(“Please input string:”);

gets(str);

printf(“length=%d”,strlength(str));

}

第11章结构体和共用体

一、单项选择题

1、A

2、A

3、D

4、D

5、A

6、D

7、D

8、D

9、C 10、B

11、B 12、C 13、A(不严密)

二、写结果题

1、Zhao

2、7,3

3、9

三、程序填空题

1、①p->link ②p!=NULL或p

四、编程题

#include

#define N 5

struct student

{

long num;

char name[20];

float score[3];

};

void input(struct student w[], int n);

void output(struct student w[], int n);

main()

{

struct student st[N];

int n;

printf("Please input the number of worker(<10):");

scanf("%d", &n);

input(st, n);

output(st, n);

}

void input(struct student w[], int n)

{

int i, j;

float temp;

for(i=0;i

{

printf("Please input NO %d\n", i+1);

printf("Num:");

scanf("%ld",&w[i].num);

getchar();

printf("name:");

gets(w[i].name);

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

{

printf(“Score[%d]=”, j);

scanf("%f",& temp );

w[i].score[j] = temp;

}

}

}

void output(struct student w[], int n)

{

int i, j;

for(i=0;i

{

printf("Num:");

printf("%ld",w[i].num);

printf("\nname:");

puts(w[i].name);

printf("score:");

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

printf("%g ", w[i].score[j]);

}

}

第12章 位运算

一、单项选择题

1、C

2、B

3、D

4、B

5、0x13(无答案)

6、A

7、A

8、B

二、写结果题 1、108,-2 2、0 3、a=89 4、 第13章 文件

一、单项选择题

1、A

2、D

3、B

4、B

5、A

6、A

7、C

8、C

9、A 10、D 二、程序填空题

1、①fgetc(fp) ②count++

2、①fname

3、①EOF ②ch, stdout

4、①f2=fopen(argv[2] ②fgetc(f1),f2

5、① ”stu_list ”, ”wb ” ②&stud[i],sizeof(struct student_type),1

三、编程题

1、

#include

main()

{

FILE *fp;

char str[255];

int i ;

if ((fp=fopen(“d:\\test.txt ”,”r ”))==NULL)

{

printf(“Open error!”);

exit(0);

}

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

{

fgets(str,255,fp);

printf(“%s ”, str);

}

fclose(fp);

x=11 y=17 z=11

2、

#include

main(int argc , char *argv[])

{

FILE *fp1,*fp2;

if(argc!=3)

{

printf("you forgot to enter a filename\n");

exit(0);

}

if ((fp1=fopen(argv[1],”r”))==NULL)

{

printf(“Open argument1 file error!”);

exit(0);

}

if ((fp2=fopen(argv[2],”a”))==NULL)

{

printf(“Open argument2 file error!”);

exit(0);

}

while (!feof(fp1))

fputc(fgetc(fp1),fp2);

fclose(fp1);

fclose(fp2);

}

3、将指定的文本文件中的小写字母改为大写字母。

#include

main()

{

FILE *fp;

char filename[81];

char ch;

long pos;

printf("Please input filename:");

gets(filename);

if ((fp=fopen(filename,"r+"))==NULL)

{

printf("Open error!");

exit(0);

}

pos=0;

while (!feof(fp))

{

ch=fgetc(fp);

if (ch>='a' && ch<='z')

{

ch = ch -32;

fseek(fp,pos,0);

fputc(ch,fp);

}

pos++;

}

fclose(fp);

}

4、将100~200之间的素数保存到A盘根目录的“test.txt”文本文件中。(每行存5个数,每个数占10列)

include

main()

{

FILE *fp;

char str[255];

int i, j, count; ;

if ((fp=fopen("a:\\test.txt","w"))==NULL)

{

printf("Open error!");

exit(0);

}

count = 0;

for ( i = 100;i<=200; i++)

{

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

if (i % j == 0)

break;

if (j == i )

{

count++;

fprintf(fp,"%10d", i);

if (count % 5 ==0 )

fprintf(fp,"%c", '\n');

}

}

fclose(fp);

}

5、将平均成绩不及格的学生数据保存到A盘的根目录的文件“stud.dat”中。

#include

#define N 50

struct student

long num;

char name[20];

float score[3];

float average;

};

void input(struct student w[], int n);

void save(struct student w[], int n);

main()

{

struct student st[N];

int n;

printf("Please input the number of worker(<10):");

scanf("%d", &n);

input(st, n);

save(st, n);

}

void input(struct student w[], int n)

{

int i, j;

float temp;

for(i=0;i

{

printf("Please input NO %d\n", i+1);

printf("Num:");

scanf("%ld",&w[i].num);

getchar();

printf("name:");

gets(w[i].name);

w[i].average = 0;

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

{

printf("Score[%d]=", j);

scanf("%f",& temp );

w[i].score[j] = temp;

w[i].average= w[i].average+ w[i].score[j];

}

w[i].average = w[i].average / 3.0;

}

}

void save(struct student w[], int n)

{

FILE *fp;

int i;

if ((fp=fopen("a:\\stud.dat","wb"))==NULL)

printf("Open error!");

exit(0);

}

for(i=0;i

{

if (w[i].average < 60)

fwrite(&w[i],sizeof(struct student),1,fp);

}

fclose(fp);

}

第二部分综合练习与提高

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

一、单项选择题

1-5 CABCD 6-10 BDBBC 11 B

二、填空题

1、(3*a*e)/(b*c)

2、3.5

3、x*x*x*x*x*x-2*x*x*x*x*x+3*x*x*x*x+4*x*x*x-5*x*x+6*x+7

第4章最简单的C程序设计

一、单项选择题

1-4 BCDB

二、填空题

1、a=3 b=7

8.5 71.82

A a

2、a=12345,b=-198.34□□□,c=□□6.5(□表示空格)

3、a=2, b=-1

4、3 3

第5章逻辑运算和判断选择结构

一、单项选择题

1-5 DACBA 6-10 DBBBA 11-14 DBCA

二、读程序写结果

1、0

2、1 0

3、2

4、a=-1

5、*&

三、程序填空题

1、x

2、c

3、x>2&&x<=10 x>-1&&x<=2

4、x= =a || x= =-a x>-a && x

5、a= =0 disc<0

6、(y%4= =0)&&(y%100!=0) f=0

7、x<0 x/10 x<40

四、编程题

1、# include

void main()

{ int n=0;

float score=0, max, min, sum=0, average=0;

printf("input NO.%d score: ", ++n);

scanf("%f",&score);

max=min=score;

while( n<=3 )

{

if(score>max) max=score;

if(score

sum+=score;

printf("input NO.%d score: ", n++);

scanf("%f", &score);

}

average=sum/3;

printf("max=%.1f, min=%.1f, average=%.1f\n", max, min, average);

}

2、教材P98 例5.2

3、4 教材P111-112 习题5.6 5.7

第6章循环控制

一、判断题

1-5 √×√××

二、单项选择题

1-5 DCCDD 6-10 AABBA 11-13 CCB

三、读程序写结果

1、y=-1

2、m=1

3、36

4、a=-5

5、1.600000

6、8

7、*#*#*#$ 8、8 9、8,-2 10、4 11、1

四、程序填空题

1、a!=0或a

2、i=1, m=0 a%i= =0

3、100-5*i-j*2 l%5= =0

4、i%3= =2&& i%5= =3&& i%7= =2 j=j+1

5、n/10-i*10 n= =i*i*i+j*j*j+k*k*k

6、m%n n w

五、编程题

1、# include

void main( )

{

int i, a=0, b=0, c=0, d=0, e=0;

char grade;

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

{ printf(“Input NO.%d grade: ”, i);

scanf("%c ",&grade);

switch(grade)

{ case 'A': a++;break;

case 'B': b++;break;

case 'C': c++;break;

case 'D': d++;break;

case 'E': e++;

}

}

printf("A=%c B=%c C=%c D=%c E=%c \n", a, b, c, d, e);

}

2、#include

void main()

{

int m,k,i,n=0;

for(m=1;m<=100;m++)

{ k=sqrt(m);

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

if(m%i= =0) break;

if(i>=k+1)

{ printf("%6d",m); /*每个数占6个字符的宽度*/

n=n+1;

}

if(n%5= =0) printf("\n"); /*每5个数就换一行*/

}

printf("\n");

}

第7章数组

一、单项选择题

1-5 BDBDB 6-10 DCADB 11-15 CDDD

二、读程序写结果

1、aabcd

2、fi

3、count[0]=6, count[1]=11

4、GDABC

5、LBLMNP

6、7078

9198

三、程序填空题

1、m<9 i = 0

2、&num[i][j] num[i][j]!= num[j][i]

3、完整程序如下

#include

void main()

{ int a[3][2]={2,10,9,4,5,119},b[2][2]={-1,-2,-3,-4};

int i,j,k,s,c[3][2];

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

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

{ s=0;

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

s+=a[i][k]*b[k][j];

c[i][j]=s;

}

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

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

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

printf("\n");

}

}

4、完整程序如下

{ int a[10]={191,3,6,4,11,7,25,13,89,10};

int i,j,k;

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

k=a[i];

j=i-1;

while(j>=0&&k

a[j+1]=a[j];

j--;

}

a[j+1]=k;

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

5、50 c= = t[k]

四、编程题

1、#include

void main()

{ char s1[80],s2[40];

int i=0,j=0,n=-1,result;

char c;

printf("input s1:");

gets(s1);

printf("以下为求s1的长度\n");

while(s1[i]!='\0') i++;

printf("s1长度为:%d\n\n",i);

printf("以下为将s1赋值给s2\n");

i=0;

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

{ s2[i]=s1[i];

i++;

}

s2[i]='\0';

puts(s2);

printf("\n");

printf("以下为连接s1和s2\n");

i=0;

printf("input s1:");

gets(s1);

printf("input s2:");

gets(s2);

while(s1[i]!='\0') i++;

while(s2[j]!='\0')

s1[i++]=s2[j++];

puts(s1);

printf("\n");

printf("以下为在s1中搜索字符\n");

i=0;

printf("input s1:");

gets(s1);

printf("input a charactor:");

c=getchar();

getchar();

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

{ if(s1[i]==c)

{ n=i;

break;

}

i++;

}

printf("字符在字符串中的下标位置为:%d\n\n",n);

printf("以下为比较两个字符串\n");

i=0;

printf("input s1:");

gets(s1);

printf("input s2:");

gets(s2);

while((s1[i]==s2[i])&&(s1[i]!='\0')) i++;

if(s1[i]=='\0'&&s2[i]=='\0') result=0;

else result=s1[i]-s2[i];

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

}

第8章函数

一、BBABA CBCDA D

二、

1. 0 2 4 6 8 10 12 14 16 18

0 2 4 6 8 10 12 14 16 18

2. -125=-5*5*5

3. 4 3

4. 3 5 7

1 5 9

5. 8,17

三、1. p++ a[i-1=a[i];

2.(a%i==0)&&(b%i==0) (m*n)/max

3. n++ flag=-1

C语言上机报告答案

2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() { printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。答案: #include main() { int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y);

x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a 赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 3、编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7 a/c的商=3 a/b的余数=10 a/c的余数=15 4. 编译、连接无错,运行后屏幕上显示以下结果: c =-10 实验二顺序结构程序设计 四、程序清单 1.键盘输入与屏幕输出练习 问题1 D 。 问题2 改printf("%c,%c,%d\n",a,b,c);这条语句 改成:printf("%c %c %d\n",a,b,c);

西工大C语言上机考试题库

1:2:3 #include #include int main() { int i=0,j=0,k=0,a=0,b=0,c=0,l=0,m=0,n=0,d=0,p=0,q=0; for(i=1;i<=3;i++) { for(j=1;j<=9;j++) { if(i!=j) { for(k=1;k<=9;k++) { if(k!=j&&i!=k) { a=i*100+j*10+k; b=a*2; c=a*3; l=b%10,d=c%10; m=(b%100)/10,p=(c%100)/10; n=b/100,q=c/100; if(l!=0&&m!=0&&n!=0&&d!=0&&p!=0&&q!=0) if(i!=l&&i!=m&&i!=n&&j!=l&&j!=m&&j!=n&&k!=l&&k!=m&&k!=n) if(i!=d&&i!=p&&i!=q&&j!=d&&j!=p&&j!=q&&k!=d&&k!=p&&k!=q) if(l!=d&&l!=p&&l!=q&&m!=d&&m!=p&&m!=q&&n!=d&&n!=p&&n!=q) printf("%d %d %d\n",a,b,c); } }

} } } return 0; } 8 #include"stdio.h" int main() { int a,b[10],m=0,n=0,p; int i,j,k; scanf("%d",&a); for(i=1;i<=a;i++) { m=0; n=0; p=i; for(j=0;p!=0;j++) { b[j]=p%10; p=p/10; } for(k=0;k

C语言程序设计实验报告(实验大纲+过程)

《C程序设计》实验教学大纲 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分:4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握 C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。

2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。 九、实验项目 实验一C程序的运行环境和运行一个C程序的方法 一、实验目的 1.了解Visual C++6.0编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.用编辑程序,输入教材第一章例1.1程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的? 2.编写一个C程序,输出以下信息: **************************** very good! **************************** 3.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。 实验二数据类型、运算符和表达式 一、实验目的 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 二、实验内容 1.输入并运行以下程序: main( ) { char c1,c2; c1=97;c2=98; pr intf(“%c %c\n”,c1,c2); printf(“%d %d\n”,c1,c2); } 在此基础上 ①将第三行、第四行改为: c1=321;c2=353; 再使之运行,分析其运行结果。 ②将第二行改为: int c1,c2; 再使之运行,分析其运行结果。。 2.输入并运行以下程序:

C语言上机题库百科园第2章!南信大!

第二章 若有数学式3ae bc,则不正确的C语言表达式是() A.3*a*e/b*c B.a/b/c*e*3 C.3*a*e/b/c D.a*e/c/b*3 设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为()。 A.4 B.3 C.2 D.1 下列表达式中,不满足"当x的值为偶数时值为真,为奇数时值为假"的要求的是() A.(x/2*2-x)==0 B.!(x%2) C.!(x%2==0) D.x%2==0 表达式18/4*sqrt(4.0)/8值的数据类型为()。 A.char B.double C.不确定 D.float 在C语言中,要求运算数必须是整型的运算符是( ) A.% B./ C.++ D.!= 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为()。 A.4

C.16 D.52 C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A.必须为下划线 B.必须为字母 C.可以是字母、数字和下划线中的任意一种 D.必须为字母或下划线 若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是( ) A.不知道a的值,不能确定 B.0 C.2 D.1 判断字符型变量c1是否为数字字符的正确表达式为( ) A.(c1>='0')&&(c1<='9') B.(c1>=0)&&(c1<=9) C.('0'>=c1)||('9'<=c1) D.'0'<=c1<='9' 下面四个选项中,均是合法的用户标识符的选项是()。 A._123 temp INT B.A p_o do C.b-a goto int D.float lao _A 以下关于C语言数据类型使用的叙述中错误的是( ) A.若要处理如"人员工资"的相关数据,单精度类型 B.若只处理"真"和"假"两种逻辑值,应使用逻辑类型 C.若要保存带有多位小数的数据,应使用双精度类型 D.若要准确无误差的表示自然数,应使用整数类型 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。 A.7 B.8 C.6 D.2 下面正确的字符常量是()

C语言上机实验[1]

实验四循环结构程序设计(4学时) 一、实验方式:一人一机 二、实验目的: 1、熟练掌握while语句、do-while语句和for语句。 2、练习并掌握循环结构的嵌套形式。 3、掌握循环结构的程序设计方法。 三、实验内容:说明:前四题为必做题目,后两题为选做题目。 1、从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结 束输入。(实验指导书P41) 2、求所有的水仙花数。水仙花数是一个3位数的自然数,该数各位数的立方和等于该数 本身。(实验指导书P42) 3、判断输入的某个数是否为素数。若是,输出YES,否则输出NO。(实验指导书P167) 4、计算π的近似值。公式如下:π/4=1-1/3+1/5-1/7+……,直到最后一项的绝对值小 于10-6为止。(实验指导书P169) 5、计算1!+2!+……+n! 的值,n值由键盘输入。(实验指导书P176) 6、输入10个整数,统计并输出其中正数、负数和零的个数。 四、实验答案:(代码+运行结果截屏) 实验五综合实验1:结构化程序设计(2学时) 一、实验方式:一人一机 二、实验目的: 1、进一步掌握选择结构、循环结构的编程特点。 2、掌握C语言的结构化程序设计思想。 3、学习利用循环结构实现的一些常用算法(如穷举、迭代、递推等)。 三、实验内容:说明:前两题为必做题目,后两题为选做题目。 1、编一程序,对于给定的一个百分制成绩,输出对应A,B,C,D,E表示的的等级成绩。设: 90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。(实验指导书P162) 2、百马百担问题。(实验指导书P45) 3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 4、输出如下图案: * *** ***** ******* ***** *** * 四、实验答案:(代码+运行结果截屏)

C语言上机题库

C语言习题集 3.11输入'A'~'F'中的一个字母,代表一个十六进制数,将其转换为十进制数,求该数与15的和并输出。 输入格式: B 输出格式: 26 #include int main(void) { char ch; int sum; ch=getchar(); sum=ch-'A'+10+15; printf("%d\n",sum); return 0; } 3.12输入三个整数,求其平均值。 输入格式: 3 5 7 输出格式: 5 #include int main(void) { int a,b,c,aver; scanf("%d %d %d",&a,&b,&c); aver=(a+b+c)/3; printf("%d\n",aver); return 0; } 3.13根据c=5/9*(f-32) 公式,输入华氏温度f,求摄氏温度c,结果精确到小数点后两位。 输入格式: 80.0 输出格式: 26.67 #include int main(void) { float f,c; scanf("%f",&f); c=5.0/9*(f-32); printf("%.2f\n",c); return 0; } 3.14输入一个四位正整数,求其各位数字之和。例如,1357的各位数字之和为1 + 3 + 5 + 7 = 16。 输入格式: 1357 输出格式: 16 #include int main(void) { int num; int a,b,c,d,total; scanf("%d",&num); a=num/1000; b=(num-a*1000)/100; c=(num-a*1000-b*100)/10; d=num-a*1000-b*100-c*10; total=a+b+c+d; printf("%d\n",total); return 0; } 3.15输入一大写字母,输出对应的小写字母。 输入格式: A 输出格式: a #include int main(void) { char c1,c2;

C语言 数组 实验题目及答案

实验六数组程序设计 【实验目的】 1、掌握使用一维数组编程方法 2、掌握使用二维数组进行程序设计 【实验内容】 一、上机验证程序,并分析结果 要求:读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。1、#include int main() { int a[ ]={1,2,3,4,5} , i, j, s=0 ; j = 1; for ( i = 4 ; i>=0 ; i--) { s = s+ a[i] * j ; j = j * 10 ; } printf(" s= %d \n" , s ); return 0; } 二、程序改错题 1.下面程序的功能,是从键盘输入一个数组(数组长度为10),查找数组中正数的个数。源代码如下,程序中存在错误,请将其改正。 #include int main()

{ int a(10);/*定义数组*/ int count,i;/* i循环变量 count 正数个数*/ for(i=0;i<=10;i++) {/*循环输入*/ scanf("%d",a[i]); } count=1; for(i=0;i<=10;i++) {/*查找正数*/ if(a(i)>0) count++; } printf("数组中正数有:%d个\n",count); return 0; } 三编写程序 1.编写程序要求输入30个学生的单科成绩,输出高于平均分的成绩。#include #define N 30 int main() { float score[N],sum=0,aver; int i; for(i=0;i<30;i++) { scanf("%f",&score[i]); sum=sum+score[i]; } aver=sum/30; printf("平均分为:%.2f\n",aver); for(i=0;iaver) printf("%.2f ",score[i]); printf("\n");

c语言上机题库 (1)

1、给定n 个数据, 求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。 2、编写程序求无理数e 的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。 3、求一批数中最大值和最小值的积。 4、某一正数的值保留2位小数,对第三位进行四舍 五入。 5、从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x 的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他) 6、求出N ×M 整型数组的最大元素及其所在的行坐标 及列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为: 1 2 3 4 15 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。 7、求一个n 位自然数的各位数字的积。(n 是小于10的 自然数) 8、计算n 门课程的平均值,计算结果作为函数值返回。 例如:若有5门课程的成绩是:92,76,69,58,88, 则函数的值为76.599998。 9、求一批数中小于平均值的数的个数。 10、编写函数判断一个整数m 的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出 100~200之间满足条件的所有数。

11、请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列 中最大元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。 12、编写函数fun用比较法对主程序中用户输入的具有10 个数据的数组a按由大到小排序,并在主程序中输出 排序结果。 13、编写main程序调用函数fact求解从m个元素选n 个元 素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)。 要求:m不能小于n,否则应有容错处理。 说明:函数fact(x)的功能是求x!。 14、找出一批正整数中的最大的偶数。 15、实现两个整数的交换。 例如:给a和b分别输入:60和65,输入为: a=65 b=60 16、将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 17、求一个四位数的各位数字的立方和。 18、求一组数中大于平均值的数的个数。 例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。 19、对任意输入的x,用下式计算并输出y 的值。 5 x<10 y= 0 x=10 -5 x>10 20、求给定正整数m以内的素数之和。 例如:当m=20时,函数值为77。 21、判断整数x是否是同构数。若是同构数,函数返回1; 否则返回0。x的值由主函数从键盘读入,要求不大

2010C语言实验报告参考答案

2010C语言实验报告参考答案

长沙理工大学2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() {

printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include main() { int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y);

x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a;

C语言上机实验题

第六章循环控制 通过本章实验作业应达目标 1.熟悉while、for、do_while、break、continue语句的作用与使用规范。 2.学习并掌握利用while语句、for语句、do_while语句实现循环结构。 3.掌握循环结构和选择结构之间嵌套、多重循环间嵌套的设计方法。 4.进行算法设计训练,能综合所学控制结构语句解决一般问题。 本章必须上交作业 程序6_1.c、6_2.c、6_5.c、6_6.c、6_8.c上传至211.64.135.121/casp。 本章开始,上机实验项目量加大,希望同学们多多自行上机。本章实验项目有余力都可以做一下并上交。 循环程序设计 计算机解决问题都是按指定的顺序执行一系列的动作。按照特定的顺序执行相应的动作来求解问题的过程称为算法。程序中的语句是算法的体现,而算法要解决的是“做什么”和“怎么做”的问题。 计算机程序中指定语句的执行顺序称为“程序控制”。结构化的程序控制包含三种基本结构:顺序结构,选择结构和循环结构。 1. 循环设计 循环是在循环条件为真时反复执行的一组计算机指令,是计算机解题的一个重要结构。循环控制有两种基本方法:计数法和标志法。 1)计数器控制的循环 事先准确地知道循环次数,因此设计一个循环控制变量,由变量值来控制循环次数。每循环一次,循环变量的值会递增(增值通常为1或-1),当其值达到终值时结束循环。 教材例6.2、6.3、6.7都是典型的计数器控制的固定次数次数循环。 2)标志控制的循环 事先不知道准确的循环次数,由某一目标值标记循环的结束。如,教材例6.6中以|t|的值达到标记下限值1e-6作为循环的结束。 循环设计时要注意合理设计循环条件,使得循环不会成为死循环。 2. 算法 程序设计的首要工作是算法设计,离开了算法也就没有了程序。算法,是指完成某一项工作而采取的方法和步骤,具体到程序设计,是对解题过程的准确而完整的描述,并用一种程序设计语言的来实现。 循环主要用来解决程序设计中两类基本的算法:穷举和迭代。 1)穷举 穷举的基本思想是对问题的所有可能状态一一测试,直到找到解或将全部可能状态都测试过为止。穷举是一种重复型算法,其核心是设计循环,在循环体中依次测试。 例:输入两个正整数x和y,求其最大公约数。 main() {int x,y,i,flag; printf("Please input two numbers:"); scanf("%d%d",&x,&y);

C语言上机实验标准答案.doc

实验一上机操作初步 (2 学时 ) 一、实验方式:一人一机 二、实验目的: 1、熟悉 VC++语言的上机环境及上机操作过程。 2、了解如何编辑、编译、连接和运行一个 C 程序。 3、初步了解 C程序的特点。 三、实验内容: 说明:前三题为必做题目,后两题为选做题目。 1、输出入下信息: ( 实验指导书 P79) ************************* Very Good ************************* 2、计算两个整数的和与积。( 实验指导书 P81) 3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。 ( 书 P3) 4、在屏幕上显示一个文字菜单模样的图案: ================================= 1 输入数据 2 修改数据 3 查询数据 4 打印数据 ================================= 5、从键盘上输入两个整数,交换这两个整数。 四、实验步骤与过程: 五、实验调试记录: 六、参考答案: 1、#include <> void main( ) {printf( printf( printf( “ ********************\n “Very Good\n” ); “ ********************\n ” ); ” ); } 2、#include <> void main( ) {int a,b,c,d; printf( “ Please enter a,b: ”);

scanf( “%d,%d” ,&a,&b); c=a+b; d=a*b; printf( “ %d+%d=%d\n” ,a,b,c); printf( “ %d*%d=%d\n” ,a,b,d); } 3、#include <> #include <> void main( ) { double x,s; printf( “ Please input value of x: ”); scanf( “%lf ” ,&x); s=cos(x); printf( “ cos(%lf)=%lf\n ”,x,s); } 4、#include <> void main( ) { printf( “ ==================================\n”); printf( “ 1 输入数据 2 修改数据 \n ”); printf( “ 3 查询数据 4 打印数据 \n ”); printf( “ ===================================\n”); } 5、#include <> void main( ) { int x,y,t; printf( “ Please enter x and y: ”); scanf( “%d%d”,&x,&y); t=x; x=y; y=t; printf( “ After swap:x=%d,y=%d\n ” ,x,y); } 实验二简单的 C程序设计 (4 学时 ) 一、实验方式:一人一机 二、实验目的: 1、掌握 C语言的数据类型。 2、学会使用 C语言的运算符及表达式。 3、掌握不同数据类型的输入输出方法。 三、实验内容: 说明:前四题为必做题目,后两题为选做题目。

c语言上机考试训练题库及答案

上机考试习题集 1.编写程序,一次输入5个学生的3门课成绩,每输入一个学生的3门成绩后,立即统计并输出该学生的总分和平均分。 #include "stdio.h" void main() { int score[5][3], i,j; float sum[5],average[5]; printf("请分别输入三个学生的成绩:\n"); for(i=0;i<5;i++) { sum[i]=0; for(j=0;j<3;j++) {scanf("%d",&score[i][j]); average[i]=0; sum[i]+=score[i][j]; average[i]=sum[i]/5; } } for(i=0;i<5;i++) printf("第%d个学生的总分为:%f,平均成绩为:%f\n",i+1,sum[i],average[i]); } 2 、编写程序,提示用户从键盘输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后在显示器上输出此数,以便验证处理是否正确。 #include #include double rounding(double x,int n); void main() { double x,x1; int n; printf("请输入一个浮点数:\n"); scanf("%lf",&x); printf("请输入给定的小数位:\n"); scanf("%d",&n); x1=rounding(x,n); printf("圆整后的数为:\n%.*lf\n",n,x1); } double rounding(double x,int n)

c语言实验报告1

C语言程序设计报告 日

程序主要内容 任务1. 程序首先随机产生一到十之间的正整数,在屏幕上打印出问题,例如6*7=?然后让学生输入答案,序检查学生输入的答案是否正确,若正确,则“RIGHT”,然后问下一个问题,否则打印“WRONG,PLEASE TRY AGAIN”,然后提示学生重做,直到答对为止。 程序如下: #include #include #include int Magic(int x); int Answer(); main() { int guess,answer,counter=1; do{ printf("%d*%d=",Magic(1),Magic(2)); answer=Magic(1)*Magic(2); if(Answer()==answer) { printf("Right\n"); break; } else printf("Wrong!,please try again\n"); }while(counter>=1); } int Magic(int m)

int x,int y; srand(time(NULL)); x=rand()%10+1; y=rand()%10+1; if(m==1) return x; if(m==2) return y; } int Answer() { int n; scanf("%d",&n); return n; } 任务2:在(1)的基础上,当学生回答错误时,最多给三次重做的机会。 :程序如下: #include #include #include int Magic(int x); int Answer(); int Exam(); main() { int n; n=Exam(); if(n==0) printf("Right\n"); else if(n==1) printf("Wrong!You have tried

c语言上机实验报告 (2)

c语言上机实验报告 (2) 实验六 姓名班级单周上机的那班学号 一 程序源:#include #include void main() { FILE*fp; fp=fopen("E:\\yxf01.text","w"); if(fp==NULL) { printf("文件打不开"); exit(0); } int a,i; printf("请输入一个尾部为0的整数\n"); scanf("%d",&a); while(a%10!=0) { printf("输入值非法,请从新输入!\n"); scanf("%d",&a); }

fprintf(fp,"%d=%d+%d+%d+%d+%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/1 0,a/10,a/10,a/ 10,a/10,a/10,a/10); fprintf(fp,"%d=%d+%d+%d+%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a /10,a/10,a/10,a/ 10,a-8*(a/10)); fprintf(fp,"%d=%d+%d+%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a/10 ,a/10,a/10,a-7*(a /10)); fprintf(fp,"%d=%d+%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a/10,a/ 10,a-6*(a/10)); fprintf(fp,"%d=%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a/10,a- 5*(a/10)); fprintf(fp,"%d=%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a-4*(a/10)); fprintf(fp,"%d=%d+%d+%d+%d\n",a,a/10,a/10,a/10,a-3*(a/10)); fprintf(fp,"%d=%d+%d+%d\n",a,a/10,a/10,a-2*(a/10)); fprintf(fp,"%d=%d+%d\n",a,a/10,a-(a/10)); fclose(fp) } 运行结果:

C语言程序设计_上机实验指导与习题_第三版_(陈湘骥_编著_著)_华南农业大学_参考答案

C语言程序设计上机实验指导与习题 参考答案 (仅供教师内部参考) 华南农业大学

目录 上机实验 (1) 实验 1 C语言程序初步 (1) 一、实验目的 (1) 二、实验内容 (1) 实验2基本数据类型、运算和表达式 (3) 一、实验目的 (3) 二、实验内容 (3) 实验3基本输入与输出 (5) 一、实验目的 (5) 二、实验内容 (5) 实验4选择结构程序设计 (4) 一、实验目的 (4) 二、实验内容 (4) 实验5循环结构程序设计(一) (9) 一、实验目的 (9) 二、实验内容 (9) 实验6循环结构程序设计(二) (15) 一、实验目的 (15) 二、实验内容 (15) 实验7数组 (17) 一、实验目的 (17) 二、实验内容 (17) 实验8字符数组的应用 (22) 一、实验目的 (22) 二、实验内容 (22) 实验9函数的基本应用 (24) 一、实验目的 (24) 二、实验内容 (24) 实验10指针与结构体 (26) 一、实验目的 (26) 二、实验内容 (26) *实验11链表 (29) 一、实验目的 (29) 二、实验内容 (29) *实验12文件 (32) 一、实验目的 (32) 二、实验内容 (32)

上机实验 实验 1 C语言程序初步 一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C程序。 (3)通过运行简单的C程序,初步了解C程序的特点。 (4)在教师的指导下,学会使用JudgeOnline实验系统。 二、实验内容 1. 运行第一个 C 程序 [题目:The first C Program] 将下列程序输入 TC(或 VC++),编译、连接和运行该程序。 void main() { printf("The first C Program\n"); } [具体操作步骤] 以 Turbo C 上的操作为例 (1)Windows 进入后,按照第一章中介绍的方法,进入 Turbo C。 (2)在编辑窗口中输入程序。 (3)保存程序,取名为 a1.c。 (4)按照第一章中介绍的方法,编译、连接和运行程序。 2.在JudgeOnline系统中提交实现了计算a+b功能的程序 [题目 1001:计算 a+b] 由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下, void main() { int a, b; scanf("%d%d", &a, &b); 1

C语言上机综合实验一及答案

1、编制程序,输入n 个整数(n 从键盘输入,n>0),输出它们的偶数和。 2、 编程,输入n 后:输入n 个数,根据下式计算并输出y 值。 3、输入一行字符,统计并输出其中英文字母、数字字符和其他字符的个数。 4、编写程序,输入一个正整数n ,计算并输出下列算式的值。要求定义和调用函数total(n)计算1+1/2+1/3+……+1/n ,函数返回值的类型是double 。 5、输入一个正整数n ,求1+1/2!+1/3!+……1/n!的值,要求定义并调用函数fact(n)计算n 的阶乘,函数返回值的类型是单精度浮点型。 答案: 程序1、 #include void main () { int n,i,x,sum=0; while(scanf("%d",&n),n<=0); printf ("请输入%d 个数:", n); for (i=1; i<=n ;i++) { scanf("%d",&x); if(x%2==0) sum+=x; } printf ("sum=%d", sum) ; } 程序2、 #include #include void main( ) { int i,n; float x,y; scanf(“%d”,&n); for(i=1;i<=n;i++){ scanf(“%f”,&x); if(x<-2) y=x*x-sin(x); else if(x<=2) y=pow(2,x)+x; else y=sqrt(x*x+x+1); printf(“%f \n”,y); } } 程序3、 # include void main( ) { int letter,digit,other; ?????>++≤≤-+-<-=2 12222sin 22x x x x x x x x y x 111111...23n k s k n ===++++∑

2020年全国计算机等级考试二级c语言上机精选题库(共80套)

2020年全国计算机等级考试二级c语言上机精选题库(共80套) 第1套试题 第一题:给定程序中,函数fun的功能是:计算N*N矩阵的主对角元素和反向对角元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。 例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。 请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。 #include #define N 4 fun(int t[][N], int n) { int i, sum; ___1___; for (i=0; i

第二题:下列给定程序中,函数fun 的功能是:根据整型参n ,计算如下公式的值。 ,11=A ,1112A +=A ,1123A +=A … ,1 11-A +=A n n 例如,若n=10,则应输出0.617978。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main 函数,不得增行或删行,也不要更改程序的结构! #include #include /********found********/ fun(int n) { double A = 1; int i; /********found********/ for(i=2;i #include void fun (int a, int b, long *c) { }

C语言上机实验例题

实验一 C语言的运行环境、运行过程和表达式的使用 一、目的与要求 1、了解Dos、Windows环境下C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。 2、了解在该系统上如何编辑、编译、连接和运行一个C程序。 3、通过运行简单的C程序,初步了解C源程序的特点。 4、掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。 5、学会使用C的有关算术运算符,以及包含这些运算符的表达式 二、实验例题 【例1】编程实现在屏幕上显示如下三行文字 Hello, world ! Wolcome to the C language world! Everyone has been waiting for. 在Turbo C的集成环境下,键入如下源文件。敲Alt+F组合键打开File菜单,File菜单中Write to或save as选项可将默认文件名改为任意文件名。程序如下: main() { printf("Hello,World!\n"); printf("Wolcome to the C language world!\n"); printf("Everyone has been waiting for.\n"); } 然后用Ctrl+F9执行,用Alt+F5查看结果,即在屏幕上显示题目要求的三行文字。按回车键重新返回Turbo C的编辑环境。注意,在运行程序之前最好先存盘。 【例2】输入并运行程序,写出运行结果。 main() {

int a,b,sum; a=123;b=456; sum=a+b; printf(“sum is %d\n”,sum); } 运行方法同上,最后结果为:sum is 579。 【例3】 输入并运行程序,写出运行结果。 main() { int a,b,c; int max(int,int); scanf(“%d,%d”,&a,&b); c=max(a,b); printf(“max=%d”,c); } int max(int x,int y) { int z; if (x>y) z=x; else z=y; return(z); } 这个程序的功能是对于任意输入的两个整数,输出较大的那个数。所以程序运行之后,光标将停留在用户屏幕上,等待用户输入两个整数,比如输入“3,5”,回车,在用户屏幕上就会输出“max=5”。 【例4】输入并运行下程序,写出运行结果。 mian() { char c1 , c2;

相关文档
相关文档 最新文档