}
A) 1 √B) 10 C) 不能确定 D) 11
29. 设有定义 int a[ ]={1,5,7,9,11,13}, *p=a+3; 则*(p-2) , *(a+4) 的值是( )。 √A)5 11 B)1 9 C)5 9 D)有错误
30. 若i为整型变量,则以下循环的次数是( )。
for(i=2;i==0;)printf(“%d”,i--);
A) 无限次 √B) 0次 C) 1次 D) 2次
二、填空题
1. C语言标识符由 ___字母______、____数字______和______下划线_____来构造。
2. 设有定义:FILE *fp;,请将以下打开文件的语句补充完整,以便可以向文本文件
readme.txt的最后续写内容。fp = fopen(\ “a” );
3. 若有说明和语句:int a=25,b=60;b=++a;则b的值是 26 。
4. 若int x=5;while(x>0)printf(“%d”,x--);的循环执行次数为 5 。
5. 若有int a[5],*p=a;则p+2表示第 三 个元素的地址。
6. 若有说明和语句:int a=5,b=6,y=6;b-=a;y=a++则b和y的值分别是 1 、 5 。
7. 已知整型变量a=3,b=4,c=5,写出逻辑表达式a||b+c>c&&b-c的值是 1 。
8.在C语言中,变量的存储类别有四种,它们是:
自动(auto)、寄存器(register)、静态(static) 、外部 (extern)。
9.如果一个变量在某个范围内是有效的,该范围就称为变量的作用域。自动(auto)存储类别的局部变量,其作用域为:从定义的位置起,到函数体(或复合语句)结束为止
10.设有定义int a,b;写出满足条件“a是3的倍数,或者b不是5的倍数”的逻辑表达式:
a%3==0 || b%5!=0 。
三、程序运行结果分析题 1.
main()
{ int i,j,x =0; for(i=0;i<2;i++) {
6
x++; for(j=0;j<3;j++) { if(j%2) continue; x++; } x++; }
printf(\}
程序运行结果是: x=6 2.
#include
struct date func(struct date p) { p.year = 2000; p.month = 5; p.day = 22; return p; }
main()
{ struct date d; d.year = 1999; d.month = 4; d.day = 23;
printf(\ d = func(d);
printf(\}
程序的运行结果是: 1999/4/23 2000/5/22 3.
#include
char a[] = \ char *p = NULL; for (p=a; p
7
}
程序运行结果是: Hello ello llo lo o 4.
#include
{ int a=2,b=5,c=8;
printf(\}
程序运行结果是:10 5.
#include
void Func(void) { static int a = 1; int b = 2, c; c = a + b; a++; b++; printf(\}
程序运行结果是: 3 4 5 6 7
6.当运行以下程序时,从键盘输入如下内容并回车:ADescriptor ,则下面程序的运行结果是 v0=13,v1=4,v2=12 。 #include
8
}
7. 当运行以下程序时,运行结果是_______。 #include
void fun(char *t, char *s) { while( *t != 0) t++;
while( ( *t ++ = *s ++ ) != 0 ) ; }
int main()
{ char ss[3][20]={\ int i;
for(i = 2; i > 0; i--) fun(ss[i - 1], ss[i]); for( i = 0; i < 3; i++) printf(\ return 0; }
I don’t know don’t know know
8. 当运行以下程序时,运行结果是___1,5,3,8____。 #include
{ int a[][4] = {{2,9,1,8},{8,9,7,2},{4,3,2,1},{1,5,3,5}}, i, j, k, t; for(i = 0; i < 4; i++) {for(j = 0; j < 3; j++) {for(k = j + 1; k < 4; k++) if(a[j][i] > a[k][i]){t = a[j][i]; a[j][i] = a[k][i]; a[k][i] = t; } } } for(i = 0; i < 4; i++) printf(\ return 0; }
{ switch(c = getchar()) { case 'a':case 'A': case 'e':case 'E': case 'i':case 'I': case 'o':case 'O': case 'u':case 'U': v1 += 1; default: v0 += 1; v2 += 1; }
} while (c != '\\n');
printf(\printf(\return 0;
9
9. 有以下程序
#include
typedef struct{ char name[9]; char sex; float score[2]; }STU; void f(STU a)
{ STU b={\.0, 90.0}; int i; strcpy(a.name,b.name); a.sex=b.sex;
for(i=0;i<2;i++) a.score[i]=b.score[i]; }
main()
{ STU c={\ f(c);
printf(\ }
程序的运行结果是_____ Qian,f,95,92_______。
四、程序填空题
阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。 1. 先按学号由小到大的顺序从键盘输入学生的学号和成绩,然后从键盘任意输入一个学生的学号,查找并打印具有该学号的学生的成绩。
#include
int BinSearch(long a[], int n, long x); main()
{ float score [ARR_SIZE]; int n, i, pos; long num[ARR_SIZE], x; printf(\ scanf(\ printf(\ for (i=0; i scanf(\ } printf(\ scanf(\ pos = BinSearch(num, n, x); if (pos != -1) { printf(\ } else { printf(\ } 10