C语言复习程序答案
C语言程序设计期末复习题及答案(1)

5. n为整型,表达式n=1,n+2,n*5 的值是__5_______。
6. 已知:float x=8.53; 整形变量i=(int)x;则i=__8_____。
7. 已知:int x=5;语句y=x++*x++;执行完成后x=___7__,y=_25____。
int i, k, num;
gets(str1); gets(str2);
i=strlen(str1);
k=strlen(str2);
num=______? ____: ____;
printf("%d\n", num);
}
2. 下面程序是计算字符串中实际字符的个数,即实现和字符串处理函数strlen相同的功能,补充空白处的程序。
for (j=0;j<n-1-i;j++)
if (a[j]>a[j+1])
{c=a[j];a[j]=a[j+1];a[j+1]=c;}
}
2. 本题20分.总体程序完整性3分,结构体定义正确3分,结构体数组定义以及初始化正确6分,指针定义正确3分,输出判断正确3分,输出姓名地址2分。以下代码为参考代码,答案不唯一。
(B)在指针操作中,运算符“&”是取指针指向的对象的值。
(C)在指针操作中,运算符“*”的操作对象是一个地址。
(D)语句int *ip;定义了指针变量只能存放整型变量的地址。
14.判断字符串str1是否大于字符串str2,应当使用___d________。
(A)if (str1>str2)
C语言复习题(答案)

