西南交通大学2006-2007学年第(2)学期考试试卷。
课程** 3243800 课程名称高级程序设计语言考试时间120分钟。
试题卷c(2023年6月)
一、填空题(1×16分)
1. c语言的数组作为函数参数时,数组不能整体拷贝传递,实际传递的是 (1)
2. 一个c程序中必须有 (2) 函数,无论该函数在整个程序中的位置如何,c程序总是从该函数。
开始执行。3. c语言中没有逻辑型数据,在给出逻辑运算结果时,以 (3) 代表“真”,以 (4) 代表“假”;
但在判断一个量是否为真时,以 (5) 代表“真”, 以 (6) 代表“假”
5. 执行int a=5; a+ =a- =a*a ; 语句后,a的值是 (7)
6. 写出下列表达式的求值结果:
(4) !3>2)||8!=7 (11) (5)012<<3+1 (12) (6) sizeof(‘a’+2) (13)
7.若有int a=2,b=1,c=0; 执行语句c=a++ b - 后,变量c的值为 (14) b的值 (15)
8.数学式对应的c语言表达式是。
二、单项选择题:(2×12分)
1. 逻辑运算符两侧运算对象的数据类型 (1) 。
a) 只能是0或非0正数 b)可以是任何类型的数据。
c)只能是整型或字符型数据。d)只能是0或1
2. 下列符号中,合法的c常量是 (2) 。
a) ‘t’ b) 079 c) 3.5e2.1 d) 0xch
3.语句x=3; dowhile(x= =0); 的执行结果是 (3) 。
a)3210 b) 321 c)3 d)无任何显示。
4. 在ibm-pc机中,unsigned short类型表示的数据范围是 (4) 。
a)-32768~32767 b)0~32767 c)0~65535 d)0~127
5. 已知p、q 是两个同类型的指针变量,下列表达式有语法错误的是 (5) 。
a)p!=null&&p= =q b) p*q c)p++,q-- d)p-q+1
6. 以下能正确计算10!的程序段是 (6) 。
a) dowhile(i<=10); b) dowhile(i<=10);
c)i=1;s=1; dowhile(i<=10); d) i=1;s=0; dowhile(i<=10);
7. 已有定义 int k=2; int *ptr1,*ptr2; 且ptr1和ptr2均已指向变量k,下面不能正确执行。
的赋值语句是 (7) 。
a) k= *ptr1+*ptr2b) ptr2=k;
c) ptr1=ptr2d) k= *ptr1*(*ptr2);
8.若有定义:int a[10], p=a;,则p+5表示 (8) 。
a) 元素a[5]的地址 b) 元素a[5]的值 c) 元素a[6]的地址 d) 元素a[6]的值。
9.若定义typedef struct student ty, 则表达式。
sizeof(ty)的值为 (9) 。
a) 0 b) 21 c) 31 d) 27
10. 要用fopen函数打开一个新的二进制文件,该文件要既能写也能读,则文件方式字符。
串应是 (10) 。
a) “abb) “wbc) “rd) “ab”
11.定义c函数时,若缺省函数返回值类型,则返回值类型为 (11) 。
a)int b)char c)void d)char *
12.以下关于c语言static型变量的说法正确的是 (12) 。
a)都是局部变量 b)都是全局变量 c)存储在动态数据区 d)初值自动为0
三、多项选择题(2×5分,多选或错选不得分,少选得1分)
1.以下变量在内存中占2个字节的是 (1) 。
a) int a; b) int b[2]; c) char c[2]; d) float d[2];
2. 下面关于c函数的说法中不正确的是 (2) 。
a)c函数的返回值类型必须是整型、实型或指针三者之一。
b)c函数的返回值必须用return语句带回主函数。
c)c函数允许递归调用,也允许在函数体中定义子函数。
d)任何c函数必须使用return语句带回主程序。
3. c语言结构体类型变量在程序执行期间下面哪些描述是错误的 (3) 。
a)所有成员一直驻留在内存中 b)只有一个成员驻留在内存中。
c)部分成员驻留在内存中 d)没有成员驻留在内存中。
4. 定义char s[81]; 后,能正确输入一个字符串到数组s的语句是 (4) 。
a)gets(s); b)scanf (”c”,s); c)scanf (”s”,&s[0]);d)gets(&s[0]);
5.若有定义int a[3][4];以下哪些是对该数组元素的正确引用 (5) 。
a)*(a+1) b)*(a[1]+2) c)*(a+2)+3) d)a[3][2]
四、程序分析题(3×2+4×2共14分)
(1) main()
写出程序输出结果 (1) 。
#include ”
void main()
若程序的输入为swjtu,则输出结果为 (2) 。
#include “
#define n 5
int swap(int *p, int *q)
void f(int a[ ]int m)
void main( )
若程序的输入为8 9 2 3 4, 则输出结果为 (3) 。
4) void p(int *pm, int k)
void main( )
写出程序输出结果 (4) 。
五、程序填空(1×11分)
1.下面程序的功能是输出100至1000以内的素数。
#include (1)
main()
2. 下面程序的功能是复制文件 (采用命令行方式提供源文件名与目标文件名)
#include ""
void main(int argc, (4) )
file *f1,*f2; char ch;
if(argc< (5) )
if((f1=fopen(ar**[1],"r"))null|| f2=fopen(ar**[2],“wb”))null)
{printf("can not open file.")
ch=fgetc(f1)
while( (6
高级程序设计语言试卷参考
西南交通大学2007 2008学年第2学期考试b卷。课程 3243800 课程名称高级程序设计语言考试时间 120分钟 阅卷教师签字 答题卷b一 单项选择题 210分 二 填空题 115分 三 判断题 正确写t,错误写f 110分 四 阅读程序 43分 五 程序填空题 每空1.510分 六 程序设计...
大学高级程序设计语言课程试卷
20xx 20xx学年 xx学期考试时间 120分钟。一 单项选择题 本题共3 0 分,每小题2分 1 下列选项中,合法的c语言关键字是 a var b break c integer d foreach 2 执行完程序段int n 0,x 5 if n x 1 x的值为 a 0 b 1 c 5 d...
用高级程序设计语言编写的程序
一 选择题。1 用高级程序设计语言编写的程序,具有。a 计算机能直接执行。b 良好的可读性和可移植性。c 执行效率高但可读性差。d 依赖于具体机器,可移植性差。2 下列设备中,可以作为微机的输入设备的是。a 打印机。b 显示器。c 鼠标器。d 绘图仪。3 二进制数110001转换成十进制数是。a 4...