资源描述
36.
下面程序的运行结果是 。
#include
void main(){
int a=2,b=-1,c=2;
if(a
if(b<0) c=0;
else c++;
printf("c=%d\n",c);
}
参考答案:
考察知识点:if语句的嵌套。
运行结果:
c=2
37.
下面程序的运行结果是 。
#include
void main( )
{ int a,b,c;
a=3;b=1;c=2;
if(a
if(b
else c=b; c=a;
printf("%d,%d,%d",a,b,c);
}
参考答案:
考察知识点:if语句的嵌套,else总是和最近的未配对的if来配对。
运行结果:
3,2,3
38.
该程序的输出是
#include
void main(){char a[]="programming",b[]="language";char *p1,*p2;int i;p1=a;p2=b;for(i=0;i<8;i++)if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i));}
参考答案:
考察知识点:字符串的处理
运行结果:
ga
39.
下面程序的运行结果是 ④ 。
#include
void main(){
int x=5;
do{
printf("%d",x--);
}while(x);
}
参考答案:
运行结果:
54321
40.
下面程序的运行结果是 。
int func1(int x,int y,int cp,int dp)
{
cp=x*x+y*y;
dp=x*x-y*y;
}
void main( )
{
int a=4,b=3,c=5,d=6;
func1(a,b,c,d);
printf("%d %d \n",c,d);
}
参考答案:
考察知识点:参数的传递,本题传递了实参的值
运行结果:
5 6
41.
下面程序的运行结果是 。
#include
int func1(int x,int y,int *cp,int *dp)
{
*cp=x*x+y*y;
*dp=x*x-y*y;
}
void main( )
{
int a=4,b=3,c=5,d=6;
func1(a,b,&c,&d);
printf("%d,%d \n",c,d);
}
参考答案:
考察知识点:参数的传递,本题传递了实参的地址
运行结果:
25 7
42.
void main( )
{ char s[]="12134211"; int v[4]={0,0,0,0};int k,i;for(k=0;s[k];k++){ switch(s[k]){ case '1':i=0;break;case '2':i=1;break;case '3':i=2;break;case '4':i=3;break;}v[i]++;}for(k=0;k<4;k++) printf("%d ",v[k]);
}
参考答案:
运行结果:
4211
43.
该程序的输出是
#include “stdio.h”
void main()
{ char a[40]=”goodnighta”,*p;
for(p=a;*p!=’a’;p++) putchar(*p-32);
}
参考答案:
考察知识点:字符串的处理——大小写字母的转换
运行结果:
GOODNIGHT
44.
下面程序的运行结果是 。
#define ADD(x) (x)+(x)
void main()
{ int a=4,b=6,c=7,d=ADD(a+b)*c;
printf(“d=%d”,d);
}
参考答案:
考察知识点:带参数的宏定义
运行结果:
80
45.
下面程序的运行结果是 。
#include “stdio.h”
void main()
{
for(i=1;i<10;i++)
{ if(i%3!=0) continue;
printf(“%2d”,i);
}
}
参考答案:
考察知识点:continue的使用
运行结果:
3 6 9
46.
1.、在屏幕上打印如下图形,要求打印行数为5。
1 2 3 4 5
2 3 4 5 1
3 4 5 1 2
4 5 1 2 3
5 1 2 3 4
参考答案:
#include “stdio.h”
void main()
{int i,j,n;
for(i=1;i<=5;i++)
{ for(j=1;j<=i;j++)
printf(“%4d”,i);
for(j=i+1;j<=5;j++)
printf(“%4d”,j);
printf(“\n”);
}
}
47.
2、 在屏幕上打印如下图形,要求打印行数n在程序运行时输入。
*
**
*** 共n行
****
*****
参考答案:
#include “stdio.h”
void main()
{ int n,i,j;
printf(“Input n=“);scanf(“%d”,&n);
for(i=1;i<=n;i++)
{ for(j=1;j<=n-i;j++) putchar(‘ ‘);
for(j=1;j<=i;j++) putchar(‘*’);
printf(“\n”);
}
}
48.
输入10个整数,由小到大排序并输出。
参考答案:
#include “stdio.h”
#define N 10
void SelSort(int a[N]) /*选择排序函数*/
{ int i,j,minj,t;
for(i=0;i<N-1;i++)
{minj=i;
for(j=i+1;j<N;j++) if(a[j]<a[minj]) minj=j;
if(minj!=i) {t=a[i];a[i]=a[minj];a[minj]=t; }
}
}
void main()
{ int a[N],i;
for(i=0;i<N;i++) scanf(“%d”,a+i);
SelSort(a);
for(i=0;i<N;i++) printf(“%6d”,a[i]);
}
49. 编写程序,能够统计用户输入的字符串中的数字字符数目.
参考答案:
#include "stdio.h"
void main()
{ char s[81],*p;int count=0;
printf("Input a string:");gets(s);
for(p=s;*p;p++)
if(*p>='0'&&*p<='9') count++;
printf("number of digits=%d\n",count);
}
50.
输入一行整数,统计出其中的正数和负数的个数。(提示:输入到0时停止)
参考答案:
#include “stdio.h”
void main()
{ int n,posn,negn;double a;
n=posn=0; printf(“Input real numbers:\n”);
scanf(“%lf”,&x);
while(a!=0&&n<20)
{ if(a>0) posn++;
n++;
scanf(“%lf”,&a);
}
negn=n-posn;
printf(“posn=%d,negn=%d\n”,posn,negn);
}
51. 输入一行字符,统计其中的英文字母个数(提示:即输入到字符‘\n’时停止输入)
参考答案:
#include “stdio.h”
void main()
{ char ch; int n=0;
printf(“Input a string:\n”);
while(1)
{ ch=getchar();if(ch==‘\n’) break;
if(ch>=‘a’&&ch<=‘z’||ch>=‘A’&&ch<=‘Z’)
n++;
}
printf(“Number of letters is %d.\n”,n);
}
52.
编程求水仙花数。所谓水仙花数是指各位数字立方和等于该数自身的三位正整数。
如:153=13+53+33
参考答案:
#include “stdio.h”
void main()
{ int i,j,k,m,n;
for(i=1;i<=9;i++)
for(j=0;j<=9;j++)
for(k=0;k<=9;k++)
{ m=i*i*i+j*j*j+k*k*k;
n=100*i+10*j+k;
if(m==n) printf(“%d\n”,m);
}
}
53. 输入10个整数,求这些整数中的最大值并输出.
参考答案:
#include "stdio.h"
void main()
{ long a,max;
printf("input num\n");
scanf("%ld",&a);
max=a;
if(! a) {printf("no input\n");return;}
while(!a= =0)
{ scanf("%ld",&a);
if(max<a) max=a;
}
printf("max=%ld\n",max);
}
54. 已知PI/4=1-1/3+1/5-1/7+1/9……,求PI值并输出。
参考答案:
# include <math.h>
# include <studio.h>
main()
{ int s; float n,pi;
double t; 为确保精度,采用double类型
t=1;pi=0;n=1;s=1;
while(fabs(t)>=1e-6)
{ pi+=t; n+=2;
s=-s; t=s/n;
}
pi*=4; // pi=pi*4;
printf(“pi=%.6f”,pi);
}
55.
写出下列表达式的求值结果。
(1)5<3<2 (2) sizeof(double) (3)!! 2+2
(4)3<3&&3<5 (5)70/8 (6)70%8
参考答案:
1) 1 2) 8 3) 3
4) 0 5) 8 6)6
56. C语言的三种循环语句是,do while循环、 循环和 循环;结构化程序设计方法主张限制使用 语句。
参考答案:
1) while 2) for 3) goto
57. 结构化程序设计的三种基本结构包括有: 、 __和 ____。
参考答案:选择结构 循环结构 顺序结构
58.
已知int a = 2, b = 3 , c=0; 执行下列语句后,写出各变量的值。
c = b++―a++ ; 变量a = ,b= ,c=
参考答案:3 4 1
59.
算术表达式:的C语言表达式是:
参考答案:-b-sqrt(b*b-4*a*c)
60. 算术表达式:||的C语言表达式是:______
参考答案:fabs(b*b-a*c)
61. 循环语句for( i=0; i<=10; i--); 其循环的次数为___
参考答案:0
62.
设int a = 8,b = 5,c= -3,s;求下列表达式的值和变量的值:
(1)s = a +b/2 ; 则s= ;
(2)s = a > b?(a-b):(a +b); 则s= ;
(3)s = sizeof(a + b/3.0); 则s= ;
(6)s =102%b + a++; 则s= ; a= ;
(7)s = 6^3 则s= ;
(8)s = b && !(c>=a)&&(a<=10)|| b; 则s=
参考答案:10 3 8 10 9 5 1
63. 数学表达式:对应的C语言表达式是:-
参考答案:a*a/b+sqrt(x+y)
64. C语言提供了三种预处理功能,它们是:宏定义、包含文件和
参考答案:条件编译
展开阅读全文