1、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
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(
3、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,
4、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(i
5、nt 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[]="121342
6、11"; 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() { ch
7、ar 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); } 参考答案: 考
8、察知识点:带参数的宏定义 运行结果: 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
9、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);
10、 printf(“\n”); } } 47. 2、 在屏幕上打印如下图形,要求打印行数n在程序运行时输入。 * ** *** 共n行 **** ***** 参考答案: #include “stdio.h” void main() { int n,i,j; printf(“Input
11、 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])
12、 /*选择排序函数*/
{ int i,j,minj,t;
for(i=0;i 13、i 14、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);
whil 15、e(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;
16、
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+3 17、3
参考答案:
#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);
18、 }
}
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 19、",&a);
if(max
# include 20、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 21、 (6)70%8
参考答案:
1) 1 2) 8 3) 3
4) 0 5) 8 6)6
56. C语言的三种循环语句是,do while循环、 循环和 循环;结构化程序设计方法主张限制使用 语句。
参考答案:
1) while 2) for 3) 22、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- 23、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= 24、 ;
(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语言提供了三种预处理功能,它们是:宏定义、包含文件和
参考答案:条件编译






