int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) {
case 0:a++;break;
case 1:b++;break; }
case 2:
a++;b++;break;
}
printf(\
}
(1)程序的运行结果为( 26 )。
26 (A) 2,1 (B) 1,2 (C) 1,1 (D) 0,0
(2)将程序中的switch(x)更改为switch(x!=1),其程序运行结果是(27 (A) 2,1 (B) 1,2
(C) 1,1
(D) 0,0
2. 读下面程序并回答问题:
#include \#include \
void abc(char *name[],int len) { char *temp; int i,j,k; for(i=0;i
{ temp=name[i];name[i]=name[k];name[k]=temp; }
}
}
void main() { static char *name[]={\ int i,n=5; abc(name,n); for(i=0;i<5;i++)
printf(\
printf(\}
函数abc的功能是( 28 )。
28 (A) 按字符排序 (B) 按字符串排序 (C) 交换字符串 (D) 字符串倒序 程序的运行结果是( 29 )。
第 36 页 共 50 页
27 )。
29 (A) tfbfj (B) turbo
(C) bffjt (D) java
3. 读下面程序并回答问题:
#include \int func(int x) {
int y=0;
static int z=3; x=z++,y++; return x; }
void main() {
int a=2,i,b; for(i=0;i<2;i++) b=func(a++);
printf(\}
该程序运行的结果是( 30 )。
30 (A)2 (B) 3 (C) 4
4. 有下列程序(考点:函数(地址参数)、指针运算)
#include \int temp; void main() { int fun(int n); int num,sum; num=5684;
temp=num;
sum=fun(num);
printf(\}
int fun(int n) {
int remind;
static int sum=0; if(n>=10) fun(n/10); remind=n; sum+=remind; if(temp>n)
printf(\ else
printf(\ return sum;
}
(1)程序中的fun函数被调用次数为( 31 )。
第 37 页 共 50 页
(D) 5
31 (A)2 (B) 3 (C) 4 (2)程序的输出结果为( 32 )。
32 (A)5+6+8+4=23
5. 读下面程序并回答问题。
(D) 5
(C)4+8+6+5+=23
(D) 4+8+6+5=23
(B) 5+6+8+4+=23
#include \
char x[4][8]={\int a[4]={6,7,6,5}; void main() { int i; char y[4][8]; FILE *fp;
fp=fopen(\ for(i=0;i<4;i++) fputs(x[i],fp); fclose(fp);
fp=fopen(\ for(i=0;i<4;i++) fgets(y[i],a[i],fp); fclose(fp);
for(i=0;i<4;i++) printf(\}
(1)程序运行的结果是( 33 )
33 (A) First (B) First (C) “First” (D) Four Second First “Second” Third Third First “Third” Second Four First “Four” First (2)以下哪种说法是正确的( 34 )。
34 (A) TEST.txt仅在程序运行期间存在,程序结束后就没有了
(B) TEST.txt文件必须在程序运行之前建立好
(C) 如果TEST.txt文件不存在,程序运行中会自动建立TEST.txt文件 (D) TEST.txt始终是无内容的空文件
6. 读下面程序并回答问题。
#include \void main() {
char s[50]=\ int i,b[10]={0},cnt=0; for(i=0;s[i]!='\\0';i++) {
if(s[i]>='0'&&s[i]<='9') b[s[i]-'0']++; else cnt++;
}
printf(\
第 38 页 共 50 页
for(i=0;i<10;i++) printf(\}
(1)main函数中第一个printf输出cnt的值为( 35 ) 36 (A) 15 (B) 5 (C) 9 (2)该程序的功能是( 37 )
37 (A) 取出字符串中的数字子串连接起来
(B) 统计数字子串在字符串中出现的次数 (C) 将数字子串转换为整数并累加
(D) 将字符串中的数字字符转换为数字,结果加起来乘以10
7. 读下面程序,回答问题。
#include \
int fun(int *a,int n) {
if(n>1) return *a+fun(a+1,n-1); else return *a;
(D) 16
}
void main() {
int a[10]={1,2,3,4,5,6,7,8,9,10},s; s=fun(a+3,3);
printf(\}
(1)函数fun与下面非递归程序等价的是( 37 )。
37 (A)int fun(int *a,int n)
{ int i,s=0;
for(i=0;i (B) int fun(int *a,int n) { int i,s=0; for(i=0;i return s; } (C)int fun(int *a,int n) { int i,s=0; return s; } (D) int fun(int *a,int n) { } int i,s=0; for(i=0;i for(i=0;i s=a[i]; reutrn s; } (2)程序的输出结果为( 38 )。 38 (A) 55 (B) 12 8. 读下面程序,回答问题。 #include \void sort(int a[],int n) { int i,j,t; (C) 15 (D) 18 第 39 页 共 50 页 for(i=0;i {t=a[j];a[j]=a[i];a[i]=t;} } void main() { int x[10]={1,0,-76,4,8,12,65,100,-45,123}; int i; sort(x+5,5); printf(\ } (1)程序中sort函数的功能是( 39 ) 39 (A)用起泡法对含有n个元素的数组a从小到大的排序 (B)用选择法对含有n个元素的数组a从小到大的排序 (C)用二分法对含有n个元素的数组a从小到大的排序 (D)用起泡法对含有n个元素的数组a从大到小的排序 (2)该程序的运行输出结果为( 40 ) 40 (A) -76 (B) -45 (C) 8 (D) 123 注意:① 请把下面“程序填空”中各小题答案写在主观题答题纸上 ② 每一个空只填一个语句或一个语句所缺的部分内容 三、程序填空 ( 每空2分,共30分 ) 1. 程序中函数fun()的功能是:查找字符串str中指定字符ch出现的次数并返回,并将该字符出现时的下标位置记录于数据组bb中。例如在字符串\中查找字符'1',其结果为3次,下标分别为0,5,6。请填空。 #include \#define N 20 int fun(char *str,char ch,int *bb) { int i=0,n=0; while(*str) { if( ① ) bb[ ② ]=i; str++; i++; } return ③ ; } void main() { char str[N],ch; int bb[N]={0},i,n; printf(\ 第 40 页 共 50 页 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库c语言近几年考题(8)在线全文阅读。
相关推荐: