当前位置:文档之家› 西安交通大学16年9月课程考试《程序设计基础》作业答案.电子教案

西安交通大学16年9月课程考试《程序设计基础》作业答案.电子教案

一、单选题(共30 道试题,共60 分。

V1. 以下运算符中优先级最低的是(。

A. &&B. &C. ||D. |满分:2 分2. 要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是(。

A. fopen("A.\user\abc.txt","r"B. fopen("A.\\user\\abc.txt","r+"C. fopen("A.\user\abc.txt","rb"D. fopen("A.\\user\\abc.txt","w"满分:2 分3. 语句while(!E;中的表达式!E等价于(。

A. E==0B. E!=1C. E!=0D. E==1满分:2 分4. 对以下说明语句int a[10]={6,7,8,9,10};的正确理解是(。

A. 将5个初值依次赋给a[1]至a[5]B. 将5个初值依次赋给a[0]至a[4]C. 将5个初值依次赋给a[6]至a[10]D. 因为数组长度与初值的个数不相同,所以此语句不正确满分:2 分5. 以下叙述中不正确的是(。

A. 一个好的程序应该有详尽的注释B. 在C程序中,赋值运算符的优先级最低C. 在C程序中,j++;是一条赋值语句D. C程序中的#include和#define均不是C语句满分:2 分6. static struct {int a1;float a2;char a3;}a[10]={1,3.5,'A'};说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存储方式,其中被初始化的下标变量是(。

A. a[1]B. a[-1]C. a[0]D. a[10]满分:2 分7. 以下正确的说法是(。

A. 用户若需调用标准库函数,调用前必须重新定义B. 用户可以重新定义标准库函数,若如此,该函数将失去原有含义C. 系统根本不允许用户重新定义标准库函数D. 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调满分:2 分8. 下列四个选项中,均是C语言关键字的选项是(。

A. auto、enum、includeB. switch、typedef、continueC. signed、union、scanfD. if、struct、type满分:2 分9. 应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为(。

A. fclose(B. close(C. fread(D. fwrite满分:2 分10. 已知函数的调用形式fread(buffer,size,count,fp;其中buffer代表的是(。

A. 一个整数,代表要读入的数据项总数B. 一个文件指针,指向要读的文件C. 一个指针,指向要读入数据的存放地址D. 一个存储区,存放要读的数据项满分:2 分11. char a[]="Thisisaprogram.";输出前5个字符的语句是(。

A. printf("%.5s",a;B. puts(a;C. printf("%s",a;D. a[5*2]=0;puts(a;满分:2 分12. 执行以下程序段后,输出结果和a的值是(。

Int a=10;printf("%d",a++;A. 10和10B. 10和11C. 11和10D. 11和11满分:2 分13. 以下程序的运行结果是(。

main({inti=1,sum=0;while(i<10sum=sum+1;i++;printf("i=%d,sum=%d",i,sum;}A. i=10,sum=9B. i=9,sum=9C. i=2,sum=1D. 运行出现错误满分:2 分14. 以下选项中,与k=n++完全等价的表达式是(。

A. k=n,n=n+1B. n=n+1,k=nC. k=++nD. k+=n+1满分:2 分15. 若有inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5的语句为(。

A. printf("%d",*(a+5;B. printf("%d",p[5];C. printf("%d",*(p+5;D. printf("%d",*p[5];满分:2 分16. 以下语句中,不能实现回车换行的是(。

A. printf("\n";B. putchar("\n";C. fprintf(stdout,"\n";D. fwrite("\n",1,1,stdout;满分:2 分17. 以下运算符中,优先级最高的运算符是(。

A. =B. !=C. *(乘号D. (满分:2 分18. 下面有关for循环的正确描述是(。

A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环循环体语句,后判断表达式C. 在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来满分:2 分19. 用户定义的函数不可以调用的函数是(。

A. 非整型返回值的B. 本文件外的C. main函数D. 本函数下面定义的满分:2 分20. C语言中,要求运算数必须是整型的运算符是(。

A. ^B. %C. !D. >满分:2 分21. 变量的指针,其含义是指该变量的(。

A. 值B. 地址C. 名D. 一个标志满分:2 分22. int a[10];合法的数组元素的最小下标值为(。

A. 10B. 9C. 1D. 0满分:2 分23. 若k为int型变量,则以下程序段的执行结果是(。

k=-8567;printf("|D|\n",k;A. 格式描述符不合法,输出无定值B. 输出为|D|C. 输出为|0-8567|D. 输出为|-8567|满分:2 分24. 以下叙述中正确的是(。

A. 在程序的一行上可以出现多个有效的预处理命令行B. 使用带参的宏时,参数的类型应与宏定义时的一致C. 宏替换不占用运行时间,只占编译时间D. 在以下定义中CR是称为"宏名"的标识符#defineCR045满分:2 分25. 下列程序的输出结果为(。

main({intm=7,n=4;floata=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%f\n",x;}A. 27.000000B. 27.500000C. 28.000000D. 28.500000满分:2 分26. 若x=2,y=3则x&y的结果是(。

A. 0B. 2C. 3D. 5满分:2 分27. 凡是函数中未指定存储类别的局部变量,其隐含的存储类别为(。

A. 自动(autoB. 静态(staticC. 外部(externD. 寄存器(register满分:2 分28. 以下选项中合法的实型常数是(。

A. 5E2.0B. E-3C. .2E0D. 1.3E满分:2 分29. 若有int a[][]={{1,2},{3,4}};则*(a+1,*(*a+1的含义分别为(。

A. 非法,2B. &a[1][0],2C. &a[0][1],3D. a[0][0],4满分:2 分30. fgets(str,n,fp函数从文件中读入一个字符串,以下正确的叙述是(。

A. 字符串读入后不会自动加入'\0'B. fp是file类型的指针C. fgets函数将从文件中最多读入n-1个字符D. fgets函数将从文件中最多读入n个字符满分:2 分二、多选题(共10 道试题,共20 分。

V1. 以下叙述正确的是(。

A. C语言严格区分大小写英文字母B. C语言用";"作为语句分隔符C. C程序书写格式自由,一行内可以写几个语句,一个语句也可以写在几行上.D. 可以使用对C程序中的任何部分作注释满分:2 分2. 以下描述正确的是(。

A. 使用while和do-while循环时,循环变量初始话的操作应在循环体语句之前完成B. while循环是先判断表达式,后执行循环语句C. do-while和for循环均是先执行循环语句,后判断表达式D. for,while和do-while循环中的循环体均可以由空语句构成满分:2 分3. 下列选项中是C语言合法标志符的有(。

A. good_morningB. mainC. stdio.hD. 8abc满分:2 分4. 以下不正确的叙述是A. 在C程序中,每行只能写一条语句B. 若a是实型变量,C程序中允许赋值A=10,因此实型变量中允许存放整型C. 在C程序中,无论是整数还是实数,都能被准确无误地表示D. 在C程序中,%是只能用于整数运算的运算符满分:2 分5. 下列对逻辑运算符两侧的运算对象的数据类型描述不正确的是(。

A. 只能是0或1B. 只能是0或非0正数C. 可以是整型或字符型数据D. 可以是任何类型的数据满分:2 分6. 以下叙述中正确的是(。

A. 一个C源程序可由一个或多个函数组成B. 一个C源程序必须包含一个main(函数C. C源程序的基本组成单位是函数D. 在C源程序中,注释说明只能位于一条语句的最后满分:2 分 7. 以下可以定义为用户标识符的有()。

A. scanf B. short C._3com_ D. int 满分:2 分 8. 以下叙述正确的是()。

A. 预处理命令行都必须以"#"开始 B. 在程序中凡是以"#"开始的语句行都是预处理命令行 C. C 程序在执行过程中对预处理命令行进行处理 D. #defineABCD 是正确的宏定义满分:2 分 9. 以下选项中不合法的字符常量是()。

A. "B" B. '\010' C. 68 D. D 满分:2 分 10. 下列为 c 语言的关键字是() A. if B. struct C. union D. Int 满分:2 分三、判断题(共 10 道试题,共 20 分。

)V 1. 用数组名作为实参时,把实参数组的起始地址传递给形参数组,因此形参数组和实参数组占用同一段内存单元,改变形参数组的值,也就改变了实参数组的值。

相关主题