1.编程计算球的体积(V=34πr3),要求半径通过键盘输入,π的值定义为符号常量PI ,输出结果保留两位小数,输入前和输出时要求给出含义明确的提示信息。
#include<stdio.h>main(){float r,v;scanf(“%f ”,&r)v=4/3*PI*r*r*r;printf(“v is %.2f ”,v);}2.输入任意一个3位数,将其各位数字反序输出(例如输入123,输出321)。
#include<stdio.h>main(){int n,s,g,b;printf(“please input n:\n ”);scanf(“%d ”,&n);g=n%10;s=n/10%10;b=n/100;printf(“%d”,100*g+10*s+b);}3.输入三角形的边长,求三角形的面积(面积=sqrt(s(s-a)(s-b)(s-c)),s=(a+b+c)/2)。
#include <stdio.h>main(){int a,s,c,b;printf(“please input a,b,c:”);scanf(“%d,%d,%d”,&a,&b,&c);while(a+b)<=c||(a+c<=b||(b+c)<=a);{printf(“please input a,b,c:”);scanf(“%d,%d,%d”,&a,&b,&c);}s=(a+b+c)/2;area=sqrt(s*(s-a)(s-b)(s-c));printf(“area is:%d\n”,area);}4. 输入3个字符,反向输出这3个字符和它们的ASCII码。
#include <stdio.h>main(){char ch1,ch2,ch3;printf("please input ch1&ch2&ch3:");scanf(“%c%c%c”,&ch1,&ch2,&ch3);printf(“%c\t%c\t%c\n”,ch3,ch2,ch1);printf(“%d\t%d\t%d\n”,ch3,ch2,ch1)}5.编程计算圆的面积(S=πr2),要求半径通过键盘输入,π的值定义为符号常量PI,输出结果保留两位小数,输入前和输出时要求给出含义明确的提示信息。
C语言程序设计期末考试复习题及答案[]
![C语言程序设计期末考试复习题及答案[]](https://img.taocdn.com/s3/m/1af47aac6137ee06eef91860.png)
C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是 ( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
C语言复习资料答案

二、类型及表达式一)合法的标志符:例题:1.是合法的用户自定义标识符的( D )A)ah-spks B)double C)<ctrl> D)_myapple2.以下正确的C语言标识符是( C )A)%x B)a+b C)a123 D)test!3.以下不能定义为用户标识符的是( C )A) Void B) b_2 C) int D) name—二)合法的整型常量例题:1.以下选项中可作为C语言合法整数的是( D )A) 11010 B B) 0583 C) x2b2 D) 0xafb三)合法的实型常量例题:1.以下选项中可作为C语言合法常量的是(A)A)-80. B)-080 C)D))四)合法的字符型常量例题:1.设有说明语句:char a=’\123’;则变量a( A )A)包含1个字符B)包含2个字符C)3个字符D)说明不合法2.C 语言中,“\x5d”在内存中占用的字节数是( A )A) 2 B) 5 C) 4 D) 13.字符串“\t\x42\\bcd\n”的长度是( A )。
A)7 B)10 C)12 D)13五)各种基本类型变量所占的字节数}例题:1.下列式中,值不为4的表达式是(C)A)sizeof(unsigned long) B)sizeof(long) C)sizeof(unsigned int) D)sizeof(float)六)合法的表达式例题:1.设变量a、b、c已定义并赋值,则下列表达式中符合C语言语法规则的是(BC )A)a=5++ B)a=b=c++ C)a%=2 D)b=a+1=2七)表达式的值}例题:1.设整型变量a的值为2,下列表达式值为1的是( C )A)a%3 B)a/3 C)--a D)a++2.下列表达式的值为0的是( A )A) 7/8 B) 7%8 C) 7/ D) 7<83.设float m=, n=; 使m为的表达式是(D)A) m-=n* B) m/=n+9 C) m*=n-6 D) m+=n+24.逗号表达式(a=4*5,a*2),a+15 的值是( A )A) 35 B) 40 C) 55 D) 20!八)++、--运算例题:当i=4,j=5时,表达式3-(i++)*4+(--j)的值如何,i,j的值多少表达式值为-9,i=5,j=4九)表达式的类型例题:1.下列式中,最终运算结果的数据类型不是双精度的表达式的是(A )A)(int)(3+ B)1e-3 C)(double)(3) D)(int)+?二、顺序结构例题:1.putchar函数可以向终端输出一个(D)A)整数B)实数C)字符串D)字符二)printf和scanf语句的使用方法:例题:1.设有语句scanf(%d,%d”,&m,&n);要使m、n的值依次是2、3,正确是输入是( B )A)2 3 B)2,3 C)2;3 D)22.设变量定义为int a,b;执行下列语句时,输入( B),则a和b的值都是10}scanf(“%d,%d”,&a,&b);A)10 10 B) 10,10 C)a=10 b=10 D)a=10,b=103.有以下程序main(){ int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是( A )A)m=123n=456p=789B)m=123 n=456 p=789;C)m=123,n=456,p=789D)123 456 789例题:1.有如下程序段:int a=3,b=15;float f=;printf(“%.1f”,(float)a+b/2+(int)f%3);执行该程序段后,运算结果为:( B )A)B)11.0 C)11 D)[三、选择结构一)关系表达式、逻辑表达式和条件表达式例题:1.在C程序中,用( B )表示逻辑”真”。
浙工大C语言复习题与参考答案

