当前位置:
文档之家› 2016秋_高级程序设计语言_A卷(1)
2016秋_高级程序设计语言_A卷(1)
int main( ){
int key = 98;
if(key='C'-'A'+'a') printf("%c is lower of C", key);
else printf("%c is Not lower of C", key);
return 0;
}
A. b is Not lower of C B. b is lower of C C. c is lower of C D. c is Not lower of C
A. 10
B. 9 C. 0 D. 1
5. 对于定义 char str[20] = "hello"; (注: 其中 o 为小写字母, 0 为数字零), strlen(str) 和
sizeof(str) 的值分别是(
)
A. 5 20
B. 20 5 C. 6 120 D. 5 5
6. 定义 int score = 75; 则表达式 80 > score > 70 的值是(
11. 执行下面程序: int x=5, y=7;
void swap( ){
int z; z=x; x=y; y=z;
}
int main( ){
int x=3, y=8; swap( ); printf("%d, %d\n", x, y);
return 0;
}
打印输出的内容是(
)
A. 3, 8 B. 8, 3 C. 5, 7 D. 7, 5 12. 设有如下定义:
得分
一、单选题(每小题 2 分,共 30 分。)
提示:每题有一项最佳选项,请将该选项字母填在括号内。如果你对
题意有不同的理解,也可以将你的观点或你认为正确的答案写在括号或题后的空隙里。
1. 以下名字,不能作为 C 语言标识符的是(
)
A. hehe B. a_2 C. item-2 D. _
(注: D 项为一个下划线)
char testStr[100]; gets(testStr); if( ______________________________ ) printf("输入的字符串是回文"); else printf("输入的字符串不是回文"); return 0; } int IsPalindrome(char *str) { int i, length; length = strlen(str); for(i=0; _____________; i++)
第 5 页,共 10 页
3.如果一个字符串逆序与原文相同,则称为“回文”(Palindrome),例如"level"、"abccba"都 是回文,而"abcde"不是回文。下面程序的功能是:键盘输入一个长度小于 100 的字符串 testStr, 借助函数 IsPalindrome( )判断该串是否属于“回文”。请填空补充完整。(3 空,共 6 分) int IsPalindrome(char *); int main( ) {
________________________ for(j=i+1; ________;j++) if(a[j]<a[k]) k=j; if(_______________) {
t=a[i]; a[i]=a[k]; a[k]=t;
第 6 页,共 10 页
封
装
密
线
线
订
学院:
}
}
printf("output the sorted array:\n");
装
订
线
装
订
线
装
订
线
装
订
线
装
学号:
姓名:
专业 :
年级:
学院:
密
封
线
密
封
线
密
封
线
密
封
线
密
封
青岛大学课程考试试卷
2016 ~ 2017 学年秋季学期 计算机科学技术学院 2016 级 考试时间:120 分钟
课程名称 高级程序设计语言 A 卷□√ B 卷□
题号 一
二
三
四 成绩 复核
得分
阅卷
注意事项:★答卷前,考生务必把答题纸上密封线内各项内容填写清楚并且填写在密封线与 装订线之间(学号应与教务在线中学号相同),否则可能得不到成绩。答案必须写在边框内。 ★试卷中所有的程序, 默认包含头文件 stdio.h stdlib.h 和 string.h ,省略未印出。
9. 以下程序段,打印输出的内容是(
)
D. 0 0
int main( ){
int a=3; float d = (a+++8) / 3 ; printf("%.2f\n",d); return 0;
}
A. 4.00 B. 3.67 C. 3.00 D. 3.66
10. 已知 A 的 ASCII 码是 65,a 的 ASCII 码是 97,对以下程序段,打印输出的内容是( )
)
A. 1 B. 0
C. true D. false
7. 执行如下程序段: 以下说法中正确的是( ).
A. C 语言程序总是从第一个的函数开始执行
B. 在 C 语言程序中,要调用的函数必须在 main( )函数中定义
C. C 语言程序总是从 main( )函数开始执行
第 1 页,共 10 页
D. C 语言程序中的 main( )函数必须放在程序的开始部分
2. 要定义一个做减法运算的宏,以下最恰当的是( )
A. #define SUB(X,Y) X-Y
B. #define SUB(X,Y) (X-Y)
C. #define SUB(X,Y) (X)-(Y)
D. #define SUB(X,Y) ((X)-(Y))
3. 对下列代码的描述,正确的是(
)
int main( ){ int num=1; while(num > 0) printf("%d: *\n", num); return 0; }
if( ______________________________ ) return 0; return 1; } 4、功能:以下程序是用选择法对 10 个整数按升序排序。 __________________________ main() { int i,j,k,t,a[N]; for(i=0;i<=N-1;i++) scanf("%d",&a[i]); for(i=0;i<N-1;i++) {
得分
1.
二、写出程序运行结果(本题共 20 分,每小题 5 分) 将答案写在题目的右边空白区域
main()
{
int a,b,s;
a=3;b=4;
s=a;
if(a<b)s=b;
s*=s;
printf("s=%d",s);
}
第 3 页,共 10 页
2. main() { int a=0; while(a<=2) a=a+1; printf("%d\n",a); }
} 2.若直接使用"=="判断两个浮点数相等,可能会因为精度问题得到错误结果。下面的程序通 过一个函数 Equal( )设置精度 1e-5,完成比较单精度数相等的操作,请填空补充完整。(1 空, 共 2 分) int Equal(float, float); int main( ) {
printf("%d\t", 3.366667==10.1/3); /* 结果显示不相等 */ printf("%d", Equal(3.366667,10.1/3) ); /* 结果显示相等 */ return 0; } int Equal(float a, float b) { const float precision = 1e-5; if( ____________________________________________ ) return 1; return 0; }
4. int sum (int n) { int i,s=0; for(i=1;i<=n;i++) s=s+i; return i; } main() { int n=10,t; t=sum(n); printf("t=%d\n",t); }
得分
三、 程序填空(本题共 20 分,每空 2 分)
第 4 页,共 10 页
8. 下列程序的运行结果是( ).
void fun(int *a, int *b)
{ int *k;
k=a; a=b; b=k;
}
int main()
{ int a=3, b=6, *x=&a, *y=&b;
fun(x,y);
printf("%d %d", a, b);
return 0;
}
A. 6 3 B. 3 6 C. 编译出错
封
装
密
年级:
线
线
订
封
装
密
专业 :
线
线
订
姓名:
封
装
密
线
学号:
线
订
封
装
密
第 7 页,共 10 页
第 8 页,共 10 页