南开11秋学期《C语言程序设计》在线作业答案
11秋学期《C语言程序设计》在线作业一、单选题:
1. 从用户使用的角度看,函数有两种,它们是( ) (满分:2)
A. 库函数和用户自定义函数
B. 库函数和主函数
C. 用户自定义函数和主函数
D. 主函数和子函数
2. 下列函数调用中,不正确的是( ) (满分:2)
A. max(a,b)
B. max(3,a+b)
C. max(3,5)
D. int max(a,b)
3. 设有以下说明语句 struct stu {int a;float b;}stutype; 则以下叙述不正确的是( ) (满分:2)
A. stutype 是用户定义的结构体类型名
B. a 和 b 都是结构体成员名
C. struct 是结构体类型的关键字
D. struct stu 是用户定义的结构体类型
4. 以下正确的叙述是( ) (满分:2)
A. 在C语言中,每行只能写一条语句
B. 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数
C. 在C程序中,无论整数还是实数,都能被准确无误的表示
D. 在C程序中,%是只能用于整数运算的运算符
5. 在C语言中,要求运算数必须是整型的运算符是( )。 (满分:2)
A. /
B. &&
C. !=
D. %
6. 数组名作为实参传递给形参时,数组名被处理为( ) (满分:2)
A. 该数组的长度
B. 该数组的元素个数
C. 该数组的首地址
D. 该数组中各元素的值
7. 在C语言中,char型数据在内存中的存储形式是( ) (满分:2)
A. 补码
B. 反码
C. 原码
D. ASCII码
8. 下面不正确的字符串常量是( ) (满分:2)
A. abc'
B. "12'12"
C. "0 "
D. " "
9. fwrite函数的一般调用形式是( ) (满分:2)
A. fwrite(buffer,count,size,fp)
B. fwrite(fp,size,count,buffer)
C. fwrite(fp,count,size,buffer)
D. fwirte(buffer,size,count,fp)
10. 以下叙述中错误的是: (满分:2)
A. 局部变量的定义可以在函数体内部
B. 全局变量的定义可以在函数以外的任何位置
C. 同一程序中,全局变量和局部变量不能同名
D. 函数的形参属于局部变量
11. x=-2; y=-1; if(x!=0) if(x>0) y=1; else y=0; 该程序段的输出结果为( )。 (满分:2)
A. 1
B. 0
C. -1
D. 不确定
12. 下面4个选项中,均是C语言关键字的选项是( )。 (满分:2)
A. autoenuminclude
B. switchtypedefcontinue
C. signedunionscanf
D. ifstructtype
13. for (i=2; i=0; ) printf(“%d” , i--) ; 以上程序段的循环次数是( )。 (满分:2)
A. 2次
B. 无限次
C. 0 次
D. 1 次
14. 以下对C语言中共用体类型数据的叙述正确的是( ) (满分:2)
A. 可以对共用体变量名直接赋值
B. 一个共用体变量中可以同时存放其所有成员
C. 一个共用体变量中不能同时存放其所有成员
D. 共用体类型定义中不能出现结构体类型的成员
15. 下面程序段int k=2;while (k==0) {printf(“%d”,k);k--;} 则下面描述中正确的是()。 (满分:2)
A. while 循环执行 10 次
B. 循环是无限循环
C. 循环体语句一次也不执行
D. 循环体语句执行一次
16. 以下符合C语言语法的赋值表达式是( ) (满分:2)
A. d=9+e+f=d+9
B. d=9+e,f=d+9
C. d=9十e,e++,d十9
D. d=9十e++=d十7
17. 变量的指针,其含义是指该变量的( ) (满分:2)
A. 地址
B. 值
C. 名字
D. 标识
18. 设有如下程序 # include main() {char ch1='A',ch2='a';printf("%c\n",(ch1,ch2)); } 则下列叙述正确的为( ) (满分:2)
A. 程序的输出结果为大写字母A
B. 程序的输出结果为小写字母a
C. 运行时产生错误信息
D. 格式说明符的个数少于输出项的个数,编译出错
19. C语言的函数中,( )。 (满分:2)
A. 必须有形参
B. 形参必须是变量名
C. 可以有也可以没有形参
D. 数组名不能作形参
20. 下列哪个是字符写函数( )。 (满分:2)
A. fgetc
B. fputc
C. fgets
D. fwrite
21. int k=1;while (k<=10); 上述语句执行后,变量k的值是( )。 (满分:2)
A. 10
B. 11
C. 9
D. 无限循环,值不定
22. 关于return语句,下列说法正确的是( )。 (满分:2)
A. 不能在主函数中出现
B. 必须在每个函数中出现
C. 可以在同一个函数中出现多次
D. 只能在除主函数之外的函数中再出现一次
23. fscanf函数的正确调用形式是( )。 (满分:2)
A. fscanf(文件指针,格式字符串,输出表列)
B. fscanf(格式字符串,输出表列, fp)
C. fscanf(格式字符串,文件指针,输出表列)
D. fscanf(文件指针,格式字符串,输入表列)
24. for (i=2; i==0; ) printf(“%d” , i--) ; 以上程序段的循环次数是( ) (满分:2)
A. 2次
B. 无限次
C. 0次
D. 1 次
25. 若定义语句:int a=7;float x=2.5;y=4. 7; 则表达式x+a%3*(int)(x+y)%2/4的值是( ) (满分:2)
A. 2.500000
B. 2.750000
C. 3.500000
D. 0.000000
26. 当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是 (满分:2)
A. k%2
B. k%2==0
C. (k%2)!=0
D. !(k%2==0)
27. main() {int x=2,y=-1,z=2;if(x<y) if(y<0) z=0; else z+=1;printf("%d\n",z); } 以上程序的输出结果为( )。 (满分:2)
A. 3
B. 2
C. 1
D. 0
28. 以下对一维整型数组 a 的正确说明是( ) (满分:2)
A. int a(10) ;
B. int n=10,a;
C. int n;
D. define SIZE 10 int a;
29. 若已有定义int x=2; int *p=&x;则*p的值为( ) (满分:2)
A. 2
B. &x
C. *x
D. &p
30. 已知p,p1为指针变量,a为数组名,i为整型变量,下列赋值语句中不正确的是( ) (满分:2)
A. p=&i
B. p=p1
C. p=&a
D. p=10
31. C语言中规定,if语句的嵌套结构中,else总是与( )配对 (满分:2)
A. 与最近的if 配套
B. 与第一个if 配套
C. 按缩进位置相同的if配套
D. 与最近的且尚未配对的if 配套
32. 一个源程序文件由一个或多个什么组成( ) (满分:2)
A. 语句
B. 函数
C. 程序块
D. 子程序
33. #include “stdio.h” void main() { int sum=0,a=11; while(a<=10) {sum=sum+a; a++; } printf(“sum=%d\n”,sum); } 上述程序段的运行结果是( ) (满分:2)
A. sum=0
B. sum=55
C. sum=10
D. sum=11
34. main( ){int n=4; while(n)printf("%d ",--n);} 以上程序的输出结果是( )。 (满分:2)
A. 2 0
B. 3 1
C. 3 2 1 0
D. 2 1 0
35. 下列关于数组的特征错误的是( )。 (满分:2)
A. 先定义后使用
B. 可以有多维
C. 定义数组长度时可以用常量或变量
D. 可以作参数传递
36. 已知学生记录描述为 struct student {int no; char name; char sex; struct {int year; int month; int day;}birth;}; struct student s; 设变量s中的“生日”应该是“1984年11月11日”,下列对“生日”的正确赋值方式是( )。 (满分:2)
A. year=1984; month=11; day=11;
B. birth.year=1984; birth.month=11; birth.day=11;
C. s.year=1984; s.month=11; s.day=11;
D. s.birth.year=1984; s.birth.month=11; s.birth.day=11;
37. #include main() {union { long a; int b; char c;}m; printf("%d\n",sizeof(m));} 以上程序的运行结果是( )。 (满分:2)
A. 2
B. 4
C. 6
D. 8
38. 下列哪个是读写文件出错检测函数( )。 (满分:2)
A. ferror
B. clearerr
C. feof
D. fwrite
39. 若调用fputc函数输出字符成功,则其返回值是( ) (满分:2)
A. EOF
B. 1
C. 0
D. 输出的字符
40. fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是( ) (满分:2)
A. 只写
B. 追加
C. 读或读写
D. 答案B和C都正确
二、多选题:
1. 在C源程序中,/*与*/之间的注释信息也被编译,但对程序运行运果不发生影响。() (满分:2)
A. 错误
B. 正确
2. C语言中的标识符以字母或下划线开头,可跟任何字符。() (满分:2)
A. 错误
B. 正确
3. 对C语言中用到的任何一个变量都要规定其类型。() (满分:2)
A. 错误
B. 正确
4. 在Visual C中,实型数据在内存中占4个字节。() (满分:2)
A. 错误
B. 正确
5. 对整型常量可进行自加或自减运算,而对变量或表达式不可以。() (满分:2)
A. 错误
B. 正确
6. C语言中的任何类型数据都可进行四则运算。() (满分:2)
A. 错误
B. 正确
7. PI可作为标识符使用。() (满分:2)
A. 错误
B. 正确
8. 在C语言中,字母的大小写不被区分。() (满分:2)
A. 错误
B. 正确
9. 在Turbo C++中,存储字符串常数时所占内存空间是不固定。() (满分:2)
A. 错误
B. 正确
10. C语言中没有依存于硬件的I/O语句。() (满分:2)
A. 错误
B. 正确
页:
[1]