.目录一、C语言程序设计复习题⒈单项选择题 (41)⒉填空题 (45)⒊写输出结果题 (46)⒋程序填空题 (53)⒌编程题 (61)三、C语言程序设计复习题答案⒈单项选择题 (62)⒉填空题 (63)⒊写输出结果题 (63)⒋程序填空题 (64)⒌编程题(参考) (65)C程序设计习题集 1C语言程序设计复习题1 单项选择题在每小题的四个备选答案中选出一个正确的,并将正确答案填在题后括号。
1. 用C语言编写的源文件经过编译,若没有产生编译错误,则系统将()。
A、生成可执行目标文件B、生成目标文件C、输出运行结果D、自动保存源文件2. 在C集成环境执行菜单命令“运行”,若运行结束且没有系统提示信息,说明()。
A、源程序有语法错误B、源程序正确无误C、源程序有运行错误D、源程序无编译、运行错误,但仅此无法确定其正确性3. 程序运行输出了错误的结果,可以排除下列哪一个因素()。
A、算法错误B、运行时输入数据错误C、未通过编译D、系统资源配置不当4. 下列各个错误中,属于编译错误的是()。
A、数组下标超界B、“==”误写为“!=”C、死循环D、括号不配对5. 若int类型数据字长为4,其最大值为()。
A、231B、231-1C、232-1D、2326. 常数的书写格式决定了常数的类型和值,03322是()。
A、16进制int类型常数B、8进制int类型常数C、10进制int类型常数D、10进制long int类型常数7.“e2”是()。
A、实型常数100B、值为100的整型常数C、非法标识符D、合法标识符8. 要为字符型变量a赋初值,下列语句中哪一个是正确的()。
A、char a='3';B、char a="3";C、char a=%;D、char a=*;9. 要为float类型变量x、y、z赋同一初值3.14,下列说明语句哪一个是正确的()。
A、float x,y,z=3.14;B、float x,y,z=3*3.14;C、float x=3.14,y=3.14,z=3.14;D、float x=y=z=3.14;10. 语句“float pi=3.1415926535;”将()。
c语言备考复习题与部分答案

一、判断题1. 格式字符%md中的m不能为负。
(×)2. 实际上,可以用顺序、分支、循环三种结构构造任何算法。
( )3. printf("%d",sizeof(1234));其结果是4。
(×)4. 在C语言中,任何一个表达式的最后加上一个分号就构成一个合法的语句。
( )5. 下面程序执行结果是32768。
(×)main( ){int a,b;printf("%d\n",b=(a=32767,a+1));}二、单选题1. 下述程序的输出结果是(B )#include <STDIO.H>void main(){int a,b,c=241;a=c/100%9;b=-1&&-1;printf("%d,%d",a,b);}2. 若有定义:int x,y; char a,b,c;并有以下输入数据:x=1 2 A B C<CR>,则能给x赋整数1,给赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是(D )A)scanf("x%d y=%d",&x,&y);a=getch();b=getch();c=getch();B)scanf("x=%d%d",&x,&y);a=getch();b=getch();c=getch();C)scanf("x=%d%d%c%c%c",7x,&y,&a,&b,&c); D)scanf("x=%d%d%c%c%c%c%c",&x,&y,&a,&b,&b,&c, &c);3. 已有定义double d,f;数据的输入方式为:3.45<CR> 1.2<CR>根据定义和数据的输入方式,输入函数调用语句的正确形式为(A )A)scanf("%lf%lf",&d,&f) B)scanf("%f%f",&d,&f)C)scanf("3.2f%3.1f",&d,&f)D)scanf("%3.2lf%3.1lf",&d,&f)4. 如下程序: #include <STDIO.H>void main(){ int m,n,k;m=(n=4)+(k=10-7);printf(“m=%d\n”,m);}运行后m的值为( C )。
C语言编程答案

C程序设计期末复习题一、填空题1. C语言符号集包括(英文字母,数字,下划线和一些有特定含义的标点符号)。
2. 一个C程序有且只有一个(主函数)。
main()3. 结构化设计中的三种基本结构是(顺序结构,选择结构,循环结构)。
4. 设int x=9,y=8;表达式x==y+1的结果是(1).5. 定义int x,y;执行y=(x=1,++x,x+2);语句后,y的值是(4)。
6. 以下程序运行的结果是(end)。
# include <stdio.h>main( ){int a,b,c;a=2;b=3;c=1;if(a>b)if(a>c)printf("%d\n",a);elseprintf("%d\n",b);printf("end\n");}7. 以下程序运行的结果是(d=20)。
# include<stdio.h>main( ){int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if (! b)if(! c) x=15;else x=25;printf(“d=%d”,d);}8. 以下程序(当输入值为2,1时)运行的结果是(s=2,t=3)。
# include<stdio.h>main( ){int s,t,a,b;scanf("%d,%d",&a,&b);s=1;t=1;if(a>0) s=s+1;//s=2if(a>b) t=s+1;//t=3else if (a==b) t=5;else t=2*s;printf("s=%d,t=%d\n",s,t); }9. 以下程序运行的结果是(s=7)。
# include<stdio.h>main( ){int s=0,k;for (k=7;k>=0;k--){switch(k){case 1:case 4:case 7:s++;break;case 2:case 3:case 6:break;case 0:case 5:s+=2;break;} }printf("s=%d\n",s); }10. C语言源程序文件的后缀是(.C ),经过编译后生成文件的后缀是( .obj ),经过链接后生成的文件的后缀是( .exe )。
C语言程序设计期末考试复习题及答案(答案与题目分离)

