2022年C语言程序设计题库习集带答案(史上最全版)
《C语言程序设计》试题一
一、填空题
1、C语言中基本的数据类型有: 、 、 。
2、C语言中普通整型变量的类型说明符为 ,在内存中占 字节,有符号普通整型的数据范围是 。
3、整数-35在机内的补码表示为 。
4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是 。
5、有如下语句:char A[ ]={”I am a student”}; 该字符串的长度是 ,A[3]= 。
6、符号”a”和’a’的区别是 。
7、所谓“指针”就是 。
“&”运算符的作用是 。
“*”运算符的作用是 。
8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是 。
二、选择题
1、设整型变量a为5,使b不为2的表达式是( )。
A. b=a/2 B. b=6-(--a) C. b=a%2 D. b=a>3?2:1
2、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与( )组成配对关系。
A. 缩排位置相同的if B. 在其之前未配对的if
C. 在其之前未配对的最近的if D.同一行上的if
3、以下程序的输出结果是( )。
int x=10,y=10;
printf(“%d %d ”,x--,--y);
A. 10 10 B. 9 9 C. 9 10 D. 10 9
4、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。
A.P+i*2 B. P+(i-1)*2 C. P+(i-1) D. P+i
5、选出下列标识符中不是合法的标识符的是( )。
A. hot_do B. cat1 C. _pri D. 2ab
6、以下程序的输出结果是( )。
int a=5;
float x=3.14;
a*=x*(‘E’ - ‘A’);
printf(“%f ”,(float)a);
A. 62.000000 B. 62.800000 C. 63.000000 D. 62
7、设有说明double(*p1)[N];其中标识符p1是( )。
A. N个指向double型变量的指针。
B. 指向N个double型变量的函数指针。
C. 一个指向由N个double型元素组成的一维数组的指针。
D. 具有N个指针元素的一维指针数组,每个元素都只能指向double型量。
8、在C程序中有如下语句:char *func(int x,int y); 它是( )。
A. 对函数func的定义。 B. 对函数func的调用。
C.对函数func的原型说明。 D. 不合法的。
9、以下程序的输出结果是( )。
char str[15]=”hello!”;
printf(“%d ”,strlen(str));
A. 15 B. 14 C. 7 D. 6
10、分析以下程序的输出结果是( )。
main()
{int a=5,b=-1,c;
c=adds(a,b);
printf(“%d”,c);
c=adds(a,b);
printf(“%d ”,c); }
int adds(int x,int y)
{static int m=0,n=3;
n*=++m;
m=n%x+y++;
return(m); }
A. 2,3 B. 2,2 C. 3,2 D. 2,4
11、下列描述中不正确的是( )。
A. 字符型数组中可能存放字符串。
B. 可以对字符型数组进行整体输入、输出。
C. 可以对整型数组进行整体输入、输出。
D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
12、以下程序的输出结果是( )。
#define f(x) x*x
main()
{int a=6,b=2,c;
c=f(a)/f(b);
printf(“%d ”,c);
}
A. 9 B. 6 C. 36 D. 18
13、设有如下定义: int x=10,y=3,z;
则语句printf("%d ",z=(x%y,x/y)); 的输出结果是( )。
A. 1 B. 0 C. 4 D. 3
14、定义如下变量和数组:int i; int x[3][3]={1,2,3,4,5,6,7,8,9};
则语句for(i=0;i<3;i++) printf("%d ",x[i][2-i]); 的输出结果是( )。
A. 1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 9
15、以下对二维数组a进行正确初始化的是( )
A. int a[2][3]={{1,2},{3,4},{5,6}}; B. int a[ ][3]={1,2,3,4,5,6};
C. int a[2][ ]={1,2,3,4,5,6}; D. int a[2][ ]={{1,2},{3,4}};
16、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是( )。
int x;
scanf("%d",&x);
if(x++>5) printf("%d",x);
else printf("%d ",x - -);
A. 7和5 B. 6和3 C. 7和4 D. 6和4
17、设有如下定义: char *aa[2]={"abcd","ABCD"}; 则以下说法中正确的是( )。
A)aa数组成元素的值分别是"abcd"和ABCD"
B)aa是指针变量,它指向含有两个数组元素的字符型一维数组
C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D)aa数组的两个元素中各自存放了字符'a'和'A'的地址
18、下列程序的输出结果是( )。
char *p1="abcd", *p2="ABCD", str[50]="xyz";
strcpy(str+2,strcat(p1+2,p2+1));
printf("%s",str);
A. xyabcAB B. abcABz C. ABabcz D. xycdBCD
19、下列程序的输出结果是( )。
int a[5]={2,4,6,8,10},*P,* *k;
p=a; k=&p;
printf("%d",*(p++));
printf("%d ",* *k);
A. 4 4 B. 2 2 C. 2 4 D. 4 6
20、不能把字符串:Hello!赋给数组b的语句是( )。
A. char b[10]={'H','e','l','l','o','!'}; B. char b[10]; b="Hello!";
C. char b[10]; strcpy(b,"Hello!"); D. char b[10]="Hello!";
三、读程序题
1、float f=3.1415927;
printf(“%f,%5.4f,%3.3f”,f,f,f);
则程序的输出结果是 。
2、int x=6, y=7;
printf(“%d,”,x++);
printf(“%d ”,++y);
程序的输出结果是 。
3、a=3;
a+=(a<1)?a:1;
printf(“%d”,a);
结果是 。
4、for (a=1,b=1;a<=100;a++)
{ if(b>=20) break;
if(b%3==1)
{b+=3; continue;}
b-=5; }
程序的输出结果a的值为 。
5、 int y=1, x, *p, a[ ]={2,4,6,8,10};
p=&a[1];
for(x=0;x<3;x++)
y + = * (p + x);
printf("%d ",y);
程序的输出结果y的值是 。
四、程序填空题
1、从键盘上输入10个数,求其平均值。
main()
{int i;
float f,sum;
for(i=1,sum=0.0;i<11;i++)
{ ;
; }
printf(“average=%f ”,sum/10); }
2、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。
#include <stdio.h>
main()
{ FILE *fp;
char c;
fp= ;
do{
c=getchar();
fputs(c,fp);
}while(c!=EOF);
}
3、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空.
main()
{ float x,amax,amin;
scanf("%f",&x);
amax=x; amin=x;
while( )
{ if(x>amax) amax=x;
if( ) amin=x;
scanf("%f",&x); }
printf(" amax=%f amin=%f ",amax,amin); }
五、编程题
1.三个整数a、b、c,由键盘输入,输出其中最大的一个数。
2.输出1900~2000年中所有的闰年。每输出3个年号换一行。(判断闰年的条件为下面二者之一:能被4整除,但不能被100整除。或者能被400整除。)
3.请编一个函数int fun(int a),它的功能是:判断a是否是素数,若a是素数,返回1;若不是素数,返回0。A的值由主函数从键盘读入。
4.有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。
《C语言程序设计》试题一答案
一、填空题
(1)整型、实型、字符型。 (2) int , 2 , -32768~ +32767
(3) 1111111111011101 (4) - 112 (5)14,’m’
(6) ”a”是字符串常量,而’a’是字符常量。
(7) 存放地址值的变量或常量,或者答地址。
(8)取运算对象的地址。 取指针变量所指的内容。 (9) a=1,b=3,c=2
二、选择题
1、C 2、C 3、D 4、B 5、D
6、A 7、C 8、C 9、D 10、A
11、C 12、C 13、D 14、C 15、B
16、C 17、D 18、D 19、C 20、B
三、阅读程序题
(1) 3.141593,3.1416,3.142 (2) 6,8 (3) 4 (4) 22 (5) 19
四、程序填空题
1、scanf(“%f”,&f); sum+=f;
2、fopen(“myfile”,w) fclose(fp);
3、x>=0.0 x<=amin
五、编程题
1、main()
{int a,b,c;
printf(“请输入三个整数:”);
scanf(“%d,%d,%d”,&a,&b,&c);
if(a<b)
if(b<c) printf(“max=%d ”,c);
else printf(“max=%d ”,b);
else if(a<c) printf(“max=%d ”,c);
else printf(“max=%d ”,a); }
2、#include”stdio.h”
main()
{int I,n;
for(n=0,I=1900;I<=2000;I++)
{if(I%4==0&&I%100!=0||I%400==0)
{printf(“%d ”,I); n++; }
if(n%3==0)
printf(“ ”); } } }
3、#include”stdio.h”
int fun(int a)
{int I;
if(a==2) return 1; I=2;
while((a%I)!=0&&I<=sqrt((float)a))
I++;
if(a%I==0)
{printf(“%d is not a prime!”,a);
return 0; }
printf(“%d is a prime!”,a);
return 1; }
main()
{int x;
printf(“ please enter a number:”);
scanf(“%d”,&x);
printf(“%d ”,fun(x)); }
4、#include"stdio.h"
#define N 3
struct student
{long stu_num; char sex;
char name[15]; int score[4];
float average; };
main()
{int I,j,index; float sum,max;
struct student stuarr[N];
for(I=0;I<N;I++)
{printf("please input %d student information: ",I+1);
scanf("%ld,%c,%s",&stuarr[I].stu_num,&stuarr[I].sex,stuarr[I].name);
for(j=0;j<4;j++)
scanf("%d",&stuarr[I].score[j]); }
for(I=0;I<N;I++)
{sum=0.0;
for(j=0;j<4;j++)
sum+=stuarr[I].score[j];
stuarr[I].average=sum/4.0; }
max=stuarr[0].average;
index=0;
for(I=1;I<N;I++)
if(stuarr[I].average>max)
{max=stuarr[I].average;
index=I; }
printf("总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1f ",stuarr[index].stu_num,stuarr[index].sex,stuarr[index].name,stuarr[index].average);
《C语言程序设计》试题二
一、填空题
1、C语言中普通整型变量的类型说明符为 ,在内存中占 字节,有符号普通整型的数据范围是 。
2、C语言中基本的数据类型有: 、 、 。
3、设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是 。
4、共用体和结构体的定义格式类似,不同点是 。
5、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是 。
6、有语句:char A[ ]={”I am a student”};该字符串的长度是 ,A[3]= 。
7、符号”a”和’a’的区别 。
8、下列程序的输出结果是 。
int ast(int x,int y,int * cp,int * dp)
{ *cp=x+y; *dp=x-y; }
main()
{ int a=4,b=3,c,d;
ast(a,b,&c,&d);
printf("%d,%d/n",c,d); }
二、选择题
1、以下选项中属于C语言的数据类型是( )。
A. 复合型 B. 双精度型 C. 逻辑型 D. 集合型
2、以下说法中正确的是( )。
A. C语言程序总是从第一个的函数开始执行
B. 在C语言程序中,要调用的函数必须在main()函数中定义
C. C语言程序总是从main()函数开始执行
D. C语言程序中的main()函数必须放在程序的开始部分
3、选出下列标识符中不是合法的标识符的是( )。
A. hot_do B. cat1 C. _pri D. 2ab
4、下列描述中不正确的是( )。
A.字符型数组中可能存放字符串。
B.可以对字符型数组进行整体输入、输出。
C.可以对整型数组进行整体输入、输出。
D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
5、若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为( )。
A. p+1 B. a+1 C. a++ D. ++p
6、设有如下定义: int x=10,y=3,z;
则语句printf("%d ",z=(x%y,x/y)); 的输出结果是( )。
A. 1 B. 0 C. 4 D. 3
7、定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句
for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是( )
A. 1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 9
8、读出以下语句的输出结果是( )。
int x=10,y=10;
printf(“%d %d ”,x--,--y);
A. 10 10 B. 9 9 C. 9 10 D. 10 9
9、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是( )。
if(x++>5) printf("%d",x);
else printf("%d ",x - -);
A. 7和5 B. 6和3 C. 7和4 D. 6和4
10、设有如下定义:char *aa[2]={"abcd","ABCD"};则以下说法中正确的是( )。
A)aa数组成元素的值分别是"abcd"和ABCD"
B)aa是指针变量,它指向含有两个数组元素的字符型一维数组
C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D)aa数组的两个元素中各自存放了字符'a'和'A'的地址
11、以下语句的输出结果是( )。
int a=-1,b=4,k;
k=(+ +a<0)&&!(b - -<=0);
printf("%d,%d,%d ",k,a,b);
A. 1,0,4 B. 1,0,3 C. 0,0,3 D. 0,0,4
12、下列程序的输出结果是( )。
char *p1="abcd", *p2="ABCD", str[50]="xyz";
strcpy(str+2,strcat(p1+2,p2+1));
printf("%s",str);
A. xyabcAB B. abcABz C. ABabcz D. xycdBCD
13、执行下面的程序后,a的值是( )。
#define SQR(X) X*X
main( )
{ int a=10,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
printf("%d ",a); }
A. 10 B. 1 C. 9 D. 0
14、14、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。
A.P+i*2 B. P+(i-1)*2 C. P+(i-1) D. P+i
15、下列程序执行后输出的结果是( )。
int d=1;
fun (int p)
{ int d=5;
d + =p + +;
printf("%d,",d); }
main( )
{ int a=3;
fun(a);
d + = a + +;
printf("%d ",d); }
A. 8, 4 B. 9, 6 C. 9, 4 D. 8, 5
16、表达式:10!=9的值是( )。
A. true B. 非零值 C. 0 D. 1
17、若有说明: int i,j=7, *p=&i;, 则与i=j; 等价的语句是( )。
A. i= *p; B. *p=*&j; C. i=&j; D. i=* *p;
18、不能把字符串:Hello!赋给数组b的语句是( )。
A. char b[10]={'H','e','l','l','o','!'}; B. char b[10]; b="Hello!";
C. char b[10]; strcpy(b,"Hello!"); D.char b[10]="Hello!";
19、在C程序中有如下语句:char *func(int x,int y); 它是( )。
A. 对函数func的定义。 B. 对函数func的调用。
C.对函数func的原型说明。 D. 不合法的。
20、以下程序的输出结果是( )。
char str[15]=”hello!”;
printf(“%d ”,strlen(str));
A. 15 B. 14 C. 7 D. 6
三、阅读程序题
1、int x=6, y=7;
printf(“%d,”,x++); printf(“%d ”,++y);
程序的输出结果是 。
2、float f=3.1415927;
printf(“%f,%5.4f,%3.3f”,f,f,f);
则程序的输出结果是 。
3、a=3;
a+=(a<1)?a:1; printf(“%d”,a);
结果是 。
4、main( )
{ int a[5]={2,4,6,8,10},*P,* *k;
p=a; k=&p;
printf("%d,",*(p++));
printf("%d ",* *k); }
程序的输出结果是 。
5、 main()
{int a,b;
for (a=1,b=1;a<=100;a++)
{ if(b>=20) break;
if(b%3==1)
{b+=3; continue; }
b-=5; } }
程序的输出结果a的值为 。
四、程序填空题
1、求主次对角线之和。
main()
{static int a[ ][3]={9,7,5,1,2,4,6,8};
int I,j,s1=0,s2=0;
for(I=0;I<3;I++)
for(j=0;j<3;j++)
{if( )
s1=s1+a[I][j];
if( )
s2=s2+a[I][j];
}
printf(“%d %d ”,s1,s2);
}
2、从键盘上输入10个数,求其平均值。
main()
{int i;
float f,sum;
for(i=1,sum=0.0;i<11;i++)
{ ;
;
}
printf(“average=%f ”,sum/10);
}
2 3、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。
#include <stdio.h>
main()
{
FILE *fp;
char c;
fp= ;
do
{
c=getchar();
fputs(c,fp);
}while(c!=EOF);
; ;
}
五、编程题
1、三个整数a、b、c,由键盘输入,输出其中最大的数。
2、从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印“not exist”。
3、有一个一维数组,内放10个学生成绩,写一个函数,求出平均分。
4、有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。
《C语言程序设计》试题二答案
一、填空题
1、int ,2个字节,-32768~ +32767 。
2、整型、实型、字符型。 3、- 4。
4 4、结构体的成员占有各自不同的空间,而共用体的各成员放到同一存储空间。
5、a=1,b=3,c=2
7、”a”是字符串常量,而’a’是字符常量。 8、7,1 。
二、选择题
1、B 2、C 3、D 4、C 5、C
6、D 7、C 8、D 9、C 10、D
11、D 12、D 13、B 14、B 15、A
16、D 17、B 18、B 19、C 20、D
三、阅读程序题
(1) 6,8 (2) 3.141593,3.1416,3.142 (3) 4 (4) 2,4 (5) 8
四、程序填空题
1、I==j I+j==2 2、scanf(“%f”,&f); sum+=f;
3、fopen(“myfile”,w) fclose(fp);
五、编程题
1、main()
{ int a,b,c;
printf(“请输入三个整数:”); scanf(“%d,%d,%d”,&a,&b,&c);
if(a<b)
if(b<c) printf(“max=%d ”,c);
else printf(“max=%d ”,b);
else if(a<c) printf(“max=%d ”,c);
else printf(“max=%d ”,a); }
2、#include”stdio.h”
main()
{ int I,a;
for(I=1;I<=10;I++)
{ scanf(“%d”,&a);
{ if(a%7==0)
printf(“%d”,a); break; } }
if(I==11)
printf(“not exist”); }
3、float average(float array[ ],int n)
{ int I;
float aver,sum=array[0];
for(I=1;I<n;I++)
sum=sum+array[I];
aver=sum/n;
return(aver); }
main()
{ float ave,score[10];
int I;
for(I=0;I<10;I++)
scanf("%f",&score[I]);
ave=average(score,10);
printf("%f ",ave); }
4、 #include"stdio.h"
#define N 3
struct student
{ long stu_num;
char sex;
char name[15];
int score[4];
float average; };
main()
{ int I,j,index;
float sum,max;
struct student stuarr[N];
for(I=0;I<N;I++)
{ printf("please input %d student information: ",I+1);
scanf("%ld,%c,%s",&stuarr[I].stu_num,&stuarr[I].sex,stuarr[I].name);
for(j=0;j<4;j++)
scanf("%d",&stuarr[I].score[j]); }
for(I=0;I<N;I++)
{ sum=0.0;
for(j=0;j<4;j++)
sum+=stuarr[I].score[j];
stuarr[I].average=sum/4.0; }
max=stuarr[0].average;
index=0;
for(I=1;I<N;I++)
if(stuarr[I].average>max)
{max=stuarr[I].average; index=I; }
printf("总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1f ",stuarr[index].stu_num,stuarr[index].sex,stuarr[index].name,stuarr[index].average); }
《C语言程序设计》试题三
一.单项选择题
1. 设int x=1,y=1;表达式(!x++ || y--)的值是_________
A.0 B. 1 C. 2 D.-1
2.main( )
{ int n;
( n=6*4,n+6),n*2;
printf(“n=%d ”,n);
} 此程序的输出结果是______________.
A.30 B. 24 C. 60 D. 48
3.若有如下定义,则__________是对数组元素的正确的引用。
int a[10] , *p ;
p=a ; p=a ; p=a ; p=a ;
A. *&a[10] B. a[11] C. *(p+10) D. *p
4.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________
A. 0 B. 4 C. - 4 D. 2
5.以下不能正确定义二维数组的语句是___________
A . int a[2][2]={{1},{2}}; B. int a[][2]={1,2,3,4};
C. int a[2][2]={{1},2,3}; D. int a[2][]={{1,2},{3,4}};
6. 程序段 的功能是将变量 u 、s中的最大值赋给变量t 。
A. if(u>s) t=u;t=s; B. t=u; if(t ) t=s;
C. if(u>s) t=s;else t=u; D . t=s; if(u ) t=u;
7.下列程序段的输出结果是 。
void main()
{ int k;
for (k=1;k<5;k++〉
{ if(k%2!=0)
printf("#");
else
printf(“*”) ; }
}
A. #*#* B . *#*# C. ## D. 以上都不对
8.设变量定义为 int a[3]={1,4,7},*p=&a[2], 则*p的值是 (35) 。
A. &a[2] B. 4 C. 7 D. 1
9.能正确表示a和b同时为正或同时为负的逻辑表达式是_________。
A.a>=0||b>=0)&&(a<0 ||b<0) B.(a>=0 && b>=0)&&(a<0 && b<0)
C.(a+b>0) &&(a+b<=0) D. a*b>0
10.C语言中,合法的字符型常数是_________。
A.‘A’ B.“A” C. 65 D. A
11.设有数组定义:char array[]=”China”; 则数组所占的空间是________。
A.4个字节 B.5个字节 C.6个字节 D.7个字节
12.若变量c为char类型,能正确判断出c为小写字母的表达式是_______。
A.’a’<=c<=’z’ B. (c>=’a’) || (c<=’z’)
C.(‘a’<=c) and (‘z’>=c) D. (c>=’a’) && (c<=’z’)
13.设有定义:long x=-123456L; 则以下能够正确输出变量x值的语句是_______。
A.printf(“x=%d ”,x) B.printf(“x=%ld ”,x)
C.printf(“x=%8dl ”,x) D.printf(“x=%LD ”,x);
14.下列关于指针定义的描述,___________是错误的。
A.指针是一种变量,该变量用来存放某个变量的地址值的。
B.指针变量的类型与它所指向的变量类型一致。
C.指针变量的命名规则与标识符相同。
D.在定义指针时,标识符前的“*”号表示后面的指针变量所指向的内容。
15.已知:int x; int y[10]; 下列______是合法的。
A.&x B.&(x+3) C.&5 D .&y
16.指出下面正确的输入语句__________。
A. scanf(“a=b=%d”,&a,&b) ; B. scanf(“%d,%d”,&a,&b) ;
C. scanf(“%c”,c) ; D. scanf(“% f%d ”,&f) ;
17.C语言中以追加方式打开一个文件应选择_______________参数。
A.“r” B.“w”
C.“rb” D.“a”
18.Break语句的正确的用法是( )。
A. 无论在任何情况下,都中断程序的执行,退出到系统下一层。
B. 在多重循环中,只能退出最靠近的那一层循环语句。
C. 跳出多重循环。
D. 只能修改控制变量。
19. 为表示关系x≥y≥z,应使用C语言表达式
A.(x>=y)&&(y>=z) B. (x>=y) AND (y>=z)
C.(x>=y>=z) D. (x>=z)&(y>=z)
20.以下可以作为C语言合法整数的是________。
A.1010B B. 0368 C.0Xffa D. x2a2
21.在函数中默认存储类型说明符的变量应该是________存储类型。
A.内部静态 B. 外部 C.自动 D. 寄存器
二.判断题
1. C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。 ( )
2. 在 C 程序中 , 函数既可以嵌套定义 , 也可以嵌套调用。( )
3. 在 C 程序中, APH 和 aph 代表不同的变量。( )
4. 表达式 0195 是一个八进制整数。( )
5. 表达式 _ya是不合法的C语言标识符。( )
6. C程序总是从main( ) 函数的第一条语句开始执行的。 ( )
7. A-=7等价于a=a-7。 ( )
8. 利用fclose函数关闭已打开的文件。( )
9. 数组名可以作为参数进行传递。( )
10. 执行printf("%x",12345);, 输出 12345 。( )
三、填空
1.C语言的预处理语句以__________开头。
2.表达式7+8>2 && 25 %5的结果是_______________________。
3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
int n=0, ch;
ch=getchar( );
while( __________________ )
{ if ( ________________ ) n++;
c=getchar( ); }
4.C语言中putchar(c ) 函数的功能是_________________________________。
5.int *p 的含义是___________________________________________。
6.定义fp为文件型指针变量的定义方法为_______________________。
7.数组 int a[3][4];共定义了____________个数组元素。
四、读出程序。
1. 改正下列程序中不正确的语句。
main()
{ int a=8 , b=1;
a=a+b;
b=a*b;
printf("%d, %d",a,b); }
2.写出下列程序的运行结果。
fun(int a, int b)
{ if(a>b) return (a);
Else return (b); }
main()
{ int x=3,y=8,z=6,r;
r=fun(fun(x,y),2*z);
printf(“%d ”,r); }
3. 改正下列程序中不正确的语句。
main()
{ int n ;
float s=1.0;
for(n=10;n>1;n- -)
s=s+1/n;
printf(“%6.1f ”,s); }
4. 写出下列程序的运行结果。
main()
{ int n;
For(n=3; n<=10; n++)
{ if(n%5= =0) break;
Printf(“%d”,n); } }
5.写出下列程序的运行结果。
#include “stdio.h”
main()
{ int a[]={1,2,3,-4,5};
int m,n,*p;
p=&a[0]; p=&a[0];
m=*(p+2);
n=*(p+4);
printf(“%d %d %d ”,*p,m,n); }
五.编程序
1.编程计算下列表达式:s=1!+2!+3!+4!+……+10!
2.从键盘上输入a与n的值,计算sum=a+aa+aaa+aaaa+……(共n项)的和。例a=2, n=4, 则sum=2+22+222+2222。
3.求3X3矩阵的主对角线元素之和。
4.从键盘上输入10个数存入一维数组中,求这10数中的最大值与最小值并输出。
5.从键盘上输入若干个字符存入文件write.txt中,遇到回车键输入结束。(用“ ”表示回车键)
《C语言程序设计》试题三答案
一.单项选择题
1 B 2B 3D 4C 5D 6C 7A 8C 9D 10A 11C 12D 13B 14D 15A 16B 17D 18B 19A 20C 21C
二.判断题
1√ 2Ⅹ 3√ 4Ⅹ 5Ⅹ 6√ 7√ 8√ 9√ 10Ⅹ
三、填空
1 #号 2 0 3 ch!=’ ’ ch>=’0’ && ch<=’9’
4 将变量c中的字符显示到屏幕上。 5 指针变量p为整型
6 FILE *fp 7 12
四、读出程序。
1 printf("%d, %d",&a,&b); 2 12
3 s=s+1.0/n
4. 3 4
5 1 3 5
五.编程序
1.
#include "stdio.h"
main()
{ long s=0,t=1;
int i;
for(i=1;i<=10;i++)
{ t=t*i;
s=s+t;
}
printf("%ld",s); }
2
#include "stdio.h"
main()
{ int a,n count=1,sn=0,tn=0;
scanf("%d %d",&a,&n);
while(count<=n)
{ tn=tn+a;
sn=sn+tn;
a=a*10;
++count; }
printf("%d",sn); }
3.
#include "stdio.h"
main()
{ int a[3][3],i,j,s=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(i==j)
s=s+a[i][j];
printf("%d",s); }
4.
#include "stdio.h"
main()
{ int a[10],max,min;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=a[0];
for(i=1;i<10;i++)
if(a[i]>max)
max=a[i];
min=a[0];
for(i=1;i<10;i++)
if(a[i]<min)
min=a[i];
printf("%d %d",max,min); }
5.
#include "stdio.h"
main()
{ int c;
FILE *fp;
fp=open("write.txt","w");
c=getchar();
while(c!=' ')
{ fputc(c,fp);
c=getchar();
}
fclose(); }
《C语言程序设计》试题四
一.单项选择题
1. 运算符___________的优先级最高。
A.[ ] B. += C. ?: D.++
2.main( )
{ int n; ( n=6*4,n+6),n*2; printf(“n=%d ”,n); }
此程序的输出结果是______________.
A.30 B. 24 C. 60 D. 48
3.若有如下定义,则__________是对数组元素的正确的引用。.
int a[10] , *p ; p=a ;
A. *&a[10] B. a[11] C. *(p+11) D. *p *p *p
4.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________
A. 0 B. 4 C. - 4 D. 2
5.各种基本数据类型的存贮空间正确的长度排列为__________。
A.Char<long<int<float<double B.Double<float<long<int<char
C.Char<int<long<float<double D.Float<int<long<char<double
6.下面的变量说明中_____________是正确的。
A.char:a, b, c; B.char a; b; c; C.char a, b, c; D.char a, b, c
7.表达式y=(13>12?15:6>7?8:9)的值为____________ 。
A 9 B 8 C 15 D. 1
8.若x=5,y=3 则y*=x+5; y的值为_______________.
A. 10 B. 20 C. 15 D. 30
9.能正确表示a和b同时为正或同时为负的逻辑表达式是_________。
A.a>=0||b>=0)&&(a<0 ||b<0) B.(a>=0 && b>=0)&&(a<0 && b<0)
C.(a+b>0) &&(a+b<=0) D. a*b>0
10.C语言中,合法的字符型常数是_________。
A.‘A’ B.“A” C. 65 D. A
11.已有定义 int x=3, y=4, z=5;则表达式“!(x+y)+z-1&&y+z/2”的值是________。
A.6 B.0 C.2 D.1
12.若变量c为char类型,能正确判断出c为小写字母的表达式是_______。
A.’a’<=c<=’z’ B. (c>=’a’) || (c<=’z’)
C.(‘a’<=c) and (‘z’>=c) D. (c>=’a’) && (c<=’z’)
13.设有定义:long x=-123456L; 则以下能够正确输出变量x值的语句是_______。
A.printf(“x=%d ”,x) B.printf(“x=%ld ”,x)
C.printf(“x=%8dl ”,x) C.printf(“x=%D ”,x);
14.从循环体内某一层跳出,继续执行循环外的语句是:___________。
A. break语句 B.return语句 C.continue语句 D.空语句。
15.C语言用_______表示逻辑“真”值。
A.true B.t或y C.非零整型值 D.整型值0
16.为了避免嵌套的条件分支语句if—else 的二义性,C语言规定:C程序中的else总是与_____组成配对关系。
A.缩排位置相同的if B.在其之前未配对的if
C.在其之前未配对的最近的if D.同一行上的if
17.在函数中默认存储类型说明符的变量应该是________存储类型。
A.内部静态 B. 外部 C.自动 D. 寄存器
18.C语言中以只读方式打开一个文件应选择_______________参数。
A.“r” B.“w” C.“rb” D.“a”
19.设有数组定义:char array[]=”student”;则数组所占的存贮空间为__________。
A.6个字节 B. 7个字节 C. 8个字节 D. 9个字节
20.根据C语言的语法规则,下列________个是不合法标识符。
A.do B. Name C. R5 D. _exam
二.判断题
1. C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。 ( )
2.在 C 程序中 , 函数既可以嵌套定义 , 也可以嵌套调用。( )
3.在 C 程序中 ,APH 和 aph 代表不同的变量。( )
4.表达式 0195 是一个八进制整数。( )
5.Continue语句的作用是结束本次循环。( )
6.Extern变量的生命期是整个程序执行期。 ( )
7.C语言中字符串的结束符是’ ’。 ( )
8.利用fclose函数关闭已打开的文件。 ( )。
9.C程序总是从main( ) 函数的第一条语句开始执行的。 ( )
10.数组名代表数组的首地址。( )
三.填空
1.C语言的预处理语句以__________开头。
2.表达式7+10>2 && 25 %5的结果是_______________________。
3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
Int n=0, ch; Ch=getchar( );
While( __________________ )
{ if ( ________________ ) n++; c=getchar( ); }
4.C语言中getchar() 函数的功能是_________________________________。
5.int *p 的含义是___________________________________________。
6.定义fp为文件型指针变量的定义方法为_______________________。
7.数组 int a[3][3];共定义了____________个数组元素。
四、读程序。
1. 改正下列程序中不正确的语句。
main( )
{ int a;
scanf(“%d”, a); if (a = 1) printf(“One ”) ; }
2.写出下列程序的运行结果。
fun(int a, int b)
{ if(a>b) return (a);
Else return (b); }
main()
{ int x=3,y=8,z=6,r;
r=fun(fun(x,y),2*z); printf(“%d ”,r); }
3. 改正下列程序中不正确的语句。
main()
{ int n ;
float s=1.0;
for(n=10;n>1;n- -)
s=s+1/n;
printf(“%6.1f ”,s); }
4. 写出下列程序的运行结果。
main()
{ int n;
For(n=3; n<=10; n++)
{ if(n%6= =0) break; Printf(“%d”,n); } }
5.写出下列程序的运行结果。
#include “stdio.h”
Main()
{ int a[]={1,2,3,-4,5};
int m,n,*p; p=&a[0]; m=*(p+1); n=*(p+4);
printf(“%d %d %d ”,*p,m,n); }
五.编程
1. 编程计算下列表达式:s=n!(n从键盘上输入)
2.输出1—100之间不能被12整除的数。
3.从键盘上输出10个整数存入一维数组中,按由大到小的顺序输出。
4.从键盘上输入9个数,按3行3列的格式输出。
5.编程将文件read.txt中的字符读出显示到屏幕上。
《C语言程序设计》试题四答案
一.单项选择题
1 A 2B 3D 4C 5C 6C 7C 8D 9D 10A 11D 12D 13B 14A 15C 16C 17A 18A 19C 20A
二.判断题
1√ 2Ⅹ 3√ 4Ⅹ 5√ 6√ 7√ 8√ 9√ 10√
三、填空
1 #号 2 0 3 ch!=’ ’ ch>=’0’ && ch<=’9’
4 从键盘上输入一个字符。 5 指针变量p为整型
6 FILE *fp 7 9
四、读出程序。
1 printf("%d,",&a); if (a==1) 2 12
3 s=s+1.0/n
4. 3 4 5
5 1 2 5
五.编程序
1.
#include "stdio.h"
main()
{ long t=1;
int i;
for(i=1;i<=10;i++)
t=t*i;
printf("%ld",t); }
2
#include "stdio.h"
main()
{ int i;
for(i=1;i<=100;i++)
{ if(i%12==0)
continue;
printf("%d ",i);
}
3.
#include "stdio.h"
main()
{ int i,j,a[10];
for(i=1;i<=10;i++)
scanf("%d",&a[i]);
for(i=0;i<9=;i++)
for(j=9;j>i;j--)
if(a[j-1]<a[j])
{ t=a[j-1];
a[j-1]=a[j];
a[j]=t; }
for(i=0;i<10;i++)
printf("%d",a[i]);
}
4.
#include "stdio.h"
main()
{ int a[3][3],i,j,s=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
printf(“%d ”,a[i][j] );
printf(“ ”);
}
}
5.
#include "stdio.h"
main()
{ int c;
FILE *fp;
fp=open("read.txt","r");
c=fgetc(fp);
while(c!=' ')
{ putchar(c);
c=fgetcr(fp);
} }
fclose(); }
《C语言程序设计》试题五
一、填空
1.实型变量的类型说明符有:__________、____________。
2.表达式7+8>2 && 25 %5的结果是_______________________。
3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
Int n=0, ch;
Ch=getchar( );
While( __________________ ) ) ) )
{ if ( ________________ ) n++;
4.putchar(c ) 函数的功能是是是_____________________________________。
5int *p 的含义是是是是___________________________________________。
6.C语言中数组的下标下限为___________________________。
7.定义fp为文件型指针变量的定义方法为_______________________。
8.数组 int a[3][4];共定义了____________个数组元素。
二、单项选择题
1、下列属于整型常量的是________。
A、12 B、12.0 C、-12.0 D、10E10
2、不属于字符型常量的是_________。
A.‘A’ B、'a' C、“A” D、'b'
3、下列表达式为关系表达式的为_________。(其中a为一整型变量)
A.3+4*5 B、a==10 C、a>0?a:-a D、a=1
4、下面不正确的赋值语句是_____________。
A.a=a+1 B、a= =b C、a+=b D、a=1
5、下列对数组定义不正确的语句是______________。
A.int m[5]; B、char b[]={‘h’,’e’};
C、int a[10]={1,6,8,4}; D、char p[];
6、若有以下定义,则______和______是对数组元素的正确引用。
int a[5],*p=a
A. *&a[6] B、*p+8 C、*(a+2) D、*p
7、执行下列语句后,a的值是______。
int a=8;
a+=a-=a*a;
A.-240 B、64 C、112 D、-112
8. 指出下面正确的输入语句( )。
A. scanf(“a=b=%d”,&a,&b) ; B. scanf(“%d,%d”,&a,&b) ;
C. scanf(“%c”,c) ; D. scanf(“%f ”,&f) ;
9.下面的变量说明中正确的是____________。
A.int:a, b, c; B.int a; b; c;
C.int a, b, c D.int a, b, c;
10. C语言用( )表示逻辑“真”值。
A.True B. t 或 y C. 非零整型值 D. 整型值0
11.若x=5,y=4 则y*=x+5; y的值为( ).
A. 40 B. 20 C. 15 D. 30
13.C语言中以追加方式打开一个文件应选择_______________参数。
A.“r” B.“w”
C.“rb” D.“a”
14.Break语句的正确的用法是( )。
A. 无论在任何情况下,都中断程序的执行,退出到系统下一层。
B. 在多重循环中,只能退出最靠近的那一层循环语句。
C. 跳出多重循环。
D. 只能修改控制变量。
15.两个指针变量的值相等时,表明两个指针变量是________________。
A. 占据同一内存单元。 B. 指向同一内存单元地址或者都为空。
C. 是两个空指针。 D. 都没有指向。
16.字符串指针变量中存入的是________________。
A.字符串的首地址。 B. 字符串
C.第一个字符 D. 字符串变量。
17.以_______________个是不正确的描述。
A. 不论在主函数还是自定义函数中,只要说明了变量,就可为其分配存贮单元。
B. 在定义函数时,必须指定形参的类型。
C. 形参和实参之间可以是值传递。
D. 数组名可以作为参数进行传递。
18 表达式“1?(0?3:2):(10?1:0)”的值为_____________________。
A.3 B. 2 C. 1 D. 0
19. 为表示关系x≥y≥z,应使用C语言表达式
A.(x>=y)&&(y>=z) B. (x>=y) AND (y>=z)
C.(x>=y>=z) D. (x>=z)&(y>=z)
20. 以下说法中正确的是_______________。
A. C语言程序总是从第一个定义的函数开始执行。
B. 在C语言程序中,要调用的函数必须有main( ) 函数中定义。
C. C语言程序总是从main( ) 函数开始执行。
D. C语言程序中的main( ) 函数必须放在程序的开始部分。
21.设有数组定义:char array[]=”China”;则数组所占的存贮空间为__________。
A.4个字节 B. 5个字节 C. 6个字节 D. 7个字节
22.根据C语言的语法规则,下列________个是不合法标识符。
A.While B. Name C. Rern5 D. _exam
三、读出下列程序,写出程序的运行结果。
1. main()
{ int a=8 , b=1;
a=a+b;
b=a*b;
printf("a=%d,b=%d",a,b); }
该程序的运行结果是___________________________________。
2. main()
{ int i,num[5];
for(i=0;i<5;i++)
num[i]=i*10 - 2;
printf("%d",num[3]); }
该程序的运行结果是___________________________________。
3. main()
{ float c,f;
c=30.0;
f=(6*c)/5+32;
printf("f=%f",f); }
该程序的运行结果是___________________________________。
4. main()
{ int a=6095 , b ;
b=a%1000 ;
printf("%d", b) ; }
该程序的运行结果是___________________________________。
5. # include “stdio.h”
main( )
{ int a[]={8,2,9,4,1}, *p;
p=a;
*(p+2)+=2;
printf(“%d, %d ”, *p, *(p+2));}
该程序的运行结果是___________________________________。
四、将下列程序中不正确的语句改正。
1. main( )
{ int k ;
k=35555 ;
printf ( “%d “, k) ; }
2. main ( )
{ int a , b ;
scanf ( “input a ,b:”,a , b );
printf (“a=%d, b=%d”,a,b); }
3. main( )
{ int sum , k ;
sum=0 ;
k= 1 ;
while (k < =100 )
sum = sum+k ;
k + + ;
printf (“ sum=%d ”, sum) ; }
4. main( )
{ int k , a( 8 ) ;
for( k=0; k<10 ; k++)
scanf(“%d”, &a(k));
...... }
5. main( )
scanf(“%d”, a);
if (a = 1)
printf(“One ”) ; }
五.编程题题
1. 用程序计算下列表达式:s=1!+2!+3!+4!
2、从键盘上输入三个数,求出其中最大的一个数。
3. 输入两个整数,调用函数stu( )求两个数差的平方,返回主函数显示结果。。
4.从键盘上输入10个评委的分数,去掉一个最高分,去掉一个最低分,求出其余8个人的平均分,输出平均分,最高分,最低分。
5.write.txt中,遇到回车键输入结束。。(用“ ”表示回车键)
《C语言程序设计》试题五答案
一、填空
1.float double 2. 0
3.ch!=‘ ’ (ch>=‘a’ && ch<=‘z’) || (ch>=‘A’ && ch<=‘Z’)
4.将字符c所包含的值输出到标准的输出设备上。5.定义一个整型的指针变量p
6.0 7.FILE *fp 8. 12
二、单项选择题
1、 A 2、 C 3、 B 4、 B 5、 D 6、C D 7、 D
8、 B 9、 D 10、 C 11、 A. 13、 D 14、B
15、 A. 16、 A 17、 A. 18、 B 19、 A 20、 C 21、C 22、A
三、读出下列程序,写出程序的运行结果。
1. a=9,b=9 2. 28 3. f=68 4. 95 5. 8,11
四、将下列程序中不正确的语句改正。
1. long int k ; printf ( “%ld “, k) ; }
2. scanf ( “%d,%d”,a , b );
3. while (k < =100 )
{ sum = sum+k ;
k + + ; }
4. int k , a[8] ;
scanf(“%d”, &a[k]);
5. if (a = = 1)
五.编程题
1. main()
{ long int a,b,sum=0,p;
for(a=1;a<=4;a++)
{ p=1;
for(b=1;b<=a;b++)
p*=b;
sum+=p; }
printf(“%ld”,sum); }
2、main()
{ int a,b,c,max;
scanf(“%d,%d,%d”,&a,&b,&c);
if (a>b)
max=a;
else
max=b;
if (max<c)
max=c;
printf(“max=%d”,max); }
3. int stu(int a,int b)
{ int c;
c=a*a+b*b;
return c; }
main()
{ int x,y,z;
scanf(“%d,%d”,&x,&y);
z=stu(x,y);
printf(“%d”,z); }
4.main()
{ float a[10],b,max,min,sum=0,aver;
for(b=0;b<10;b++)
scanf(“%f”,&a[b]);
max=min=a[0];
for(b=1;b<10;b++)
{ if(a[b]>max)
max=a[b];
if(a[b]<min)
min=a[b];
sum+=a[b]; }
sum=sum-max-min;
aver=sum/8;
printf(“%f,%f,%f”,aver,max,min); }
5. main()
{ FILE *fp;
Char ch;
fp=fopen(“write.txt”,“w”);
ch=getchar();
while(ch!= ‘ ’)
{ fputc(ch,fp);
ch=getchar(); }
fclose(fp);
}
《C语言程序设计》试题 六
一.单项选择题
1.各种基本数据类型的存贮空间正确的长度排列为__________。
A.Char<long<int<float<double B.Double<float<long<int<char
C.Char<int<long<float<double D.Float<int<long<char<double
2.下面的变量说明中_____________是正确的。
A.Char:a, b, c; B.Char a; b; c;
C.Char a, b, c; D.Char a, b, c
3.main( )
{ int n;
( n=6*4,n+6),n*2;
printf(“n=%d ”,n);
} 此程序的输出结果是______________.
A.30 B. 24 C. 60 D. 48
4.若有如下定义,则__________和_________是对数组元素的正确的引用。.
int a[10] , *p ;
p=a ;
A. *&a[10] B. a[11] C. *(p+2) D. *p
5.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________
A. 0 B. 4 C. - 4 D. 2
6.表达式y=(13>12?15:6>7?8:9)的值为____________ 。
A 9 B 8 C 15 D. 1
7.若x=5,y=3 则y*=x+5; y的值为_______________.
A. 10 B. 20 C. 15 D. 30
8.C语言的输入与输出操作是由____________完成的。
A.输入语句 B.输出语句
C.输入与输出函数 D.输入与输出语句
9.语句 for(k=0;k<5;++k)
{ if(k= = 3) continue;
printf(“%d”,k);
}的输出结果为___________.
A.012 B. 0124 C. 01234 D. 没有输出结果
10.从循环体内某一层跳出,继续执行循环外的语句是:___________。
A. break语句 B.return语句
C.continue语句 D.空语句。
11.Break语句的正确的用法是____________。
A.无论在任何情况下,都中断程序的执行,退出到系统下一层。
B.在多重循环中,只能退出最靠近的那一层循环语句。
C.跳出多重循环。
D.只能修改控制变量。
12.两个指针变量的值相等时,表明两个指针变量是__________。
A.占据同一内存单元。 B.指向同一内存单元地址或者都为空。
C.是两个空指针。 D.都没有指向。
13.不正确的指针概念是__________。
A.一个指针变量只能指向同一类型的变量。
B.一个变量的地址称为该变量的指针。
C.只有同一类型变量的地址才能存放在指向该类型变量的指针变量之中。
D.指针变量可以赋任意整数,但不能赋浮点数。
14.设char ch=’A’;表达式ch!(ch>=’A’&&ch<=’Z’)?ch:(ch+32)的值是_________。
A.A B. a C. Z D. z
15.根据C语言的语法规则,下列________个是不合法标识符。
A.While B. Name C. Rern5 D. _exam
16.设单精度变量f,g均为5.0,使f为10.0的表达式是__________。
A. f+=g B. f-=g+5 C. f*=g-15 D. f / =g*10
17. 设整型变量n的值为2,执行语句“n+=n- =n*n ;”后,n的值是__________。
A. 0 B. 4 C. –4 D. 2
18.下列不是赋值语句的是__________。
A.A++ B. a= = b C. a+=b D. a=1
19. 为表示关系x≥y≥z,应使用C语言表达式__________
A.(x>=y)&&(y>=z) B. (x>=y) AND (y>=z)
C.(x>=y>=z) D. (x>=z)&(y>=z)
20.设有数组定义:char array[]=”China”;则数组所占的存贮空间为__________。
A.4个字节 B. 5个字节 C. 6个字节 D. 7个字节
二.写出下列程序的运行结果
1. main ( )
{ int x=10,y=10;
printf(“%d %d ”,x--,--y); }
该程序的运行结果是___________________________________。
2.main( )
{ int j , k , p, s;
s=0 ;
for (j=1; j<=3; j++)
{ p=1;
for(k=1; k<=j; k++)
p=p*k;
s=s+p;
}
printf(“s=%d ”,s); }
该程序的运行结果是___________________________________。
3. # include “stdio.h”
main( )
{ int a[]={1,2,3,4,5}, *p;
p=a;
*(p+2)+=2;
printf(“%d, %d ”, *p, *(p+2)); }
该程序的运行结果是___________________________________。
4.main( )
{ int a[]={2,4,6,8,10};
int y=1,x,*p;
p=&a[1];
for(x=0;x<3;x++)
y + =*(p+x);
printf(“%d ”,y); }
该程序的运行结果是___________________________________。
5.main()
{ int a[5], k;
for(k=0;k<5;k++)
a[k]=10*k ;
printf(“%d”, a[k-1]) ; }
该程序的运行结果是___________________________________。
三.判断题
1. 函数一般由函数的说明部分和函数体部分组成。 ( )
2. C语言中数据类型只有整型、实型和字符型。 ( )
3. 数组的下标从1开始。 ( )
4. 假设有int a[10], *p; 则P=&a[0]与p=a等价。 ( )
5. getchar()函数的功能是从键盘上输入一个字符串。 ( )
6. 在C语言中定义一个文件指针的方法为:FILE *fp; 。 ( )
7. 构成数组的各个元素可以有不同的数据类型。 ( )
8. C语言的数据类型只有int 型和 float 型。 ( )
9. 从循环体中退出只能使用goto语句。 ( )
10.Continue语句的作用是继续程序中的下一个循环。 ( )
四.编程题
1. 从键盘上输入20个元素的值存入一维数组a中,然后将下标为(1、3、5、7、9……)的元素值赋值给数组b,输出数组b的内容。
2. 编程序求 3,-30,20,6,77,2,0,-4,-7,99这十个数中最大值与最小值。
3. 输入两个整数,调用函数stu( )求两个数和的立方,返回主函数显示结果。
4. 将文件file1.txt中的内容读出并显示到屏幕上。
5. 编程计算1-100之间的奇数和与偶数和。
《C语言程序设计》试题 六答案
一.单项选择题
1. C 2. C 3. C 4. C D 5. C 6. B 7. D 8. C
9. B 10. C 11. B 12.A 13 D 14. B 15. A 16. A.
17. C 18. B 19. A.20. C.
二.写出下列程序的运行结果
1.10 9 2.S=9 3. 1,5 4.19 5.40
三.判断题
1. 对 2. 不对 3. 不对 4. 对 5.不对
6. 对 7. 不对 8. 不对 9. 不对 10.不对
四.编程题
1. main()
{ int m[20],n[10];
int a,b=0;
for(a=0;a<20;a++)
{ scanf(“%d”,&m[a]);
if(a%2= =1)
{ n[b]=m[a];
b++; }
}
}
2. main()
{ int m[10]={ 3,-30,20,6,77,2,0,-4,-7,99},max,min;
max=min=m[0];
for(a=0;a<10;a++)
{ if(m[a]>max)
max=m[a];
if(m[a]<min)
min=m[a];
}
printf(“%d,%d”,max,min);
}
3. int stu(int a,int b)
{ int c;
c=a*a+b*b;
return c; }
main()
{ int x,y,z;
scanf(“%d,%d”,&x,&y);
z=stu(x,y);
printf(“%d”,z); }
4.main()
{ FILE *fp;
Char ch;
fp=fopen(“write.txt”,“r”);
ch=fgetc (fp);
while(ch!= EOF)
{ putchar(ch);
ch=fgetc(fp); }
fclose(fp);
}
5.main()
{
int sum1=0,sum2=0,a,b;
for(a=1;a<=100;a++)
if(a%2= =0) if(a%2= =0)
sum1+=a;
else
sum2+=a;
printf(“%d,%d”,sum1,sum2);
}
《C语言程序设计》试题七
一、填空题
1.在C语言程序设计中,正确的标识符是由____________________组成的。
2. 设x=4,y=(++x)+(++x);那么y的值为_____,表达式执行后,变量x的值为_______。
3.一个变量的指针是指_____________________________________________。
4.能够构成一个数组,其元素满足的特点是__________________________________;
那么,构成结构体的成员可以是_________________________________________。
5.下面运算符 < % ++ = 按照优先级从高到低排列顺序为______________。
6.C程序设计中语句后的符号 /*……*/ 所起作用是_________________________。
7.写出下面表达式的值
3*5/7+7%3____________________ x=2 ; y=4; (x++)+y _____________________
3+4>=7-10_____________________ 3>4 ? 3%2: 1 ___________________
x=2,y=2;++x||++y_______________ x=3 ; x+=x-=2 _____________________
二、选择题
⑴.在使用TurboC2.0环境编辑程序时,运行某程序使用的菜单项为( )
A.FILE B.RUN C.EDIT D.OPTION
⑵.下列语句不具有赋值功能的是( )
A.a*=b B.x=1 C.a+b D.a++
⑶.C语言程序中,当出现条件分支语句if~else时, else与( )组成配对关系
A.同一复合语句内部的if B.在其之前任意的if
C.在其之前未配对的最近的if D.首行位置相同的if
⑷.下列数组定义方式不正确的语句是( )
A.char x[5]; B.char y[]={‘h’, ‘e’, ‘l’, ‘l’, ‘o’};
C. int x[10]={12,13,14,15}; D.int y[];
⑸. 若有如下定义和语句,且0<=i<5,下面( )是对数值为3数组元素的引用
int a[]={1,2,3,4,5},*p,i;
p=a;
A. *(a+2) B.a[p-3] C.p+2 D.a+3
⑹. 下列( )表达式的值为真
a=5; b=8; c=10; d=0
A.a*2>8+2 B.a&&d C. (a*2-c)||d D.a-b<c*d
⑺. 下列字符数组长度为5的是( )
A. char a[]={‘h’, ‘a’, ‘b’, ‘c’, ‘d’};
B. char b[]= {‘h’, ‘a’, ‘b’, ‘c’, ‘d’, ‘ ’};
C. char c[10]= {‘h’, ‘a’, ‘b’, ‘c’, ‘d’};
D. char d[6]= {‘h’, ‘a’, ‘b’, ‘c’, ‘ ’ }
⑻. 执行下列程序后,其结果为( )
int a[]={2,4,6,8,10,12}; *p;
p=a;
*(p+4) =2;
printf(“%d,%d ”,*p,*(p+4));
A.0,10 B.0,2 C.2,10 D.2,2
⑼. 有下列结构体,对该结构体变量stu的成员项引用不正确的是( )
struct student
{ int m;
float n;
} stu ,*p;
A. stu.n B.p->m C.(*p).m D.p.stu.n
⑽.下列函数中不能用于对文件进行输入输出操作的是( )
A.fscanf( ) B.printf( ) C.fgetc( ) D. fputs( )
三、判断题
1.C语言程序设计可以对计算机硬件进行操作。 ( )
2.在循环过程中,使用break语句和continue语句的作用是一样的。 ( )
3.在函数的定义和调用过程中,形式参数和实在参数数目可以不一致。 ( )
4.对于某一指针变量可以接收任何类型的值。 ( )
5.在C语言程序设计中,不同类型的数在计算机内存中所占空间是不同的。( )
6.文件指针是结构体类型,可以用表示file来定义。 ( )
7.选择结构不可以使用嵌套形式,但是循环结构可以使用嵌套形式。 ( )
8.在定义数组时,有时可以将该数组的维数省略。 ( )
9.运算符 && + * 的优先级是 * 优先于 + 优先于&&。 ( )
10.任何数组都可以实现对其进行整体操作。 ( )
四、程序填空题
1.下面是实现输出九九乘法表的程序,在画线的位置填上适当的语句,使该程序完整。
main()
{ int i , j , k;
for(i=1;_____________; i++)
{bsp; {
for(__________; j<=i ; j++)
printf(“%d*%d=%d”,_______________);
printf(________________);
}
}
2.设计一个自定义函数,实现如下功能:求两个数的平方和,并且返回该和。
自定义函数如下:
int max(x,y)
{
}
3.设有如下面的结构体,请用C语言的语句定义出正确的结构体形式:
学生信息:包括(姓名,性别,年龄,分数:根据合适情况选择各项类型)
struct student
{
}
4. 根据给出的程序段,请写出正确的结果
x=1 ; p=1 , sum=0 ;
for (x=1 ; x<=5 ; x++)
{ p=p*x;
sum=sum+p ; }
上面的程序段实现的功能是计算下面的式子_______________________________ ;
其运行结果为_________________________________________________________。
五、阅读程序,写出下列程序段的结果
1. int *p,i;
i=100;
p=&i;
i=*p+10; 执行完上面的语句段后, i的值是 ______
2. int A,B,C,m=1,n=0;
A=(--m=n++)?- -m:++n;
B=++m;
C=n--;
执行完上面的语句段后,A的值为 B的值为 C的值为
3. main()
{ int c1=10,c2=10;
printf(“c1=%d,c2=%d c1=%d”,++c1,c2++,c1--);
}
该程序的运行结果是_______________________________________________。
4.main()
{ int i;
for(i=3;i<10;i++)
{ if(i%4==0)
continue;
else
printf(“%d,”,i);
} }
该程序输出的结果是 _______________________________________
5. main()
{ int x;
x=3;
do
{ printf(“%d”,x--);
}while(!x); }该程序运行的结果是___________________________________________________________
六、编程题
1.编程实现:从键盘上接收10个整数,并对其进行排序(要求排成升序)。
2.编程实现求下面的式子的结果
3.编程实现将文本文件file1.dat中的内容复制到文本文件file2.dat中去,同时将小写字母转换成大写字母。
《C语言程序设计》试题 七答案
一、填空题
1.字母、数字、下划线 2. 12,6 3.该变量的地址
4.同一类型;不同类型 5. ++ % < = 6.注释
6.3, 1, 1, 6 1 2
二、选择题
⑴.B ⑵.C ⑶. C ⑷. C ⑸. A
⑹.D ⑺. A ⑻. D ⑼. D ⑽.B
三、判断题
1.对 2.不对 3.不对 4.不对 5.对 6.不对 7.不对 8.对 9.对 10.不对
四、程序填空题
1.i<=9 j=1 i , j , i*j “ ”
2 2 2.int max(x,y)
int x,y;sp; int x,y;
{ int z;
z=x*x+y*y;
return(z); }
3. struct student
{ char xm [10];
char sex;
int age;
float score; }
4. 1!+2!+3!+4!+5! 1+2+6+24+120=153
五、阅读程序,写出下列程序段的结果
1. 110
2. –1 0 1
3. c1=10 ,c2=10
c1=10
4.3,5,6,7,9
5. 3
六、编程题
1.main()
{ int a[10];
int m,n,t;
for (m=0;m<10;m++)
scanf(“%d”,&a[m]);
for(m=0;m<9;m++)
for(n=0;n<9;n++)
if(a[n]>a[n+1])
{ t=a[n]; a[n]=a[n+1]; a[n+1]=t;}
for (m=0;m<10;m++)
printf(“%d”,a[m]);
}
2.
main()
{ float x,y;
scanf(“%f”,&x);
if(x>6)
y=(x+2)/(3*x+1);
else
y=x*x+3*x+1;
printf(“%f”,y);
}
3.main()
{ FILE *fp1 , *fp2;
char ch;
fp1=fopen(“file1.dat”, “r”);
fp2=fopen(“file1.dat”, “w”);
ch=fgetc(fp1);
while(ch!=EOF)
{
if(ch>=’a’ && ch<=’z’)
ch=ch-32;
fputc(ch,fp2); fputc(ch,fp2);
ch=fgetc(fp1);
}bsp; }
fclose(fp1);
fclose(fp2);
}
《C语言程序设计》试题八
一、选择题
1.一个C语言程序是由( )构成。
A.语句 B.行号 C.数据 D.函数
2.下面标识符中正确的是( )。
A.a#bc B.123ABC C.sime D.Y·M·D
3.在C语言中,存储一个整型、字符型、双精度实型变量所需的字节数是( )。 )。 )。 )。
A.2、1、8 B.4、1、4
C.4、1、4 D.2、2、8
4.为了避免嵌套的条件分支语句 if--else中的else总是与( ) 组成成对关系。
A. 缩排位置相同的 B. 在其之前未配对的
C. 在其之前未配对的最近的if D. 在同一行上的if
5.下列表达式的结果正确的是( )。
int a,b,c,d;
a=b=c=d=2;
d=a+1==3?b=a+2:a+3
A.2 B.4 C.3 D.5
二、填空题
1.在C语言中,正确的标识符是由______________________组成的,且由_______________开头的。
2. 设x=3,那么表达式y=(++x)+(++x)的结果为_________,表达式执行后,变量x的结果为_________。
3. 一个变量的指针是指_________________________________________________________________。
4. 组成数组元素的特点是_______________________________________________;
组成结构体元素的特点是________________________________________________。
5. 在C语言程序中,对文件进行操作首先要______________________________;然后对文件进行操作,最后要对文件实行__________________________________操作,防止文件中信息的丢失。
6. 对字符串进行操作的函数有_______________________________________________________等。
7. C语言程序是由___________________构成的,而C语言的函数是由____________________构成的。
8. 要想定义整型变量a , 实型变量 b , 字符型的变量c,应该使用的正确语句为______________________________________________________________________________________。
9. 写出下面表达式的值
3*5/7+7%3_______________________ x=2 ; y=4; (x++)+y _________________________
3+4>=7-10_______________________ 3>4 ? 3%2: 1 ______________________________
x=2,y=2;++x&&++y_________________ x=3 ; x+=x-=2 ______________________________
三、判断题
1. C语言的一个特点是可以对计算机硬件进行操作 ( )
2. 在循环过程中,使用break语句和continue语句的作用是一样的 ( )
3. 在函数的定义和调用过程中,形式参数和实在参数数目可以不一致 ( )
4. 指针变量可以接收任何类型的值 ( )
5. 在C语言程序设计中,字符数组和字符串不是完全一样的概念 ( )
6. 文件指针是结构体类型,用符号file来表示 ( )
7. 选择结构(if语句)和循环结构都可以使用嵌套形式 ( )
8. 在定义二维数组时,可以将该数组的两个维数全部省略 ( )
9. 逻辑运算符 && || ! 的运算顺序是 ! 优先于 && 优先于 || ( )
10. 任何数组都可以实现整体使用操作 ( )
四、程序填空题
1.下面是实现打印九九乘法表的程序,请在画线的位置填上适当的语句,使程序(段)完整。
main()
{ int i , j , k;
for(i=1;_____________; i++)
{ for(j=1;______________; j++)
printf(“%d*%d=%d”,_______________);
printf(________________);
}
}
2.自己设计一个自定义函数,实现求两个数的最大数的功能,自定义函数如下:
int max(x,y)
int x , y ;
{
}
3.设有如下面的结构体,请用C语言的语句定义出正确的结构体形式:
学生信息:包括(姓名,性别,年龄,分数),并且定义变量stud和数组stud1[30]
struct student
{
}
4. 根据给出的程序段,请写出正确的结果
x=1 ; sum=1 ;
for (x=1 ; x<=5 ; x++)
sum=sum*x;
上面的程序段实现的功能是:______________________________________________________ ;
其运行结果为______________________________________________________________________。
5.设有如下的语句。
int a=43,b,c;
b=23;
c=a++ * --b;
(1)上面的语句段执行后a= b= c= ;
(2)简述a++和++a的相同点和不同点:
6.设有如下的程序:
main( )
{ int i=3,*p1;
int a[3]={15,30,45},*p2;
p1=&i; p2=a;
p1=p2+2;
printf(“%d,%d ”,*p1,*p2);
}
程序运行结果是: 。
五、编程题 (25分)
1.编程实现对10个整数进行冒泡排序(要求排成升序)。
2.编程实现求下面的式子的结果
3.编程实现将文本文件file1.dat中的内容复制到文本文件file2.dat中去
六、附加题
用C语言程序实现在已知链表中的第三个位置插入数值为a的程序
《C语言程序设计》试题八答案
一、选择题
1.D 2. C 3. A 4. C 5. B
二、填空题
1.字母、数字、下划线;以字母、下划线开头。 2.10;5。 3. 该变量的地址。
4.一组数据类型相同的元素构成的;一组数据类型不同的元素构成的。
5. 打开;关闭。 6.字符串长度、取子字符串、字符串替换、字符串复制等。
7. 函数;语句。 8. int a ; float b ; char c ;
9 9 9.3 6 1 1 1 2
三、判断题
1. 对 2. 错 3. 错 4. 错 5. 对 6. 错 7. 对 8. 错 9.对 10. 错
四、程序填空题
1. i<=9 j<=9
printf(“%d*%d=%d”,i,j,i*j);
printf(“ ”); i , j , k;
2. int z;
if (x>=y) z=x;
else z=y;
return z;
3. char name[20];
char sex;
int age;
float score;
4. 实现功能:计算连续数之积, 即sum=1*2*3*4*5 ;
运行结果:sum=120
5. 44 22 946
a++:先加1,后使用表达式的值;++a表示先加1,后使用表达式的值,它们最后的结果使a加1。
6.45,15
五、编程题
1.编程实现对12个整数进行冒泡排序(要求排成升序)。
Main()
{ int a[12]; int m,n,p;
for (m=0;m<=11;m++)(m=0;m<=11;m++)
scanf(“%d”,&a[m]);
for (m=0;m<=11;m++)
for(n=0;n<11-m;n++)
if(a[n]>a[n+1])
{ p=a[n]; a[n]=a[n+1]; a[n+1]=p; }
for (m=0;m<=11;m++)
printf(“%d”,a[m]); }
2.编程实现求下面的式子的结果
# include “math.h”
main()
{ float x,y;
scanf(“%f”&x);
if (x>6) y=(x-3)/(2*x-12);
else y=-2*x*x+4*x-10;
printf(“y=%f”,y); }
3.编程实现将文本文件file1.dat中的内容复制到文本文件file2.dat中去
main()
{ char ch;
FILE *fp1,*fp2;
Fp1=fopen(“file1.dat”, “r”);
Fp2=fopen(“file2.dat”, “w”);
Ch=fgetc(fp1);
While(ch!=EOF)
{ fputc(ch,fp2);
Ch=fgetc(fp1); }
Fclose(fp1);
Fclose(fp2); }
六、附加题
p=H;K=0;
While(p!=NULL && k<i-1)
{ p=p->next;
k++; }
if(p==NULL && H!=NULL) printf(“this is invilid”);
else
{ q=(Struct Linklist *)malloc(sizeof(Struct Linklist));
q->data=x; q->data=x;
q->next=p->next;
p->next=q; }
《C语言程序设计》试题九
一、选择题
1.一个C语言程序是由( )构成。
A.语句 B.行号 C.数据 D.函数
2.下面标识符中正确的是( )。
A.d&ef B.6a C.z4x5c D.a3/b4
3.在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。型、单精度实型变量所需的空间是()。
A.1、2、4 B.1、1、4 C.1、2、8 D.2、2、8
4.为了避免嵌套的条件分支语句 if--else中的else总是与( ) 组成成对关系。
A. 缩排位置相同的 B. 在其之前未配对的
C. 在其之前未配对的最近的if D. 在同一行上的if
5.下列表达式的结果正确的是( )。
int aa,bb,cc,dd;
aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;
(aa+1==2)?bb=aa+2:aa+3
A.2 B.3 C. 1 D.5
6.设有int x=11 ;则表达式(x+1/3)的值是( )。
A.3 B. 4 C. 11 D.12
7.设有字符串A=“He has 钱!”,则该字符串的长度为( )。
A. 9 B. 10 C. 11 D. 8
8.有如下程序段,则正确的执行结果是( )
int m=3;
while(m<=5)
{ printf(“%d ”,m-3); m++;}
A. 0 0 0 B.0 1 2 C.1 2 3 D.无结果
9.执行语句:printf("%d",(a=2)&&(b= -2);后,输出结果是( )。
A.无输出 B.结果不确定 C.-1 D. 1
10.有如下定义类型语句,若从键盘输入数据,正确的输入语句是( )。
int x; char y; char z[20];
A. scanf("%d%c%c",&x,&y,&z); B. scanf("%d%c%s",&x,&y,&z);
C. scanf("%d%c%c",&x,&y,z); D. scanf("%d%c%s",&x,&y,z);
11. struct ex
{ int x ; float y; char z ;} example;
则下面的叙述中不正确的是( )。
A. struct结构体类型的关键字 B. example是结构体类型名
C. x,y,z都是结构体成员名 D. struct ex是结构体类型
12.在C语言中对于实型数组,其每个数组元素的类型是( )。
A. 实型 B. 整型 C. 可以为任何类型 D. 不确定
13. 若已定义:int a[9],*p=a;不能表示a[1] 地址的表达式是( )。
A. p+1 B. a+1 C. a++ D. ++p
14. 在TC2.0环境中,对文件进行保存使用的命令是( )。
A. OPEN B. SAVE C. LOAD D. WRITE TO
15.在C++的类中,用于表示公共类型的关键字是( )。
A. class B. private C. protect D. public
二、填空题
1.在C语言中,正确的标识符是由____________组成的,且由____________开头的。
2. 设p=30,那么执行q=(++p)后,表达式的结果q为______,变量p的结果为________。
若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是_________。
3. 一个变量的指针是指___________________________________________________。
4. 在C语言程序中,对文件进行操作首先要____________________;然后对文件进行操作,最后要对文件实行__________________________操作,防止文件中信息的丢失。
5. 以下程序运行后的输出结果是 。该程序的功能是 。
main()
{ int x=10,y=20 ,t=0;
if(x!=y) t=x; x=y; y=t;
printf("%d,%d ",x,y); }
6. 若fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为"读"而打开此文件:fp=fopen( );。
7. 有以下程序,当输入的数值为2,3,4时,输出结果为 __。
main()
{ int x,y,z;
cout << “please input three number”;
cin >>x>>y>>z;
sum=x*x+y*2+z;
cout<<“sum of number is :”<<sum;
}
8. 有以下程序
main()
{ char c;
while((c=getchar())!='?') putchar( - - c ); }
程序运行时,如果从键盘输入:YDG?N?<回车>,则输出结果为 。
9.在循环中,continue语句与break语句的区别是:continue语句是语句的区别是:continue语句是
,break 是 。
三、程序填空与算法题
1. 下面程序是计算10个整数中奇数的和及其偶数的和,请填空。
#include <stdio.h>
main()
{ int a,b,c,i;
a=c=0;
for(i=1;i<=10;i++)
{ scanf(“%d”,&b);canf(“%d”,&b);
}
printf("偶数的和=%d ",a);
printf("奇数的和=%d ",c); }
2.编写一个自定义函数,实现求两个实数的平方和
3. 以下程序运行后的输出结果是 。
main()
{ char s[ ]="GFEDCBA";
int p=6;
while(s[p]!=‘D’)
{ printf("%c ", p);
p=p-1; } }
4.定义一个反映学生信息的结构体,包括学生的姓名,性别,年龄,成绩等。
5.以下程序输出的结果是 。
int ff(int n)
{ static int f=l;
f=f*n;
return f; }
main()
{ int i;
for(i=1;i<=5;i++) printf("%d ",ff(i)); }
6. 设有以下程序:
main()
{ int n1,n2;
scanf("%d",&n2);
while(n2!=0)
{ n1=n2%10;
n2=n2/10;
printf("%d ",n1); } }
程序运行后,如果从键盘上输入1298;则输出结果为 。
7.下面程序的功能是:输出 100以内(不包含100)能被 3整除且个位数为 6的所有整数,请填空。
#Include<stdio.h>
main()
{ int i, j;
for(i=1; ____________; i++)
if (________________)
printf("%d", j); }
8.现有一个单链表Head,如下图所示,如果要在元素B和D之间插入一个字符型元素C。
所需要的语句为:(如果用到指针,在图中标出指针的位置)
四、编程题
1.编程实现求解下面的式子的结果
s=1*2+2*3+3*4+…+20*21
2.编程实现求下面的式子的结果
3.编程实现将文本文件file1.dat的内容读出来,显示到屏幕上。
《C语言程序设计》试题九答案
一、选择题
1.D 2. C 3. A 4. C 5. B
6.C 7. B 8. B 9. D 10. D
11.B 12. A 13. C 14. B 15. D
二、填空题
1.字母、数字、下划线;以字母、下划线开头。
2.4,4 -12 3. 该变量的地址。
4.打开;关闭。 5. 20 , 10 变量的交换
6.“d1.dat”, “rb” 7. sum of number is :14 8. xcf
9 9 9 9.结束本次循环,进入下一次循环;结束循环。
三、程序填空与阅读程序题(参考答案)
1. if (b%2==0) a=a+b else c=c+b
2. float sum(float x,float y)
{ return x*x+y*y; }
3. A B C
4. struct student{
char name[10];
char sex;
int age;
float score; }
5. 1 2 6 24 120
6.8 9 2 1
7.i<100 if(i%3==0 && i%10==6)
8.P->NEXT=Q->NEXT; P->NEXT=NEW;
五、编程题
1.参考答案
main()
{ int m,n,sum=0;
for (m=1;m<=20;m++)
sum=sum+m*(m+1);
printf(“%s”,sum);
}
2.参考答案
# include “math.h”
main()
{ float x,y;
scanf(“%f”&x);
if (x>6)
y=(x-3)/(2*x-12);
else
y=-2*x*x+4*x-10;
printf(“y=%f”,y); }
3.main()
{ char ch;
FILE *fp1,*fp2;
fp1=fopen(“file1.dat”, “r”);
fp2=fopen(“file2.dat”, “r”);
fp3=fopen(“file3.dat”, “w”);
Ch=fgetc(fp1);
While(ch!=EOF)
{ fputc(ch,fp3); fputc(ch,fp3);
Ch=fgetc(fp1); }
Ch=fgetc(fp2);
While(ch!=EOF)
{ fputc(ch,fp3); fputc(ch,fp3);
Ch=fgetc(fp2); }
Fclose(fp1);
Fclose(fp2);
Fclose(fp3);
}
《C语言程序设计》试题十
一、 单项选择题(共30分,每题1分)
1. 下列不正确的转义字符是( )
A.\ B.’ C.074 D.