main( )
{ int x=10,y=10,i; for(i=0;x>8;y=++i)
printf(\,%d \,x- -,y); }
A. 10 1 9 2 B. 9 8 7 6 C. 10 9 9 0 D. 10 10 9 1
38.若定义:int a=511,*b=&a;, 则printf(\的输出结果为 ( )
A. 确定值 B) a的地址 C) 512 D) 511 39.能正确表示逻辑关系:\或a≤ 0\C 语言表达式是 ( )
A. a>=10 or a<=0 B.a>=0|a<=10 C. a>=10&&a<=0 D. a>=10||a<=0
40.变量p 为指针变量,若p=&a,下列说法不正确的是 ( )
A. &*p==&a B. *&a==a C. (*p)++==a++ D. *(p++)==a++ 41.以下程序的输出结果
是 ( ) main()
{ int a=5,b=4,c=6,d;
printf(\}
A. 5 B. 4 C. 6 D. 不确定
42.设有语句scanf(“%d,%d”,&m,&n);要使m、n的值依次为2,3,正确的输入是 ( )
A. 2?3↙ B. 2,3↙ C. 2;3 D. 2↙
3↙
43.C标准库函数中,字符串处理函数的原形在 头文件中 ( )
A. stdio.h B. math.h C. string.h D. ctype.h
44.以下一维数组a的正确定义
是 ( )
A. int a(10); B. int n=10,a[n]; C. int n; D. #define N 10 scanf(“%d”,&n); int a[N]; int a[n];
45.已知赋值语句wang.year=2017合法;则wang的变量类型是
A. 字符或文件 B. 整型或实型 C. 共用或结构 D. 实型或指针
二、程序填空题
1、下面程序的功能是:将二维数组a的行和列元素互换后存到另一个二维数组b中。请完善程序: main()
{ int i,j,b[3][2],a[2][3]={{1,2,3},{4,5,6}}; printf(\ for(i=0;i<2;i++)
{for(j=0;_ ___;j++) {printf(\
b[j][i]=_ _____; }
printf(\ }
printf(\
for(i=0;__ __;i++) {for(j=0;j<=1;j++)
printf(\ printf(\}
2、以下程序从输入终端读入数据到数组中,统计其中正数的个数,并计算正数之和及平均值。 main()
{ int i,a[20],count;float ave,sum; sum=0.0;count=0;ave=0;
for(i=0;i<20;i++) scanf(\ ); for(i=0;i<20;i++)
{ if( ) { count++;
sum+= ; } }
ave=
printf(\
}
3、下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
int n=0, ch; ch=getchar( );
while( ______________ ) { if ( _______________ ) n++; c=getchar( ); }
4、 #include
{
fp1=fopen(“file1.dat”, “r”); fp2=fopen(“file2.dat”, “w”);
while( ) putchar(getchar(fp1)); putchar(10);
while(!feof(fp1))
fclose(fp1); fclose(fp2); }
5、 下列程序段是输出100到200之间的能被3整除的数。
int i;
for (i=100; i<201; i++) {if ( ) printf(“]”, i); ; }
6、用数组来处理求Fibonacci数列问题。 main( ) { int i;
; for(i=2; i<20; i++)
; for(i=0; i<20; i++) {
if(i%3= =0) printf(“\\n”); printf(“d” , f[i]); } }
三、看程序,写结果。 1、下列程序的输出结果是: main( )
{ int x=1, y=2;