C语言考试期末考试复习题及答案一、选择题(1)一个C语言程序总是从()开始执行A)书写顺序的第一个函数B)书写顺序的第一条执行语句C)主函数main( )D)不确定(2)设int x=3,y=4,z=5,则下列表达式中的值为0的是()A) ‘x'&&’y’B)x||y+z&&y—z C) x〈=y D)!((x〈y)&&!z||1)(3)执行以下程序段后,i的值是()int i=10;switch(i+1){case 10:i++; break;case 11:++i;case 12:++i;break;default :i=i+1;}A) 11 B)13 C) 12 D) 14(4)语句while(!e);中的条件!e等价于()A)e==0 B)e!=1 C) e!=0 D)运行时出错(5)用int a[4]={1,2}; 对数组进行初始化后,数组元素a[3]的值是()A)随机值B) 0 C) 1 D)F(6)在执行char str[10]=“china\0”;strlen(str)的结果是()A)5 B) 6 D) 7 D 9(7)若有定义,char *p=”computer";则语句printf(“%c”,*(p+2))运行结果是()A) 随机值B) m C)o D)omputer(8)在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)));函数fun1参数的个数为()A) 8 B) 4C)5 D)编译出错(9)在说明一个结构体变量时系统分配给它的存储空间是()A)该结构体中第一个成员变量所需存储空间B)该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和Key:CDCAB ABBD1。
用C语言编写的代码程序A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行2。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf("%d=%d+%d\n",x,i,x-i);
}
int isprime(int a)
{
int i;
for(i=2;i<a;i++)
if(a%i==0) return 0;
return 1;
}
int main()
{
int x;
scanf("%d",&x);
if(x%2==0) even(x);
#include <stdio.h>
#include <math.h>
int main()
{
float pi=0,n=1,term=1;
int sign=1;
while (fabs(term)>=1e-6)
{
pi=pi+term;
n=n+2;
sign=-sign;
term=sign/n;
}
pi=pi*4;
printf("%f",pi);
}9.编写程序要求输出以下图案:
*
***
*****
*******
*****
***
*
#include <stdio.h>
void main()
{
int i,j;
for(i=1;i<=4;i++)
{
for (j=1;j<=5-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
a=2;b=1;x=0;
for(i=1;i<=20;i++)
{
x=x+(a/bபைடு நூலகம்;
c=a;
a=a+b;
b=c;
}
printf("%lf",x);
}
6.编写程序要求输出所有的三位素数(每10个一行,数与数之间要有分隔)。
#include<stdio.h>
int main()
{
int x,i,n=0;
for(x=100;x<1000;x++)
puts(s1);
}
21.编一个程序,将两个字符串s1和s2比较,若s1>s2,输出一个正数;若s1=s2,输出0;若s1<s2,输出一个负数。不要用strcpy函数。两个字符串用gets函数读入。输出的正数或负数的绝对值是两个相比较的两个字符串相应字符的ASCII码的差值。例如,“A”与“C”相比,由于“A”<“C”应输出负数,同时由于“A”与“C”的ASCII码差值为2,因此应输出“-2”。同理:“And”和“Aid”比较,根据第2个字符比较结果,“n”大“i”5,因此应输出“5”。(P169)
#include<stdio.h>
int main()
{
int a[5],i,j,temp;
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=0;i<5;i++)
printf("%5d",a[i]);
printf("\n");
for(i=0,j=4;i<j;i++,j--)
#include<stdio.h>
#include<string.h>
int main()
{
char s1[20],s2[20];
int i;
gets(s1);
gets(s2);
puts(s1);
puts(s2);
for(i=0;s2[i]!='\0';i++)
s1[i]=s2[i];
s1[i]='\0';
}
11.输入两个正整数m和n,求其最大公约数和最小公倍数。
#include<stdio.h>
int main()
{
int m,n,i,t,max,min;
scanf("%d%d",&m,&n);
if(m>n)
{t=m;m=n;n=t;}
for(i=2;i<m;i++)
if(m%i==0)
if(n%i==0)
{
int m,k,i,n=0,x;
scanf("%d%d",&m,&k);
for(x=m+1;n<k;x++)
{for(i=2;i<x;i++)
if(x%i==0) break;
if(i>=x)
{ printf("%5d",x);
n++;}
}
}
8.用pi/4≈1-1/3+1/5-1/7+…公式求pi的近似值,直到发现某一项的绝对值小于106为止(该项不累加)。
X0=a/2
X1=1.0/2*(x0+a/x0)
当x0-x1的绝对值小于1e-5时,x1为最终结果。
#include<stdio.h>
#include<math.h>
int main()
{
float a;
double x0,x1;
scanf("%f",&a);
if(a<0)
printf("请输入正数");
else
{
x0=a/2;
x1=1.0/2*(x0+a/x0);
}
do{
x0=x1;
x1=1.0/2*(x0+a/x0);
}while(fabs(x0-x1)>=1e-5);
printf("%lf",x1);
}
4.编写程序,将一个数组中的值逆序重新存放:例如原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。
int main()
{
char s1[20],s2[20];
int i,j;
gets(s1);
gets(s2);
puts(s1);
puts(s2);
for(i=0;s1[i];i++);
for(j=0;s2[j];j++)
s1[i++]=s2[j];
s1[i]=0;
puts(s1);
}
20.编写一个程序,将字符数组s2中的全部字符复制到字符数组s1中。不用strcpy函数。复制时,’\0’后面的字符不复制。(P169)
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
for(i=0;i<5;i++)
printf("%5d",a[i]);
}
5.有一个分数序列2/1,3/2,5/3,8/5,13/8,21/13,...求出这个数列的前20项之和。
#include<stdio.h>
int main()
{
double a,b,x,c,i;
2+22+222+2222+22222(此时n=5),n由键盘输入。
#include<stdio.h>
int main()
{
int a,i,m;
double sum=0;
scanf("%d %d",&a,&m);
for(i=1;i<=m;i++)
{
sum+=a;
a=a*10+a;
}
printf("a+aa+aaa+aaaa+......+aaa......a=%lf",sum);
}
int main()
{
int n,x;
scanf("%d%d",&n,&x);
printf("%lf",p(n,x));
}
15.编写函数intisprime(int a),用来判断自变量a是否为素数,若是素数,函数返回1,否则返回0,要求在主函数中调用isprime,若判断的素数,输出YES,不是素数,则输出NO。
for(i=0;i<10;i++)
{
min=i;
for(j=i+1;j<10;j++)
if(a[min]>a[j]) min=j;
if(min!=i)
{temp=a[min];a[min]=a[i];a[i]=temp;}
printf("%5d",a[i]);
}
}
3.用迭代法求某正数a平方根x1,已知求平方根的迭代公式为:
{
int i;
for(i=2;i<n;i++)
if(n%i==0) break;
if(i>=n) return(1);
else return(0);
}
16.编写函数,验证任意偶数为两素数之和,并输出该素数。
#include<stdio.h>
void even(int x)
{