当前位置:文档之家› 南昌大学C语言期末考试试卷

南昌大学C语言期末考试试卷


第 3 页 共 8页
23.下面函数的功能是______。 fun(char *a,char *b){ while((*a!='\0')&&(*b!='\0')&&(*a= =*b)) { a++; b++; } return(*a-*b); } A) 计算 a 和 b 所指字符串的长度之差 B) 将 b 所指字符串连接到 a 所指字符串中 C) 将 b 所指字符串连接到 a 所指字符串后面 D) 比较 a 和 b 所指字符串的大小 24.以下程序的输出结果是______。 main(){ int m=12,n=34; printf("%d%d",m++,++n); printf("%d%d",n++,++m); } A) 12353514 B) 12353513 C) 12343514 D) 12343513 25.以下程序运行后的输出结果是____ #define S(x) 4*x*x+1 main(){ int i=6,j=8; printf("%d\n",S(i+j)); } A) 81 B) 785 C) 402 D) 401 26.有以下程序 main(){ char a[ ]={‘a’,‘b’,‘c’,‘d’, ‘e’, ‘f ’, ‘g’,‘h’,‘\0’}; int i,j; i=sizeof(a); j=strlen(a); printf(“%d,%d\b”i,j); } 程序运行后的输出结果是 _________。 A) 9,9 B) 8,9 C) 1,8 D) 9,8 27.若 x 和 y 代表整型数,以下表达式中不能正确表示数学关系|x-y|<10 的是 _____。 A) abs(x-y)<10 B) x-y>-10&& x-y<10 C) @(x-y)<-10||!(y-x)>10 D) (x-y)*(x-y)<100 28.若有说明语句: int c[4][5],(*p)[5];p=c; 能正确引用 c 数组元素的是 _________。 A) p+1 B) *(p+3) C) *(p+1)+3 D) *(p[0]+2)) 29.设有以下语句 typedef struct S { int g; char h;} T; 则下面叙述中正确的是 _________。 A) 可用 S 定义结构体变量 B) 可以用 T 定义结构体变量 C) S 是 struct 类型的变量 D) T 是 struct S 类型的变量 30. 有以下程序 main( ) { unsigned char a,b; a=4|3; b=4&3; printf(“%d %d\n”,a,b); } 执行后输出结果是 _________。 A) 7 0 B) 0 7 C) 1 1 D) 43 0
南昌大学 2005~2006 学年第二学期期末考试试卷
试卷编号: 课程编号: 适用班级: 学院:
题号 题分 得分 一 30 二 30 三 22
( B)卷 闭卷
H61050001 全校理工科

课程名称: 姓名: 专业:
四 18 五 六
C 程序设计 学号:
考试形式:
班级: 考试日期:




总分 100
累分人 签名
第 5 页 共 8页
5.源程序如下:
#include <string.h> move(char *str, int n){ char temp ; int i; temp=str[n-1]; for(i=n-1; i>0;i--) str[i]=str[i-1]; str[0]=temp; } main(){ char s[50]; int n, i, z; scanf("%d,%s",&n, s); z=strlen(s); for(i=1; i<=n; i++) move(s,z); printf("%s\n",s); } 若从键盘输入:3,abcde<回车>,则输出结果是:____________。
第 4 页 共 8页
二、 程序阅读题 (每小题 6 分,共 30 分)
得分 评阅人
1.源程序如下: #include <stdio.h> main() { int k=4, m=1, p; p=func(k,m); printf("%d,",p); p=func(k,m); printf("%d \n",p); } func(int a, int b) { static int m=0, i=2; i+=m+1; m=i+a+b; return m; } 程序运算后的结果为:____________。 2.源程序如下: main(){ int a[][3]={{1,2,3},{4,5,0}},{*pa}[3],i; pa=a; for(i=0;i<3;i++) if(i<2) pa[1][i]=pa[1][i]-1; else pa[1][i]=1; printf("%d\n",a[0][1]+a[1][1]+a[1][2]); } 程序运算后的结果为:____________。 3.源程序如下: int m(unsigned k) { int s=1; do{ s*=k%10; k/=10; }while(k); return s; } main() { printf("%d,%d\n",m(1234),m(43209)); } 则程序的输出结果是果是:____________。 4.源程序如下: main(){ int a=10,b=20,c; c=(a%b<1)||(a/b>1); printf("%d %d %d\n",a,b,c); } 程序运算后的结果为:____________。
第 2 页 共 8页
16.以下程序的输出结果是______。 main(){ int a[3][3],*p,i; p=&a[0][0]; for(i=0;i<9;i++) p[i]=i; for(i=0;i<3;i++) printf("%d ",a[1][i]); } A) 0 1 2 B) 1 2 3 C) 2 3 4 D) 3 4 5 17.以下程序的输出结果是______。 main(){ int x=1,a=0,b=0; switch(x){ case 0:b++; case 1:a++; case 2:a++;b++;} printf(“a=%d,b=%d\n”,a,b); } A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2 18.以下程序执行后 sum 的值是______。 main(){ int i,sum=0; for(i=1;i<6;i++) sum+=i; printf(“%d\n”,sum); } A) 15 B) 14 C) 不确定 D) 0 19.以下程序的输出结果是______。 main(){ int a=1,b; for(b=1;b<=10;b++){ if(a>=8) break; if(a%2==1){a+=5;continue;} a-=3; } printf("%d\n",b); } A) 3 B) 4 C) 5 D) 6 20.以下程序的输出结果是______。 main(){ char s[]="159",*p; p=s; printf("%c",*p++); printf("%c",*p++); } A) 15 B) 16 C) 12 D) 59 21.若 fp 是指向某文件的指针,且已读到文件的末尾,则 C 语言函数,feof(fp)的返回 值不可能是______。 A) EOF B) -1 C) 1 D) NULL 22.以下能正确定义二维数组的是_______。 A) int a[][3]; B) int a[][3]=2{2*3}; C) int a[][3]={1}; D) int a[2][3]={{1},{2},{3,4}};
考生注意事项:1、本试卷共 8 页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更 换。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。
一、 单项选择题 (每空 1 分,共 30 分)
得分 评阅人
说明:请将各小题正确答案的字母 序号填到相应小题的下划线上。
1.一个 C 程序的执行是从 。 A)本程序的 main 函数开始,到 main 函数结束 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的 main 函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序 main 函数结束 。 2.一个 C 语言程序是由 A) 若干主程序和若干子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成 3.以下不能定义为用户标识符是 。 A) Main B) _0 C) _int D) sizeof 4.合法的 C 语言赋值语句是 。 A) a=b=58 B) i++; C) a=58,b=58 D) k=int(a+b); 5.以下所列的 C 语言常量中,错误的是 。 A)0xFF B) 1.2e0.5 C) 2L D) ’\72’ 6.若已定义 x 和 y 为 double 类型,则表达式 x=1,y=x+3/2 的值是 。 A) 1 B) 2 C) 2.0 D) 2.5
相关主题